From dc8757bd52142badb6bee577b6b47c9179b0c090 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Tue, 13 Mar 2018 20:07:34 +0100 Subject: [PATCH] Cheapo turret, shimmer axe --- assets/hbm/lang/de_DE.lang | 1 + assets/hbm/lang/en_US.lang | 1 + assets/hbm/models/turret_cheapo_base.obj | 333 +++++++++++ assets/hbm/models/turret_cheapo_gun.obj | 512 ++++++++++++++++ assets/hbm/models/turret_cheapo_head.obj | 566 ++++++++++++++++++ assets/hbm/models/turret_cheapo_rotor.obj | 218 +++++++ assets/hbm/sounds.json | 4 + assets/hbm/sounds/weapon/kapeng.ogg | Bin 0 -> 9695 bytes assets/hbm/sounds/weapon/slice.ogg | Bin 0 -> 10851 bytes assets/hbm/sounds/weapon/spindown.ogg | Bin 0 -> 6455 bytes assets/hbm/sounds/weapon/spinup.ogg | Bin 0 -> 7654 bytes .../hbm/textures/items/shimmer_axe_head.png | Bin 0 -> 249 bytes .../textures/models/turret_cheapo_base.png | Bin 0 -> 5923 bytes .../hbm/textures/models/turret_cheapo_gun.png | Bin 0 -> 5361 bytes .../textures/models/turret_cheapo_head.png | Bin 0 -> 5031 bytes .../textures/models/turret_cheapo_rotor.png | Bin 0 -> 1804 bytes com/hbm/blocks/ModBlocks.java | 3 + com/hbm/blocks/bomb/BombFloat.java | 2 + com/hbm/blocks/bomb/TurretCheapo.java | 78 +++ com/hbm/items/ModItems.java | 8 +- com/hbm/items/gear/WeaponSpecial.java | 40 +- com/hbm/items/tool/ItemTurretBiometry.java | 67 +++ com/hbm/items/tool/ItemTurretChip.java | 55 +- com/hbm/items/tool/ItemTurretControl.java | 9 + com/hbm/main/ClientProxy.java | 1 + com/hbm/main/CraftingManager.java | 2 + com/hbm/main/MainRegistry.java | 2 + com/hbm/main/ResourceManager.java | 9 + com/hbm/packet/AuxGaugePacket.java | 6 + .../render/tileentity/RenderCheapoTurret.java | 100 ++++ .../tileentity/bomb/TileEntityTurretBase.java | 28 +- .../bomb/TileEntityTurretCheapo.java | 32 + 32 files changed, 2066 insertions(+), 11 deletions(-) create mode 100644 assets/hbm/models/turret_cheapo_base.obj create mode 100644 assets/hbm/models/turret_cheapo_gun.obj create mode 100644 assets/hbm/models/turret_cheapo_head.obj create mode 100644 assets/hbm/models/turret_cheapo_rotor.obj create mode 100644 assets/hbm/sounds/weapon/kapeng.ogg create mode 100644 assets/hbm/sounds/weapon/slice.ogg create mode 100644 assets/hbm/sounds/weapon/spindown.ogg create mode 100644 assets/hbm/sounds/weapon/spinup.ogg create mode 100644 assets/hbm/textures/items/shimmer_axe_head.png create mode 100644 assets/hbm/textures/models/turret_cheapo_base.png create mode 100644 assets/hbm/textures/models/turret_cheapo_gun.png create mode 100644 assets/hbm/textures/models/turret_cheapo_head.png create mode 100644 assets/hbm/textures/models/turret_cheapo_rotor.png create mode 100644 com/hbm/blocks/bomb/TurretCheapo.java create mode 100644 com/hbm/items/tool/ItemTurretBiometry.java create mode 100644 com/hbm/render/tileentity/RenderCheapoTurret.java create mode 100644 com/hbm/tileentity/bomb/TileEntityTurretCheapo.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 1bd00f2ca..207cb21b9 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -1349,6 +1349,7 @@ item.matchstick.name=Streichholz item.remote.name=Kaputte Fernbedienung item.shimmer_head.name=Schwerer Hammerkopf +item.shimmer_axe_head.name=Schwerer Axtkopf item.shimmer_handle.name=Verstärketer Polymergriff item.redcoil_capacitor.name=Rotspulenkondensator diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 5a5bf3d45..b31a36503 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -1352,6 +1352,7 @@ item.matchstick.name=Matchstick item.remote.name=Broken Remote item.shimmer_head.name=Heavy Hammer Head +item.shimmer_axe_head.name=Heavy Axe Head item.shimmer_handle.name=Reinforced Polymer Handle item.redcoil_capacitor.name=Redcoil Capacitor diff --git a/assets/hbm/models/turret_cheapo_base.obj b/assets/hbm/models/turret_cheapo_base.obj new file mode 100644 index 000000000..842d7ba86 --- /dev/null +++ b/assets/hbm/models/turret_cheapo_base.obj @@ -0,0 +1,333 @@ +# Blender v2.76 (sub 0) OBJ File: 'turret_cheapo_base.blend' +# www.blender.org +o Grid.001_Grid.003 +v -0.500000 0.062500 0.500000 +v -0.375000 0.062500 0.500000 +v 0.375000 0.062500 0.500000 +v 0.500000 0.062500 0.500000 +v -0.500000 0.062500 0.375000 +v -0.375000 0.062500 0.375000 +v 0.375000 0.062500 0.375000 +v 0.500000 0.062500 0.375000 +v -0.125000 0.875000 0.125000 +v 0.000000 0.875000 0.125000 +v 0.125000 0.875000 0.125000 +v -0.125000 0.875000 0.000000 +v 0.000000 0.875000 0.000000 +v 0.125000 0.875000 0.000000 +v -0.125000 0.875000 -0.125000 +v 0.000000 0.875000 -0.125000 +v 0.125000 0.875000 -0.125000 +v -0.500000 0.062500 -0.375000 +v -0.375000 0.062500 -0.375000 +v 0.375000 0.062500 -0.375000 +v 0.500000 0.062500 -0.375000 +v -0.500000 0.062500 -0.500000 +v -0.375000 0.062500 -0.500000 +v 0.375000 0.062500 -0.500000 +v 0.500000 0.062500 -0.500000 +v -0.562500 0.062500 0.312500 +v -0.562500 0.062500 0.562500 +v -0.312500 0.062500 0.562500 +v -0.312500 0.062500 0.312500 +v 0.312500 0.062500 0.562500 +v 0.312500 0.062500 0.312500 +v 0.562500 0.062500 0.562500 +v 0.562500 0.062500 0.312500 +v -0.312500 0.062500 -0.312500 +v -0.562500 0.062500 -0.312500 +v 0.562500 0.062500 -0.312500 +v 0.312500 0.062500 -0.312500 +v -0.562500 0.062500 -0.562500 +v -0.312500 0.062500 -0.562500 +v 0.312500 0.062500 -0.562500 +v 0.562500 0.062500 -0.562500 +v -0.562500 0.000000 0.312500 +v -0.562500 0.000000 0.562500 +v -0.312500 0.000000 0.562500 +v -0.312500 0.000000 0.312500 +v 0.312500 0.000000 0.562500 +v 0.312500 0.000000 0.312500 +v 0.562500 0.000000 0.562500 +v 0.562500 0.000000 0.312500 +v -0.312500 0.000000 -0.312500 +v -0.562500 0.000000 -0.312500 +v 0.562500 0.000000 -0.312500 +v 0.312500 0.000000 -0.312500 +v -0.562500 0.000000 -0.562500 +v -0.312500 0.000000 -0.562500 +v 0.312500 0.000000 -0.562500 +v 0.562500 0.000000 -0.562500 +v -0.125000 1.000000 0.125000 +v -0.125000 1.000000 -0.125000 +v 0.125000 1.000000 0.125000 +v 0.125000 1.000000 -0.125000 +vt 0.824881 0.881975 +vt 0.795084 0.911772 +vt 0.795084 0.792586 +vt 0.388946 0.701344 +vt 0.388946 0.743483 +vt 0.304668 0.659206 +vt 0.429963 0.038108 +vt 0.429962 0.500675 +vt 0.375000 0.477643 +vt 0.265076 0.061140 +vt 0.320038 0.038108 +vt 0.320038 0.500675 +vt 0.484925 0.061140 +vt 0.875000 0.477643 +vt 0.875000 0.015075 +vt 0.929962 0.038108 +vt 0.820038 0.500675 +vt 0.820038 0.038108 +vt 0.629790 0.617067 +vt 0.629790 0.574928 +vt 0.714067 0.659205 +vt 0.765076 0.061140 +vt 0.984925 0.061140 +vt 0.984925 0.523708 +vt 0.929962 0.500675 +vt 0.625000 0.477643 +vt 0.570038 0.500675 +vt 0.570038 0.038108 +vt 0.515076 0.523708 +vt 0.515076 0.061140 +vt 0.625000 0.015075 +vt 0.679962 0.038108 +vt 0.734925 0.061140 +vt 0.734925 0.523708 +vt 0.679963 0.500675 +vt 0.884474 0.673045 +vt 0.914270 0.702842 +vt 0.795084 0.702842 +vt 0.375000 0.015075 +vt 0.015076 0.061140 +vt 0.070038 0.038108 +vt 0.070038 0.500675 +vt 0.234925 0.061140 +vt 0.234924 0.523708 +vt 0.179962 0.500675 +vt 0.179962 0.038108 +vt 0.125000 0.477643 +vt 0.125000 0.015075 +vt 0.283599 0.638136 +vt 0.367876 0.553859 +vt 0.795084 0.762789 +vt 0.914270 0.762789 +vt 0.629790 0.743483 +vt 0.608721 0.764552 +vt 0.524443 0.680275 +vt 0.367876 0.764552 +vt 0.283599 0.680275 +vt 0.671929 0.659205 +vt 0.346807 0.659206 +vt 0.388946 0.574928 +vt 0.884474 0.822382 +vt 0.914270 0.792586 +vt 0.914270 0.911772 +vt 0.629790 0.701344 +vt 0.545512 0.659205 +vt 0.388946 0.617067 +vt 0.473223 0.659205 +vt 0.884474 0.881975 +vt 0.431084 0.659205 +vt 0.824881 0.673045 +vt 0.795084 0.583655 +vt 0.824881 0.613452 +vt 0.914270 0.583655 +vt 0.824881 0.822382 +vt 0.884474 0.613452 +vt 0.587651 0.659205 +vt 0.582273 0.794703 +vt 0.701459 0.794703 +vt 0.701459 0.913889 +vt 0.283599 0.794703 +vt 0.402785 0.794703 +vt 0.402785 0.913889 +vt 0.015075 0.822382 +vt 0.134262 0.822382 +vt 0.134262 0.941568 +vt 0.432936 0.794703 +vt 0.552122 0.794703 +vt 0.552122 0.913889 +vt 0.650859 0.553859 +vt 0.735137 0.638136 +vt 0.410015 0.553859 +vt 0.494292 0.638136 +vt 0.765288 0.911772 +vt 0.765288 0.792586 +vt 0.494292 0.680275 +vt 0.410015 0.764552 +vt 0.944067 0.792586 +vt 0.944067 0.911772 +vt 0.765288 0.702842 +vt 0.765288 0.583655 +vt 0.914270 0.941568 +vt 0.795084 0.941568 +vt 0.795084 0.553859 +vt 0.914270 0.553859 +vt 0.524443 0.638136 +vt 0.608721 0.553859 +vt 0.944067 0.583655 +vt 0.944067 0.702842 +vt 0.735137 0.680275 +vt 0.650859 0.764552 +vt 0.914270 0.732638 +vt 0.795084 0.732638 +vt 0.074669 0.732638 +vt 0.193855 0.732638 +vt 0.134262 0.792231 +vt 0.015075 0.732638 +vt 0.015075 0.673045 +vt 0.193855 0.613452 +vt 0.074669 0.613452 +vt 0.134262 0.553859 +vt 0.253448 0.673045 +vt 0.253448 0.732638 +vt 0.265076 0.523708 +vt 0.484924 0.523708 +vt 0.765076 0.523708 +vt 0.015075 0.523708 +vt 0.582273 0.913889 +vt 0.283599 0.913889 +vt 0.015075 0.941568 +vt 0.432936 0.913889 +vt 0.193855 0.792231 +vt 0.074669 0.792231 +vt 0.015075 0.613452 +vt 0.074669 0.553859 +vt 0.193855 0.553859 +vt 0.253448 0.613452 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.419100 0.908000 +vn 0.000000 -0.419100 -0.908000 +vn 0.908000 -0.419100 0.000000 +vn -0.908000 0.419100 0.000000 +vn 0.000000 0.419100 -0.908000 +vn 0.000000 -0.419100 0.908000 +vn 0.908000 0.419100 0.000000 +vn -0.908000 -0.419100 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +s off +f 22/1/1 38/2/1 35/3/1 +f 5/4/1 26/5/1 27/6/1 +f 2/7/2 10/8/2 9/9/2 +f 6/10/3 5/11/3 12/12/3 +f 10/8/4 2/7/4 6/13/4 +f 15/14/5 22/15/5 18/16/5 +f 15/14/6 16/17/6 23/18/6 +f 20/19/1 37/20/1 36/21/1 +f 19/22/4 23/18/4 16/17/4 +f 19/23/7 13/24/7 12/25/7 +f 17/26/8 14/27/8 21/28/8 +f 14/27/7 13/29/7 20/30/7 +f 17/26/6 25/31/6 24/32/6 +f 20/33/9 13/34/9 16/35/9 +f 8/36/1 33/37/1 31/38/1 +f 5/11/5 1/39/5 9/9/5 +f 7/40/9 3/41/9 10/42/9 +f 7/43/3 13/44/3 14/45/3 +f 8/46/8 14/45/8 11/47/8 +f 3/41/2 4/48/2 11/47/2 +f 27/6/10 43/49/10 44/50/10 +f 35/3/10 51/51/10 50/52/10 +f 41/53/11 57/54/11 56/55/11 +f 26/5/12 42/56/12 43/57/12 +f 21/58/1 36/21/1 41/53/1 +f 1/59/1 27/6/1 28/60/1 +f 19/61/1 34/62/1 39/63/1 +f 25/64/1 41/53/1 40/65/1 +f 2/66/1 28/60/1 29/67/1 +f 23/68/1 39/63/1 38/2/1 +f 6/69/1 29/67/1 26/5/1 +f 7/70/1 31/38/1 30/71/1 +f 3/72/1 30/71/1 32/73/1 +f 18/74/1 35/3/1 34/62/1 +f 4/75/1 32/73/1 33/37/1 +f 24/76/1 40/65/1 37/20/1 +f 42/77/13 45/78/13 44/79/13 +f 47/80/13 49/81/13 48/82/13 +f 54/83/13 55/84/13 50/85/13 +f 56/86/13 57/87/13 52/88/13 +f 37/20/10 53/89/10 52/90/10 +f 28/60/14 44/91/14 45/92/14 +f 38/2/12 54/93/12 51/94/12 +f 29/67/11 45/95/11 42/96/11 +f 34/62/14 50/97/14 55/98/14 +f 31/38/12 47/99/12 46/100/12 +f 39/63/11 55/101/11 54/102/11 +f 30/71/10 46/103/10 48/104/10 +f 40/65/12 56/105/12 53/106/12 +f 32/73/14 48/107/14 49/108/14 +f 36/21/14 52/109/14 57/110/14 +f 33/37/11 49/111/11 47/112/11 +f 59/113/11 61/114/11 16/115/11 +f 59/113/12 15/116/12 12/117/12 +f 60/118/10 58/119/10 10/120/10 +f 60/118/1 61/114/1 59/113/1 +f 14/121/14 17/122/14 61/114/14 +f 18/74/1 22/1/1 35/3/1 +f 1/59/1 5/4/1 27/6/1 +f 1/39/2 2/7/2 9/9/2 +f 13/123/3 6/10/3 12/12/3 +f 13/124/4 10/8/4 6/13/4 +f 12/25/5 15/14/5 18/16/5 +f 22/15/6 15/14/6 23/18/6 +f 21/58/1 20/19/1 36/21/1 +f 13/125/4 19/22/4 16/17/4 +f 18/16/7 19/23/7 12/25/7 +f 25/31/8 17/26/8 21/28/8 +f 21/28/7 14/27/7 20/30/7 +f 16/35/6 17/26/6 24/32/6 +f 24/32/9 20/33/9 16/35/9 +f 7/70/1 8/36/1 31/38/1 +f 12/12/5 5/11/5 9/9/5 +f 13/126/9 7/40/9 10/42/9 +f 8/46/3 7/43/3 14/45/3 +f 4/48/8 8/46/8 11/47/8 +f 10/42/2 3/41/2 11/47/2 +f 28/60/10 27/6/10 44/50/10 +f 34/62/10 35/3/10 50/52/10 +f 40/65/11 41/53/11 56/55/11 +f 27/6/12 26/5/12 43/57/12 +f 25/64/1 21/58/1 41/53/1 +f 2/66/1 1/59/1 28/60/1 +f 23/68/1 19/61/1 39/63/1 +f 24/76/1 25/64/1 40/65/1 +f 6/69/1 2/66/1 29/67/1 +f 22/1/1 23/68/1 38/2/1 +f 5/4/1 6/69/1 26/5/1 +f 3/72/1 7/70/1 30/71/1 +f 4/75/1 3/72/1 32/73/1 +f 19/61/1 18/74/1 34/62/1 +f 8/36/1 4/75/1 33/37/1 +f 20/19/1 24/76/1 37/20/1 +f 43/127/13 42/77/13 44/79/13 +f 46/128/13 47/80/13 48/82/13 +f 51/129/13 54/83/13 50/85/13 +f 53/130/13 56/86/13 52/88/13 +f 36/21/10 37/20/10 52/90/10 +f 29/67/14 28/60/14 45/92/14 +f 35/3/12 38/2/12 51/94/12 +f 26/5/11 29/67/11 42/96/11 +f 39/63/14 34/62/14 55/98/14 +f 30/71/12 31/38/12 46/100/12 +f 38/2/11 39/63/11 54/102/11 +f 32/73/10 30/71/10 48/104/10 +f 37/20/12 40/65/12 53/106/12 +f 33/37/14 32/73/14 49/108/14 +f 41/53/14 36/21/14 57/110/14 +f 31/38/11 33/37/11 47/112/11 +f 17/131/11 16/115/11 61/114/11 +f 15/132/11 59/113/11 16/115/11 +f 12/117/12 9/133/12 58/119/12 +f 58/119/12 59/113/12 12/117/12 +f 9/134/10 10/120/10 58/119/10 +f 11/135/10 60/118/10 10/120/10 +f 58/119/1 60/118/1 59/113/1 +f 61/114/14 60/118/14 14/121/14 +f 11/136/14 14/121/14 60/118/14 diff --git a/assets/hbm/models/turret_cheapo_gun.obj b/assets/hbm/models/turret_cheapo_gun.obj new file mode 100644 index 000000000..b11c7b566 --- /dev/null +++ b/assets/hbm/models/turret_cheapo_gun.obj @@ -0,0 +1,512 @@ +# Blender v2.76 (sub 0) OBJ File: 'turret_cheapo_gun.blend' +# www.blender.org +o Cylinder +v -0.009151 -0.034151 1.462500 +v -0.052452 -0.059151 1.462500 +v -0.009151 -0.034151 0.462500 +v -0.052452 -0.059151 0.462500 +v -0.034151 0.009151 1.462500 +v -0.077452 -0.015849 1.462500 +v -0.034151 0.009151 0.462500 +v -0.077452 -0.015849 0.462500 +v 0.034151 0.009151 1.462500 +v 0.077452 -0.015849 1.462500 +v 0.034151 0.009151 0.462500 +v 0.077452 -0.015849 0.462500 +v 0.009151 -0.034151 1.462500 +v 0.052452 -0.059151 1.462500 +v 0.009151 -0.034151 0.462500 +v 0.052452 -0.059151 0.462500 +v -0.025000 0.025000 1.462500 +v -0.025000 0.075000 1.462500 +v -0.025000 0.025000 0.462500 +v -0.025000 0.075000 0.462500 +v 0.025000 0.025000 1.462500 +v 0.025000 0.075000 1.462500 +v 0.025000 0.025000 0.462500 +v 0.025000 0.075000 0.462500 +v 0.000000 0.100000 0.400000 +v 0.000000 0.100000 0.462500 +v 0.070711 0.070711 0.400000 +v 0.070711 0.070711 0.462500 +v 0.100000 -0.000000 0.400000 +v 0.100000 0.000000 0.462500 +v 0.070711 -0.070711 0.400000 +v 0.070711 -0.070711 0.462500 +v -0.000000 -0.100000 0.400000 +v -0.000000 -0.100000 0.462500 +v -0.070711 -0.070711 0.400000 +v -0.070711 -0.070711 0.462500 +v -0.100000 -0.000000 0.400000 +v -0.100000 0.000000 0.462500 +v -0.070711 0.070711 0.400000 +v -0.070711 0.070711 0.462500 +v 0.000000 0.100000 0.700000 +v 0.000000 0.100000 0.762500 +v 0.070711 0.070711 0.700000 +v 0.070711 0.070711 0.762500 +v 0.100000 -0.000000 0.700000 +v 0.100000 0.000000 0.762500 +v 0.070711 -0.070711 0.700000 +v 0.070711 -0.070711 0.762500 +v -0.000000 -0.100000 0.700000 +v -0.000000 -0.100000 0.762500 +v -0.070711 -0.070711 0.700000 +v -0.070711 -0.070711 0.762500 +v -0.100000 -0.000000 0.700000 +v -0.100000 0.000000 0.762500 +v -0.070711 0.070711 0.700000 +v -0.070711 0.070711 0.762500 +v 0.000000 0.100000 0.800000 +v 0.000000 0.100000 0.862500 +v 0.070711 0.070711 0.800000 +v 0.070711 0.070711 0.862500 +v 0.100000 -0.000000 0.800000 +v 0.100000 0.000000 0.862500 +v 0.070711 -0.070711 0.800000 +v 0.070711 -0.070711 0.862500 +v -0.000000 -0.100000 0.800000 +v -0.000000 -0.100000 0.862500 +v -0.070711 -0.070711 0.800000 +v -0.070711 -0.070711 0.862500 +v -0.100000 -0.000000 0.800000 +v -0.100000 0.000000 0.862500 +v -0.070711 0.070711 0.800000 +v -0.070711 0.070711 0.862500 +v 0.000000 0.100000 0.900000 +v 0.000000 0.100000 0.962500 +v 0.070711 0.070711 0.900000 +v 0.070711 0.070711 0.962500 +v 0.100000 -0.000000 0.900000 +v 0.100000 0.000000 0.962500 +v 0.070711 -0.070711 0.900000 +v 0.070711 -0.070711 0.962500 +v -0.000000 -0.100000 0.900000 +v -0.000000 -0.100000 0.962500 +v -0.070711 -0.070711 0.900000 +v -0.070711 -0.070711 0.962500 +v -0.100000 -0.000000 0.900000 +v -0.100000 0.000000 0.962500 +v -0.070711 0.070711 0.900000 +v -0.070711 0.070711 0.962500 +v 0.000000 0.100000 1.100000 +v 0.000000 0.100000 1.412500 +v 0.070711 0.070711 1.100000 +v 0.070711 0.070711 1.412500 +v 0.100000 -0.000000 1.100000 +v 0.100000 0.000000 1.412500 +v 0.070711 -0.070711 1.100000 +v 0.070711 -0.070711 1.412500 +v -0.000000 -0.100000 1.100000 +v -0.000000 -0.100000 1.412500 +v -0.070711 -0.070711 1.100000 +v -0.070711 -0.070711 1.412500 +v -0.100000 -0.000000 1.100000 +v -0.100000 0.000000 1.412500 +v -0.070711 0.070711 1.100000 +v -0.070711 0.070711 1.412500 +vt 0.640052 0.249617 +vt 0.640052 0.280553 +vt 0.021334 0.280552 +vt 0.021334 0.218681 +vt 0.021334 0.187745 +vt 0.640052 0.187745 +vt 0.573646 0.520567 +vt 0.604582 0.520567 +vt 0.604582 0.551503 +vt 0.640052 0.311488 +vt 0.021334 0.311488 +vt 0.640052 0.218681 +vt 0.021334 0.249617 +vt 0.640052 0.083205 +vt 0.640052 0.114141 +vt 0.021334 0.114142 +vt 0.021334 0.052270 +vt 0.021334 0.021334 +vt 0.640052 0.021334 +vt 0.604582 0.667774 +vt 0.604582 0.698710 +vt 0.573646 0.698710 +vt 0.640052 0.145077 +vt 0.021334 0.145077 +vt 0.640052 0.052269 +vt 0.021334 0.083206 +vt 0.640052 0.416028 +vt 0.640052 0.446964 +vt 0.021334 0.446963 +vt 0.021334 0.385092 +vt 0.021334 0.354156 +vt 0.640052 0.354156 +vt 0.573646 0.625107 +vt 0.573646 0.594171 +vt 0.604582 0.594171 +vt 0.640052 0.477900 +vt 0.021334 0.477899 +vt 0.640052 0.385092 +vt 0.021334 0.416028 +vt 0.845395 0.632256 +vt 0.884065 0.632256 +vt 0.884065 0.679611 +vt 0.884065 0.726965 +vt 0.845395 0.726965 +vt 0.884065 0.774320 +vt 0.884064 0.821675 +vt 0.845395 0.821675 +vt 0.884065 0.442838 +vt 0.884065 0.490193 +vt 0.845395 0.490193 +vt 0.884065 0.537547 +vt 0.845395 0.537547 +vt 0.102671 0.758398 +vt 0.136156 0.677559 +vt 0.183511 0.791883 +vt 0.884065 0.584902 +vt 0.845395 0.584902 +vt 0.497494 0.948874 +vt 0.450139 0.948874 +vt 0.416655 0.868035 +vt 0.802727 0.632256 +vt 0.802727 0.679611 +vt 0.764057 0.679611 +vt 0.802727 0.726965 +vt 0.764057 0.726965 +vt 0.802727 0.774320 +vt 0.802727 0.821675 +vt 0.764057 0.821675 +vt 0.802727 0.442838 +vt 0.802727 0.490193 +vt 0.764057 0.490193 +vt 0.802727 0.537547 +vt 0.764057 0.537547 +vt 0.259663 0.758398 +vt 0.293148 0.677559 +vt 0.340502 0.791883 +vt 0.802727 0.584902 +vt 0.764057 0.632256 +vt 0.764057 0.584902 +vt 0.763559 0.978666 +vt 0.716204 0.978666 +vt 0.682720 0.897827 +vt 0.060004 0.709985 +vt 0.060004 0.757340 +vt 0.021334 0.757340 +vt 0.060004 0.804695 +vt 0.021334 0.804695 +vt 0.060004 0.852049 +vt 0.060004 0.899404 +vt 0.021334 0.899404 +vt 0.060004 0.520567 +vt 0.060004 0.567922 +vt 0.021334 0.567922 +vt 0.060004 0.615276 +vt 0.021334 0.615276 +vt 0.416655 0.601406 +vt 0.450139 0.520567 +vt 0.497494 0.634891 +vt 0.021334 0.662631 +vt 0.060004 0.662631 +vt 0.340502 0.948874 +vt 0.293148 0.948875 +vt 0.259663 0.868035 +vt 0.682720 0.632256 +vt 0.682720 0.584902 +vt 0.721389 0.584902 +vt 0.682720 0.537547 +vt 0.721389 0.537547 +vt 0.682720 0.490193 +vt 0.682720 0.442838 +vt 0.721389 0.442838 +vt 0.682720 0.821675 +vt 0.682720 0.774320 +vt 0.721390 0.774320 +vt 0.682720 0.726966 +vt 0.721389 0.726966 +vt 0.259663 0.601406 +vt 0.293148 0.520567 +vt 0.340502 0.634891 +vt 0.721389 0.679611 +vt 0.682720 0.679611 +vt 0.183511 0.948874 +vt 0.136156 0.948875 +vt 0.102671 0.868035 +vt 0.682720 0.210752 +vt 0.682720 0.163398 +vt 0.876069 0.163398 +vt 0.682720 0.116043 +vt 0.876069 0.116043 +vt 0.682720 0.068688 +vt 0.682720 0.021334 +vt 0.876069 0.021334 +vt 0.682720 0.400170 +vt 0.682720 0.352816 +vt 0.876069 0.352816 +vt 0.682720 0.305461 +vt 0.876069 0.305461 +vt 0.102671 0.601406 +vt 0.136156 0.520567 +vt 0.183511 0.634891 +vt 0.682720 0.258107 +vt 0.876069 0.210752 +vt 0.876069 0.258107 +vt 0.497494 0.791883 +vt 0.450139 0.791883 +vt 0.416655 0.711044 +vt 0.573646 0.551503 +vt 0.573646 0.667774 +vt 0.604582 0.625107 +vt 0.845395 0.679611 +vt 0.845395 0.774320 +vt 0.845395 0.442838 +vt 0.216995 0.711044 +vt 0.216995 0.758398 +vt 0.136156 0.791883 +vt 0.102671 0.711044 +vt 0.183511 0.677559 +vt 0.450139 0.834550 +vt 0.530979 0.915390 +vt 0.497494 0.834550 +vt 0.530979 0.868035 +vt 0.416655 0.915390 +vt 0.764057 0.774320 +vt 0.764057 0.442838 +vt 0.373987 0.711044 +vt 0.373987 0.758398 +vt 0.293148 0.791883 +vt 0.259663 0.711044 +vt 0.340502 0.677559 +vt 0.716204 0.864342 +vt 0.797044 0.945181 +vt 0.763559 0.864342 +vt 0.797044 0.897827 +vt 0.682720 0.945182 +vt 0.021334 0.709985 +vt 0.021334 0.852049 +vt 0.021334 0.520567 +vt 0.530979 0.554052 +vt 0.530979 0.601406 +vt 0.450139 0.634891 +vt 0.416655 0.554052 +vt 0.497494 0.520567 +vt 0.293148 0.834551 +vt 0.373987 0.915390 +vt 0.340502 0.834551 +vt 0.373987 0.868035 +vt 0.259663 0.915390 +vt 0.721389 0.632256 +vt 0.721389 0.490193 +vt 0.721390 0.821675 +vt 0.373987 0.554052 +vt 0.373987 0.601407 +vt 0.293148 0.634891 +vt 0.259663 0.554052 +vt 0.340502 0.520567 +vt 0.136156 0.834551 +vt 0.216995 0.915390 +vt 0.183511 0.834551 +vt 0.216995 0.868035 +vt 0.102671 0.915390 +vt 0.876069 0.068688 +vt 0.876069 0.400170 +vt 0.216995 0.554052 +vt 0.216995 0.601407 +vt 0.136156 0.634891 +vt 0.102671 0.554052 +vt 0.183511 0.520567 +vt 0.450139 0.677559 +vt 0.530979 0.758398 +vt 0.497494 0.677559 +vt 0.530979 0.711044 +vt 0.416655 0.758398 +vn 0.500000 -0.866000 0.000000 +vn -0.500000 0.866000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.866000 0.500000 0.000000 +vn -0.866000 -0.500000 0.000000 +vn 0.500000 0.866000 0.000000 +vn -0.500000 -0.866000 0.000000 +vn -0.866000 0.500000 0.000000 +vn 0.866000 -0.500000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.382700 0.923900 -0.000000 +vn 0.923900 0.382700 -0.000000 +vn 0.923900 -0.382700 0.000000 +vn 0.382700 -0.923900 0.000000 +vn -0.382700 -0.923900 0.000000 +vn -0.923900 -0.382700 0.000000 +vn -0.382700 0.923900 -0.000000 +vn -0.923900 0.382700 -0.000000 +vn 0.000000 0.000000 -1.000000 +s off +f 4/1/1 3/2/1 1/3/1 +f 6/4/2 5/5/2 7/6/2 +f 2/7/3 1/8/3 5/9/3 +f 3/2/4 7/10/4 5/11/4 +f 8/12/5 4/1/5 2/13/5 +f 12/14/6 11/15/6 9/16/6 +f 14/17/7 13/18/7 15/19/7 +f 14/20/3 10/21/3 9/22/3 +f 11/15/8 15/23/8 13/24/8 +f 16/25/9 12/14/9 10/26/9 +f 20/27/10 19/28/10 17/29/10 +f 22/30/11 21/31/11 23/32/11 +f 18/33/3 17/34/3 21/35/3 +f 19/28/12 23/36/12 21/37/12 +f 24/38/13 20/27/13 18/39/13 +f 25/40/14 26/41/14 28/42/14 +f 28/42/15 30/43/15 29/44/15 +f 29/44/16 30/43/16 32/45/16 +f 32/45/17 34/46/17 33/47/17 +f 34/48/18 36/49/18 35/50/18 +f 36/49/19 38/51/19 37/52/19 +f 38/53/3 34/54/3 26/55/3 +f 40/56/20 26/41/20 25/40/20 +f 38/51/21 40/56/21 39/57/21 +f 33/58/22 35/59/22 39/60/22 +f 42/61/14 44/62/14 43/63/14 +f 43/63/15 44/62/15 46/64/15 +f 45/65/16 46/64/16 48/66/16 +f 48/66/17 50/67/17 49/68/17 +f 50/69/18 52/70/18 51/71/18 +f 52/70/19 54/72/19 53/73/19 +f 54/74/3 50/75/3 42/76/3 +f 56/77/20 42/61/20 41/78/20 +f 54/72/21 56/77/21 55/79/21 +f 49/80/22 51/81/22 55/82/22 +f 58/83/14 60/84/14 59/85/14 +f 59/85/15 60/84/15 62/86/15 +f 61/87/16 62/86/16 64/88/16 +f 64/88/17 66/89/17 65/90/17 +f 66/91/18 68/92/18 67/93/18 +f 68/92/19 70/94/19 69/95/19 +f 70/96/3 66/97/3 58/98/3 +f 71/99/20 72/100/20 58/83/20 +f 70/94/21 72/100/21 71/99/21 +f 65/101/22 67/102/22 71/103/22 +f 74/104/14 76/105/14 75/106/14 +f 75/106/15 76/105/15 78/107/15 +f 77/108/16 78/107/16 80/109/16 +f 80/109/17 82/110/17 81/111/17 +f 82/112/18 84/113/18 83/114/18 +f 84/113/19 86/115/19 85/116/19 +f 86/117/3 82/118/3 74/119/3 +f 87/120/20 88/121/20 74/104/20 +f 86/115/21 88/121/21 87/120/21 +f 81/122/22 83/123/22 87/124/22 +f 90/125/14 92/126/14 91/127/14 +f 92/126/15 94/128/15 93/129/15 +f 93/129/16 94/128/16 96/130/16 +f 96/130/17 98/131/17 97/132/17 +f 98/133/18 100/134/18 99/135/18 +f 100/134/19 102/136/19 101/137/19 +f 102/138/3 98/139/3 90/140/3 +f 104/141/20 90/125/20 89/142/20 +f 102/136/21 104/141/21 103/143/21 +f 97/144/22 99/145/22 103/146/22 +f 2/13/1 4/1/1 1/3/1 +f 8/12/2 6/4/2 7/6/2 +f 6/147/3 2/7/3 5/9/3 +f 1/3/4 3/2/4 5/11/4 +f 6/4/5 8/12/5 2/13/5 +f 10/26/6 12/14/6 9/16/6 +f 16/25/7 14/17/7 15/19/7 +f 13/148/3 14/20/3 9/22/3 +f 9/16/8 11/15/8 13/24/8 +f 14/17/9 16/25/9 10/26/9 +f 18/39/10 20/27/10 17/29/10 +f 24/38/11 22/30/11 23/32/11 +f 22/149/3 18/33/3 21/35/3 +f 17/29/12 19/28/12 21/37/12 +f 22/30/13 24/38/13 18/39/13 +f 27/150/14 25/40/14 28/42/14 +f 27/150/15 28/42/15 29/44/15 +f 31/151/16 29/44/16 32/45/16 +f 31/151/17 32/45/17 33/47/17 +f 33/152/18 34/48/18 35/50/18 +f 35/50/19 36/49/19 37/52/19 +f 30/153/3 28/154/3 26/55/3 +f 26/55/3 40/155/3 38/53/3 +f 38/53/3 36/156/3 34/54/3 +f 34/54/3 32/157/3 30/153/3 +f 30/153/3 26/55/3 34/54/3 +f 39/57/20 40/56/20 25/40/20 +f 37/52/21 38/51/21 39/57/21 +f 39/60/22 25/158/22 31/159/22 +f 27/160/22 29/161/22 31/159/22 +f 31/159/22 33/58/22 39/60/22 +f 35/59/22 37/162/22 39/60/22 +f 25/158/22 27/160/22 31/159/22 +f 41/78/14 42/61/14 43/63/14 +f 45/65/15 43/63/15 46/64/15 +f 47/163/16 45/65/16 48/66/16 +f 47/163/17 48/66/17 49/68/17 +f 49/164/18 50/69/18 51/71/18 +f 51/71/19 52/70/19 53/73/19 +f 46/165/3 44/166/3 42/76/3 +f 42/76/3 56/167/3 54/74/3 +f 54/74/3 52/168/3 50/75/3 +f 50/75/3 48/169/3 46/165/3 +f 46/165/3 42/76/3 50/75/3 +f 55/79/20 56/77/20 41/78/20 +f 53/73/21 54/72/21 55/79/21 +f 55/82/22 41/170/22 47/171/22 +f 43/172/22 45/173/22 47/171/22 +f 47/171/22 49/80/22 55/82/22 +f 51/81/22 53/174/22 55/82/22 +f 41/170/22 43/172/22 47/171/22 +f 57/175/14 58/83/14 59/85/14 +f 61/87/15 59/85/15 62/86/15 +f 63/176/16 61/87/16 64/88/16 +f 63/176/17 64/88/17 65/90/17 +f 65/177/18 66/91/18 67/93/18 +f 67/93/19 68/92/19 69/95/19 +f 62/178/3 60/179/3 58/98/3 +f 58/98/3 72/180/3 70/96/3 +f 70/96/3 68/181/3 66/97/3 +f 66/97/3 64/182/3 62/178/3 +f 62/178/3 58/98/3 66/97/3 +f 57/175/20 71/99/20 58/83/20 +f 69/95/21 70/94/21 71/99/21 +f 71/103/22 57/183/22 63/184/22 +f 59/185/22 61/186/22 63/184/22 +f 63/184/22 65/101/22 71/103/22 +f 67/102/22 69/187/22 71/103/22 +f 57/183/22 59/185/22 63/184/22 +f 73/188/14 74/104/14 75/106/14 +f 77/108/15 75/106/15 78/107/15 +f 79/189/16 77/108/16 80/109/16 +f 79/189/17 80/109/17 81/111/17 +f 81/190/18 82/112/18 83/114/18 +f 83/114/19 84/113/19 85/116/19 +f 78/191/3 76/192/3 74/119/3 +f 74/119/3 88/193/3 86/117/3 +f 86/117/3 84/194/3 82/118/3 +f 82/118/3 80/195/3 78/191/3 +f 78/191/3 74/119/3 82/118/3 +f 73/188/20 87/120/20 74/104/20 +f 85/116/21 86/115/21 87/120/21 +f 87/124/22 73/196/22 79/197/22 +f 75/198/22 77/199/22 79/197/22 +f 79/197/22 81/122/22 87/124/22 +f 83/123/22 85/200/22 87/124/22 +f 73/196/22 75/198/22 79/197/22 +f 89/142/14 90/125/14 91/127/14 +f 91/127/15 92/126/15 93/129/15 +f 95/201/16 93/129/16 96/130/16 +f 95/201/17 96/130/17 97/132/17 +f 97/202/18 98/133/18 99/135/18 +f 99/135/19 100/134/19 101/137/19 +f 94/203/3 92/204/3 90/140/3 +f 90/140/3 104/205/3 102/138/3 +f 102/138/3 100/206/3 98/139/3 +f 98/139/3 96/207/3 94/203/3 +f 94/203/3 90/140/3 98/139/3 +f 103/143/20 104/141/20 89/142/20 +f 101/137/21 102/136/21 103/143/21 +f 103/146/22 89/208/22 95/209/22 +f 91/210/22 93/211/22 95/209/22 +f 95/209/22 97/144/22 103/146/22 +f 99/145/22 101/212/22 103/146/22 +f 89/208/22 91/210/22 95/209/22 diff --git a/assets/hbm/models/turret_cheapo_head.obj b/assets/hbm/models/turret_cheapo_head.obj new file mode 100644 index 000000000..b9b8e240c --- /dev/null +++ b/assets/hbm/models/turret_cheapo_head.obj @@ -0,0 +1,566 @@ +# Blender v2.76 (sub 0) OBJ File: 'turret_cheapo_head.blend' +# www.blender.org +o Cube_Cube.002 +v -0.125000 0.375000 0.125000 +v -0.125000 0.375000 -0.125000 +v 0.125000 0.375000 0.125000 +v 0.125000 0.375000 -0.125000 +v 0.125000 0.125000 0.125000 +v 0.125000 0.125000 -0.125000 +v -0.125000 0.125000 -0.125000 +v -0.125000 0.125000 0.125000 +v 0.000000 0.125000 -0.125000 +v 0.000000 0.125000 0.125000 +v -0.125000 -0.000000 -0.125000 +v -0.000000 0.000000 -0.125000 +v -0.125000 -0.088388 -0.088388 +v -0.000000 -0.088388 -0.088388 +v -0.125000 -0.125000 0.000000 +v 0.000000 -0.125000 0.000000 +v -0.125000 -0.088388 0.088388 +v -0.000000 -0.088388 0.088388 +v -0.125000 0.000000 0.125000 +v -0.000000 0.000000 0.125000 +v 0.000000 0.375000 -0.125000 +v 0.000000 0.375000 -0.500000 +v 0.000000 0.375000 0.125000 +v 0.000000 0.375000 0.375000 +v 0.088388 0.338388 0.125000 +v 0.088388 0.338388 0.375000 +v 0.125000 0.250000 0.125000 +v 0.125000 0.250000 0.375000 +v 0.088388 0.161612 0.125000 +v 0.088388 0.161612 0.375000 +v -0.000000 0.125000 0.125000 +v -0.000000 0.125000 0.375000 +v -0.088388 0.161612 0.125000 +v -0.088388 0.161612 0.375000 +v -0.125000 0.250000 0.125000 +v -0.125000 0.250000 0.375000 +v -0.088388 0.338388 0.125000 +v -0.088388 0.338388 0.375000 +v 0.088388 0.338388 -0.500000 +v 0.088388 0.338388 -0.125000 +v 0.125000 0.250000 -0.500000 +v 0.125000 0.250000 -0.125000 +v 0.088388 0.161612 -0.500000 +v 0.088388 0.161612 -0.125000 +v -0.000000 0.125000 -0.500000 +v -0.000000 0.125000 -0.125000 +v -0.088388 0.161612 -0.500000 +v -0.088388 0.161612 -0.125000 +v -0.125000 0.250000 -0.500000 +v -0.125000 0.250000 -0.125000 +v -0.088388 0.338388 -0.500000 +v -0.088388 0.338388 -0.125000 +v -0.225000 0.225000 -0.500000 +v -0.225000 0.375000 -0.500000 +v -0.225000 0.225000 -0.650000 +v -0.225000 0.375000 -0.650000 +v 0.225000 0.225000 -0.500000 +v 0.225000 0.375000 -0.500000 +v 0.225000 0.225000 -0.650000 +v 0.225000 0.375000 -0.650000 +v -0.090000 0.125000 -0.650000 +v -0.090000 0.125000 -0.500000 +v 0.090000 0.125000 -0.650000 +v 0.090000 0.125000 -0.500000 +v 0.125000 0.100000 0.112500 +v 0.125000 0.300000 0.112500 +v 0.125000 0.100000 -0.012500 +v 0.125000 0.300000 -0.012500 +v 0.475000 0.100000 0.112500 +v 0.475000 0.300000 0.112500 +v 0.475000 0.100000 -0.012500 +v 0.475000 0.300000 -0.012500 +v 0.175000 0.300000 0.087500 +v 0.175000 0.300000 0.012500 +v 0.162500 0.350000 0.087500 +v 0.162500 0.350000 0.012500 +v 0.112500 0.400000 0.087500 +v 0.112500 0.400000 0.012500 +v 0.062500 0.400000 0.087500 +v 0.062500 0.400000 0.012500 +v 0.025000 0.375000 0.087500 +v 0.025000 0.375000 0.012500 +v 0.070711 0.320711 0.375000 +v -0.000000 0.350000 0.375000 +v 0.100000 0.250000 0.375000 +v 0.070711 0.179289 0.375000 +v -0.000000 0.150000 0.375000 +v -0.070711 0.179289 0.375000 +v -0.100000 0.250000 0.375000 +v -0.070711 0.320711 0.375000 +v 0.070711 0.320711 0.400000 +v -0.000000 0.350000 0.400000 +v 0.100000 0.250000 0.400000 +v 0.070711 0.179289 0.400000 +v -0.000000 0.150000 0.400000 +v -0.070711 0.179289 0.400000 +v -0.100000 0.250000 0.400000 +v -0.070711 0.320711 0.400000 +v -0.075000 0.475000 -0.175000 +v -0.075000 0.475000 0.175000 +v -0.039645 0.460355 -0.175000 +v -0.039645 0.460355 0.175000 +v -0.025000 0.425000 -0.175000 +v -0.025000 0.425000 0.175000 +v -0.039645 0.389645 -0.175000 +v -0.039645 0.389645 0.175000 +v -0.075000 0.375000 -0.175000 +v -0.075000 0.375000 0.175000 +v -0.110355 0.389645 -0.175000 +v -0.110355 0.389645 0.175000 +v -0.125000 0.425000 -0.175000 +v -0.125000 0.425000 0.175000 +v -0.110355 0.460355 -0.175000 +v -0.110355 0.460355 0.175000 +vt 0.821962 0.650392 +vt 0.775508 0.650392 +vt 0.775508 0.580710 +vt 0.752281 0.836267 +vt 0.821962 0.836267 +vt 0.801553 0.856676 +vt 0.821962 0.511028 +vt 0.775508 0.511028 +vt 0.775508 0.441347 +vt 0.092938 0.738769 +vt 0.092938 0.788509 +vt 0.023256 0.788509 +vt 0.092938 0.814706 +vt 0.023256 0.814706 +vt 0.092938 0.840903 +vt 0.023256 0.840903 +vt 0.092938 0.890643 +vt 0.023256 0.890643 +vt 0.821962 0.720074 +vt 0.815159 0.769346 +vt 0.782311 0.769346 +vt 0.775508 0.092937 +vt 0.782311 0.043665 +vt 0.815159 0.043665 +vt 0.023256 0.738769 +vt 0.023256 0.669087 +vt 0.092937 0.960325 +vt 0.868474 0.289916 +vt 0.868474 0.236584 +vt 0.938155 0.236584 +vt 0.881349 0.709753 +vt 0.881349 0.656420 +vt 0.927804 0.656420 +vt 0.868474 0.396581 +vt 0.868474 0.343248 +vt 0.938155 0.343248 +vt 0.881349 0.603088 +vt 0.927804 0.603088 +vt 0.868474 0.449913 +vt 0.938155 0.396581 +vt 0.881349 0.549756 +vt 0.927804 0.549756 +vt 0.868474 0.076588 +vt 0.868474 0.023256 +vt 0.938155 0.023256 +vt 0.881349 0.496424 +vt 0.927804 0.496424 +vt 0.868474 0.129920 +vt 0.938155 0.076588 +vt 0.927804 0.923081 +vt 0.881349 0.923081 +vt 0.881349 0.869749 +vt 0.868474 0.183252 +vt 0.938155 0.129920 +vt 0.881349 0.816417 +vt 0.927804 0.816417 +vt 0.868474 0.704419 +vt 0.868474 0.661754 +vt 0.881349 0.763085 +vt 0.927804 0.709753 +vt 0.927804 0.763085 +vt 0.938155 0.289916 +vt 0.938155 0.183252 +vt 0.775508 0.232301 +vt 0.775508 0.162619 +vt 0.821962 0.232301 +vt 0.536236 0.669087 +vt 0.573830 0.707022 +vt 0.562648 0.733675 +vt 0.626139 0.706326 +vt 0.690727 0.732578 +vt 0.627236 0.707263 +vt 0.679546 0.706567 +vt 0.716042 0.669087 +vt 0.821962 0.905949 +vt 0.426702 0.856756 +vt 0.377430 0.877166 +vt 0.426702 0.827893 +vt 0.475975 0.877166 +vt 0.191705 0.669087 +vt 0.252644 0.721342 +vt 0.252084 0.722279 +vt 0.194248 0.702241 +vt 0.139449 0.730026 +vt 0.681292 0.780186 +vt 0.660883 0.829459 +vt 0.632020 0.829459 +vt 0.681292 0.878731 +vt 0.330919 0.730026 +vt 0.293580 0.709473 +vt 0.296123 0.686546 +vt 0.536236 0.780186 +vt 0.585509 0.829459 +vt 0.556646 0.829459 +vt 0.536236 0.878731 +vt 0.821962 0.371665 +vt 0.775508 0.371665 +vt 0.775508 0.301983 +vt 0.274110 0.162619 +vt 0.357728 0.162619 +vt 0.357728 0.190492 +vt 0.023256 0.162619 +vt 0.023256 0.079001 +vt 0.274110 0.079001 +vt 0.728996 0.190492 +vt 0.645378 0.190492 +vt 0.645378 0.162619 +vt 0.274110 0.190492 +vt 0.274110 0.274110 +vt 0.023256 0.274110 +vt 0.451382 0.162619 +vt 0.451382 0.190492 +vt 0.551724 0.162619 +vt 0.551724 0.190492 +vt 0.098512 0.023256 +vt 0.198854 0.023256 +vt 0.198854 0.329856 +vt 0.098512 0.329856 +vt 0.329857 0.511085 +vt 0.218365 0.511085 +vt 0.218365 0.487858 +vt 0.524966 0.511085 +vt 0.524966 0.622576 +vt 0.329857 0.622576 +vt 0.524966 0.487858 +vt 0.636456 0.487858 +vt 0.636456 0.511085 +vt 0.329857 0.487858 +vt 0.329857 0.376367 +vt 0.524966 0.376367 +vt 0.023256 0.511085 +vt 0.023256 0.487858 +vt 0.231864 0.902021 +vt 0.231864 0.888085 +vt 0.260595 0.888085 +vt 0.192446 0.902021 +vt 0.192446 0.888085 +vt 0.164574 0.902021 +vt 0.164574 0.888085 +vt 0.139449 0.902021 +vt 0.139449 0.888085 +vt 0.377430 0.703902 +vt 0.382075 0.703902 +vt 0.382075 0.746567 +vt 0.868474 0.597755 +vt 0.868474 0.555089 +vt 0.868474 0.811084 +vt 0.868474 0.544423 +vt 0.868474 0.501757 +vt 0.868474 0.757752 +vt 0.868474 0.715086 +vt 0.868474 0.917748 +vt 0.868474 0.875082 +vt 0.868474 0.651087 +vt 0.868474 0.608422 +vt 0.868474 0.864416 +vt 0.868474 0.821750 +vt 0.454910 0.673732 +vt 0.485079 0.746567 +vt 0.454910 0.669087 +vt 0.412245 0.673732 +vt 0.489725 0.746567 +vt 0.485080 0.703902 +vt 0.412245 0.781382 +vt 0.412245 0.776736 +vt 0.454910 0.776736 +vt 0.378790 0.749852 +vt 0.408960 0.670447 +vt 0.488364 0.700617 +vt 0.458195 0.780021 +vt 0.224781 0.841573 +vt 0.203448 0.841573 +vt 0.203448 0.776537 +vt 0.182115 0.841573 +vt 0.182115 0.776537 +vt 0.160782 0.841573 +vt 0.160782 0.776537 +vt 0.139449 0.841573 +vt 0.139449 0.776537 +vt 0.310112 0.776537 +vt 0.310112 0.841573 +vt 0.288779 0.841573 +vt 0.267447 0.841573 +vt 0.267447 0.776537 +vt 0.536236 0.940327 +vt 0.572654 0.925242 +vt 0.587738 0.961660 +vt 0.246114 0.841573 +vt 0.224781 0.776537 +vt 0.246114 0.776537 +vt 0.392515 0.923677 +vt 0.428932 0.938762 +vt 0.377430 0.960094 +vt 0.821962 0.580710 +vt 0.821962 0.441347 +vt 0.775508 0.720074 +vt 0.798735 0.789756 +vt 0.821962 0.092937 +vt 0.821962 0.162619 +vt 0.798735 0.023256 +vt 0.092938 0.669087 +vt 0.023256 0.960325 +vt 0.938155 0.449913 +vt 0.927804 0.869749 +vt 0.821962 0.301983 +vt 0.728996 0.162619 +vt 0.023256 0.190492 +vt 0.260595 0.902021 +vt 0.377430 0.746567 +vt 0.868474 0.768418 +vt 0.412245 0.669087 +vt 0.489725 0.703902 +vt 0.454910 0.781382 +vt 0.408960 0.780021 +vt 0.378791 0.700617 +vt 0.458195 0.670448 +vt 0.488364 0.749852 +vt 0.288779 0.776537 +vt 0.572654 0.976744 +vt 0.551321 0.976744 +vt 0.536236 0.961660 +vt 0.551321 0.925242 +vt 0.587738 0.940327 +vt 0.413847 0.975179 +vt 0.392515 0.975179 +vt 0.377430 0.938761 +vt 0.413847 0.923677 +vt 0.428932 0.960094 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 -0.000000 0.000000 +vn 0.000000 -0.382700 -0.923900 +vn 0.000000 -0.923900 -0.382700 +vn 0.000000 -0.923900 0.382700 +vn 0.000000 -0.382700 0.923900 +vn -1.000000 -0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn -0.382700 0.923900 0.000000 +vn 0.382700 0.923900 0.000000 +vn -0.923900 -0.382700 0.000000 +vn 0.923900 0.382700 0.000000 +vn -0.382700 -0.923900 0.000000 +vn 0.923900 -0.382700 0.000000 +vn 0.382700 -0.923900 0.000000 +vn -0.923900 0.382700 0.000000 +vn 0.000000 -0.942200 -0.335000 +vn 0.000000 -0.978000 -0.208600 +vn 0.000000 1.000000 0.000000 +vn -0.595200 -0.803600 0.000000 +vn 0.595200 -0.803600 0.000000 +vn 0.970100 0.242500 0.000000 +vn 0.707100 0.707100 0.000000 +vn -0.554700 0.832100 0.000000 +vn 0.441700 -0.780900 -0.441700 +s off +f 10/1/1 9/2/1 6/3/1 +f 21/4/2 4/5/2 40/6/2 +f 27/7/3 42/8/3 4/9/3 +f 12/10/4 14/11/4 13/12/4 +f 14/11/5 16/13/5 15/14/5 +f 16/13/6 18/15/6 17/16/6 +f 18/15/7 20/17/7 19/18/7 +f 20/19/3 18/20/3 14/21/3 +f 11/22/8 13/23/8 17/24/8 +f 12/10/2 11/25/2 7/26/2 +f 19/18/9 20/17/9 10/27/9 +f 52/28/10 21/29/10 22/30/10 +f 24/31/11 26/32/11 25/33/11 +f 48/34/12 50/35/12 49/36/12 +f 26/32/13 28/37/13 27/38/13 +f 46/39/14 48/34/14 47/40/14 +f 28/37/15 30/41/15 29/42/15 +f 44/43/16 46/44/16 45/45/16 +f 30/41/16 32/46/16 31/47/16 +f 42/48/15 44/43/15 43/49/15 +f 31/50/14 32/51/14 34/52/14 +f 40/53/13 42/48/13 41/54/13 +f 34/52/12 36/55/12 35/56/12 +f 24/31/9 84/57/9 83/58/9 +f 38/59/10 24/31/10 23/60/10 +f 36/55/17 38/59/17 37/61/17 +f 50/35/17 52/28/17 51/62/17 +f 21/29/11 40/53/11 39/63/11 +f 50/64/8 7/65/8 35/66/8 +f 50/67/2 48/68/2 7/69/2 +f 7/69/2 48/68/2 46/70/2 +f 6/71/18 9/72/18 46/70/18 +f 44/73/2 42/74/2 6/71/2 +f 42/75/2 40/6/2 4/5/2 +f 52/76/2 50/77/2 2/78/2 +f 52/76/2 2/78/2 21/79/2 +f 8/80/19 10/81/19 31/82/19 +f 33/83/9 35/84/9 8/80/9 +f 35/85/9 37/86/9 1/87/9 +f 37/86/9 23/88/9 1/87/9 +f 27/89/9 29/90/9 5/91/9 +f 10/81/9 5/91/9 29/90/9 +f 27/92/9 3/93/9 25/94/9 +f 25/94/9 3/93/9 23/95/9 +f 23/96/20 21/97/20 2/98/20 +f 56/99/8 55/100/8 53/101/8 +f 60/102/2 59/103/2 55/104/2 +f 58/105/3 57/106/3 59/107/3 +f 54/108/9 53/109/9 57/110/9 +f 55/100/21 61/111/21 62/112/21 +f 60/102/20 56/99/20 54/108/20 +f 61/111/1 63/113/1 64/114/1 +f 59/103/2 63/115/2 61/116/2 +f 53/109/9 62/117/9 64/118/9 +f 57/106/22 64/114/22 63/113/22 +f 68/119/8 67/120/8 65/121/8 +f 72/122/2 71/123/2 67/124/2 +f 70/125/3 69/126/3 71/127/3 +f 66/128/9 65/129/9 69/130/9 +f 67/120/1 71/131/1 69/132/1 +f 72/122/20 68/119/20 66/128/20 +f 76/133/23 75/134/23 73/135/23 +f 78/136/24 77/137/24 75/134/24 +f 80/138/20 79/139/20 77/137/20 +f 82/140/25 81/141/25 79/139/25 +f 89/142/17 97/143/17 98/144/17 +f 28/37/9 85/145/9 86/146/9 +f 38/59/9 36/55/9 89/147/9 +f 30/41/9 86/148/9 87/149/9 +f 38/59/9 90/150/9 84/151/9 +f 32/51/9 87/152/9 88/153/9 +f 26/32/9 83/154/9 85/155/9 +f 34/52/9 88/156/9 89/157/9 +f 97/143/9 95/158/9 93/159/9 +f 87/160/14 95/158/14 96/161/14 +f 85/162/15 93/159/15 94/163/15 +f 84/164/11 92/165/11 91/166/11 +f 90/167/10 98/144/10 92/165/10 +f 88/168/12 96/161/12 97/143/12 +f 86/169/16 94/163/16 95/158/16 +f 83/170/13 91/166/13 93/159/13 +f 100/171/11 102/172/11 101/173/11 +f 102/172/13 104/174/13 103/175/13 +f 104/174/15 106/176/15 105/177/15 +f 106/176/16 108/178/16 107/179/16 +f 107/180/14 108/181/14 110/182/14 +f 110/182/12 112/183/12 111/184/12 +f 112/185/9 108/186/9 104/187/9 +f 114/188/10 100/171/10 99/189/10 +f 112/183/17 114/188/17 113/190/17 +f 105/191/2 109/192/2 101/193/2 +f 5/194/1 10/1/1 6/3/1 +f 4/9/3 3/195/3 27/7/3 +f 27/7/3 5/194/3 6/3/3 +f 6/3/3 42/8/3 27/7/3 +f 11/25/4 12/10/4 13/12/4 +f 13/12/5 14/11/5 15/14/5 +f 15/14/6 16/13/6 17/16/6 +f 17/16/7 18/15/7 19/18/7 +f 12/196/3 9/2/3 10/1/3 +f 10/1/3 20/19/3 12/196/3 +f 18/20/3 16/197/3 14/21/3 +f 14/21/3 12/196/3 20/19/3 +f 19/198/8 8/199/8 7/65/8 +f 7/65/8 11/22/8 19/198/8 +f 13/23/8 15/200/8 17/24/8 +f 17/24/8 19/198/8 11/22/8 +f 9/201/2 12/10/2 7/26/2 +f 8/202/9 19/18/9 10/27/9 +f 51/62/10 52/28/10 22/30/10 +f 23/60/11 24/31/11 25/33/11 +f 47/40/12 48/34/12 49/36/12 +f 25/33/13 26/32/13 27/38/13 +f 45/203/14 46/39/14 47/40/14 +f 27/38/15 28/37/15 29/42/15 +f 43/49/16 44/43/16 45/45/16 +f 29/42/16 30/41/16 31/47/16 +f 41/54/15 42/48/15 43/49/15 +f 33/204/14 31/50/14 34/52/14 +f 39/63/13 40/53/13 41/54/13 +f 33/204/12 34/52/12 35/56/12 +f 26/32/9 24/31/9 83/58/9 +f 37/61/10 38/59/10 23/60/10 +f 35/56/17 36/55/17 37/61/17 +f 49/36/17 50/35/17 51/62/17 +f 22/30/11 21/29/11 39/63/11 +f 35/66/8 1/205/8 2/98/8 +f 2/98/8 50/64/8 35/66/8 +f 7/65/8 8/199/8 35/66/8 +f 9/72/1 7/69/1 46/70/1 +f 44/73/2 6/71/2 46/70/2 +f 33/83/9 8/80/9 31/82/9 +f 31/82/26 10/81/26 29/90/26 +f 2/98/20 1/205/20 23/96/20 +f 23/96/20 3/195/20 4/9/20 +f 4/9/20 21/97/20 23/96/20 +f 54/108/8 56/99/8 53/101/8 +f 56/99/2 60/102/2 55/104/2 +f 60/206/3 58/105/3 59/107/3 +f 58/207/9 54/108/9 57/110/9 +f 53/101/21 55/100/21 62/112/21 +f 58/207/20 60/102/20 54/108/20 +f 62/112/1 61/111/1 64/114/1 +f 55/104/2 59/103/2 61/116/2 +f 57/110/9 53/109/9 64/118/9 +f 59/107/22 57/106/22 63/113/22 +f 66/128/8 68/119/8 65/121/8 +f 68/119/2 72/122/2 67/124/2 +f 72/122/3 70/125/3 71/127/3 +f 70/125/9 66/128/9 69/130/9 +f 65/121/1 67/120/1 69/132/1 +f 70/125/20 72/122/20 66/128/20 +f 74/208/23 76/133/23 73/135/23 +f 76/133/24 78/136/24 75/134/24 +f 78/136/20 80/138/20 77/137/20 +f 80/138/25 82/140/25 79/139/25 +f 90/209/17 89/142/17 98/144/17 +f 30/41/9 28/37/9 86/146/9 +f 90/210/9 38/59/9 89/147/9 +f 32/46/9 30/41/9 87/149/9 +f 24/31/9 38/59/9 84/151/9 +f 34/52/9 32/51/9 88/153/9 +f 28/37/9 26/32/9 85/155/9 +f 36/55/9 34/52/9 89/157/9 +f 93/159/9 91/166/9 92/165/9 +f 92/165/9 98/144/9 93/159/9 +f 97/143/9 96/161/9 95/158/9 +f 95/158/9 94/163/9 93/159/9 +f 93/159/9 98/144/9 97/143/9 +f 88/211/14 87/160/14 96/161/14 +f 86/212/15 85/162/15 94/163/15 +f 83/213/11 84/164/11 91/166/11 +f 84/214/10 90/167/10 92/165/10 +f 89/215/12 88/168/12 97/143/12 +f 87/216/16 86/169/16 95/158/16 +f 85/217/13 83/170/13 93/159/13 +f 99/189/11 100/171/11 101/173/11 +f 101/173/13 102/172/13 103/175/13 +f 103/175/15 104/174/15 105/177/15 +f 105/177/16 106/176/16 107/179/16 +f 109/218/14 107/180/14 110/182/14 +f 109/218/12 110/182/12 111/184/12 +f 104/187/9 102/219/9 100/220/9 +f 100/220/9 114/221/9 104/187/9 +f 112/185/9 110/222/9 108/186/9 +f 108/186/9 106/223/9 104/187/9 +f 104/187/9 114/221/9 112/185/9 +f 113/190/10 114/188/10 99/189/10 +f 111/184/17 112/183/17 113/190/17 +f 113/224/2 99/225/2 101/193/2 +f 101/193/2 103/226/2 105/191/2 +f 105/191/2 107/227/2 109/192/2 +f 109/192/2 111/228/2 113/224/2 +f 113/224/2 101/193/2 109/192/2 diff --git a/assets/hbm/models/turret_cheapo_rotor.obj b/assets/hbm/models/turret_cheapo_rotor.obj new file mode 100644 index 000000000..863a0cac0 --- /dev/null +++ b/assets/hbm/models/turret_cheapo_rotor.obj @@ -0,0 +1,218 @@ +# Blender v2.76 (sub 0) OBJ File: 'turret_cheapo_rotor.blend' +# www.blender.org +o Grid.002_Grid.004 +v 0.125000 1.125000 0.125000 +v 0.125000 1.125000 -0.125000 +v 0.000000 1.125000 -0.125000 +v 0.000000 1.125000 0.125000 +v -0.000000 1.250000 -0.125000 +v 0.125000 1.250000 -0.125000 +v -0.000000 1.250000 0.125000 +v 0.125000 1.250000 0.125000 +v -0.000000 1.338388 0.088388 +v 0.125000 1.338388 0.088388 +v -0.000000 1.375000 -0.000000 +v 0.125000 1.375000 -0.000000 +v -0.000000 1.338388 -0.088388 +v 0.125000 1.338388 -0.088388 +v -0.156250 1.250000 -0.050000 +v 0.156250 1.250000 -0.050000 +v -0.156250 1.214645 -0.035355 +v 0.156250 1.214645 -0.035355 +v -0.156250 1.200000 0.000000 +v 0.156250 1.200000 0.000000 +v -0.156250 1.214645 0.035355 +v 0.156250 1.214645 0.035355 +v -0.156250 1.250000 0.050000 +v 0.156250 1.250000 0.050000 +v -0.156250 1.285355 0.035355 +v 0.156250 1.285355 0.035355 +v -0.156250 1.300000 -0.000000 +v 0.156250 1.300000 -0.000000 +v -0.156250 1.285355 -0.035355 +v 0.156250 1.285355 -0.035355 +v 0.000000 1.000000 0.125000 +v 0.000000 1.000000 -0.125000 +v 0.125000 1.000000 -0.125000 +v 0.125000 1.000000 0.125000 +v -0.088388 1.000000 0.088388 +v -0.088388 1.125000 0.088388 +v -0.125000 1.000000 -0.000000 +v -0.125000 1.125000 -0.000000 +v -0.088388 1.000000 -0.088388 +v -0.088388 1.125000 -0.088388 +vt 0.258909 0.629669 +vt 0.038488 0.519458 +vt 0.258909 0.519458 +vt 0.961512 0.258909 +vt 0.929232 0.336840 +vt 0.773371 0.336840 +vt 0.664115 0.258909 +vt 0.664115 0.343261 +vt 0.553904 0.343261 +vt 0.664115 0.427613 +vt 0.553904 0.427613 +vt 0.664115 0.596316 +vt 0.664115 0.706527 +vt 0.553905 0.706527 +vt 0.664115 0.511965 +vt 0.553904 0.596316 +vt 0.553904 0.511965 +vt 0.553904 0.148698 +vt 0.664115 0.148698 +vt 0.395472 0.240932 +vt 0.395472 0.274673 +vt 0.119944 0.274673 +vt 0.395472 0.308414 +vt 0.119944 0.308413 +vt 0.395471 0.038488 +vt 0.395471 0.072228 +vt 0.119944 0.072230 +vt 0.395472 0.105969 +vt 0.119944 0.105970 +vt 0.395472 0.139710 +vt 0.119944 0.139711 +vt 0.395472 0.173451 +vt 0.119944 0.173451 +vt 0.476929 0.274673 +vt 0.453071 0.332272 +vt 0.395472 0.207191 +vt 0.119944 0.240932 +vt 0.119944 0.207192 +vt 0.096086 0.332272 +vt 0.038488 0.274673 +vt 0.062346 0.250815 +vt 0.122839 0.816855 +vt 0.207191 0.816855 +vt 0.207191 0.927066 +vt 0.291543 0.816855 +vt 0.291543 0.927066 +vt 0.553904 0.038488 +vt 0.664115 0.038488 +vt 0.664116 0.816738 +vt 0.553905 0.816738 +vt 0.375894 0.816855 +vt 0.375894 0.927066 +vt 0.038488 0.927066 +vt 0.038488 0.816855 +vt 0.741091 0.148698 +vt 0.741091 0.038488 +vt 0.961512 0.038488 +vt 0.741091 0.556306 +vt 0.741091 0.446095 +vt 0.961512 0.556306 +vt 0.226629 0.707600 +vt 0.148698 0.739880 +vt 0.070768 0.707600 +vt 0.226629 0.441527 +vt 0.038488 0.629669 +vt 0.070768 0.441527 +vt 0.148698 0.409247 +vt 0.741091 0.258909 +vt 0.961512 0.148698 +vt 0.851301 0.369120 +vt 0.553904 0.258909 +vt 0.119944 0.038489 +vt 0.419330 0.250814 +vt 0.453071 0.250814 +vt 0.476929 0.308414 +vt 0.419330 0.332272 +vt 0.096086 0.250815 +vt 0.062346 0.332272 +vt 0.038488 0.308414 +vt 0.122839 0.927066 +vt 0.929232 0.634237 +vt 0.851301 0.666517 +vt 0.773371 0.634237 +vt 0.961512 0.446095 +vn -1.000000 -0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.382700 0.923900 +vn 0.000000 0.923900 0.382700 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.382700 -0.923900 +vn 0.000000 0.923900 -0.382700 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -0.382700 -0.923900 +vn 0.000000 -0.923900 -0.382700 +vn 0.000000 -0.923900 0.382700 +vn 0.000000 -0.382700 0.923900 +vn -0.923900 0.000000 0.382700 +vn -0.923900 0.000000 -0.382700 +vn -0.382700 0.000000 -0.923900 +vn -0.382700 0.000000 0.923900 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +s off +f 3/1/1 7/2/1 5/3/1 +f 6/4/2 14/5/2 10/6/2 +f 8/7/3 10/8/3 9/9/3 +f 10/8/4 12/10/4 11/11/4 +f 6/12/5 2/13/5 3/14/5 +f 14/15/6 6/12/6 5/16/6 +f 12/10/7 14/15/7 13/17/7 +f 4/18/8 1/19/8 8/7/8 +f 16/20/9 18/21/9 17/22/9 +f 18/21/10 20/23/10 19/24/10 +f 20/25/11 22/26/11 21/27/11 +f 22/26/12 24/28/12 23/29/12 +f 24/28/3 26/30/3 25/31/3 +f 26/30/4 28/32/4 27/33/4 +f 28/34/2 24/35/2 20/23/2 +f 30/36/6 16/20/6 15/37/6 +f 28/32/7 30/36/7 29/38/7 +f 21/39/1 27/40/1 29/41/1 +f 36/42/13 38/43/13 37/44/13 +f 38/43/14 40/45/14 39/46/14 +f 4/18/8 31/47/8 34/48/8 +f 2/13/5 33/49/5 32/50/5 +f 40/45/15 3/51/15 32/52/15 +f 31/53/16 4/54/16 36/42/16 +f 1/55/2 34/56/2 33/57/2 +f 32/58/17 33/59/17 31/60/17 +f 40/61/18 38/62/18 36/63/18 +f 13/64/1 5/3/1 7/2/1 +f 3/1/1 4/65/1 7/2/1 +f 7/2/1 9/66/1 11/67/1 +f 11/67/1 13/64/1 7/2/1 +f 8/68/2 1/55/2 2/69/2 +f 2/69/2 6/4/2 8/68/2 +f 14/5/2 12/70/2 10/6/2 +f 10/6/2 8/68/2 6/4/2 +f 7/71/3 8/7/3 9/9/3 +f 9/9/4 10/8/4 11/11/4 +f 5/16/5 6/12/5 3/14/5 +f 13/17/6 14/15/6 5/16/6 +f 11/11/7 12/10/7 13/17/7 +f 7/71/8 4/18/8 8/7/8 +f 15/37/9 16/20/9 17/22/9 +f 17/22/10 18/21/10 19/24/10 +f 19/72/11 20/25/11 21/27/11 +f 21/27/12 22/26/12 23/29/12 +f 23/29/3 24/28/3 25/31/3 +f 25/31/4 26/30/4 27/33/4 +f 20/23/2 18/21/2 16/73/2 +f 16/73/2 30/74/2 28/34/2 +f 28/34/2 26/75/2 24/35/2 +f 24/35/2 22/76/2 20/23/2 +f 20/23/2 16/73/2 28/34/2 +f 29/38/6 30/36/6 15/37/6 +f 27/33/7 28/32/7 29/38/7 +f 29/41/1 15/77/1 17/22/1 +f 17/22/1 19/24/1 29/41/1 +f 21/39/1 23/78/1 25/79/1 +f 25/79/1 27/40/1 21/39/1 +f 29/41/1 19/24/1 21/39/1 +f 35/80/13 36/42/13 37/44/13 +f 37/44/14 38/43/14 39/46/14 +f 1/19/8 4/18/8 34/48/8 +f 3/14/5 2/13/5 32/50/5 +f 39/46/15 40/45/15 32/52/15 +f 35/80/16 31/53/16 36/42/16 +f 2/69/2 1/55/2 33/57/2 +f 35/81/17 37/82/17 39/83/17 +f 39/83/17 32/58/17 31/60/17 +f 33/59/17 34/84/17 31/60/17 +f 31/60/17 35/81/17 39/83/17 +f 36/63/18 4/65/18 3/1/18 +f 3/1/18 40/61/18 36/63/18 diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 10fc188ff..a40d878d9 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -55,10 +55,14 @@ "weapon.defabShoot": {"category": "player", "sounds": [{"name": "weapon/defabShoot", "stream": false}]}, "weapon.sparkShoot": {"category": "player", "sounds": ["weapon/sparkShoot1", "weapon/sparkShoot2", "weapon/sparkShoot3"]}, "weapon.bang": {"category": "player", "sounds": [{"name": "weapon/bang", "stream": false}]}, + "weapon.slice": {"category": "player", "sounds": [{"name": "weapon/slice", "stream": false}]}, + "weapon.kapeng": {"category": "player", "sounds": [{"name": "weapon/kapeng", "stream": false}]}, "weapon.leverActionReload": {"category": "player", "sounds": [{"name": "weapon/leverActionReload", "stream": false}]}, "weapon.b92Reload": {"category": "player", "sounds": [{"name": "weapon/b92Reload", "stream": false}]}, "weapon.stingerLockOn": {"category": "player", "sounds": [{"name": "weapon/stingerLockOn", "stream": false}]}, "weapon.sawShoot": {"category": "player", "sounds": [{"name": "weapon/sawShoot", "stream": false}]}, + "weapon.spinup": {"category": "player", "sounds": [{"name": "weapon/spinup", "stream": false}]}, + "weapon.spindown": {"category": "player", "sounds": [{"name": "weapon/spindown", "stream": false}]}, "weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]}, "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, diff --git a/assets/hbm/sounds/weapon/kapeng.ogg b/assets/hbm/sounds/weapon/kapeng.ogg new file mode 100644 index 0000000000000000000000000000000000000000..20f1d10433aa7825779e0002973324eb04bf0f66 GIT binary patch literal 9695 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/slice.ogg b/assets/hbm/sounds/weapon/slice.ogg new file mode 100644 index 0000000000000000000000000000000000000000..40f098e604fe1fc24aa26f059feeecbd706d59f6 GIT binary patch literal 10851 zcmeHscUY6l_U=dT7^(pR0ttc8Bq1muxFLiRI-w{{DWQW>6|9tibRh`{p-2k?0!k4D z8%+eH1_1>Xr6brjsMz3s;NEASbN~50_c`~k``mdZU)Id5Su^vl$(nb**!cO`1FXPb zX*0+tY)AC#>`Y~mVL5d&+$$hrr-Bt;VMK_NA(A*-i8&ZRrXDJj9!&tgLQHaQrt0=)GyDG(vWH|ym9WEJ0 zi;`0fx#h?T`bQ}Viu$0GtOM2s?9@SUe?N?M{J~a3ZfWwIhBkk~g7zkiY^-w>0@f|d zlK0^5&=YEPKxKrMnQa26&N7VLsj8G3->q>+oXoDJlpa5?(fc%k50^|&AZTq$lKl*$ z#ea{1Ff_|b;56)ol1&W38F1>{5hXt{tdb-v>u~QQ%VJ4lKo$U$lqsc_De*!i8+n0V z0Du_Si9Qa4^<~5Q8en|f0?r&D7yvh@XO>!FmN{=mK{!(scJpFNjp~!e-Hh4oZUz9h zcKpU+qFlTENC3cHqMgb(n#%A`T}sa6CMVUh0&1AMDFlQq~RICuR3P9s(*RiiuhZ;)f5=7MEBbviSJb0yA#bn^xs=|Zzx zF_ePTR-L87h@rm4Li7+Ql@&Vk(?PwZ!tN4h-rtg9L(B+Wd8aOHXvL#Ys0Wmgbun4= zj9Z|@Q5TR&w`c$*v(^}5fyGW;#Ez-m$J<9MutJfYV%7cD+=7uupk&jt@~RN>FO^-r zU68@`8bFdVJYS%=nM?k%CPH44m=(jX%NjhA35B?~qs#skG+l0moG_xf;%~rN0RwKi zL{XyI-w&^3xg=NJHYz0j zPyPfO7E-Vi2D922Mr+L8*fGjyGB?Wk_IcN5iSA#|zXbDUl;_c0ALswbzn2dF#AU(F z{(B*)9%#gX&N6}q`Fok5LxE6H)7||>Xhc{r5ra%sn{}*>h`ybu@fg-|RLtG(V2IrT zpD`_W`vdNdP9aBfLtI;;rmy%+e?33*Z`qw|cZtFPpi6a|k z{326ll``kFDF^~ZA%Nl+lUtQfU&$|4uGv)qAUi5MDYY^>wK_VrDmrsHnc|91UCt6%+}GT-h7M*u)1!ZaLVN<OXEMBPNuiadK>F`}Rg z=)6P#LT7m$3NvU_HE6`{A_In5tiXugo|}4m{wgD^*i>!Uu)}PBmH(SB118pBT@TEE z8370Sh!+C$UuD%{HoZ|cJv%UZ{MV^{^gqV}SF|&h-rr+^D*^}lzcbchHJg=(kzumG`h;FJI$bMB}(NUL%cQUSojnXUu|`u{Hd=YYaMGAp2= z1P%x?3=ijA4(wnfkjpuu7rVp)Mg&kxiA zHC;LF<|vtOk3p%N3Tvzq0JK9ZMeX}Fka86e$sPn*7>88Ip_$jnRuG9OF|q?uS)rUl z3`99Xh$vJJFHV_};{X89;@H4XqOE_gIUu_Sh?O+~4{dLLOr@yzkPcT4F%`X3NKHrg zrs8dd+o z@;7WzK6#ZpE@)E^o^}B7_mOC+qt__kZRB@50y37CIPmyhn`!}okL+AP39FQosWwWI zPZdj2*f}o^pb6<9B~OIlc;(16A~(-}Y=2?E4BYZr4HG+rYQn&Dhf$eVho=ALR=Wgi z=VAUY>3?hZKP++p>WmoLkpJ+etg8xo+ywx96W9QJyufvMp=bt&xMZU+0AeDW zZkLJ%NgPOW5#H%&(Bt4erj(QpZVGT@ZaLa6``x|U5X~R|t|QwL-~QGkL(G+ncJ;_a za{^;9O}t_ab4Ok^+eEZkJbPt+M+_1G z&>D&6N_CC~@(gIj6wWk1K{O&oHGhUninYuQ+U zo&7gk+KJBW?7y$h?dH4vft{=KPW@8za+w(R;H!nH5hioA|Ix(g@X*lU!059VZm!0Z zcQ@+f`@Xn7wCSNl*tf5K{&CItnx>z1fhRQlVf3evdZW7^JTZuk?d>)P%Rt)P_nyRG zHoV5!E!h}odHPzxKp|RFy1+9}Lc*ug@S3J?;8bP+n}B_Qr<*-zB3c#xvE=i8p1`bE zh<)l7)XeQqk9inV{5Q@fy-6LY#JhIwXYe5S$0~X18fM?HU4C^pX_3K{0wF1B6gPRSviyTkoG2T6f zsvLPy!DDc-_por27y!qf2V_Df;Kp93MOeCLnw}3p^ZgDb%Wg@Bv=eX2<0WW@sMIpk z@?%Ljdzs0!!ta4d_axQqwSAdZ=_&U8l1O7xM!LC|&V9^%VU@nAmGQoQTm_*r=gren z3erg8;C4!`V2C)UJ5@XG!*?Rz4a&j&qc6i&e;p@ANZpUB=JDn^2p>^89~i>JbMl&^ zi+A^QW7qLyIqR^!7*?+6>0?JAP7rkUL-VUiSot~*^v|_l*$E#C^hVkumSY~wX}$D# zyB^H@6Fmeki2RixOj@m-KqtLS@4dSeP;W@ZtPMQ0uPekgjj^yi_{o5CY6BnD&aQB? zhy!|XZ+?5jTUs1&Kd>vsnlwo^M_)rjV1q#YBBKnfpij(_psk?_Ev`fhFNUb2an#c~10 zNsC`K@~%%OTzKS(N0ASE?1-7pC8(-kJ%h(47AGcmnXoP=Zvbpkv67(CcK3^t=aavUN*FW^g zc~6%{9>upO_13rgV&V)PoM)f(2U8_8pB}VO7{a_CUlU5chb@$607VmaK=HjtoNNzb zxnM8n)Sf~=a_GHYmPBjjOD1%9JeBX+J`MXr+wjIJT4yU3b4`9Q*LuhjUO}qt8nC<8 z6ULe3S!j)z8?k$AhIj~XbHfaqs#{7s3hujCxxNbd{D^#G=J|`V&*OiVMJjQ9rY;ow z91t1zD2en}wz8BG-Aa?YNA4g73W>#@kPO=*%d5%j{JK(%y}kXCZ{=4=#&gQ-XAk#Z zXO>iM)rqX{wc8FW(Mr)$mpUrU|5_VifDHeEzZNCCVUcrhQ)u9^YM9|69g)U!2)4s7 zIPzGvtRnZ>p6hapMcIzwzp^}9!pGl|iZztLBoL8|jqUpIJ&W|#dafHH+?yJcY%Gt_ z5wL@rDZzux+U)CV+1ZYobV*K$6f@k%<1T-MqxRdxf0M+1`E`EH#_Nwe;`04f?=pNf93-JtY21S`BbM#(W zHwI+x8G|b_Jcs@if1BIB1ev@aS-g;^#cJ=Xl=qhQX^4IL$>_SQW_9Upkl-5yl`_zY_nA;TE(7QX8KHlYNPUzc#K8Wu%NcDs7Prh6G zaEHd1#U*C6Rk2>KJ;QvhZTNL03KB>da$ynkRPgin7uPChb}AcxFxxM;-@>SiJzP?G zF^}c&Kq9TIo0+x$qd)H;7eY4Co{j)7|H3Q#kHBl)C zKdXF2HQTq3uGLG?G9B}MqCiIml*_C2-48-6xF}HXYHDl7NuRvE)kjYgCu$HJJ76jH zR(nfuUJY`s%k{$Lx*p}I3~>yf*TUM>ha|EY!~c2fVG%E%kysVJOmQ#{lnl~7j3<3{T3A0us+nXG^p<1n9Q#(DO!Q9tVjJCuuT9ThV?#8%sSHfX<#tf& zLw+QO-SS>Ez|5D_b6{_yh%sF($s2c14GVS8C{S*5%)4gWVK}$UZvhRI2Qs5~U|^t^w%DsIpWjlHzCv0| z_chauFoP4ua`ASdk1%GpvZ^N>{ARZ>rb9LsI?l9X_XR}4A|pgUIgx1f=NGenU0!jU zPflHIt?b?|ziZ$7d2UhN-ii>?^G$g!M|9!C@_xx`QWBExAdRF(b>2U<1V`cSIE4uN z=g3@W7}$qfzM)C6&#Y`#pVIZ0LYyN~5UwN=(wQ18(YQb} z^u^Pk>U9rqUq(>_3Np)E^7wNavJbS7J_p7;Dt;-wXiy~kK=fOu!v1m5fbICZ%Z*d9 zH}_P~ri7WMY#ui3rR!6JrDDTOrb554wXb`m@6!H-z`Ju@;hp5@w)DGkI@9b~sCtIr z+@AB7374M9ntfe$Iv5h*@iep+{yyNRfM#}rsM-C{r{N-p=O5|)5OeC(xI}GA*&nZlUj-Nr+wlfJ_a)lR#mpTMczz|4v#+n0*kTa^kocY6+T0rlO{9i>9W8@|ZO= z1#Q8N+JCoakhax_V8j53tJXL}gZn&D5^f?LTCPMJ+(@AhUZWFWd6g88+|g)mKYi3EOoE0H4eTLC?R zV-oQ&%cK-mbG^Mp~9LV&x2(hRLt|Q z7kHpA-{Xim#7rs3mJg)HMv%gNfrk6x;M8nu_qf%=o!jG zn-$V@oik6H9?Tr3JuX+$WSv0_n&UZ~lC}ivwg_W*2Jyk!Q)++aUVcrZyh+Q>)Y$us z#k$qoyFfeqW)2PSkJxiy%S9~Hmv!v=p@6fD2Z?rmkzDidsN+vrU)Dy+UrcP*Mc8Rs zOSg0}NCz%Gf$7${P)|L$J}t=bqey?umC{auN$?y#gMf2YvF7EOUM9^0j(|v$4+_fP z?V$nX{k|~qs*^|?IB4EkPs0?SSP3W z8tmfuXZ81f1jDphzlzE(C2x3*<3qLVI)hl-(+u-xSx!@r&B>U>m zl2?(Qw;t)p>rvw_KZi5auE`ZvQuPdqqy*&Po|6cszU&F$Kxk0|UsuF~WUNfp$lP@x#0PoW}m`xg_*QFPs!7DBzm6}GKg+xZo8R#HX{fkM+l%)0I~3cqZA2A4Zoi1-)mlkbjf?L8szYh@%} z3U$BE*!wEqAyK|pXUaC*vV$waQi9VcYF({%B852xhgmBJ*SeZrbTO6?g)^p{yYCLz z^UweD?qKIXpIfqcAAzCHsfmdvW0Rv#1_%3OQW455+>^kwQnNDQ*ieDk5OQ2!2|uTo zJRX(0b*M9Hp?8imJHJ3KD7W@`L`A+c3EzTE88`s<6Q&?S5a>Y-!8v~-Iueik$rE#d z2zMNd3mj;qGP{`>k1iZEPjhKD1B5T#jZ9GM_z{d|e||jGSCuEB+VA{1#-&Y*{U4NN znM=8c+U%@`%Wjy+`l$86u2W0Xcq~r(`)g%qs5tdAN4~nbOGR}d zhfiU-=xOI%T3#ef#u$l&ayAko1ZAq5eUmNiQk7pBv?SlP{{y@V+el#%m$;B;OQIXppEbA;a4#z#f`psYnnu z5IDP<9G#&N&@6g%-;t(z>%HZPbvG_NI6Noy{Ulq`6_PMPI7yD`nQj*|AAR5pq!ka# zU>g=veO0tw>?pR!LtgqqcFW;fy{pn!sD+cP-;OsL?Ro!W|4%im6Yx3y$p*`S-VB$X z?V#+48m!1Or&E?0PxK=l%}%(EjVa~&CW`ijhxF74Ik#i$M{#;#VrnkD~ zI-w@bI(PSnVSE~!G^x0~$tG#1Z6eJo;~uVvU4FR#1vqncO#oq*DZae^mO6Wpuy%i}P zi19yMXYYNG18yy_oTgu&U$AQT zzPYCUU}Ma`EwVC^VuRuKlw*->OEM`L^4^;QT=uxG8o%D|Rs&ZyVMsEppVWwLY{|t0)kE&XJeZL1D3dGv}l5nHWiT zT#c!kb19tlEl;wG zVxlF`MUk+svCkL9Z>-0VcvSZ;9g{!bp6F;Z`Ti;VMCn<1+x;%#x6(Z7&s#JbU+q9= z0PWLeuimE?@41bymOD6`1C8itWNup#Dtte;z-5S@(GuvZqa8`bGae^8XFq8l8JnM0 zOUZI+dCJA>mFeQ(%@dX_%fZRVYm}8Fkr@1@CG~60F>hJLrhQTumJz1>`OjHiABv=i zB)wPzK04Fo6FSh)v5jq2OcO(gt{H@>HW3TSgW31feJzbuB(7;{swJpK^=KDiyz+X!VgDPCtjTG@`slOhXIi*fRzZ}p#VfW^Pe^l7g2OEXpgq2eA+8}?j z^00;XA*kZWK(KyMeV@Cg&++#Xf=!LN4jzs(FEG|f(SYH0#t~ji;MnH8U@~kDy&*i& zoM`htwikWOXuqe`>N6H3F1e#5xqo|R&ZXTuGi|k3te>s`*Hq{mfV3VsTc8t_>r29p zB69K>1aHf7Y8dfk!2mPzK~6Gqn7>NuxtOk>NyfcDV_aGvDoYBD-^WQAPi=I!MFI9- z3#8@R)DJ40yv%pn^&RrkyS#?6Qr1AT+s2{ejRJ3isS4N!*Zl53u?tgU&+d%P;#>M~ z0#|i5@xek8v9%!JO?SJl-v_$;M}s@~8%Y7uFO>P6NWDNChYa_Ecw9liw_xDd~)F-tGVZ@v1c_S|%4k^`qc3%@1vR>W_eM>@V) z1V`)#JARUIxB zpQ8292LrwhLK<~!ZaXsvdX?d4bNea!vx{ve*Q^GKUbGD-- zSl}CYKY8d6vr!kgt4Q4C_aU#Uiv?p^AKHpLv_3!bqhTyphj$W7-4Y==U=%j5JZOLG zKf_&AIz|wfD(%};R(4WdhL2AUB^aGazrVseEoNMM``v87iMH5{6ZOBI>FG%nJCw=1 zl%Ch?Q_Y8UH*m1T!}mf@H|Emf&H=L=cMlr2C#<`$$?UZ{_$i5p5*K^Nzb)mUWfniX zk{TylgM5F<6Cb?@~yNp6?S|$1{%kT$MfdjqHK{1%$~Mwg3PC literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/spindown.ogg b/assets/hbm/sounds/weapon/spindown.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9c1220495701f3ac2f89a9dff8ffc018e57d45c3 GIT binary patch literal 6455 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/spinup.ogg b/assets/hbm/sounds/weapon/spinup.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6e662e35b9f3eceb449bbfcf34c8da1252761af2 GIT binary patch literal 7654 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 Ztwo1?bTLTj9^SQX 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 IQAJ1o2dAkQLI3~& literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/turret_cheapo_gun.png b/assets/hbm/textures/models/turret_cheapo_gun.png new file mode 100644 index 0000000000000000000000000000000000000000..b13b40cca727f8ef366b3fed44fed5589e40f557 GIT binary patch literal 5361 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/turret_cheapo_head.png b/assets/hbm/textures/models/turret_cheapo_head.png new file mode 100644 index 0000000000000000000000000000000000000000..19aa1b62ba1151df077a1c0d14cbe92c047dc745 GIT binary patch literal 5031 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/turret_cheapo_rotor.png b/assets/hbm/textures/models/turret_cheapo_rotor.png new file mode 100644 index 0000000000000000000000000000000000000000..a7272d99d29af0aafa6eb51257b37823101d8a3a GIT binary patch literal 1804 zcmV+n2lM!eP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00w+XL_t(|UhSI;Zrex@M0Ez|bBs97{qN?* z7%1WCv6_}ec_AZNzz9Xpkki%ORn;=~bo%$-KLq|E@Yf^o0x z-@jk{@ScCa_O12#*VhjZFau%`0iglnAPHi?Tx-_#!vm0@6NIzhKw0+^=+B=&->w6c z0eg4=a^P0V$)Z7F1+0DC>*qW?013vKn?6rK5eNeJWdLB$hYVTP6Zx_H0|MLTO90SH zoUJkOz;E*F5XPYs~(XG4q2n{$7<_TLEq( zw&O>^{4fBIupvNC00)pqIP0gJA+6TD$X`(bc8~NKi(fv~Rj!9G0?SL9r?X<^!np`A%SO_+h{1`e}jhdb8`OK~Sr~ap2^APs}pv@LENd&-^!t=yWFpjLxx(xs> zZQE0#>5{q^0Fw;51-vd}x)tC1YAo!{kyYKh&gM%K>X0Gj(qc$n)BFjA_R`02rLf z&(*PFx!?fz4pC&k<#3j*qZPofpxTh5{aR46)5O0|j5 z?bHbHLIqx4US6M{pI?9f{(b&gpM8IQUTb(i`|`UygZKG6K4Yz=v!l6cj*eECYbnPG z)?+&fdqb$}APLw3{`&Rn?RNwu*A1YxouHW&t}`?mM$^3yyu> zdfHqutqA~bi&T>PLRS%=7tlQ3I!gwnO@rCfM*0aplU?cQ@0kB4!0NJMG6K723XPPiKDnLe`COQX5^8u0<$5(CS5snf^I&+`w}=? z%Y2Z}9)>&%m>cXIoAI$Tv{^EroGe|=6g8Z|Q6B9go9SuZqE!G%E$v|Q;z@Cj{U;tc zSAffRGBIwCaD}C@S!(xx_OzZ(|NH-2@;IDwPJsSPPy?x|K$ATimX>XkB6%X<>`5zS uuvu8&BL`&aW507|m|BDFaIS#A`QkqUU#2zy!&cA$0000 15) + pitch = 15; + + TileEntityTurretCheapo te = (TileEntityTurretCheapo)world.getTileEntity(x, y, z); + + if(i == 0 && te.spin < 10) + world.playSoundEffect(x, y, z, "hbm:weapon.spinup", 1.0F, 1.0F); + + if(te.spin < 35) + te.spin += 5; + + if(te.spin > 25 && i % 4 == 0) { + Vec3 vector = Vec3.createVectorHelper( + -Math.sin(yaw / 180.0F * (float) Math.PI) * Math.cos(pitch / 180.0F * (float) Math.PI), + -Math.sin(pitch / 180.0F * (float) Math.PI), + Math.cos(yaw / 180.0F * (float) Math.PI) * Math.cos(pitch / 180.0F * (float) Math.PI)); + + vector.normalize(); + + if(!world.isRemote) { + EntityBullet bullet = new EntityBullet(world); + bullet.posX = x + vector.xCoord * 1.5 + 0.5; + bullet.posY = y + vector.yCoord * 1.5 + 1.5; + bullet.posZ = z + vector.zCoord * 1.5 + 0.5; + + bullet.motionX = vector.xCoord * 3; + bullet.motionY = vector.yCoord * 3; + bullet.motionZ = vector.zCoord * 3; + + bullet.damage = rand.nextInt(11) + 10; + + world.spawnEntityInWorld(bullet); + } + + world.playSoundEffect(x, y, z, "hbm:weapon.sawShoot", 3.0F, 1.0F); + + flag = true; + } + + return flag; + } + + @Override + public void executeReleaseAction(World world, int i, double yaw, double pitch, int x, int y, int z) { + + world.playSoundEffect(x, y, z, "hbm:weapon.spindown", 1.0F, 1.0F); + } + +} diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 525a309f8..27627689b 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -332,6 +332,7 @@ public class ModItems { public static Item combine_scrap; public static Item shimmer_head; + public static Item shimmer_axe_head; public static Item shimmer_handle; public static Item telepad; @@ -1076,6 +1077,7 @@ public class ModItems { public static Item remote; public static Item turret_control; public static Item turret_chip; + public static Item turret_biometry; public static Item chopper; public static Item turret_light_ammo; @@ -1469,6 +1471,7 @@ public class ModItems { combine_scrap = new Item().setUnlocalizedName("combine_scrap").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":combine_scrap"); shimmer_head = new Item().setUnlocalizedName("shimmer_head").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":shimmer_head_original"); + shimmer_axe_head = new Item().setUnlocalizedName("shimmer_axe_head").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":shimmer_axe_head"); shimmer_handle = new Item().setUnlocalizedName("shimmer_handle").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":shimmer_handle"); telepad = new Item().setUnlocalizedName("telepad").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":telepad"); @@ -2051,7 +2054,8 @@ public class ModItems { linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":linker"); oil_detector = new ItemOilDetector().setUnlocalizedName("oil_detector").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":oil_detector"); turret_control = new ItemTurretControl().setUnlocalizedName("turret_control").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_control"); - turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_chip"); + turret_chip = new ItemTurretChip().setUnlocalizedName("turret_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":turret_chip"); + turret_biometry = new ItemTurretBiometry().setUnlocalizedName("turret_biometry").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":rei_scanner"); geiger_counter = new ItemGeigerCounter().setUnlocalizedName("geiger_counter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":geiger_counter"); survey_scanner = new ItemSurveyScanner().setUnlocalizedName("survey_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":survey_scanner"); @@ -2630,6 +2634,7 @@ public class ModItems { //Hammer Parts GameRegistry.registerItem(shimmer_head, shimmer_head.getUnlocalizedName()); + GameRegistry.registerItem(shimmer_axe_head, shimmer_axe_head.getUnlocalizedName()); GameRegistry.registerItem(shimmer_handle, shimmer_handle.getUnlocalizedName()); //Circuits @@ -3010,6 +3015,7 @@ public class ModItems { GameRegistry.registerItem(designator_manual, designator_manual.getUnlocalizedName()); GameRegistry.registerItem(turret_control, turret_control.getUnlocalizedName()); GameRegistry.registerItem(turret_chip, turret_chip.getUnlocalizedName()); + GameRegistry.registerItem(turret_biometry, turret_biometry.getUnlocalizedName()); GameRegistry.registerItem(linker, linker.getUnlocalizedName()); GameRegistry.registerItem(oil_detector, oil_detector.getUnlocalizedName()); GameRegistry.registerItem(survey_scanner, survey_scanner.getUnlocalizedName()); diff --git a/com/hbm/items/gear/WeaponSpecial.java b/com/hbm/items/gear/WeaponSpecial.java index 6fbb47c4f..7ad0cec3a 100644 --- a/com/hbm/items/gear/WeaponSpecial.java +++ b/com/hbm/items/gear/WeaponSpecial.java @@ -38,7 +38,7 @@ public class WeaponSpecial extends ItemSword { if(this == ModItems.ullapool_caber) { return EnumRarity.uncommon; } - if(this == ModItems.shimmer_sledge) { + if(this == ModItems.shimmer_sledge || this == ModItems.shimmer_axe) { return EnumRarity.epic; } @@ -94,6 +94,13 @@ public class WeaponSpecial extends ItemSword { entity.motionZ += dZ; world.playSoundAtEntity(entity, "hbm:weapon.bang", 3.0F, 1.F); } + + if(this == ModItems.shimmer_axe) { + + entity.setHealth(entity.getHealth() / 2); + + world.playSoundAtEntity(entity, "hbm:weapon.slice", 3.0F, 1.F); + } return false; } @@ -101,7 +108,7 @@ public class WeaponSpecial extends ItemSword { @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f1, float f2, float f3) { - + if(this == ModItems.shimmer_sledge) { if(world.getBlock(x, y, z) != Blocks.air) { @@ -120,7 +127,7 @@ public class WeaponSpecial extends ItemSword { rubble.motionX += dX; rubble.motionY += dY; rubble.motionZ += dZ; - world.playSoundAtEntity(rubble, "hbm:weapon.bang", 3.0F, 1.F); + world.playSoundAtEntity(rubble, "hbm:weapon.bang", 3.0F, 1.0F); if(!world.isRemote) { @@ -131,6 +138,24 @@ public class WeaponSpecial extends ItemSword { return true; } + if(this == ModItems.shimmer_axe) { + + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:weapon.kapeng", 3.0F, 1.0F); + + if(!world.isRemote) { + if(world.getBlock(x, y, z) != Blocks.air) { + world.func_147480_a(x, y, z, false); + } + if(world.getBlock(x, y + 1, z) != Blocks.air) { + world.func_147480_a(x, y + 1, z, false); + } + if(world.getBlock(x, y - 1, z) != Blocks.air) { + world.func_147480_a(x, y - 1, z, false); + } + } + return true; + } + return false; } @@ -141,7 +166,7 @@ public class WeaponSpecial extends ItemSword { if(this == ModItems.schrabidium_hammer) { multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Weapon modifier", -0.5, 1)); } - if(this == ModItems.shimmer_sledge) { + if(this == ModItems.shimmer_sledge || this == ModItems.shimmer_axe) { multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Weapon modifier", -0.2, 1)); } return multimap; @@ -173,6 +198,13 @@ public class WeaponSpecial extends ItemSword { list.add("Breaks everything, even portals."); } } + if(this == ModItems.shimmer_axe) { + if(MainRegistry.polaroidID == 11) { + list.add("shim's toolbox does an e-x-p-a-n-d"); + } else { + list.add("Timber!"); + } + } } } diff --git a/com/hbm/items/tool/ItemTurretBiometry.java b/com/hbm/items/tool/ItemTurretBiometry.java new file mode 100644 index 000000000..5d9d9dae5 --- /dev/null +++ b/com/hbm/items/tool/ItemTurretBiometry.java @@ -0,0 +1,67 @@ +package com.hbm.items.tool; + +import java.util.List; + +import com.hbm.blocks.bomb.TurretBase; +import com.hbm.tileentity.bomb.TileEntityTurretBase; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.World; + +public class ItemTurretBiometry extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Channel set to " + getFreq(itemstack)); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + int i = 0; + + if(player.isSneaking()) { + i = (getFreq(stack) - 1); + } else { + i = (getFreq(stack) + 1); + } + + if(i == -1) + i = 255; + + if(i == 256) + i = 0; + + setFreq(stack, i); + + if(world.isRemote) + player.addChatMessage(new ChatComponentText("Channel set to " + i)); + + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + + player.swingItem(); + + return stack; + } + + public static int getFreq(ItemStack stack) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + return 0; + } + return stack.stackTagCompound.getInteger("freq"); + } + + private static void setFreq(ItemStack stack, int i) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + } + stack.stackTagCompound.setInteger("freq", i); + } +} diff --git a/com/hbm/items/tool/ItemTurretChip.java b/com/hbm/items/tool/ItemTurretChip.java index 6a21a4b25..6dbc92289 100644 --- a/com/hbm/items/tool/ItemTurretChip.java +++ b/com/hbm/items/tool/ItemTurretChip.java @@ -1,5 +1,7 @@ package com.hbm.items.tool; +import java.util.List; + import com.hbm.blocks.bomb.TurretBase; import com.hbm.tileentity.bomb.TileEntityTurretBase; @@ -13,6 +15,12 @@ import net.minecraft.world.World; public class ItemTurretChip extends Item { + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Channel set to " + getFreq(itemstack)); + } + @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { @@ -22,10 +30,11 @@ public class ItemTurretChip extends Item { if(te instanceof TileEntityTurretBase) { ((TileEntityTurretBase)te).isAI = true; ((TileEntityTurretBase)te).uuid = player.getUniqueID().toString(); + ((TileEntityTurretBase)te).freq = getFreq(stack); } if(world.isRemote) { - player.addChatMessage(new ChatComponentText("Turret ownership set to: " + player.getDisplayName())); + player.addChatMessage(new ChatComponentText("Turret ownership set to: " + player.getDisplayName() + " on channel " + getFreq(stack))); } world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); @@ -35,4 +44,48 @@ public class ItemTurretChip extends Item { return false; } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + int i = 0; + + if(player.isSneaking()) { + i = (getFreq(stack) - 1); + } else { + i = (getFreq(stack) + 1); + } + + if(i == -1) + i = 255; + + if(i == 256) + i = 0; + + setFreq(stack, i); + + if(world.isRemote) + player.addChatMessage(new ChatComponentText("Channel set to " + i)); + + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + + player.swingItem(); + + return stack; + } + + private static int getFreq(ItemStack stack) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + return 0; + } + return stack.stackTagCompound.getInteger("freq"); + } + + private static void setFreq(ItemStack stack, int i) { + if(stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + } + stack.stackTagCompound.setInteger("freq", i); + } + } diff --git a/com/hbm/items/tool/ItemTurretControl.java b/com/hbm/items/tool/ItemTurretControl.java index 867ea38f9..f9a7a1e60 100644 --- a/com/hbm/items/tool/ItemTurretControl.java +++ b/com/hbm/items/tool/ItemTurretControl.java @@ -8,6 +8,7 @@ import com.hbm.entity.projectile.EntityBullet; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.bomb.TileEntityTurretBase; +import com.hbm.tileentity.bomb.TileEntityTurretCheapo; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -45,10 +46,18 @@ public class ItemTurretControl extends Item { if(!turret.isAI) { turret.rotationYaw = player.rotationYaw; turret.rotationPitch = player.rotationPitch; + if(turret.rotationPitch < -60) turret.rotationPitch = -60; if(turret.rotationPitch > 30) turret.rotationPitch = 30; + + if(turret instanceof TileEntityTurretCheapo) { + if(turret.rotationPitch < -30) + turret.rotationPitch = -30; + if(turret.rotationPitch > 15) + turret.rotationPitch = 15; + } } } } diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 34b5174fc..05d27215e 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -78,6 +78,7 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretTau.class, new RenderTauTurret()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretSpitfire.class, new RenderSpitfireTurret()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretCIWS.class, new RenderCIWSTurret()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretCheapo.class, new RenderCheapoTurret()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpjack.class, new RenderPumpjack()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbofan.class, new RenderTurbofan()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePress.class, new RenderPress()); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index e4390dc79..4dd290f2e 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -472,8 +472,10 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.generator_steel, 1), new Object[] { "RRR", "CCC", "SSS", 'C', ModItems.coil_gold_torus, 'S', "ingotSteel", 'R', ModItems.rotor_steel })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.generator_front, 1), new Object[] { "PSP", "TBT", "TWT", 'P', "plateSteel", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'B', ModItems.turbine_titanium, 'W', ModBlocks.red_wire_coated })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.shimmer_head, 1), new Object[] { "SSS", "DTD", "SSS", 'S', "ingotSteel", 'D', "blockDesh", 'T', "blockTungsten" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.shimmer_axe_head, 1), new Object[] { "PII", "PBB", "PII", 'P', "plateSteel", 'B', "blockDesh", 'I', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.shimmer_handle, 1), new Object[] { "GP", "GP", "GP", 'G', "plateGold", 'P', "ingotPolymer" })); GameRegistry.addRecipe(new ItemStack(ModItems.shimmer_sledge, 1), new Object[] { "H", "G", "G", 'G', ModItems.shimmer_handle, 'H', ModItems.shimmer_head }); + GameRegistry.addRecipe(new ItemStack(ModItems.shimmer_axe, 1), new Object[] { "H", "G", "G", 'G', ModItems.shimmer_handle, 'H', ModItems.shimmer_axe_head }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.definitelyfood, 1), new Object[] { "DDD", "SDS", "DDD", 'D', Blocks.dirt, 'S', "plateSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blade_tungsten, 2), new Object[] { "IP", "TP", "TI", 'P', "plateTitanium", 'T', "ingotTitanium", 'I', "ingotTungsten" })); GameRegistry.addRecipe(new ItemStack(ModItems.turbine_tungsten, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_tungsten, 'S', ModItems.ingot_dura_steel }); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index feec2a2a7..06035378a 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -177,6 +177,7 @@ import com.hbm.tileentity.bomb.TileEntityRedBarrel; import com.hbm.tileentity.bomb.TileEntityTestBombAdvanced; import com.hbm.tileentity.bomb.TileEntityTestNuke; import com.hbm.tileentity.bomb.TileEntityTurretCIWS; +import com.hbm.tileentity.bomb.TileEntityTurretCheapo; import com.hbm.tileentity.bomb.TileEntityTurretFlamer; import com.hbm.tileentity.bomb.TileEntityTurretHeavy; import com.hbm.tileentity.bomb.TileEntityTurretLight; @@ -580,6 +581,7 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityTurretCIWS.class, "tileentity_turret_cwis"); GameRegistry.registerTileEntity(TileEntityMachineRadar.class, "tileentity_radar"); GameRegistry.registerTileEntity(TileEntityBroadcaster.class, "tileentity_pink_cloud_broadcaster"); + GameRegistry.registerTileEntity(TileEntityTurretCheapo.class, "tileentity_turret_cheapo"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 08f89490b..15ff3a012 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -20,6 +20,9 @@ public class ResourceManager { public static final IModelCustom turret_cwis_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cwis_base.obj")); public static final IModelCustom turret_cwis_rotor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cwis_rotor.obj")); + public static final IModelCustom turret_cheapo_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_cheapo_base.obj")); + public static final IModelCustom turret_cheapo_rotor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_cheapo_rotor.obj")); + public static final IModelCustom turret_heavy_gun = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_heavy_gun.obj")); public static final IModelCustom turret_rocket_gun = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_rocket_gun.obj")); public static final IModelCustom turret_light_gun = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_light_gun.obj")); @@ -28,6 +31,8 @@ public class ResourceManager { public static final IModelCustom turret_spitfire_gun = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_spitfire_gun.obj")); public static final IModelCustom turret_cwis_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cwis_head.obj")); public static final IModelCustom turret_cwis_gun = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cwis_gun.obj")); + public static final IModelCustom turret_cheapo_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_cheapo_head.obj")); + public static final IModelCustom turret_cheapo_gun = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_cheapo_gun.obj")); //Pumpjack public static final IModelCustom pumpjack_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/pumpjack_base.obj")); @@ -81,6 +86,10 @@ public class ResourceManager { public static final ResourceLocation turret_ciws_rotor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/cwis_rotor.png"); public static final ResourceLocation turret_ciws_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/cwis_head.png"); public static final ResourceLocation turret_ciws_gun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/cwis_gun.png"); + public static final ResourceLocation turret_cheapo_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turret_cheapo_base.png"); + public static final ResourceLocation turret_cheapo_rotor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turret_cheapo_rotor.png"); + public static final ResourceLocation turret_cheapo_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turret_cheapo_head.png"); + public static final ResourceLocation turret_cheapo_gun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turret_cheapo_gun.png"); //Pumpjack public static final ResourceLocation pumpjack_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_base.png"); diff --git a/com/hbm/packet/AuxGaugePacket.java b/com/hbm/packet/AuxGaugePacket.java index 912772e88..1a034b45c 100644 --- a/com/hbm/packet/AuxGaugePacket.java +++ b/com/hbm/packet/AuxGaugePacket.java @@ -3,6 +3,7 @@ package com.hbm.packet; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.ISource; import com.hbm.tileentity.bomb.TileEntityTurretCIWS; +import com.hbm.tileentity.bomb.TileEntityTurretCheapo; import com.hbm.tileentity.machine.TileEntityAMSBase; import com.hbm.tileentity.machine.TileEntityAMSEmitter; import com.hbm.tileentity.machine.TileEntityAMSLimiter; @@ -95,6 +96,11 @@ public class AuxGaugePacket implements IMessage { cwis.rotation = m.value; } + if (te instanceof TileEntityTurretCheapo) { + TileEntityTurretCheapo cwis = (TileEntityTurretCheapo)te; + + cwis.rotation = m.value; + } } catch (Exception x) { } return null; diff --git a/com/hbm/render/tileentity/RenderCheapoTurret.java b/com/hbm/render/tileentity/RenderCheapoTurret.java new file mode 100644 index 000000000..7dd1a7b81 --- /dev/null +++ b/com/hbm/render/tileentity/RenderCheapoTurret.java @@ -0,0 +1,100 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.tileentity.bomb.TileEntityTurretBase; +import com.hbm.tileentity.bomb.TileEntityTurretCIWS; +import com.hbm.tileentity.bomb.TileEntityTurretCheapo; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; + +public class RenderCheapoTurret extends TileEntitySpecialRenderer { + + public RenderCheapoTurret() { } + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glRotatef(180, 0F, 1F, 0F); + + double yaw = 0; + double pitch = 0; + + if(tileEntity instanceof TileEntityTurretBase) { + yaw = ((TileEntityTurretBase)tileEntity).rotationYaw; + pitch = ((TileEntityTurretBase)tileEntity).rotationPitch; + } + + this.bindTexture(ResourceManager.turret_cheapo_base_tex); + ResourceManager.turret_cheapo_base.renderAll(); + + GL11.glPopMatrix(); + + renderTileEntityAt2(tileEntity, x, y, z, f, yaw, pitch); + } + + public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f, double yaw, double pitch) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glRotatef(180, 0F, 1F, 0F); + + GL11.glRotated(yaw + 180, 0F, -1F, 0F); + + this.bindTexture(ResourceManager.turret_cheapo_rotor_tex); + ResourceManager.turret_cheapo_rotor.renderAll(); + + GL11.glPopMatrix(); + + renderTileEntityAt3(tileEntity, x, y, z, f, yaw, pitch); + } + + public void renderTileEntityAt3(TileEntity tileEntity, double x, double y, double z, float f, double yaw, double pitch) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y + 1.25D, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glRotatef(180, 0F, 1F, 0F); + + GL11.glRotated(yaw + 180, 0F, -1F, 0F); + GL11.glRotated(pitch, 1F, 0F, 0F); + + this.bindTexture(ResourceManager.turret_cheapo_head_tex); + ResourceManager.turret_cheapo_head.renderAll(); + + GL11.glPopMatrix(); + + renderTileEntityAt4(tileEntity, x, y, z, f, yaw, pitch); + } + + public void renderTileEntityAt4(TileEntity tileEntity, double x, double y, double z, float f, double yaw, double pitch) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y + 1.25D, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glRotatef(180, 0F, 1F, 0F); + + GL11.glRotated(yaw + 180, 0F, -1F, 0F); + GL11.glRotated(pitch, 1F, 0F, 0F); + + GL11.glTranslated(0, 0.25D, 0); + + GL11.glRotated(((TileEntityTurretCheapo)tileEntity).rotation, 0F, 0F, 1F); + + this.bindTexture(ResourceManager.turret_cheapo_gun_tex); + ResourceManager.turret_cheapo_gun.renderAll(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/tileentity/bomb/TileEntityTurretBase.java b/com/hbm/tileentity/bomb/TileEntityTurretBase.java index 7c22c6530..070ff6eb2 100644 --- a/com/hbm/tileentity/bomb/TileEntityTurretBase.java +++ b/com/hbm/tileentity/bomb/TileEntityTurretBase.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.bomb; import com.hbm.blocks.bomb.TurretBase; import com.hbm.entity.missile.EntityMissileBaseAdvanced; +import com.hbm.items.tool.ItemTurretBiometry; import com.hbm.lib.Library; import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; @@ -28,6 +29,7 @@ public abstract class TileEntityTurretBase extends TileEntity { public String uuid = "none"; public int use; public int ammo = 0; + public int freq = 0; @Override public void updateEntity() { @@ -61,7 +63,7 @@ public abstract class TileEntityTurretBase extends TileEntity { Vec3 turret = Vec3.createVectorHelper(target.posX - (xCoord + 0.5), target.posY + target.getEyeHeight() - (yCoord + 1), target.posZ - (zCoord + 0.5)); - if(this instanceof TileEntityTurretCIWS || this instanceof TileEntityTurretSpitfire) { + if(this instanceof TileEntityTurretCIWS || this instanceof TileEntityTurretSpitfire || this instanceof TileEntityTurretCheapo) { turret = Vec3.createVectorHelper(target.posX - (xCoord + 0.5), target.posY + target.getEyeHeight() - (yCoord + 1.5), target.posZ - (zCoord + 0.5)); } @@ -73,13 +75,13 @@ public abstract class TileEntityTurretBase extends TileEntity { if(rotationPitch > 30) rotationPitch = 30; - use++; - if(worldObj.getBlock(xCoord, yCoord, zCoord) instanceof TurretBase && ammo > 0) { if(((TurretBase)worldObj.getBlock(xCoord, yCoord, zCoord)).executeHoldAction(worldObj, use, rotationYaw, rotationPitch, xCoord, yCoord, zCoord)) ammo--; } + use++; + } else { use = 0; } @@ -96,11 +98,11 @@ public abstract class TileEntityTurretBase extends TileEntity { if(this instanceof TileEntityTurretCIWS && !(e instanceof EntityMissileBaseAdvanced)) return false; - if(e instanceof EntityPlayer && ((EntityPlayer)e).getUniqueID().toString().equals(uuid)) + if(e instanceof EntityPlayer && (((EntityPlayer)e).getUniqueID().toString().equals(uuid) || playerHasFreq((EntityPlayer)e)) ) return false; Vec3 turret; - if(this instanceof TileEntityTurretSpitfire || this instanceof TileEntityTurretCIWS) + if(this instanceof TileEntityTurretSpitfire || this instanceof TileEntityTurretCIWS || this instanceof TileEntityTurretCheapo) turret = Vec3.createVectorHelper(xCoord + 0.5, yCoord + 1.5, zCoord + 0.5); else turret = Vec3.createVectorHelper(xCoord + 0.5, yCoord + 1, zCoord + 0.5); @@ -119,6 +121,20 @@ public abstract class TileEntityTurretBase extends TileEntity { return !Library.isObstructed(worldObj, turret.xCoord, turret.yCoord, turret.zCoord, entity.xCoord, entity.yCoord, entity.zCoord); } + private boolean playerHasFreq(EntityPlayer player) { + + for(int i = 0; i < player.inventory.getSizeInventory(); i++) { + + ItemStack stack = player.inventory.getStackInSlot(i); + + if(stack != null && stack.getItem() instanceof ItemTurretBiometry) + if(ItemTurretBiometry.getFreq(stack) == this.freq) + return true; + } + + return false; + } + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; @@ -139,6 +155,7 @@ public abstract class TileEntityTurretBase extends TileEntity { isAI = nbt.getBoolean("AI"); uuid = nbt.getString("player"); ammo = nbt.getInteger("ammo"); + freq = nbt.getInteger("freq"); } @Override @@ -149,6 +166,7 @@ public abstract class TileEntityTurretBase extends TileEntity { nbt.setBoolean("AI", isAI); nbt.setString("player", uuid); nbt.setInteger("ammo", ammo); + nbt.setInteger("freq", freq); } } diff --git a/com/hbm/tileentity/bomb/TileEntityTurretCheapo.java b/com/hbm/tileentity/bomb/TileEntityTurretCheapo.java new file mode 100644 index 000000000..99e9a41be --- /dev/null +++ b/com/hbm/tileentity/bomb/TileEntityTurretCheapo.java @@ -0,0 +1,32 @@ +package com.hbm.tileentity.bomb; + +import com.hbm.packet.AuxGaugePacket; +import com.hbm.packet.PacketDispatcher; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityTurretCheapo extends TileEntityTurretBase { + + public int spin; + public int rotation; + + @Override + public void updateEntity() { + + super.updateEntity(); + + this.ammo = 100; + + if(!worldObj.isRemote) { + + if(spin > 0) + spin -= 1; + + rotation += spin; + rotation = rotation % 360; + + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, rotation, 0)); + } + } + +}