From 99fcee674f733b71bc938a1508863038a11dd0c7 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Mon, 6 Nov 2017 23:33:09 +0100 Subject: [PATCH] Experimental stuff, glitches, simmer sledge model --- assets/hbm/models/shimmer_sledge.obj | 514 ++++++++++++++++++ .../hbm/textures/blocks/machine_pumpjack.png | Bin 0 -> 373 bytes .../hbm/textures/blocks/machine_turbofan.png | Bin 0 -> 317 bytes .../hbm/textures/items/entanglement_kit.jpg | Bin 0 -> 998 bytes assets/hbm/textures/items/glitch_1.png | Bin 0 -> 688 bytes assets/hbm/textures/items/glitch_2.png | Bin 0 -> 573 bytes assets/hbm/textures/items/glitch_3.png | Bin 0 -> 654 bytes assets/hbm/textures/items/glitch_4.png | Bin 0 -> 768 bytes assets/hbm/textures/items/glitch_5.png | Bin 0 -> 761 bytes assets/hbm/textures/items/glitch_6.png | Bin 0 -> 583 bytes assets/hbm/textures/items/glitch_7.png | Bin 0 -> 582 bytes assets/hbm/textures/items/glitch_8.png | Bin 0 -> 602 bytes assets/hbm/textures/items/glitch_9.png | Bin 0 -> 765 bytes assets/hbm/textures/items/meteor_remote.png | Bin 0 -> 264 bytes assets/hbm/textures/items/void.png | Bin 0 -> 837 bytes assets/hbm/textures/items/void_anim.png | Bin 0 -> 2582 bytes .../hbm/textures/items/void_anim.png.mcmeta | 3 + assets/hbm/textures/models/shimmer_sledge.png | Bin 0 -> 244 bytes .../hbm/textures/models/shimmer_sledge_wf.png | Bin 0 -> 76028 bytes com/hbm/blocks/ModBlocks.java | 5 +- com/hbm/blocks/bomb/BombFlameWar.java | 3 - com/hbm/blocks/bomb/BombRejuvinator.java | 109 ++++ com/hbm/blocks/test/TestEventTester.java | 10 + com/hbm/entity/projectile/EntityLaser.java | 63 +++ com/hbm/handler/FuelHandler.java | 2 +- com/hbm/inventory/MachineRecipes.java | 11 +- com/hbm/items/ModItems.java | 11 +- com/hbm/items/special/ItemCell.java | 3 +- com/hbm/items/tool/ItemAssemblyTemplate.java | 3 + com/hbm/items/tool/ItemMeteorRemote.java | 59 ++ com/hbm/items/weapon/GunDash.java | 102 ++++ com/hbm/main/ClientProxy.java | 8 +- com/hbm/main/CraftingManager.java | 8 +- com/hbm/main/MainRegistry.java | 2 + com/hbm/main/ModEventHandler.java | 19 +- com/hbm/main/ResourceManager.java | 10 + com/hbm/render/entity/RenderLaser.java | 64 +++ com/hbm/render/item/ItemRenderMIRV.java | 4 +- com/hbm/render/item/ItemRenderShim.java | 55 ++ com/hbm/world/Meteorite.java | 89 ++- 40 files changed, 1130 insertions(+), 27 deletions(-) create mode 100644 assets/hbm/models/shimmer_sledge.obj create mode 100644 assets/hbm/textures/blocks/machine_pumpjack.png create mode 100644 assets/hbm/textures/blocks/machine_turbofan.png create mode 100644 assets/hbm/textures/items/entanglement_kit.jpg create mode 100644 assets/hbm/textures/items/glitch_1.png create mode 100644 assets/hbm/textures/items/glitch_2.png create mode 100644 assets/hbm/textures/items/glitch_3.png create mode 100644 assets/hbm/textures/items/glitch_4.png create mode 100644 assets/hbm/textures/items/glitch_5.png create mode 100644 assets/hbm/textures/items/glitch_6.png create mode 100644 assets/hbm/textures/items/glitch_7.png create mode 100644 assets/hbm/textures/items/glitch_8.png create mode 100644 assets/hbm/textures/items/glitch_9.png create mode 100644 assets/hbm/textures/items/meteor_remote.png create mode 100644 assets/hbm/textures/items/void.png create mode 100644 assets/hbm/textures/items/void_anim.png create mode 100644 assets/hbm/textures/items/void_anim.png.mcmeta create mode 100644 assets/hbm/textures/models/shimmer_sledge.png create mode 100644 assets/hbm/textures/models/shimmer_sledge_wf.png create mode 100644 com/hbm/blocks/bomb/BombRejuvinator.java create mode 100644 com/hbm/entity/projectile/EntityLaser.java create mode 100644 com/hbm/items/tool/ItemMeteorRemote.java create mode 100644 com/hbm/items/weapon/GunDash.java create mode 100644 com/hbm/render/entity/RenderLaser.java create mode 100644 com/hbm/render/item/ItemRenderShim.java diff --git a/assets/hbm/models/shimmer_sledge.obj b/assets/hbm/models/shimmer_sledge.obj new file mode 100644 index 000000000..ebeb2570b --- /dev/null +++ b/assets/hbm/models/shimmer_sledge.obj @@ -0,0 +1,514 @@ +# Blender v2.76 (sub 0) OBJ File: 'shimmer_sledge.blend' +# www.blender.org +o Cylinder.002 +v 0.000000 0.000000 -0.025000 +v 0.012500 0.000000 -0.021651 +v 0.021651 0.000000 -0.012500 +v 0.025000 0.000000 0.000000 +v 0.021651 0.000000 0.012500 +v 0.012500 0.000000 0.021651 +v 0.000000 0.000000 0.025000 +v -0.012500 0.000000 0.021651 +v -0.021651 0.000000 0.012500 +v -0.025000 0.000000 0.000000 +v -0.021651 0.000000 -0.012500 +v -0.012500 0.000000 -0.021651 +l 1 2 +l 2 3 +l 3 4 +l 4 5 +l 5 6 +l 6 7 +l 7 8 +l 8 9 +l 9 10 +l 10 11 +l 11 12 +l 12 1 +o Cylinder.001 +v 0.000000 0.750000 -0.025000 +v -0.012500 0.000000 -0.021650 +v 0.012500 0.750000 -0.021651 +v -0.021651 0.000000 -0.012499 +v 0.021651 0.750000 -0.012500 +v -0.025000 0.000000 0.000001 +v 0.025000 0.750000 -0.000000 +v -0.021651 0.000000 0.012501 +v 0.021651 0.750000 0.012500 +v -0.012500 0.000000 0.021651 +v 0.012500 0.750000 0.021651 +v 0.000000 0.000000 0.025001 +v 0.000000 0.750000 0.025000 +v 0.012500 0.000000 0.021651 +v -0.012500 0.750000 0.021651 +v 0.021651 0.000000 0.012501 +v -0.021651 0.750000 0.012500 +v 0.025000 0.000000 0.000001 +v -0.025000 0.750000 0.000000 +v 0.021651 0.000000 -0.012499 +v -0.021651 0.750000 -0.012500 +v 0.012500 0.000000 -0.021650 +v -0.012500 0.750000 -0.021651 +v 0.000000 0.000000 -0.024999 +v -0.125000 0.750000 -0.065000 +v 0.125000 0.750000 -0.065000 +v -0.125000 0.725126 -0.060052 +v 0.125000 0.725126 -0.060052 +v -0.125000 0.704038 -0.045962 +v 0.125000 0.704038 -0.045962 +v -0.125000 0.689948 -0.024874 +v 0.125000 0.689948 -0.024874 +v -0.125000 0.685000 -0.000000 +v 0.125000 0.685000 0.000000 +v -0.125000 0.689948 0.024874 +v 0.125000 0.689948 0.024874 +v -0.125000 0.704038 0.045962 +v 0.125000 0.704038 0.045962 +v -0.125000 0.725126 0.060052 +v 0.125000 0.725126 0.060052 +v -0.125000 0.750000 0.065000 +v 0.125000 0.750000 0.065000 +v -0.125000 0.774874 0.060052 +v 0.125000 0.774874 0.060052 +v -0.125000 0.795962 0.045962 +v 0.125000 0.795962 0.045962 +v -0.125000 0.810052 0.024874 +v 0.125000 0.810052 0.024874 +v -0.125000 0.815000 -0.000000 +v 0.125000 0.815000 0.000000 +v -0.125000 0.810052 -0.024874 +v 0.125000 0.810052 -0.024874 +v -0.125000 0.795962 -0.045962 +v 0.125000 0.795962 -0.045962 +v -0.125000 0.774874 -0.060052 +v 0.125000 0.774874 -0.060052 +v 0.150000 0.732588 -0.042037 +v 0.150000 0.750000 -0.045500 +v 0.150000 0.767412 -0.042037 +v 0.150000 0.782173 -0.032173 +v 0.150000 0.792037 -0.017412 +v 0.150000 0.795500 0.000000 +v 0.150000 0.792037 0.017412 +v 0.150000 0.782173 0.032173 +v 0.150000 0.767412 0.042037 +v 0.150000 0.750000 0.045500 +v 0.150000 0.732588 0.042037 +v 0.150000 0.717827 0.032173 +v 0.150000 0.707964 0.017412 +v 0.150000 0.704500 0.000000 +v 0.150000 0.707964 -0.017412 +v 0.150000 0.717827 -0.032173 +v -0.150000 0.750000 -0.045500 +v -0.150000 0.732588 -0.042037 +v -0.150000 0.717827 -0.032173 +v -0.150000 0.707963 -0.017412 +v -0.150000 0.704500 -0.000000 +v -0.150000 0.707963 0.017412 +v -0.150000 0.717827 0.032173 +v -0.150000 0.732588 0.042036 +v -0.150000 0.750000 0.045500 +v -0.150000 0.767412 0.042036 +v -0.150000 0.782173 0.032173 +v -0.150000 0.792036 0.017412 +v -0.150000 0.795500 -0.000000 +v -0.150000 0.792036 -0.017412 +v -0.150000 0.782173 -0.032173 +v -0.150000 0.767412 -0.042037 +vt 0.020688 0.204740 +vt 0.979279 0.204739 +vt 0.979276 0.221471 +vt 0.020691 0.188008 +vt 0.979282 0.188007 +vt 0.020694 0.171275 +vt 0.979286 0.171274 +vt 0.020698 0.154543 +vt 0.979289 0.154542 +vt 0.020711 0.087614 +vt 0.979302 0.087613 +vt 0.979299 0.104346 +vt 0.020701 0.137811 +vt 0.979292 0.137810 +vt 0.020714 0.070882 +vt 0.979306 0.070881 +vt 0.020708 0.104347 +vt 0.979295 0.121078 +vt 0.020704 0.121079 +vt 0.020718 0.054150 +vt 0.979309 0.054149 +vt 0.020721 0.037418 +vt 0.979312 0.037417 +vt 0.020725 0.020685 +vt 0.979316 0.020684 +vt 0.718366 0.575925 +vt 0.749409 0.584243 +vt 0.735002 0.638011 +vt 0.020685 0.393254 +vt 0.020685 0.360650 +vt 0.342065 0.360650 +vt 0.020685 0.328047 +vt 0.342065 0.328047 +vt 0.020685 0.295444 +vt 0.342065 0.295444 +vt 0.020685 0.262841 +vt 0.342065 0.262841 +vt 0.020685 0.784491 +vt 0.020685 0.751887 +vt 0.342065 0.751887 +vt 0.020684 0.719284 +vt 0.342065 0.719284 +vt 0.020684 0.686681 +vt 0.020685 0.654078 +vt 0.342065 0.654078 +vt 0.020685 0.621475 +vt 0.020685 0.588872 +vt 0.342065 0.588872 +vt 0.020685 0.556269 +vt 0.342065 0.556269 +vt 0.020685 0.523666 +vt 0.342065 0.523666 +vt 0.020685 0.491063 +vt 0.342065 0.491063 +vt 0.020685 0.458460 +vt 0.342065 0.458460 +vt 0.020685 0.425857 +vt 0.342065 0.393253 +vt 0.342065 0.425856 +vt 0.392168 0.600797 +vt 0.473297 0.584659 +vt 0.489435 0.665789 +vt 0.719842 0.518681 +vt 0.738963 0.482686 +vt 0.760257 0.490897 +vt 0.720239 0.469639 +vt 0.705162 0.452506 +vt 0.693093 0.500041 +vt 0.656467 0.446663 +vt 0.694601 0.432274 +vt 0.689164 0.410109 +vt 0.689164 0.387287 +vt 0.648700 0.414999 +vt 0.656468 0.350732 +vt 0.694601 0.365122 +vt 0.671556 0.321830 +vt 0.705163 0.344890 +vt 0.720240 0.327758 +vt 0.738965 0.314710 +vt 0.693094 0.297355 +vt 0.750264 0.266986 +vt 0.760259 0.306500 +vt 0.782896 0.303598 +vt 0.805572 0.306174 +vt 0.782602 0.262841 +vt 0.814995 0.530878 +vt 0.805571 0.491224 +vt 0.826981 0.483321 +vt 0.782600 0.534556 +vt 0.782894 0.493799 +vt 0.750262 0.530411 +vt 0.645539 0.665789 +vt 0.564409 0.681926 +vt 0.629401 0.584659 +vt 0.562938 0.500042 +vt 0.535792 0.469639 +vt 0.550869 0.452506 +vt 0.517067 0.482686 +vt 0.495773 0.490898 +vt 0.536189 0.518681 +vt 0.473136 0.493799 +vt 0.505769 0.530411 +vt 0.429050 0.314077 +vt 0.410139 0.326853 +vt 0.383434 0.296062 +vt 0.450460 0.306173 +vt 0.410449 0.277810 +vt 0.473430 0.262841 +vt 0.473136 0.303598 +vt 0.495773 0.306500 +vt 0.536188 0.278716 +vt 0.517067 0.314711 +vt 0.562938 0.297355 +vt 0.535792 0.327758 +vt 0.550869 0.344891 +vt 0.561430 0.365122 +vt 0.584476 0.321830 +vt 0.607331 0.382397 +vt 0.566867 0.387287 +vt 0.607331 0.415000 +vt 0.566867 0.410109 +vt 0.561430 0.432275 +vt 0.599564 0.446664 +vt 0.020684 0.221472 +vt 0.718366 0.638011 +vt 0.703959 0.629693 +vt 0.695641 0.615286 +vt 0.695641 0.598650 +vt 0.703959 0.584243 +vt 0.735002 0.575925 +vt 0.757727 0.598650 +vt 0.757727 0.615286 +vt 0.749409 0.629693 +vt 0.342065 0.784490 +vt 0.342065 0.686681 +vt 0.342065 0.621475 +vt 0.473298 0.681926 +vt 0.452213 0.690660 +vt 0.429390 0.690660 +vt 0.408305 0.681926 +vt 0.392168 0.665789 +vt 0.383434 0.644704 +vt 0.383434 0.621882 +vt 0.408305 0.584659 +vt 0.429390 0.575925 +vt 0.452212 0.575925 +vt 0.489435 0.600797 +vt 0.498169 0.621882 +vt 0.498169 0.644704 +vt 0.671554 0.475566 +vt 0.648700 0.382396 +vt 0.719844 0.278715 +vt 0.814997 0.266520 +vt 0.845581 0.519588 +vt 0.548271 0.600797 +vt 0.564409 0.584659 +vt 0.585494 0.575925 +vt 0.608316 0.575925 +vt 0.645539 0.600797 +vt 0.654272 0.621882 +vt 0.654272 0.644704 +vt 0.629401 0.681926 +vt 0.608316 0.690660 +vt 0.585494 0.690660 +vt 0.548271 0.665789 +vt 0.539538 0.644704 +vt 0.539538 0.621882 +vt 0.584477 0.475566 +vt 0.473430 0.534556 +vt 0.441035 0.266520 +vt 0.505768 0.266986 +vt 0.599564 0.350733 +vn -0.258800 0.000000 0.965900 +vn -0.707100 0.000000 0.707100 +vn -0.965900 0.000000 0.258800 +vn -0.965900 -0.000000 -0.258800 +vn 0.707100 -0.000000 -0.707100 +vn -0.707100 -0.000000 -0.707100 +vn 0.965900 -0.000000 -0.258800 +vn 0.258800 -0.000000 -0.965900 +vn -0.258800 -0.000000 -0.965900 +vn 0.965900 0.000000 0.258800 +vn 0.707100 0.000000 0.707100 +vn 0.258800 0.000000 0.965900 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -0.195100 -0.980800 +vn 0.000000 -0.555600 -0.831500 +vn 0.000000 -0.831500 -0.555600 +vn 0.000000 -0.980800 -0.195100 +vn -0.000000 -0.980800 0.195100 +vn -0.000000 -0.831500 0.555600 +vn 0.000000 -0.555600 0.831500 +vn -0.000000 -0.195100 0.980800 +vn -0.000000 0.195100 0.980800 +vn -0.000000 0.555600 0.831500 +vn -0.000000 0.831500 0.555600 +vn -0.000000 0.980800 0.195100 +vn 0.000000 0.980800 -0.195100 +vn 0.000000 0.831500 -0.555600 +vn 0.000000 0.195100 -0.980800 +vn 0.000000 0.555600 -0.831500 +vn 1.000000 0.000000 0.000000 +vn 0.607600 -0.154900 -0.779000 +vn 0.607600 0.154900 -0.779000 +vn 0.607600 0.441300 -0.660400 +vn 0.607600 0.660400 -0.441300 +vn 0.607600 0.779000 -0.154900 +vn 0.607600 0.779000 0.154900 +vn 0.607600 0.660400 0.441300 +vn 0.607600 0.441300 0.660400 +vn 0.607600 0.154900 0.779000 +vn 0.607600 -0.154900 0.779000 +vn 0.607600 -0.441300 0.660400 +vn 0.607600 -0.660400 0.441300 +vn 0.607600 -0.779000 0.154900 +vn 0.607600 -0.779000 -0.154900 +vn 0.607600 -0.660400 -0.441300 +vn 0.607600 -0.441300 -0.660400 +vn -1.000000 0.000000 -0.000000 +vn -0.607600 -0.154900 -0.779000 +vn -0.607600 -0.441300 -0.660400 +vn -0.607600 -0.660400 -0.441300 +vn -0.607600 -0.779000 -0.154900 +vn -0.607600 -0.779000 0.154900 +vn -0.607600 -0.660400 0.441300 +vn -0.607600 -0.441300 0.660400 +vn -0.607600 -0.154900 0.779000 +vn -0.607600 0.154900 0.779000 +vn -0.607600 0.441300 0.660400 +vn -0.607600 0.660400 0.441300 +vn -0.607600 0.779000 0.154900 +vn -0.607600 0.779000 -0.154900 +vn -0.607600 0.660400 -0.441300 +vn -0.607600 0.441300 -0.660400 +vn -0.607600 0.154900 -0.779000 +vn 0.607600 0.779000 -0.155000 +vn 0.607600 0.779000 0.155000 +vn 0.607600 -0.155000 0.779000 +vn -0.607600 -0.779000 0.155000 +s off +f 27/1/1 22/2/1 24/3/1 +f 29/4/2 20/5/2 22/2/2 +f 29/4/3 31/6/3 18/7/3 +f 33/8/4 16/9/4 18/7/4 +f 17/10/5 32/11/5 34/12/5 +f 35/13/6 14/14/6 16/9/6 +f 19/15/7 30/16/7 32/11/7 +f 15/17/8 34/12/8 36/18/8 +f 13/19/9 36/18/9 14/14/9 +f 21/20/10 28/21/10 30/16/10 +f 21/20/11 23/22/11 26/23/11 +f 25/24/12 24/25/12 26/23/12 +f 26/26/13 22/27/13 14/28/13 +f 38/29/14 40/30/14 39/31/14 +f 40/30/15 42/32/15 41/33/15 +f 42/32/16 44/34/16 43/35/16 +f 44/34/17 46/36/17 45/37/17 +f 46/38/18 48/39/18 47/40/18 +f 47/40/19 48/39/19 50/41/19 +f 49/42/20 50/41/20 52/43/20 +f 52/43/21 54/44/21 53/45/21 +f 53/45/22 54/44/22 56/46/22 +f 56/46/23 58/47/23 57/48/23 +f 58/47/24 60/49/24 59/50/24 +f 60/49/25 62/51/25 61/52/25 +f 62/51/26 64/53/26 63/54/26 +f 64/53/27 66/55/27 65/56/27 +f 68/57/28 38/29/28 37/58/28 +f 66/55/29 68/57/29 67/59/29 +f 76/60/30 80/61/30 84/62/30 +f 38/63/31 70/64/31 69/65/31 +f 71/66/32 70/64/32 38/63/32 +f 72/67/33 71/66/33 68/68/33 +f 64/69/34 73/70/34 72/67/34 +f 74/71/35 73/70/35 64/69/35 +f 75/72/36 74/71/36 62/73/36 +f 58/74/37 76/75/37 75/72/37 +f 56/76/38 77/77/38 76/75/38 +f 78/78/39 77/77/39 56/76/39 +f 79/79/40 78/78/40 54/80/40 +f 50/81/41 80/82/41 79/79/41 +f 81/83/42 80/82/42 50/81/42 +f 82/84/43 81/83/43 48/85/43 +f 44/86/44 83/87/44 82/88/44 +f 42/89/45 84/90/45 83/87/45 +f 40/91/46 69/65/46 84/90/46 +f 92/92/47 96/93/47 88/94/47 +f 39/95/48 86/96/48 85/97/48 +f 87/98/49 86/96/49 39/95/49 +f 88/99/50 87/98/50 41/100/50 +f 89/101/51 88/99/51 43/102/51 +f 90/103/52 89/104/52 45/105/52 +f 91/106/53 90/103/53 47/107/53 +f 51/108/54 92/109/54 91/106/54 +f 93/110/55 92/109/55 51/108/55 +f 55/111/56 94/112/56 93/110/56 +f 57/113/57 95/114/57 94/112/57 +f 96/115/58 95/114/58 57/113/58 +f 97/116/59 96/115/59 59/117/59 +f 63/118/60 98/119/60 97/116/60 +f 65/120/61 99/121/61 98/119/61 +f 100/122/62 99/121/62 65/120/62 +f 85/97/63 100/122/63 67/123/63 +f 25/124/1 27/1/1 24/3/1 +f 27/1/2 29/4/2 22/2/2 +f 20/5/3 29/4/3 18/7/3 +f 31/6/4 33/8/4 18/7/4 +f 15/17/5 17/10/5 34/12/5 +f 33/8/6 35/13/6 16/9/6 +f 17/10/7 19/15/7 32/11/7 +f 13/19/8 15/17/8 36/18/8 +f 35/13/9 13/19/9 14/14/9 +f 19/15/10 21/20/10 30/16/10 +f 28/21/11 21/20/11 26/23/11 +f 23/22/12 25/24/12 26/23/12 +f 14/28/13 36/125/13 34/126/13 +f 34/126/13 32/127/13 14/28/13 +f 30/128/13 28/129/13 26/26/13 +f 26/26/13 24/130/13 22/27/13 +f 22/27/13 20/131/13 18/132/13 +f 18/132/13 16/133/13 22/27/13 +f 14/28/13 32/127/13 30/128/13 +f 30/128/13 26/26/13 14/28/13 +f 22/27/13 16/133/13 14/28/13 +f 37/58/14 38/29/14 39/31/14 +f 39/31/15 40/30/15 41/33/15 +f 41/33/16 42/32/16 43/35/16 +f 43/35/17 44/34/17 45/37/17 +f 45/134/18 46/38/18 47/40/18 +f 49/42/19 47/40/19 50/41/19 +f 51/135/20 49/42/20 52/43/20 +f 51/135/21 52/43/21 53/45/21 +f 55/136/22 53/45/22 56/46/22 +f 55/136/23 56/46/23 57/48/23 +f 57/48/24 58/47/24 59/50/24 +f 59/50/25 60/49/25 61/52/25 +f 61/52/26 62/51/26 63/54/26 +f 63/54/27 64/53/27 65/56/27 +f 67/59/28 68/57/28 37/58/28 +f 65/56/29 66/55/29 67/59/29 +f 84/62/30 69/137/30 70/138/30 +f 70/138/30 71/139/30 72/140/30 +f 72/140/30 73/141/30 74/142/30 +f 74/142/30 75/143/30 72/140/30 +f 76/60/30 77/144/30 80/61/30 +f 78/145/30 79/146/30 80/61/30 +f 80/61/30 81/147/30 84/62/30 +f 82/148/30 83/149/30 84/62/30 +f 84/62/30 70/138/30 72/140/30 +f 72/140/30 75/143/30 76/60/30 +f 77/144/30 78/145/30 80/61/30 +f 81/147/30 82/148/30 84/62/30 +f 84/62/30 72/140/30 76/60/30 +f 40/91/31 38/63/31 69/65/31 +f 68/68/32 71/66/32 38/63/32 +f 66/150/33 72/67/33 68/68/33 +f 66/150/34 64/69/34 72/67/34 +f 62/73/64 74/71/64 64/69/64 +f 60/151/65 75/72/65 62/73/65 +f 60/151/37 58/74/37 75/72/37 +f 58/74/38 56/76/38 76/75/38 +f 54/80/39 78/78/39 56/76/39 +f 52/152/66 79/79/66 54/80/66 +f 52/152/41 50/81/41 79/79/41 +f 48/85/42 81/83/42 50/81/42 +f 46/153/43 82/84/43 48/85/43 +f 46/154/44 44/86/44 82/88/44 +f 44/86/45 42/89/45 83/87/45 +f 42/89/46 40/91/46 84/90/46 +f 100/155/47 85/156/47 86/157/47 +f 86/157/47 87/158/47 100/155/47 +f 88/94/47 89/159/47 90/160/47 +f 90/160/47 91/161/47 88/94/47 +f 92/92/47 93/162/47 96/93/47 +f 94/163/47 95/164/47 96/93/47 +f 96/93/47 97/165/47 98/166/47 +f 98/166/47 99/167/47 100/155/47 +f 100/155/47 87/158/47 88/94/47 +f 88/94/47 91/161/47 92/92/47 +f 93/162/47 94/163/47 96/93/47 +f 96/93/47 98/166/47 100/155/47 +f 100/155/47 88/94/47 96/93/47 +f 37/168/48 39/95/48 85/97/48 +f 41/100/49 87/98/49 39/95/49 +f 43/102/50 88/99/50 41/100/50 +f 45/169/51 89/101/51 43/102/51 +f 47/107/67 90/103/67 45/105/67 +f 49/170/53 91/106/53 47/107/53 +f 49/170/54 51/108/54 91/106/54 +f 53/171/55 93/110/55 51/108/55 +f 53/171/56 55/111/56 93/110/56 +f 55/111/57 57/113/57 94/112/57 +f 59/117/58 96/115/58 57/113/58 +f 61/172/59 97/116/59 59/117/59 +f 61/172/60 63/118/60 97/116/60 +f 63/118/61 65/120/61 98/119/61 +f 67/123/62 100/122/62 65/120/62 +f 37/168/63 85/97/63 67/123/63 diff --git a/assets/hbm/textures/blocks/machine_pumpjack.png b/assets/hbm/textures/blocks/machine_pumpjack.png new file mode 100644 index 0000000000000000000000000000000000000000..2fa6d15afe2be2411c3239f95da3bdbf7d5630eb GIT binary patch literal 373 zcmV-*0gC>KP)NL9rY%1e0yX#)*^NH6RFHm}2hC{qFhh4E$BtE9~1P_P2Gy6`wyV z?nh4~2iLs?FTp$euX|)!CIE)+Kx+*nsHzHpq9_0e!>}W;+FAXK?^{qxS*6s5r8tf| zxdDK2zv+iar6cSS&g- zsp}f8HF=)n=F>}%rl|mkZZ2$H*8oT<0dV`_wqj!pNs_b#%}0Zj60J2-%69b<05}4G zquD7z5VRDBvlHO!CjyMeW4l}~h5s6UG-sRX$J+-nbbbNm^SSk>-c{&h{m=LW?Y@5V T9IVr400000NkvXXu0mjf*503h literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/machine_turbofan.png b/assets/hbm/textures/blocks/machine_turbofan.png new file mode 100644 index 0000000000000000000000000000000000000000..ace456bb5634269e28e053ee507e5b3f9eaf5c84 GIT binary patch literal 317 zcmV-D0mA-?P)wnGsnSp<(!*F?hKRWx4UY!H*{B);gSw~3c4rN)6r}kA< zO@yO>*}o#g4(}}hPCEd!);Q-PAcTm^0x+rcYnftzjC<*{Jn~j|<&%zTVfyT6VvcHMQCi{C;^ P00000NkvXXu0mjfl6`{m literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/entanglement_kit.jpg b/assets/hbm/textures/items/entanglement_kit.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5b61d89c9ca3f1f9c30e8844ed891a8b388eedb9 GIT binary patch literal 998 zcmex=O1eh6>7?=bZ znFSgDA7PLOx|0=RHUkteGBLBTvaxe;a&ZF{Y!zT&Vq|7!Vqs=wWnlrTt_8|7un4jW zDH=Mm2?r*!D;0_uHBMZ}q3pErplHy=4=Tnkx|JhscGpMnOVgprDf$6l~v6xt!?ccon4bAPnkMx`iz;g7A;<~ zblLJ1D_3pWyk+aQ?K^hvI&}ER(PPI?oIG{u@|COCuHU$M>*1rvPo6$|{^I4UkDoq& z`TFhqkDtFl{$gZch6fqMV`%;o1p14Kg@u`g9po=Yrg9)=7Gz;nG-MNU3}jC%6jm~7 zy*;(M*S0Uon8h|zzxS<;>caEY>oWH#Zr{G?it?Vzi?;5V z_vjb5rEb2dyjVrH@5X5&)2ch2W=HR_zh&)Yms`$a0u za{WF<*4RGc=UX>Fd39!ZmEJ;6sQ zopvl0#>bV9?w35by|(=0>)E-<2d#AXw(kFgblKAS^wkx!L;qd)T~hG!dVr&7 z-^|QKuh?D(@7}m$V%~zSJ1#$ezCVj!vO@Tg`jP((0zbYVlIp$sZ~5cc;)svsJ$DYS zwwqo0XurT&v4v}2n??2QUlIE{TwLneqVHDIR_2%Witbx!`(#?U(zyy99sODJHwT2I zt=2r{FZgxFuA*g+MWwXazlLg@GYXosQD4^LO3!1@#LQiJTVrK1ev6t$EnfG^%jobP mlTe9^f!)2SJ-=?xS>=^iFirA7qEul^)|y!Nz>7=&-vj_6lYDUi literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/glitch_1.png b/assets/hbm/textures/items/glitch_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3dfa324ad998d67ef5d3be3115171bc21f6c0f GIT binary patch literal 688 zcmV;h0#E&kP)I-{dbne(_g59hR)Fa%w9c84$L!}t5; z!2ce#nc#Cai!K@L4vnAj2#c{Wrq9jtbZFC?wQ&^gl}*J0)@kc#@7~Xf($XL)@+FNT z$!vIveJzd5{0Lw-z?Pq6bo2=={(8C(3@O_>no7{ydkjsb(8;1CjoqG)(_=FB@e}1f zFiLG$i41p!uLH0K@Vcu+(-J5w9zJ@&$h{Fxo;X99(@TkIa%JEuk)<&4ln{x`v$9+P zfCk|8dc{i4ffhyC;vDTh%&XTgmndn>)CIzbeyy0EM``HtThMlqd74iSqlq3b$z^?rtK-o@Y8^f$t42>_ob0$8y; z5Dl^d6w=VN6?;J*^NRr{#y>GRwaWRvG-y!l%*#12oJe#D_4xUq@Ow`#S-}^S(ztl} z7HzGS^mKKRvSJJmKcmj?z;JrWX6-qE=|+|pHhwDq!Fq9(mGL7KVkI6!*P(h>4TVmV zOji5rz=af<5T4BKI~ouK5SSX@f~~L!ho&RR6o)(7nVy?QbLf~ZGuJ^hf literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/glitch_2.png b/assets/hbm/textures/items/glitch_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ea739662fc1ec3db739473e7fb669fb575b08e71 GIT binary patch literal 573 zcmV-D0>b@?P)NklaFF}jx^iXudW^?FV3>;=hsMV{xJ z^t$B9Ev!l?fwt@?h~pT5Fbqkz8NT0SV+zDnkd}`ZGxu)`#uxzd?S}L75L+2WpNF-D z7Ik_V2yfpzsHow4u@n}#w?l3{tVpi>3JTlR*OcXL6Rh_ zRx7mD57*Vh@;#7Bv0N?*f&dZW^z@W&x6Aa$jXV-qsNoP>Ayq}gDts&Wr6LSNX0sWc zPKU{4La*1`5v-cFLYEcVf-WD?vX@M#s z_;NKuL@0^^V~ltWN1d1h1XL{qxqF3VxsYl!a$0NJ?KXLy@BHB3#HR8sD3o#e00000 LNkvXXu0mjfl`jwP literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/glitch_3.png b/assets/hbm/textures/items/glitch_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3dbb864d0590eacb7246e8013ecb2bdd87211735 GIT binary patch literal 654 zcmV;90&)F`P)|*5BjK z-_evsG3mx#3rW)^EotLKa9|)524+qdj3{oro4dH@zVCD1doDb)wzjrpZ*NZ$iG&;+ z97r~sm1Ht0)oN7$QO^maQYkSE1Ix0A$KyDTgYWwk3I#07LO&<4v9W>Hn&EJWVHm8e ztdPlM=yW8f`CX|k{G#U+j->2X2lgs7k^?J-^Gm6C`p65NZpwt|u-|zECl;h)L27>`2g6DaR zMk7k461iNCcDs#vk6td90XRH7h(JN`}+XYYBg%L8m{XuXeyNo06`EinM|;48}<5CPDEr8n0^xDuRniPCYzR%lM}A4 zu6Vms;qvm5^Ye26%sHV#3#jN(w9GS6kyy8P$LB8%-t3h5_Pt3+z^D30wAPqG5Jc{v zqRWCp9tF!3^|jTM-Q8W9%_i?Yyyt~w4Dz%=60b8pqE zofL0yrwqL+)7eOwvp_FkLnVMh)Wa9CSd);D7#0FDn}is|MTI7cmtq<^77>7oQe5^I oEMoY<6bp+fQ)0xJ5~48p4-F~#=L$(P*Z=?k07*qoM6N<$f)e2?7ytkO literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/glitch_4.png b/assets/hbm/textures/items/glitch_4.png new file mode 100644 index 0000000000000000000000000000000000000000..ef270015f74b195397702e2779c3e866a61e3ce1 GIT binary patch literal 768 zcmV+b1ONPqP)B60Hr%T-!qe-K|L=#>4NUSbQFd7L9nu=|zZA~i(v;@qE48uJ5e-{J2%X4zh zP3}D>Fep{V$^hk)C=gE5dw~{IP)6x6Nh{f_#6{Z^+C+k&LbQhe$ZQa8;oE!)Rf5`G zv6NT^bwulA=S<%Gf-H-b4?T0@m4-NJBZ#n0SR&jqMPQdyiZmwOY4X;R(V>E=h4aFo zDqVk=YM+Jqil;{pkeh87)KP5`XdXyKMVeNKnY#6tV+Z#Vr;RP80qR|*Z%j&>mT8`` zxU}G@;TNfN3T^D8wu6|jF1;_v%o3)$`g`^C9r4kpKiSj&fTM@@8X4*`GIUz+?wuqp z)H;N8QO^<5*Bf|r=rLXUJE?cs)i&(CcRum>=`#ukI*7P*{R2yjvsClcdcxS4^~{9amM9~Yi6%EvDr!Un!+Ihu~fKKj(Ub<6eU`w$swdQPrmk?+jAX_vY8=& ynRepsR)HjoOallSVj-niq! literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/glitch_5.png b/assets/hbm/textures/items/glitch_5.png new file mode 100644 index 0000000000000000000000000000000000000000..3784bd51df235e55e0e3f3e89d975b4b9d450567 GIT binary patch literal 761 zcmVsI3IWjR zbV%7Y#u&cZ*x>fh-;F@o%$#QHb${; zgZ^myzz?t<1OD3n)nJYoocs&si2lJIz5WiDURtGGaha>n&^y>R@puI28R(k7xBnOe zhR{dIdc?5~`R3cNIe55-9~247F4LtP0MRJS&o>2deB3h=R{-$*qCnjJ^S%MN^2*D) zcI`Fxx?R@S*SUZ1!N}vJlftj$l+H(GJ0Z>1T{-E902UW#RjU;QaDKTVx8$g`P*u_i z>4i%d#=j9%PbpIf%gHb_wkygO!UAY7RrSuhZ%;guS4kly((|Kg%tFEU~L;N$DE)2QCeOz5=Q1^Km@QaP0OP-QkQuM$zYHYI>(E>u;Xi3y-} zHmj#s0)4shxt==jDqBQU&rB(iA5M_=P%4j>R*ITyPAO9y>dO~PlU;%Ka#5uUvbxctBP9%n70?=qQ&~+VvX0u5!7zCiWwe9ivJmy4P>;)Tu zY&J`?anf!yIWmUQ1VFArJha5{V0+eNGKo^HvWVciZd+H}`quV&IzU}w+pP|kmzO;y z`-M%ZRKj%~Pu>Fv_;tF2J;Y)$BGw?aT8&&Thg;ZI&X6PZdY!|=AI#28NPcBqWo90U zXT7JV=hW*>E-r+DfiS7mIMwO_3--Lcf0tK#yH&e#M(E3q-K)d$q%{uB}|ERT_ zOCQ6D2b90;aCQo#$rNjA>qMjR-?!|f4e$p#uEF~HLjqui4Y@aH3c&OEIk6&!`~nc6 Vyjcd1nn3^n002ovPDHLkV1nZK4l4iv literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/glitch_7.png b/assets/hbm/textures/items/glitch_7.png new file mode 100644 index 0000000000000000000000000000000000000000..9131d26687dfaf5d965fa20179a294721b67c7da GIT binary patch literal 582 zcmV-M0=fN(P)2BL)S7>W1ZpQ<(aX~rxoF@6+cfOg)3;-8DMYy8-W=7>3anPQ7!!ekrrJdqCN; z3H&zq({mhFY-VTEYHBh?VS7(jR$i#UZ!>u>8Lgn#yP(zT5Qf6^^bCnaf@brS+?&_x z!$v{sZj&YBF@-HtR$o0+JH-Qu%%Eb`B%jX%kjv#Fv&rZ4WHK3aeTfAm(3yZTuU!(=p1%nFK*483VrBVs$D-6SkTDV4~Yzx4|!~~sA2LMge zXt&!}zt5{%6AW-`Eip|KU0*=cG?MANf7RaD#At4XWmRsM-G=J~Qg^@KxX%B|Z-glL UUaccJS^xk507*qoM6N<$f@us73;+NC literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/glitch_8.png b/assets/hbm/textures/items/glitch_8.png new file mode 100644 index 0000000000000000000000000000000000000000..f24d727872a715fc7e30770523b9c382fea3d0ff GIT binary patch literal 602 zcmV-g0;TWK;nh#{uBm&+h_IC={p*0EnIF zCDIvYbYx7eub-v*`eE-Ob=;yD^~~99mh~TNxbW?#Vc^c78| zQY_5BpjJR7y$w(saQUyh745pcv z_SOzCVm$i@7DaG&$8c zK~GmVTU%RLmc_f3<-Kz5rtj#*sY#J=Bw82nyRboDUmy8=oo;fi{(^)el@2`r0ji-69`F(f1aMuK7jqc_NDd@4nM`tZ=9)AFm}Xw$r_ZRW o($dm`As$TAGxp!Z-FniOH@zKZc`Q_K2<^Niv$vebJ-WF8(Qv`#=X zC|ldO?b%a@oIUftOILoEyV^~YK*gJb7ish(E2KnFM(cAT;!MF8Uw-23=~vvDja?oY zmBigX_~to3et*Tl@howKw1@)Hrd#uuG!@9O_vvnNsv-^opMCzR*M`rN?2sQ@(Akkv zT&t5bNGBqeNNreLShZ*GZnxU=RQr5=d5k19b0aUGuUY;lr+@z-73#%1gcUuHr9^@? z!jdrVv^-yDBcYy1^$rQ5sM*BZ@yt>vMBd=8_iv`7wvnBKqL`9C`ThrJcJUR*Xck=SC(x3ZTIJQw#sIj>4H8?R$S8-nc}K>A38k40qgW00R2JYD@< J);T3K0RUzhV^RPB literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/void.png b/assets/hbm/textures/items/void.png new file mode 100644 index 0000000000000000000000000000000000000000..ea2166761ca0c51c29bf17db06706ab115c0439e GIT binary patch literal 837 zcmV-L1G@Z)P)smek!fi*6~Fr8xF5jAxMtjnSv7o~o+rwSi9@8SGDt?yt{D8*1GXoZ;&3 z>0p0*8_cE?$|{4bG*~MGO+ZaTa0bDEf#isMj>zM4D>-V2KW9)o5n@(tvD=c!2MXnqPgRIn02GHa( zz!)S4B3~d0IFf!h`hJp zr?JE+6d1=IPUH7U^xk~9xuAJk;dy1(JhfSvr&U9sP}J&yK)w+e#~y~Ez&MsTJMnOK z;$a+nz2%U71eS%yBG-7$HRh?p^Qyv2s_?pzfkL%=peB%22Bjht%DVO?N8nZ;Is|6Z z2|ceWEOO=2ZqxtE-AhZm12&;Gq0of1Gz~cbF0jJDk(*5?v|Wl0fvhs9yMB?^J>cqJ znBK2wh!EU63V~$srOiwdaGV4h$v}LZfvmK9eOVaW^=_r*?%9LvD&oT2l( zjaFgqug__%>^{#*TkCplr+pVRp=Fzu8fj$**!}f+%TtShHUv#@Lk3WWP$+6@dI)N} zdb=9udwYa;T2s3Tr^y=Xjfr;%lp$ve=ZiYQdkOq&bO;E}AUSKsYkhqvBxlaH9@X}G zCxKekxHGH=Odt;@P}@o8i#y-jBw7Tn?w;5{a;Itnk;j`Q4&WddTDFld5PKX0$vbC; zP6;BvmQ*{}>lOR^w@d7|ZIggEez(yXM3HCpeC1TFP~>Ji0q7san_nLL9K%pz6iO#b zvN;<>-W~)lZy(u@Z(k^@B-V;hDANc_AlZjvlnew$PL7A6aKDyBpCtFHVG;-z*r05J zbNCyIx33(JLV;muGth_s^FXpm;%G;*8b>{pZfD~t$MQb>%|9leI68g<0nJKXOv??M P00000NkvXXu0mjfeiM1I literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/void_anim.png b/assets/hbm/textures/items/void_anim.png new file mode 100644 index 0000000000000000000000000000000000000000..b908de8de3f9c04d00d08d1afac4ced669dde251 GIT binary patch literal 2582 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/void_anim.png.mcmeta b/assets/hbm/textures/items/void_anim.png.mcmeta new file mode 100644 index 000000000..dd1bedb12 --- /dev/null +++ b/assets/hbm/textures/items/void_anim.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} diff --git a/assets/hbm/textures/models/shimmer_sledge.png b/assets/hbm/textures/models/shimmer_sledge.png new file mode 100644 index 0000000000000000000000000000000000000000..fa5eaef786f7ef2b94c73707fe238d6c4d7b89f0 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^#vshW1|+Q(8fXD2mSQK*5Dp-y;YjHK@>hGhIEG|2 zzP-MYx7k3zEwLvfV{fB*#~#mbrIQ)=urOD!t_V_Wc{At8`qRIw^lW6i5@#{|Su2oy zXKmZoYfV?z2!5VypVuo9dSr!?+tk$(mz|BD+tlQ0K7G!7{c2jwQ62yL2d-azeDCwV z=UK*JH7^&=4B8}By82qxuj$2GC6ht~7k5FliyE%#2o&9RKI@z9<=0>1e4p>U#RC#@ e?a>0Mdd1+uEIc7AFHRolYz9wPKbLh*2~7aNE@CbK literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/shimmer_sledge_wf.png b/assets/hbm/textures/models/shimmer_sledge_wf.png new file mode 100644 index 0000000000000000000000000000000000000000..585c368d70a54b604f902c2f6f46a7557b43ed82 GIT binary patch literal 76028 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 1) + this.setDead(); + } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { + } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { + } + + private void setPlayerCoord(float x, float y, float z) { + this.dataWatcher.updateObject(20, x); + this.dataWatcher.updateObject(21, y); + this.dataWatcher.updateObject(22, z); + } + + public float[] getPlayerCoord() { + return new float[]{ this.dataWatcher.getWatchableObjectFloat(20), + this.dataWatcher.getWatchableObjectFloat(21), + this.dataWatcher.getWatchableObjectFloat(22) }; + } + +} diff --git a/com/hbm/handler/FuelHandler.java b/com/hbm/handler/FuelHandler.java index 192d8a638..b181cb371 100644 --- a/com/hbm/handler/FuelHandler.java +++ b/com/hbm/handler/FuelHandler.java @@ -23,7 +23,7 @@ public class FuelHandler implements IFuelHandler { if(fuel.getItem().equals(ModItems.powder_fire)) return 6400; if(fuel.getItem().equals(Item.getItemFromBlock(ModBlocks.block_scrap))) - return 8000; + return 4000; return 0; } diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index adb8578a7..6e6f4630a 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -1462,8 +1462,9 @@ public class MachineRecipes { switch(ItemAssemblyTemplate.EnumAssemblyTemplate.getEnum(stack.getItemDamage())) { case SCHRABIDIUM_HAMMER: list.add(new ItemStack(ModBlocks.block_schrabidium, 15)); - list.add(new ItemStack(ModItems.ingot_polymer, 128)); - list.add(new ItemStack(Items.nether_star, 2)); + list.add(new ItemStack(ModItems.ingot_polymer, 64*2)); + list.add(new ItemStack(Items.nether_star, 3)); + list.add(new ItemStack(ModItems.fragment_meteorite, 64*8)); break; case MIXED_PLATE: list.add(new ItemStack(ModItems.plate_advanced_alloy, 2)); @@ -1964,6 +1965,9 @@ public class MachineRecipes { case ANGRY_METAL: list.add(new ItemStack(ModBlocks.block_meteor, 1)); break; + case METEOR_BLOCK: + list.add(new ItemStack(ModItems.fragment_meteorite, 100)); + break; case CMB_TILE: list.add(new ItemStack(ModItems.ingot_combine_steel, 1)); list.add(new ItemStack(ModItems.plate_combine_steel, 8)); @@ -3071,6 +3075,9 @@ public class MachineRecipes { case ANGRY_METAL: output = new ItemStack(ModItems.plate_dalekanium, 1); break; + case METEOR_BLOCK: + output = new ItemStack(ModBlocks.block_meteor, 1); + break; case CMB_TILE: output = new ItemStack(ModBlocks.cmb_brick, 8); break; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 0828416dc..07c5bc34e 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -934,6 +934,7 @@ public class ModItems { public static Item igniter; public static Item detonator; public static Item crate_caller; + public static Item meteor_remote; public static Item remote; public static Item turret_control; public static Item turret_chip; @@ -954,6 +955,7 @@ public class ModItems { public static Item record_vc; public static Item polaroid; + public static Item glitch; public static Item letter; public static Item book_secret; public static Item burnt_bark; @@ -1030,6 +1032,7 @@ public class ModItems { public static Item ln2_9; public static Item ln2_10; public static Item nothing; + public static Item void_anim; public static final int guiID_item_folder = 99; @@ -1606,7 +1609,7 @@ public class ModItems { gun_euthanasia_ammo = new Item().setUnlocalizedName("gun_euthanasia_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_euthanasia_ammo"); gun_euthanasia = new GunEuthanasia().setUnlocalizedName("gun_euthanasia").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_euthanasia"); gun_dash_ammo = new Item().setUnlocalizedName("gun_dash_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_dash_ammo"); - gun_dash = new GunEuthanasia().setUnlocalizedName("gun_dash").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_dash"); + gun_dash = new GunDash().setUnlocalizedName("gun_dash").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_dash"); gun_twigun_ammo = new Item().setUnlocalizedName("gun_twigun_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_twigun_ammo"); gun_twigun = new GunEuthanasia().setUnlocalizedName("gun_twigun").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_twigun"); gun_defabricator_ammo = new Item().setUnlocalizedName("gun_defabricator_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_defabricator_ammo"); @@ -1776,6 +1779,7 @@ public class ModItems { igniter = new ItemCustomLore().setUnlocalizedName("igniter").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":trigger"); detonator = new ItemDetonator().setUnlocalizedName("detonator").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":detonator"); crate_caller = new ItemCrateCaller().setUnlocalizedName("crate_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":crate_caller"); + meteor_remote = new ItemMeteorRemote().setUnlocalizedName("meteor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":meteor_remote"); remote = new ItemRamManipulator().setUnlocalizedName("remote").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":remote"); chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":chopper"); linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":linker"); @@ -1944,6 +1948,7 @@ public class ModItems { record_vc = new ItemModRecord("vc").setUnlocalizedName("record_vc").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_vc"); polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID); + glitch = new ItemPolaroid().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID); letter = new ItemStarterKit().setUnlocalizedName("letter").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":letter"); book_secret = new ItemCustomLore().setUnlocalizedName("book_secret").setCreativeTab(MainRegistry.polaroidID == 11 ? MainRegistry.tabNuke : null).setTextureName(RefStrings.MODID + ":book_secret"); burnt_bark = new ItemCustomLore().setUnlocalizedName("burnt_bark").setCreativeTab(null).setTextureName(RefStrings.MODID + ":burnt_bark"); @@ -2020,6 +2025,7 @@ public class ModItems { ln2_9 = new Item().setUnlocalizedName("ln2_9").setTextureName(RefStrings.MODID + ":ln2_9"); ln2_10 = new Item().setUnlocalizedName("ln2_10").setTextureName(RefStrings.MODID + ":ln2_10"); nothing = new Item().setUnlocalizedName("nothing").setTextureName(RefStrings.MODID + ":nothing"); + void_anim = new Item().setUnlocalizedName("void_anim").setTextureName(RefStrings.MODID + ":void_anim"); FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud)); FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid)); @@ -2946,6 +2952,7 @@ public class ModItems { GameRegistry.registerItem(igniter, igniter.getUnlocalizedName()); GameRegistry.registerItem(detonator, detonator.getUnlocalizedName()); GameRegistry.registerItem(crate_caller, crate_caller.getUnlocalizedName()); + GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName()); GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName()); GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName()); GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName()); @@ -2994,6 +3001,7 @@ public class ModItems { //GameRegistry.registerItem(remote, remote.getUnlocalizedName()); GameRegistry.registerItem(euphemium_stopper, euphemium_stopper.getUnlocalizedName()); GameRegistry.registerItem(polaroid, polaroid.getUnlocalizedName()); + GameRegistry.registerItem(glitch, glitch.getUnlocalizedName()); GameRegistry.registerItem(book_secret, book_secret.getUnlocalizedName()); GameRegistry.registerItem(burnt_bark, burnt_bark.getUnlocalizedName()); @@ -3099,5 +3107,6 @@ public class ModItems { GameRegistry.registerItem(ln2_9, ln2_9.getUnlocalizedName()); GameRegistry.registerItem(ln2_10, ln2_10.getUnlocalizedName()); GameRegistry.registerItem(nothing, nothing.getUnlocalizedName()); + GameRegistry.registerItem(void_anim, void_anim.getUnlocalizedName()); } } diff --git a/com/hbm/items/special/ItemCell.java b/com/hbm/items/special/ItemCell.java index bcd437010..3ab82e363 100644 --- a/com/hbm/items/special/ItemCell.java +++ b/com/hbm/items/special/ItemCell.java @@ -4,6 +4,7 @@ import java.util.Random; import com.hbm.blocks.bomb.BlockCrashedBomb; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; +import com.hbm.entity.logic.EntityNukeExplosionMK3; import com.hbm.explosion.ExplosionParticleB; import com.hbm.items.ModItems; @@ -25,7 +26,7 @@ public class ItemCell extends Item { { if (!world.isRemote) { - EntityNukeExplosionAdvanced entity0 = new EntityNukeExplosionAdvanced(world); + EntityNukeExplosionMK3 entity0 = new EntityNukeExplosionMK3(world); entity0.posX = p_77648_4_; entity0.posY = p_77648_5_; entity0.posZ = p_77648_6_; diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index fc89a5c26..23ae9202e 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -106,6 +106,7 @@ public class ItemAssemblyTemplate extends Item { THERMO_ELEMENT, LIMITER, ANGRY_METAL, + METEOR_BLOCK, CMB_TILE, CMB_BRICKS, HATCH_FRAME, @@ -469,6 +470,8 @@ public class ItemAssemblyTemplate extends Item { return 150; case ANGRY_METAL: return 50; + case METEOR_BLOCK: + return 500; case CMB_TILE: return 100; case CMB_BRICKS: diff --git a/com/hbm/items/tool/ItemMeteorRemote.java b/com/hbm/items/tool/ItemMeteorRemote.java new file mode 100644 index 000000000..3970df25d --- /dev/null +++ b/com/hbm/items/tool/ItemMeteorRemote.java @@ -0,0 +1,59 @@ +package com.hbm.items.tool; + +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.projectile.EntityMeteor; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.World; + +public class ItemMeteorRemote extends Item { + + Random rand = new Random(); + + public ItemMeteorRemote() { + this.canRepair = false; + this.setMaxDamage(2); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Right click to summon a meteorite!"); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + stack.damageItem(1, player); + + if(!world.isRemote) + { + EntityMeteor meteor = new EntityMeteor(world); + meteor.posX = player.posX + world.rand.nextInt(201) - 100; + meteor.posY = 384; + meteor.posZ = player.posZ + world.rand.nextInt(201) - 100; + meteor.motionX = world.rand.nextDouble() - 0.5; + meteor.motionY = -2.5; + meteor.motionZ = world.rand.nextDouble() - 0.5; + world.spawnEntityInWorld(meteor); + } + if(world.isRemote) + { + player.addChatMessage(new ChatComponentText("Watch your head!")); + } + + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + + player.swingItem(); + + return stack; + + } +} diff --git a/com/hbm/items/weapon/GunDash.java b/com/hbm/items/weapon/GunDash.java new file mode 100644 index 000000000..42dd8c83e --- /dev/null +++ b/com/hbm/items/weapon/GunDash.java @@ -0,0 +1,102 @@ +package com.hbm.items.weapon; + +import java.util.List; +import java.util.Random; + +import com.google.common.collect.Multimap; +import com.hbm.entity.projectile.EntityBullet; +import com.hbm.entity.projectile.EntityLaser; +import com.hbm.items.ModItems; +import com.hbm.lib.Library; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.player.ArrowNockEvent; + +public class GunDash extends Item { + + Random rand = new Random(); + + public GunDash() + { + this.maxStackSize = 1; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @Override + public int getMaxItemUseDuration(ItemStack p_77626_1_) { + return 72000; + } + + @Override + public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { + ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_); + { + p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); + } + + return p_77659_1_; + } + + @Override + public void onUsingTick(ItemStack stack, EntityPlayer player, int count) + { + World world = player.worldObj; + + boolean flag = player.capabilities.isCreativeMode + || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; + if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_dash_ammo)) + && count % 2 == 0) { + + EntityLaser laser = new EntityLaser(world, player); + MovingObjectPosition pos = Library.rayTrace(player, 200, 1.0F); + laser.posX = pos.blockX + 0.5; + laser.posY = pos.blockY + 0.5; + laser.posZ = pos.blockZ + 0.5; + + world.playSoundAtEntity(player, "hbm:weapon.rifleShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); + + if (!flag) { + player.inventory.consumeInventoryItem(ModItems.gun_dash_ammo); + } + + if (!world.isRemote) { + world.spawnEntityInWorld(laser); + } + } + } + + @Override + public int getItemEnchantability() { + return 0; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + + list.add("Ratatatatatatatata!!"); + list.add(""); + list.add("Ammo: SMG Round"); + list.add("Damage: 2 - 8"); + } + + @Override + public Multimap getItemAttributeModifiers() { + Multimap multimap = super.getItemAttributeModifiers(); + multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), + new AttributeModifier(field_111210_e, "Weapon modifier", 3, 0)); + return multimap; + } +} diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 672ee5af1..c92b45701 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -1,4 +1,4 @@ -package com.hbm.main; + package com.hbm.main; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.item.Item; @@ -77,6 +77,7 @@ import com.hbm.entity.projectile.EntityCombineBall; import com.hbm.entity.projectile.EntityDischarge; import com.hbm.entity.projectile.EntityFire; import com.hbm.entity.projectile.EntityLN2; +import com.hbm.entity.projectile.EntityLaser; import com.hbm.entity.projectile.EntityLaserBeam; import com.hbm.entity.projectile.EntityMeteor; import com.hbm.entity.projectile.EntityMinerBeam; @@ -117,6 +118,7 @@ import com.hbm.render.entity.RenderFireball; import com.hbm.render.entity.RenderFlare; import com.hbm.render.entity.RenderHunterChopper; import com.hbm.render.entity.RenderLN2; +import com.hbm.render.entity.RenderLaser; import com.hbm.render.entity.RenderMeteor; import com.hbm.render.entity.RenderMinecartTest; import com.hbm.render.entity.RenderMiniMIRV; @@ -169,6 +171,7 @@ import com.hbm.render.item.ItemRenderRevolverNightmare; import com.hbm.render.item.ItemRenderRevolverSchrabidium; import com.hbm.render.item.ItemRenderRpg; import com.hbm.render.item.ItemRenderSatelliteReceiver; +import com.hbm.render.item.ItemRenderShim; import com.hbm.render.item.ItemRenderSteelPoles; import com.hbm.render.item.ItemRenderTapeRecorder; import com.hbm.render.item.ItemRenderTestBombAdvanced; @@ -428,6 +431,8 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(ModItems.multitool_joule, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_decon, new ItemRenderMultitool()); + MinecraftForgeClient.registerItemRenderer(ModItems.shimmer_sledge, new ItemRenderShim()); + RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityMiniNuke.class, new RenderMiniNuke()); RenderingRegistry.registerEntityRenderingHandler(EntityMiniMIRV.class, new RenderMiniMIRV()); @@ -443,6 +448,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityMinerBeam.class, new RenderBeam3()); RenderingRegistry.registerEntityRenderingHandler(EntitySparkBeam.class, new RenderBeam4()); RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.energy_ball)); + RenderingRegistry.registerEntityRenderingHandler(EntityLaser.class, new RenderLaser()); RenderingRegistry.registerEntityRenderingHandler(EntityNukeExplosionAdvanced.class, new RenderSnowball(ModItems.energy_ball)); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 0330e1a81..e6b03c288 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -113,6 +113,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_daffergon), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_daffergon }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_verticium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_verticium }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_desh), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_desh }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_meteor_cobble), 1), new Object[] { "##", "##", '#', ModItems.fragment_meteorite }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_meteor_broken), 1), new Object[] { "###", "###", "###", '#', ModItems.fragment_meteorite }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium240", "nuggetPlutonium240", "nuggetPlutonium240" })); @@ -508,7 +510,7 @@ public class CraftingManager { //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_deuterium), 1), new Object[] { "TIT", "RFR", "CCC", 'T', ModItems.tank_steel, 'I', "ingotTitanium", 'R', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 'C', ModItems.coil_tungsten })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TST", "RIR", "TLT", 'T', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TLT", "RIR", "TST", 'T', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', "ingotRedstoneAlloy", 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', "ingotRedstoneAlloy", 'F', Blocks.furnace })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_converter_he_rf), 1), new Object[] { "SSS", "CRC", "SSS", 'S', "ingotSteel", 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus })); //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_converter_rf_he), 1), new Object[] { "SSS", "CRC", "SSS", 'S', ModItems.ingot_beryllium, 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus }); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_schrabidium_transmutator), 1), new Object[] { "TST", "ARA", "BBB", 'S', ModItems.nugget_schrabidium , 'T', "ingotTitanium", 'A', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'R', Item.getItemFromBlock(ModBlocks.machine_reactor), 'B', Item.getItemFromBlock(ModBlocks.machine_battery) })); @@ -633,8 +635,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.ingot_pu239 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.nuclear_waste })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.trinitite })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_schrabidium, 1), new Object[] { "SSS", " RW", 'S', ModItems.plate_schrabidium, 'W', "ingotTungsten", 'R', ModItems.wire_schrabidium })); - GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_schrabidium, 'S', Items.gunpowder }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_schrabidium, 1), new Object[] { "SSS", " RW", 'S', ModBlocks.block_schrabidium, 'W', "ingotTungsten", 'R', ModItems.wire_schrabidium })); + GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium_ammo, 16), new Object[] { "L", "N", "S", 'L', ModItems.plate_schrabidium, 'S', Items.gunpowder, 'N', Items.nether_star }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed, 1), new Object[] { "TTM", "SRI", 'S', "plateSteel", 'I', "ingotSteel", 'R', ModItems.wire_red_copper, 'T', "plateTitanium", 'M', ModItems.motor })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed_ammo, 32), new Object[] { "L", "L", 'L', "plateSteel", 'S', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SSE", " RW", 'S', "plateSteel", 'W', Item.getItemFromBlock(Blocks.planks), 'R', ModItems.wire_aluminium, 'E', ModItems.powder_power })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index b0d713f2d..361063544 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -110,6 +110,7 @@ import com.hbm.entity.projectile.EntityCombineBall; import com.hbm.entity.projectile.EntityDischarge; import com.hbm.entity.projectile.EntityFire; import com.hbm.entity.projectile.EntityLN2; +import com.hbm.entity.projectile.EntityLaser; import com.hbm.entity.projectile.EntityLaserBeam; import com.hbm.entity.projectile.EntityMeteor; import com.hbm.entity.projectile.EntityMinerBeam; @@ -601,6 +602,7 @@ public class MainRegistry EntityRegistry.registerModEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 82, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityVortex.class, "entity_vortex", 83, this, 250, 1, true); EntityRegistry.registerModEntity(EntityMeteor.class, "entity_meteor", 84, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityLaser.class, "entity_laser", 85, this, 1000, 1, true); EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72); diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 96d3ce583..841771ceb 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -30,14 +30,17 @@ public class ModEventHandler if(event.world.rand.nextInt(meteorShower > 0 ? MainRegistry.meteorShowerChance : MainRegistry.meteorStrikeChance) == 0) { if(!event.world.playerEntities.isEmpty()) { EntityPlayer p = (EntityPlayer)event.world.playerEntities.get(event.world.rand.nextInt(event.world.playerEntities.size())); - EntityMeteor meteor = new EntityMeteor(event.world); - meteor.posX = p.posX + event.world.rand.nextInt(201) - 100; - meteor.posY = 384; - meteor.posZ = p.posZ + event.world.rand.nextInt(201) - 100; - meteor.motionX = event.world.rand.nextDouble() - 0.5; - meteor.motionY = -2.5; - meteor.motionZ = event.world.rand.nextDouble() - 0.5; - event.world.spawnEntityInWorld(meteor); + + if(p.dimension == 0) { + EntityMeteor meteor = new EntityMeteor(event.world); + meteor.posX = p.posX + event.world.rand.nextInt(201) - 100; + meteor.posY = 384; + meteor.posZ = p.posZ + event.world.rand.nextInt(201) - 100; + meteor.motionX = event.world.rand.nextDouble() - 0.5; + meteor.motionY = -2.5; + meteor.motionZ = event.world.rand.nextDouble() - 0.5; + event.world.spawnEntityInWorld(meteor); + } } } diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 8432a23a2..168523b8a 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -55,4 +55,14 @@ public class ResourceManager { public static final ResourceLocation turbofan_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_body.png"); public static final ResourceLocation turbofan_blades_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_blades.png"); + ////Obj Items + + //Shimmer Sledge + public static final IModelCustom shimmer_sledge = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/shimmer_sledge.obj")); + + ////Texture Items + + //Shimmer Sledge + public static final ResourceLocation shimmer_sledge_tex = new ResourceLocation(RefStrings.MODID, "textures/models/shimmer_sledge.png"); + } diff --git a/com/hbm/render/entity/RenderLaser.java b/com/hbm/render/entity/RenderLaser.java new file mode 100644 index 000000000..657c31e8a --- /dev/null +++ b/com/hbm/render/entity/RenderLaser.java @@ -0,0 +1,64 @@ +package com.hbm.render.entity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.projectile.EntityLaser; + +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderLaser extends Render { + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, + float p_76986_9_) { + this.doRender((EntityLaser)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + public void doRender(EntityLaser laser, double x, double y, double z, float p_76986_8_, + float p_76986_9_) { + drawPowerLine(x, y, z, + x + (laser.getPlayerCoord()[0] - laser.posX), + y + (laser.getPlayerCoord()[1] - laser.posY), + z + (laser.getPlayerCoord()[2] - laser.posZ)); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return null; + } + + public void drawPowerLine(double x, double y, double z, double a, double b, double c) { + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawing(5); + tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F); + tessellator.addVertex(x, y + 0.05F, z); + tessellator.addVertex(x, y - 0.05F, z); + tessellator.addVertex(a, b + 0.05F, c); + tessellator.addVertex(a, b - 0.05F, c); + tessellator.draw(); + tessellator.startDrawing(5); + tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F); + tessellator.addVertex(x + 0.05F, y, z); + tessellator.addVertex(x - 0.05F, y, z); + tessellator.addVertex(a + 0.05F, b, c); + tessellator.addVertex(a - 0.05F, b, c); + tessellator.draw(); + tessellator.startDrawing(5); + tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F); + tessellator.addVertex(x, y, z + 0.05F); + tessellator.addVertex(x, y, z - 0.05F); + tessellator.addVertex(a, b, c + 0.05F); + tessellator.addVertex(a, b, c - 0.05F); + tessellator.draw(); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_CULL_FACE); + } + +} diff --git a/com/hbm/render/item/ItemRenderMIRV.java b/com/hbm/render/item/ItemRenderMIRV.java index d59bc50b9..bbf909f05 100644 --- a/com/hbm/render/item/ItemRenderMIRV.java +++ b/com/hbm/render/item/ItemRenderMIRV.java @@ -39,7 +39,7 @@ public class ItemRenderMIRV implements IItemRenderer { switch(type) { case EQUIPPED_FIRST_PERSON: GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/MIRV.png")); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Mirv.png")); GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.5F, 0.0F, -0.2F); //GL11.glScalef(2.0F, 2.0F, 2.0F); @@ -51,7 +51,7 @@ public class ItemRenderMIRV implements IItemRenderer { case EQUIPPED: case ENTITY: GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/MIRV.png")); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Mirv.png")); GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); diff --git a/com/hbm/render/item/ItemRenderShim.java b/com/hbm/render/item/ItemRenderShim.java new file mode 100644 index 000000000..c34168630 --- /dev/null +++ b/com/hbm/render/item/ItemRenderShim.java @@ -0,0 +1,55 @@ +package com.hbm.render.item; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.model.ModelSword; + +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.IItemRenderer.ItemRenderType; +import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; + +public class ItemRenderShim implements IItemRenderer { + + public ItemRenderShim() { } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return false; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.shimmer_sledge_tex); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + GL11.glScalef(1.5F, 1.5F, 1.5F); + GL11.glTranslatef(0.45F, -0.3F, 0.0F); + ResourceManager.shimmer_sledge.renderAll(); + GL11.glPopMatrix(); + default: break; + } + } +} diff --git a/com/hbm/world/Meteorite.java b/com/hbm/world/Meteorite.java index a59de0260..bc41bbe2d 100644 --- a/com/hbm/world/Meteorite.java +++ b/com/hbm/world/Meteorite.java @@ -16,6 +16,64 @@ public class Meteorite { public void generate(World world, Random rand, int x, int y, int z) { + switch(rand.nextInt(500)) { + case 0: + //Meteor-only tiny meteorite + List list0 = new ArrayList(); + list0.add(new ItemStack(ModBlocks.block_meteor)); + generateBox(world, rand, x, y, z, list0); + return; + case 1: + //Large ore-only meteorite + List list1 = new ArrayList(); + list1.addAll(this.getRandomOre(rand)); + int i = list1.size(); + for(int j = 0; j < i; j++) + list1.add(new ItemStack(Blocks.stone)); + generateSphere7x7(world, rand, x, y, z, list1); + return; + case 2: + //Medium ore-only meteorite + List list2 = new ArrayList(); + list2.addAll(this.getRandomOre(rand)); + int k = list2.size() / 2; + for(int j = 0; j < k; j++) + list2.add(new ItemStack(Blocks.stone)); + generateSphere5x5(world, rand, x, y, z, list2); + return; + case 3: + //Small pure ore meteorite + List list3 = new ArrayList(); + list3.addAll(this.getRandomOre(rand)); + generateBox(world, rand, x, y, z, list3); + return; + case 4: + //Bamboozle + world.createExplosion(null, x + 0.5, y + 0.5, z + 0.5, 15F, true); + return; + case 5: + //Large treasure-only meteorite + List list4 = new ArrayList(); + list4.add(new ItemStack(ModBlocks.block_meteor_treasure)); + list4.add(new ItemStack(ModBlocks.block_meteor_broken)); + generateSphere7x7(world, rand, x, y, z, list4); + return; + case 6: + //Medium treasure-only meteorite + List list5 = new ArrayList(); + list5.add(new ItemStack(ModBlocks.block_meteor_treasure)); + list5.add(new ItemStack(ModBlocks.block_meteor_treasure)); + list5.add(new ItemStack(ModBlocks.block_meteor_broken)); + generateSphere5x5(world, rand, x, y, z, list5); + return; + case 7: + //Small pure treasure meteorite + List list6 = new ArrayList(); + list6.add(new ItemStack(ModBlocks.block_meteor_treasure)); + generateBox(world, rand, x, y, z, list6); + return; + } + switch(rand.nextInt(3)) { case 0: generateLarge(world, rand, x, y, z); @@ -530,10 +588,33 @@ public class Meteorite { } } - if(rand.nextInt(5) == 3) { - List list = new ArrayList(); - list.add(new ItemStack(ModBlocks.ore_rare, 1).copy()); - return list; + switch(rand.nextInt(15)) { + case 0: + List list1 = new ArrayList(); + list1.add(new ItemStack(ModBlocks.ore_rare, 1).copy()); + return list1; + case 1: + List list2 = new ArrayList(); + list2.add(new ItemStack(ModBlocks.ore_uranium, 1).copy()); + return list2; + case 2: + List list3 = new ArrayList(); + list3.add(new ItemStack(ModBlocks.ore_reiium, 1).copy()); + list3.add(new ItemStack(ModBlocks.ore_weidanium, 1).copy()); + list3.add(new ItemStack(ModBlocks.ore_australium, 1).copy()); + list3.add(new ItemStack(ModBlocks.ore_unobtainium, 1).copy()); + list3.add(new ItemStack(ModBlocks.ore_daffergon, 1).copy()); + list3.add(new ItemStack(ModBlocks.ore_verticium, 1).copy()); + return list3; + case 3: + List list4 = new ArrayList(); + list4.add(new ItemStack(ModBlocks.ore_nether_fire, 1).copy()); + list4.add(new ItemStack(ModBlocks.ore_nether_plutonium, 1).copy()); + list4.add(new ItemStack(ModBlocks.ore_nether_schrabidium, 1).copy()); + list4.add(new ItemStack(ModBlocks.ore_nether_sulfur, 1).copy()); + list4.add(new ItemStack(ModBlocks.ore_nether_tungsten, 1).copy()); + list4.add(new ItemStack(ModBlocks.ore_nether_uranium, 1).copy()); + return list4; } if(ores.isEmpty()) {