diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index a2b3932d8..40bb10a3b 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -992,6 +992,7 @@ item.euphemium_kit.name=Euphemium Kit item.euphemium_legs.name=Euphemiumbeinschutz item.euphemium_plate.name=Euphemiumbrustpanzer item.euphemium_stopper.name=Stopper +item.fabsols_vodka.name=Fabsols Wodka item.factory_core_advanced.name=Fortgeschrittener Fabrikenergiecluster item.factory_core_titanium.name=Einfacher Fabrikenergiecluster item.fallout.name=Fallouthäufchen @@ -2180,6 +2181,7 @@ item.weapon_pipe_rusty.name=Der Einstellungskorrigierer item.weapon_saw.name=Ärztlich autorisierter Mord item.weaponized_starblaster_cell.name=§cManipulierte Sternenblaster-Energiezelle§r item.wd40.name=VT-40 +item.wild_p.name=Wild Pegasus Trockener Wiskey item.wire_advanced_alloy.name=Supraleiter item.wire_aluminium.name=Aluminiumdraht item.wire_copper.name=Kupferdraht diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index fe9eb3e3a..aab26f5e3 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -998,6 +998,7 @@ item.euphemium_kit.name=Euphemium Kit item.euphemium_legs.name=Euphemium Leggings item.euphemium_plate.name=Euphemium Chestplate item.euphemium_stopper.name=Stopper +item.fabsols_vodka.name=Fabsol's Vodka item.factory_core_advanced.name=Advanced Factory Energy Cluster item.factory_core_titanium.name=Basic Factory Energy Cluster item.fallout.name=Pile of Fallout @@ -2186,6 +2187,7 @@ item.weapon_pipe_rusty.name=The Attitude Adjuster item.weapon_saw.name=Doctor Assisted Homicide item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r item.wd40.name=VT-40 +item.wild_p.name=Wild Pegasus Dry Whiskey item.wire_advanced_alloy.name=Super Conductor item.wire_aluminium.name=Aluminium Wire item.wire_copper.name=Copper Wire diff --git a/src/main/java/assets/hbm/models/machines/radar.obj b/src/main/java/assets/hbm/models/machines/radar.obj new file mode 100644 index 000000000..5fadc51ae --- /dev/null +++ b/src/main/java/assets/hbm/models/machines/radar.obj @@ -0,0 +1,769 @@ +# Blender v2.79 (sub 0) OBJ File: 'radar.blend' +# www.blender.org +o Dish +v -0.500000 1.250000 0.500000 +v -0.500000 2.250000 0.500000 +v -0.500000 1.250000 -0.500000 +v -0.500000 2.250000 -0.500000 +v -0.250000 1.500000 -1.500000 +v -0.250000 2.000000 -1.500000 +v -0.250000 1.500000 1.500000 +v -0.250000 2.000000 1.500000 +v -0.500000 1.750000 0.250000 +v -0.500000 1.750000 -0.250000 +v -0.500000 1.750000 -0.125000 +v -0.500000 1.750000 0.125000 +v -0.625000 1.625000 0.250000 +v -0.625000 1.625000 -0.250000 +v -0.625000 1.625000 -0.125000 +v -0.625000 1.625000 0.125000 +v -0.625000 1.250000 0.250000 +v -0.625000 1.250000 -0.250000 +v -0.625000 1.250000 -0.125000 +v -0.625000 1.250000 0.125000 +v -0.500000 1.125000 0.250000 +v -0.500000 1.125000 -0.250000 +v -0.500000 1.125000 -0.125000 +v -0.500000 1.125000 0.125000 +v -0.500000 1.251000 0.250000 +v -0.500000 1.251000 -0.250000 +v -0.500000 1.251000 -0.125000 +v -0.500000 1.251000 0.125000 +v -0.250000 1.251000 0.250000 +v -0.250000 1.251000 -0.250000 +v -0.250000 1.251000 -0.125000 +v -0.250000 1.251000 0.125000 +v 0.250000 1.251000 0.250000 +v -0.125000 1.251000 0.000000 +v 0.250000 1.251000 -0.250000 +v 0.500000 1.251000 0.062500 +v 0.500000 1.251000 -0.062500 +v -0.250000 1.126000 0.250000 +v -0.250000 1.126000 -0.250000 +v 0.250000 1.126000 0.250000 +v 0.250000 1.126000 -0.250000 +v -0.250000 1.126000 -0.125000 +v -0.250000 1.126000 0.125000 +v -0.125000 1.126000 0.000000 +v 0.500000 1.126000 0.062500 +v 0.500000 1.126000 -0.062500 +v 0.562500 1.251000 0.062500 +v 0.562500 1.626000 0.062500 +v 0.562500 1.251000 -0.062500 +v 0.562500 1.626000 -0.062500 +v 0.687500 1.251000 0.062500 +v 0.687500 1.626000 0.062500 +v 0.687500 1.626000 -0.062500 +v 0.500000 1.251000 0.000000 +v 0.500000 1.626000 0.000000 +v 0.750000 1.251000 0.000000 +v 0.750000 1.626000 0.000000 +v 0.687500 1.251000 -0.062500 +v 0.687500 1.219750 0.062500 +v 0.687500 1.219750 -0.062500 +vt 0.666667 0.333333 +vt 0.333333 0.000000 +vt 0.666667 0.000000 +vt 1.000000 0.250000 +vt 0.333333 0.333333 +vt 0.000000 0.083333 +vt 0.166667 0.916667 +vt 0.208333 0.979167 +vt 0.166667 0.979167 +vt 0.041667 0.979167 +vt 0.083333 0.916667 +vt 0.083333 0.979167 +vt 0.166667 0.812500 +vt 0.208333 0.916667 +vt 0.041667 0.916667 +vt 0.083333 0.812500 +vt 0.166667 0.750000 +vt 0.208333 0.812500 +vt 0.041667 0.812500 +vt 0.083333 0.750000 +vt 0.250000 0.666667 +vt 0.291667 0.750000 +vt 0.250000 0.750000 +vt 0.375000 0.750000 +vt 0.416667 0.666667 +vt 0.416667 0.750000 +vt 0.333333 0.625000 +vt 0.291667 0.666667 +vt 0.416667 0.500000 +vt 0.333333 0.416667 +vt 0.250000 0.500000 +vt 0.458333 0.666667 +vt 0.208333 0.500000 +vt 0.333333 0.708333 +vt 0.375000 0.666667 +vt 0.375000 0.708333 +vt 0.291667 0.708333 +vt 0.333333 0.666667 +vt 0.250000 0.770833 +vt 0.250000 0.812500 +vt 0.125000 0.770833 +vt 0.125000 0.812500 +vt 0.125000 0.812500 +vt 0.000000 0.812500 +vt 0.125000 0.750000 +vt 0.083333 0.666667 +vt 0.125000 0.666667 +vt 0.166667 0.666667 +vt 0.125000 0.750000 +vt 0.125000 0.666667 +vt 0.208333 0.666667 +vt 0.041667 0.750000 +vt 0.208333 0.750000 +vt 0.125000 0.625000 +vt 0.041667 0.666667 +vt 0.041667 0.500000 +vt 0.104167 0.416667 +vt 0.208333 0.416667 +vt 0.250000 0.416667 +vt 0.458333 0.416667 +vt 0.416667 0.416667 +vt 0.416667 0.354167 +vt 0.416667 0.333333 +vt 0.437500 0.354167 +vt 0.479167 0.437500 +vt 0.520833 0.437500 +vt 0.520833 0.479167 +vt 0.416667 0.395833 +vt 0.104167 0.354167 +vt 0.125000 0.333333 +vt 0.145833 0.354167 +vt 0.145833 0.416667 +vt 0.354167 0.416667 +vt 0.354167 0.395833 +vt 0.312500 0.416667 +vt 0.312500 0.395833 +vt 0.250000 0.333333 +vt 0.250000 0.354167 +vt 0.229167 0.354167 +vt 0.250000 0.395833 +vt 0.604167 0.333333 +vt 0.625000 0.437500 +vt 0.604167 0.437500 +vt 0.458333 0.437500 +vt 0.479167 0.333333 +vt 0.520833 0.333333 +vt 0.541667 0.333333 +vt 0.562500 0.437500 +vt 0.541667 0.437500 +vt 0.562500 0.333333 +vt 1.000000 0.083333 +vt 0.000000 0.250000 +vt 0.375000 0.666667 +vt 0.458333 0.500000 +vt 0.291667 0.666667 +vt 0.250000 0.958333 +vt 0.125000 0.958333 +vt 0.125000 0.958333 +vt 0.125000 0.770833 +vt 0.000000 0.958333 +vt 0.000000 0.770833 +vt 0.458333 0.750000 +vt 0.541667 0.458333 +vt 0.479167 0.479167 +vt 0.458333 0.458333 +vt 0.625000 0.333333 +vt 0.458333 0.333333 +vn 1.0000 0.0000 0.0000 +vn 0.9701 0.0000 0.2425 +vn 0.9701 0.0000 -0.2425 +vn -0.7071 0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.0040 -1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.6000 0.0000 0.8000 +vn 0.6000 0.0000 -0.8000 +vn 0.7071 0.0000 -0.7071 +vn 0.4472 -0.8944 0.0000 +vn 0.7071 0.0000 0.7071 +s off +f 4/1/1 1/2/1 3/3/1 +f 3/3/2 6/4/2 4/1/2 +f 2/5/3 7/6/3 1/2/3 +f 16/7/4 9/8/4 12/9/4 +f 10/10/4 15/11/4 11/12/4 +f 20/13/5 13/14/5 16/7/5 +f 14/15/5 19/16/5 15/11/5 +f 24/17/6 17/18/6 20/13/6 +f 18/19/6 23/20/6 19/16/6 +f 29/21/7 28/22/7 25/23/7 +f 27/24/7 30/25/7 26/26/7 +f 29/21/7 34/27/7 32/28/7 +f 30/25/7 34/27/7 35/29/7 +f 54/30/7 35/29/7 33/31/7 +f 35/29/8 39/32/8 30/25/8 +f 29/21/9 40/33/9 33/31/9 +f 34/34/10 43/35/10 32/36/10 +f 31/37/11 44/38/11 34/34/11 +f 17/18/9 21/39/9 25/40/9 +f 19/16/9 23/41/9 27/42/9 +f 28/43/8 20/13/8 16/7/8 +f 26/44/8 18/19/8 14/15/8 +f 27/45/9 42/46/9 31/47/9 +f 39/32/8 26/26/8 30/25/8 +f 43/48/8 28/49/8 32/50/8 +f 25/23/9 38/51/9 29/21/9 +f 22/52/12 42/46/12 23/20/12 +f 24/17/12 38/51/12 21/53/12 +f 38/51/13 44/54/13 40/33/13 +f 44/54/13 39/55/13 41/56/13 +f 40/33/13 41/56/13 46/57/13 +f 33/31/14 45/58/14 36/59/14 +f 46/60/15 35/29/15 37/61/15 +f 58/62/16 56/63/16 60/64/16 +f 48/65/7 52/66/7 53/67/7 +f 49/68/8 60/64/8 46/60/8 +f 60/69/17 56/70/17 59/71/17 +f 46/57/17 59/71/17 45/72/17 +f 37/73/7 54/30/7 49/74/7 +f 54/30/7 36/75/7 47/76/7 +f 56/77/18 51/78/18 59/79/18 +f 59/79/9 51/78/9 47/80/9 +f 49/81/10 55/82/10 50/83/10 +f 55/84/11 47/85/11 48/65/11 +f 48/65/9 51/86/9 52/66/9 +f 56/87/18 52/66/18 51/86/18 +f 56/87/16 53/88/16 57/89/16 +f 50/83/8 58/90/8 49/81/8 +f 4/1/1 2/5/1 1/2/1 +f 3/3/2 5/91/2 6/4/2 +f 2/5/3 8/92/3 7/6/3 +f 16/7/4 13/14/4 9/8/4 +f 10/10/4 14/15/4 15/11/4 +f 20/13/5 17/18/5 13/14/5 +f 14/15/5 18/19/5 19/16/5 +f 24/17/6 21/53/6 17/18/6 +f 18/19/6 22/52/6 23/20/6 +f 29/21/7 32/28/7 28/22/7 +f 27/24/7 31/93/7 30/25/7 +f 29/21/7 33/31/7 34/27/7 +f 30/25/7 31/93/7 34/27/7 +f 33/31/7 36/75/7 54/30/7 +f 54/30/7 37/73/7 35/29/7 +f 35/29/7 34/27/7 33/31/7 +f 35/29/8 41/94/8 39/32/8 +f 29/21/9 38/51/9 40/33/9 +f 34/34/10 44/38/10 43/35/10 +f 31/37/11 42/95/11 44/38/11 +f 25/40/9 9/96/9 13/14/9 +f 13/14/9 17/18/9 25/40/9 +f 27/42/9 11/97/9 15/11/9 +f 15/11/9 19/16/9 27/42/9 +f 16/7/8 12/98/8 28/43/8 +f 28/43/8 24/99/8 20/13/8 +f 14/15/8 10/100/8 26/44/8 +f 26/44/8 22/101/8 18/19/8 +f 27/45/9 23/20/9 42/46/9 +f 39/32/8 22/102/8 26/26/8 +f 43/48/8 24/17/8 28/49/8 +f 25/23/9 21/53/9 38/51/9 +f 22/52/12 39/55/12 42/46/12 +f 24/17/12 43/48/12 38/51/12 +f 38/51/13 43/48/13 44/54/13 +f 44/54/13 42/46/13 39/55/13 +f 46/57/13 45/72/13 40/33/13 +f 40/33/13 44/54/13 41/56/13 +f 33/31/14 40/33/14 45/58/14 +f 46/60/15 41/94/15 35/29/15 +f 57/103/7 53/67/7 52/66/7 +f 53/67/7 50/104/7 48/65/7 +f 50/104/7 55/105/7 48/65/7 +f 46/60/8 37/61/8 49/68/8 +f 49/68/8 58/62/8 60/64/8 +f 46/57/17 60/69/17 59/71/17 +f 36/59/9 45/58/9 47/80/9 +f 45/58/9 59/79/9 47/80/9 +f 49/81/10 54/106/10 55/82/10 +f 55/84/11 54/107/11 47/85/11 +f 48/65/9 47/85/9 51/86/9 +f 56/87/18 57/89/18 52/66/18 +f 56/87/16 58/90/16 53/88/16 +f 50/83/8 53/88/8 58/90/8 +o Base +v -0.500000 0.000000 0.500000 +v -0.500000 0.125000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 0.125000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 0.125000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.125000 -0.500000 +v -0.500000 0.312500 0.187500 +v -0.500000 0.687500 0.187500 +v -0.500000 0.312500 -0.187500 +v -0.500000 0.687500 -0.187500 +v 0.500000 0.312500 0.187500 +v 0.500000 0.687500 0.187500 +v 0.500000 0.312500 -0.187500 +v 0.500000 0.687500 -0.187500 +v 0.187500 0.312500 0.500000 +v 0.187500 0.687500 0.500000 +v -0.187500 0.312500 0.500000 +v -0.187500 0.687500 0.500000 +v 0.187500 0.312500 -0.500000 +v 0.187500 0.687500 -0.500000 +v -0.187500 0.312500 -0.500000 +v -0.187500 0.687500 -0.500000 +v -0.375000 0.312500 0.187500 +v -0.375000 0.312500 -0.187500 +v -0.375000 0.687500 -0.187500 +v -0.375000 0.687500 0.187500 +v 0.375000 0.312500 -0.187500 +v 0.375000 0.312500 0.187500 +v 0.375000 0.687500 0.187500 +v 0.375000 0.687500 -0.187500 +v 0.187500 0.312500 0.375000 +v -0.187500 0.312500 0.375000 +v -0.187500 0.687500 0.375000 +v 0.187500 0.687500 0.375000 +v -0.187500 0.312500 -0.375000 +v 0.187500 0.312500 -0.375000 +v 0.187500 0.687500 -0.375000 +v -0.187500 0.687500 -0.375000 +v -0.312500 1.000000 0.312500 +v -0.312500 1.000000 -0.312500 +v 0.312500 1.000000 0.312500 +v 0.312500 1.000000 -0.312500 +v 0.437500 1.000000 -0.437500 +v 0.437500 1.000000 0.437500 +v -0.437500 1.000000 -0.437500 +v -0.437500 1.000000 0.437500 +v 0.437500 0.125000 0.437500 +v 0.437500 0.125000 0.312500 +v 0.312500 0.125000 0.437500 +v 0.437500 0.875000 0.437500 +v 0.437500 0.875000 0.312500 +v 0.312500 0.875000 0.437500 +v 0.437500 0.125000 -0.312500 +v 0.437500 0.125000 -0.437500 +v 0.312500 0.125000 -0.437500 +v 0.437500 0.875000 -0.312500 +v 0.437500 0.875000 -0.437500 +v 0.312500 0.875000 -0.437500 +v -0.312500 0.125000 0.437500 +v -0.437500 0.125000 0.437500 +v -0.437500 0.125000 0.312500 +v -0.312500 0.875000 0.437500 +v -0.437500 0.875000 0.437500 +v -0.437500 0.875000 0.312500 +v -0.312500 0.125000 -0.437500 +v -0.437500 0.125000 -0.312500 +v -0.437500 0.125000 -0.437500 +v -0.312500 0.875000 -0.437500 +v -0.437500 0.875000 -0.312500 +v -0.437500 0.875000 -0.437500 +v 0.312500 0.125000 0.375000 +v -0.312500 0.125000 0.375000 +v 0.312500 0.875000 0.375000 +v -0.312500 0.875000 0.375000 +v 0.312500 0.125000 -0.375000 +v 0.312500 0.875000 -0.375000 +v -0.312500 0.125000 -0.375000 +v -0.312500 0.875000 -0.375000 +v 0.375000 0.125000 0.312500 +v 0.375000 0.875000 0.312500 +v 0.375000 0.125000 -0.312500 +v 0.375000 0.875000 -0.312500 +v -0.375000 0.125000 0.312500 +v -0.375000 0.875000 0.312500 +v -0.375000 0.125000 -0.312500 +v -0.375000 0.875000 -0.312500 +v 0.312500 1.062500 0.312500 +v -0.312500 1.062500 0.312500 +v 0.312500 1.062500 -0.312500 +v -0.312500 1.062500 -0.312500 +v -0.156250 1.062500 0.156250 +v -0.156250 1.062500 -0.156250 +v 0.156250 1.062500 0.156250 +v 0.156250 1.062500 -0.156250 +v -0.156250 1.125000 0.156250 +v -0.156250 1.125000 -0.156250 +v 0.156250 1.125000 -0.156250 +v 0.156250 1.125000 0.156250 +vt -0.000000 0.380952 +vt 0.400000 0.428571 +vt -0.000000 0.428571 +vt -0.000000 0.380952 +vt 0.400000 0.428571 +vt -0.000000 0.428571 +vt 0.400000 0.428571 +vt -0.000000 0.380952 +vt 0.400000 0.380952 +vt 0.400000 0.428571 +vt -0.000000 0.380952 +vt 0.400000 0.380952 +vt 0.000000 0.000000 +vt 0.400000 -0.000000 +vt 0.700000 0.047619 +vt 0.450000 0.023810 +vt 0.700000 0.023810 +vt 0.275000 0.690476 +vt 0.125000 0.547619 +vt 0.275000 0.547619 +vt 0.275000 0.547619 +vt 0.125000 0.690476 +vt 0.125000 0.547619 +vt 0.275000 0.547619 +vt 0.125000 0.690476 +vt 0.125000 0.547619 +vt 0.275000 0.690476 +vt 0.125000 0.547619 +vt 0.275000 0.547619 +vt 0.125000 0.500000 +vt 0.075000 0.690476 +vt 0.275000 0.738095 +vt 0.275000 0.690476 +vt 0.325000 0.547619 +vt 0.125000 0.500000 +vt 0.075000 0.690476 +vt 0.125000 0.690476 +vt 0.275000 0.738095 +vt 0.325000 0.547619 +vt 0.125000 0.500000 +vt 0.075000 0.690476 +vt 0.275000 0.738095 +vt 0.275000 0.690476 +vt 0.325000 0.547619 +vt 0.125000 0.500000 +vt 0.075000 0.690476 +vt 0.125000 0.690476 +vt 0.275000 0.738095 +vt 0.325000 0.547619 +vt 0.425000 0.690476 +vt 0.400000 0.976190 +vt 0.400000 0.690476 +vt 0.425000 0.690476 +vt 0.400000 0.976190 +vt 0.400000 0.690476 +vt 0.525000 0.976190 +vt 0.550000 0.690476 +vt 0.550000 0.976190 +vt 0.550000 0.976190 +vt 0.525000 0.690476 +vt 0.550000 0.690476 +vt 0.400000 0.690476 +vt 0.425000 0.976190 +vt 0.400000 0.976190 +vt 0.750000 0.428571 +vt 0.400000 0.095238 +vt 0.750000 0.095238 +vt 0.525000 0.976190 +vt 0.550000 0.690476 +vt 0.550000 0.976190 +vt 0.475000 0.690476 +vt 0.425000 0.690476 +vt 0.375000 0.738095 +vt 0.375000 0.500000 +vt 0.425000 0.690476 +vt 0.400000 0.976190 +vt 0.400000 0.690476 +vt 0.475000 0.976190 +vt 0.700000 0.023810 +vt 0.450000 0.047619 +vt 0.450000 0.023810 +vt 0.525000 0.690476 +vt 0.475000 0.976190 +vt 0.475000 0.690476 +vt 0.425000 0.976190 +vt 0.000000 0.809524 +vt 0.075000 0.785714 +vt 0.325000 0.785714 +vt 0.525000 0.690476 +vt 0.475000 0.976190 +vt 0.475000 0.690476 +vt 0.425000 0.976190 +vt -0.000000 0.428571 +vt 0.025000 0.500000 +vt 0.025000 0.738095 +vt 0.550000 0.976190 +vt 0.525000 0.690476 +vt 0.550000 0.690476 +vt 0.475000 0.976190 +vt 0.475000 0.690476 +vt 0.425000 0.976190 +vt 0.325000 0.452381 +vt 0.075000 0.452381 +vt 1.000000 0.285714 +vt 0.750000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.000000 +vt 0.750000 0.285714 +vt 0.750000 0.000000 +vt 1.000000 0.000000 +vt 0.750000 0.285714 +vt 0.750000 0.000000 +vt 1.000000 0.285714 +vt 0.750000 0.000000 +vt 1.000000 0.000000 +vt 0.700000 0.047619 +vt 0.450000 0.023810 +vt 0.700000 0.023810 +vt 0.700000 0.023810 +vt 0.450000 0.047619 +vt 0.450000 0.023810 +vt 0.700000 0.047619 +vt 0.400000 0.095238 +vt 0.700000 0.047619 +vt 0.750000 0.047619 +vt 0.750000 0.095238 +vt 0.750000 0.047619 +vt 0.750000 0.095238 +vt 0.400000 0.452381 +vt 0.650000 0.690476 +vt 0.400000 0.690476 +vt 0.400000 0.428571 +vt 0.650000 0.452381 +vt 0.400000 0.452381 +vt 0.400000 0.428571 +vt 0.650000 0.452381 +vt 0.400000 0.452381 +vt 0.650000 0.452381 +vt 0.400000 0.428571 +vt 0.650000 0.428571 +vt 0.650000 0.452381 +vt 0.400000 0.428571 +vt 0.650000 0.428571 +vt 0.875000 0.285714 +vt 0.750000 0.309524 +vt 0.750000 0.285714 +vt 0.750000 0.309524 +vt 0.875000 0.285714 +vt 0.875000 0.309524 +vt 0.875000 0.285714 +vt 0.750000 0.309524 +vt 0.750000 0.285714 +vt 0.750000 0.309524 +vt 0.875000 0.285714 +vt 0.875000 0.309524 +vt 0.400000 0.380952 +vt 0.400000 0.380952 +vt -0.000000 0.428571 +vt 0.450000 0.047619 +vt 0.275000 0.500000 +vt 0.075000 0.547619 +vt 0.125000 0.738095 +vt 0.325000 0.690476 +vt 0.275000 0.500000 +vt 0.075000 0.547619 +vt 0.125000 0.738095 +vt 0.325000 0.690476 +vt 0.275000 0.500000 +vt 0.075000 0.547619 +vt 0.125000 0.738095 +vt 0.325000 0.690476 +vt 0.275000 0.500000 +vt 0.075000 0.547619 +vt 0.125000 0.738095 +vt 0.325000 0.690476 +vt 0.525000 0.976190 +vt 0.400000 0.428571 +vt 0.400000 0.809524 +vt 0.375000 0.785714 +vt 0.350000 0.738095 +vt 0.350000 0.500000 +vt 0.375000 0.452381 +vt 0.025000 0.785714 +vt 0.075000 0.761905 +vt 0.325000 0.761905 +vt 0.025000 0.452381 +vt 0.050000 0.500000 +vt 0.050000 0.738095 +vt 0.525000 0.976190 +vt 0.325000 0.476190 +vt 0.075000 0.476190 +vt 0.750000 0.285714 +vt 1.000000 0.285714 +vt 1.000000 0.285714 +vt 0.750000 0.285714 +vt 0.450000 0.047619 +vt 0.750000 0.047619 +vt 0.400000 0.047619 +vt 0.750000 0.047619 +vt 0.750000 0.095238 +vt 0.400000 0.047619 +vt 0.400000 0.095238 +vt 0.400000 0.047619 +vt 0.400000 0.095238 +vt 0.400000 0.047619 +vt 0.650000 0.428571 +vt 0.650000 0.428571 +vt 0.400000 0.452381 +vt 0.875000 0.309524 +vt 0.750000 0.285714 +vt 0.875000 0.309524 +vt 0.750000 0.285714 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 62/108/19 63/109/19 61/110/19 +f 64/111/20 67/112/20 63/113/20 +f 68/114/21 65/115/21 67/116/21 +f 66/117/22 61/118/22 65/119/22 +f 67/116/23 61/120/23 63/121/23 +f 114/122/23 136/123/23 135/124/23 +f 84/125/20 81/126/20 83/127/20 +f 69/128/19 72/129/19 71/130/19 +f 77/131/22 80/132/22 79/133/22 +f 76/134/21 73/135/21 75/136/21 +f 86/137/23 69/128/23 71/130/23 +f 87/138/20 71/130/20 72/129/20 +f 88/139/24 72/129/24 70/140/24 +f 85/141/22 70/140/22 69/128/22 +f 90/142/23 75/136/23 73/135/23 +f 91/143/22 73/135/22 74/144/22 +f 92/145/24 74/144/24 76/134/24 +f 89/146/20 76/134/20 75/136/20 +f 94/147/23 77/131/23 79/133/23 +f 95/148/19 79/133/19 80/132/19 +f 96/149/24 80/132/24 78/150/24 +f 93/151/21 78/150/21 77/131/21 +f 98/152/23 83/127/23 81/126/23 +f 99/153/21 81/126/21 82/154/21 +f 100/155/24 82/154/24 84/125/24 +f 97/156/19 84/125/19 83/127/19 +f 115/157/22 144/158/22 143/159/22 +f 123/160/20 146/161/20 145/162/20 +f 120/163/19 137/164/19 138/165/19 +f 142/166/20 110/167/20 141/168/20 +f 133/169/19 114/170/19 135/171/19 +f 107/172/24 106/173/24 105/174/24 +f 124/175/21 134/176/21 136/177/21 +f 109/178/22 114/170/22 111/179/22 +f 127/180/24 117/181/24 68/114/24 +f 127/182/21 140/183/21 139/184/21 +f 110/167/21 112/185/21 109/178/21 +f 144/186/23 113/187/23 142/188/23 +f 117/189/20 119/190/20 116/191/20 +f 116/191/21 118/192/21 115/157/21 +f 62/193/24 123/194/24 128/195/24 +f 121/196/22 125/197/22 122/198/22 +f 122/198/19 126/199/19 123/160/19 +f 66/200/24 111/201/24 121/202/24 +f 148/203/22 128/204/22 147/205/22 +f 128/204/19 132/206/19 129/207/19 +f 129/207/20 130/208/20 127/182/20 +f 115/209/24 110/210/24 66/200/24 +f 135/211/22 134/212/22 133/213/22 +f 139/214/20 138/215/20 137/216/20 +f 143/217/21 142/218/21 141/219/21 +f 146/220/19 147/221/19 145/222/19 +f 126/223/23 148/224/23 146/225/23 +f 140/226/23 120/227/23 138/228/23 +f 106/173/21 113/187/21 118/229/21 +f 105/230/20 120/227/20 130/231/20 +f 126/223/19 125/232/19 108/233/19 +f 114/122/22 112/234/22 106/235/22 +f 149/236/24 152/237/24 150/238/24 +f 150/239/19 102/240/19 101/241/19 +f 152/242/20 104/243/20 102/244/20 +f 151/245/21 103/246/21 104/247/21 +f 149/248/22 101/249/22 103/250/22 +f 156/251/21 160/252/21 155/253/21 +f 153/254/19 158/255/19 154/256/19 +f 155/257/22 157/258/22 153/259/22 +f 154/260/20 159/261/20 156/262/20 +f 62/108/19 64/263/19 63/109/19 +f 64/111/20 68/264/20 67/112/20 +f 68/114/21 66/200/21 65/115/21 +f 66/117/22 62/265/22 61/118/22 +f 67/116/23 65/115/23 61/120/23 +f 114/122/23 124/266/23 136/123/23 +f 84/125/20 82/154/20 81/126/20 +f 69/128/19 70/140/19 72/129/19 +f 77/131/22 78/150/22 80/132/22 +f 76/134/21 74/144/21 73/135/21 +f 86/137/23 85/267/23 69/128/23 +f 87/138/20 86/268/20 71/130/20 +f 88/139/24 87/269/24 72/129/24 +f 85/141/22 88/270/22 70/140/22 +f 90/142/23 89/271/23 75/136/23 +f 91/143/22 90/272/22 73/135/22 +f 92/145/24 91/273/24 74/144/24 +f 89/146/20 92/274/20 76/134/20 +f 94/147/23 93/275/23 77/131/23 +f 95/148/19 94/276/19 79/133/19 +f 96/149/24 95/277/24 80/132/24 +f 93/151/21 96/278/21 78/150/21 +f 98/152/23 97/279/23 83/127/23 +f 99/153/21 98/280/21 81/126/21 +f 100/155/24 99/281/24 82/154/24 +f 97/156/19 100/282/19 84/125/19 +f 115/157/22 118/192/22 144/158/22 +f 123/160/20 126/199/20 146/161/20 +f 120/163/19 117/189/19 137/164/19 +f 142/166/20 113/283/20 110/167/20 +f 133/169/19 111/179/19 114/170/19 +f 107/172/24 108/284/24 106/173/24 +f 124/175/21 121/196/21 134/176/21 +f 109/178/22 112/185/22 114/170/22 +f 68/114/24 64/285/24 127/180/24 +f 64/285/24 129/286/24 127/180/24 +f 127/180/24 139/287/24 137/288/24 +f 117/181/24 116/289/24 68/114/24 +f 127/180/24 137/288/24 117/181/24 +f 127/182/21 130/208/21 140/183/21 +f 110/167/21 113/283/21 112/185/21 +f 144/186/23 118/229/23 113/187/23 +f 117/189/20 120/163/20 119/190/20 +f 116/191/21 119/190/21 118/192/21 +f 129/286/24 64/285/24 128/195/24 +f 64/285/24 62/193/24 128/195/24 +f 62/193/24 122/290/24 123/194/24 +f 123/194/24 145/291/24 147/292/24 +f 123/194/24 147/292/24 128/195/24 +f 121/196/22 124/175/22 125/197/22 +f 122/198/19 125/197/19 126/199/19 +f 122/290/24 62/193/24 121/202/24 +f 62/193/24 66/200/24 121/202/24 +f 66/200/24 109/293/24 111/201/24 +f 111/201/24 133/294/24 134/295/24 +f 111/201/24 134/295/24 121/202/24 +f 148/203/22 131/296/22 128/204/22 +f 128/204/19 131/296/19 132/206/19 +f 129/207/20 132/206/20 130/208/20 +f 66/200/24 68/114/24 115/209/24 +f 68/114/24 116/289/24 115/209/24 +f 115/209/24 143/297/24 141/298/24 +f 110/210/24 109/293/24 66/200/24 +f 115/209/24 141/298/24 110/210/24 +f 135/211/22 136/299/22 134/212/22 +f 139/214/20 140/300/20 138/215/20 +f 143/217/21 144/301/21 142/218/21 +f 146/220/19 148/302/19 147/221/19 +f 126/223/23 131/303/23 148/224/23 +f 140/226/23 130/231/23 120/227/23 +f 119/304/21 105/174/21 118/229/21 +f 105/174/21 106/173/21 118/229/21 +f 106/173/21 112/305/21 113/187/21 +f 132/306/20 107/307/20 130/231/20 +f 107/307/20 105/230/20 130/231/20 +f 105/230/20 119/308/20 120/227/20 +f 108/233/19 107/309/19 131/303/19 +f 107/309/19 132/310/19 131/303/19 +f 131/303/19 126/223/19 108/233/19 +f 106/235/22 108/311/22 124/266/22 +f 108/311/22 125/312/22 124/266/22 +f 124/266/22 114/122/22 106/235/22 +f 149/236/24 151/245/24 152/237/24 +f 150/239/19 152/313/19 102/240/19 +f 152/242/20 151/314/20 104/243/20 +f 151/245/21 149/236/21 103/246/21 +f 149/248/22 150/315/22 101/249/22 +f 156/251/21 159/316/21 160/252/21 +f 153/254/19 157/317/19 158/255/19 +f 155/257/22 160/318/22 157/258/22 +f 154/260/20 158/319/20 159/261/20 diff --git a/src/main/java/assets/hbm/textures/blocks/crate_tungsten_side.png b/src/main/java/assets/hbm/textures/blocks/crate_tungsten_side.png new file mode 100644 index 000000000..9ec27cd96 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/crate_tungsten_side.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/crate_tungsten_top.png b/src/main/java/assets/hbm/textures/blocks/crate_tungsten_top.png new file mode 100644 index 000000000..36e9094db Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/crate_tungsten_top.png differ diff --git a/src/main/java/assets/hbm/textures/items/fabsols_vodka.png b/src/main/java/assets/hbm/textures/items/fabsols_vodka.png new file mode 100644 index 000000000..133abcb1c Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/fabsols_vodka.png differ diff --git a/src/main/java/assets/hbm/textures/items/inanimate_carbon_rod.png b/src/main/java/assets/hbm/textures/items/inanimate_carbon_rod.png new file mode 100644 index 000000000..653d0fc2d Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/inanimate_carbon_rod.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/drum.png b/src/main/java/assets/hbm/textures/models/machines/drum.png new file mode 100644 index 000000000..c788c12c8 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/machines/drum.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/drum_alt.png b/src/main/java/assets/hbm/textures/models/machines/drum_alt.png new file mode 100644 index 000000000..2f4412c84 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/machines/drum_alt.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/radar_base.png b/src/main/java/assets/hbm/textures/models/machines/radar_base.png new file mode 100644 index 000000000..0aece4364 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/machines/radar_base.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/radar_dish.png b/src/main/java/assets/hbm/textures/models/machines/radar_dish.png new file mode 100644 index 000000000..edbf446cd Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/machines/radar_dish.png differ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 095c8fa89..90c55eed7 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1010,7 +1010,7 @@ public class ModBlocks { block_trinitite = new BlockOre(Material.iron, 3F, 35F).setBlockName("block_trinitite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_trinitite"); block_waste = new BlockNuclearWaste(Material.iron, 5F, 60F).setBlockName("block_waste").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste"); block_waste_painted = new BlockNuclearWaste(Material.iron, 5F, 60F).setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted"); - ancient_scrap = new BlockOutgas(Material.iron, true, 1, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); + ancient_scrap = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap"); block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2"); block_beryllium = new BlockGeneric(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); diff --git a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java index 4618d136b..2d64ecbb6 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java @@ -16,6 +16,7 @@ public class BlockOutgas extends BlockOre { boolean randomTick; int rate; boolean onBreak; + boolean onNeighbour; public BlockOutgas(Material mat, boolean randomTick, int rate, boolean onBreak) { super(mat); @@ -23,6 +24,12 @@ public class BlockOutgas extends BlockOre { this.randomTick = randomTick; this.rate = rate; this.onBreak = onBreak; + this.onNeighbour = false; + } + + public BlockOutgas(Material mat, boolean randomTick, int rate, boolean onBreak, boolean onNeighbour) { + this(mat, randomTick, rate, onBreak); + this.onNeighbour = onNeighbour; } public int tickRate(World p_149738_1_) { @@ -89,4 +96,18 @@ public class BlockOutgas extends BlockOre { super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, fortune); } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + + if(onNeighbour) { + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) == Blocks.air) { + world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, getGas()); + } + } + } + } } diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index efcb11ad6..01cc1ce78 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -76,6 +76,20 @@ public class MineralRecipes { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_schrabidium_fuel, 2), new Object[] { ModItems.billet_schrabidium, ModItems.billet_neptunium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_schrabidium_fuel, 1), new Object[] { ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, "nuggetNeptunium", "nuggetNeptunium", ModItems.nugget_beryllium, ModItems.nugget_beryllium })); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_uranium, 2), new Object[] { ModItems.billet_uranium, ModItems.billet_uranium, ModItems.billet_uranium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_u233, 2), new Object[] { ModItems.billet_u233, ModItems.billet_u233, ModItems.billet_u233 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_u235, 2), new Object[] { ModItems.billet_u235, ModItems.billet_u235, ModItems.billet_u235 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_u238, 2), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_u238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_plutonium, 2), new Object[] { ModItems.billet_plutonium, ModItems.billet_plutonium, ModItems.billet_plutonium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_pu238, 2), new Object[] { ModItems.billet_pu238, ModItems.billet_pu238, ModItems.billet_pu238 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_pu239, 2), new Object[] { ModItems.billet_pu239, ModItems.billet_pu239, ModItems.billet_pu239 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_pu240, 2), new Object[] { ModItems.billet_pu240, ModItems.billet_pu240, ModItems.billet_pu240 }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_pu_mix, 2), new Object[] { ModItems.billet_pu_mix, ModItems.billet_pu_mix, ModItems.billet_pu_mix }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_neptunium, 2), new Object[] { ModItems.billet_neptunium, ModItems.billet_neptunium, ModItems.billet_neptunium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_polonium, 2), new Object[] { ModItems.billet_polonium, ModItems.billet_polonium, ModItems.billet_polonium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_schrabidium, 2), new Object[] { ModItems.billet_schrabidium, ModItems.billet_schrabidium, ModItems.billet_schrabidium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_solinium, 2), new Object[] { ModItems.billet_solinium, ModItems.billet_solinium, ModItems.billet_solinium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.pellet_rtg), new Object[] { ModItems.billet_pu238, ModItems.billet_pu238, ModItems.billet_pu238 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.pellet_rtg_weak), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_pu238 }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.pellet_rtg_polonium), new Object[] { ModItems.billet_polonium, ModItems.billet_polonium, ModItems.billet_polonium }); diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 2424cfe36..ea80d7b0a 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -11,9 +11,11 @@ import com.hbm.saveddata.RadiationSavedData; import com.hbm.util.ContaminationUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; @@ -85,6 +87,17 @@ public class EntityEffectHandler { entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 60, 19)); } + + if(HbmLivingProps.getRadiation(entity) > 900 && world.getTotalWorldTime() % 10 == 0) { + + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("type", "sweat"); + nbt.setInteger("count", 1); + nbt.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); + nbt.setInteger("entity", entity.getEntityId()); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); + + } } else { float radiation = HbmLivingProps.getRadiation(entity); @@ -112,8 +125,9 @@ public class EntityEffectHandler { if(chance == 1 || entity.getRNG().nextInt(chance) == 0) { NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "digammaDecay"); + data.setString("type", "sweat"); data.setInteger("count", 1); + data.setInteger("block", Block.getIdFromBlock(Blocks.soul_sand)); data.setInteger("entity", entity.getEntityId()); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineDiesel.java b/src/main/java/com/hbm/inventory/gui/GUIMachineDiesel.java index 41275269c..37d7920d5 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineDiesel.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineDiesel.java @@ -36,7 +36,7 @@ public class GUIMachineDiesel extends GuiInfoContainer { " Diesel (500 HE/t)", " Petroil (300 HE/t)", " Biofuel (400 HE/t)", - " Diesel (1000 HE/t)", + " Hydrogen (1000 HE/t)", " NITAN Superfuel (5000 HE/t)" }; this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 93264a925..3a3ec03cb 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1863,6 +1863,8 @@ public class ModItems { public static Item heart_fab; public static Item wd40; public static Item scrumpy; + public static Item wild_p; + public static Item fabsols_vodka; public static Item hazmat_helmet; public static Item hazmat_plate; @@ -2819,6 +2821,8 @@ public class ModItems { heart_fab = new ItemModHealth(60F).setUnlocalizedName("heart_fab").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":heart_fab"); wd40 = new ItemModWD40().setUnlocalizedName("wd40").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":wd40"); scrumpy = new ItemModRevive(1).setUnlocalizedName("scrumpy").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":scrumpy"); + wild_p = new ItemModRevive(3).setUnlocalizedName("wild_p").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":wild_p"); + fabsols_vodka = new ItemModRevive(9999).setUnlocalizedName("fabsols_vodka").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fabsols_vodka"); can_empty = new Item().setUnlocalizedName("can_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_empty"); can_smart = new ItemEnergy().setUnlocalizedName("can_smart").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_smart"); @@ -6308,6 +6312,8 @@ public class ModItems { GameRegistry.registerItem(heart_fab, heart_fab.getUnlocalizedName()); GameRegistry.registerItem(wd40, wd40.getUnlocalizedName()); GameRegistry.registerItem(scrumpy, scrumpy.getUnlocalizedName()); + GameRegistry.registerItem(wild_p, wild_p.getUnlocalizedName()); + GameRegistry.registerItem(fabsols_vodka, fabsols_vodka.getUnlocalizedName()); //The Gadget GameRegistry.registerItem(gadget_explosive, gadget_explosive.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ItemModRevive.java b/src/main/java/com/hbm/items/armor/ItemModRevive.java index 94e9c4146..a6a997284 100644 --- a/src/main/java/com/hbm/items/armor/ItemModRevive.java +++ b/src/main/java/com/hbm/items/armor/ItemModRevive.java @@ -3,6 +3,7 @@ package com.hbm.items.armor; import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.items.ModItems; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -14,20 +15,35 @@ public class ItemModRevive extends ItemArmorMod { super(ArmorModHandler.extra, false, false, true, false); this.setMaxDamage(durability); } - + @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.GOLD + "But how did you survive?"); - list.add(EnumChatFormatting.RED + "I was drunk."); + if(this == ModItems.scrumpy) { + list.add(EnumChatFormatting.GOLD + "But how did you survive?"); + list.add(EnumChatFormatting.RED + "I was drunk."); + } + if(this == ModItems.wild_p) { + list.add(EnumChatFormatting.DARK_GRAY + "Explosive " + EnumChatFormatting.RED + "Reactive " + EnumChatFormatting.DARK_GRAY + "Plot " + EnumChatFormatting.RED + "Armor"); + } + if(this == ModItems.fabsols_vodka) { + list.add(EnumChatFormatting.ITALIC + "In the news:"); + list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "Man literally too angry to die."); + list.add(""); + list.add(EnumChatFormatting.ITALIC + "\"I ain't got time to die\" says local"); + list.add(EnumChatFormatting.ITALIC + "man after ripping the physical manifestation"); + list.add(EnumChatFormatting.ITALIC + "of disaster itself in half."); + } + list.add(""); + list.add(EnumChatFormatting.GOLD + "" + (stack.getMaxDamage() - stack.getItemDamage()) + " revives left"); list.add(""); super.addInformation(stack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - + list.add(EnumChatFormatting.GOLD + " " + stack.getDisplayName() + " (" + (stack.getMaxDamage() - stack.getItemDamage()) + " revives left)"); } diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index 54dae7879..6fc247b08 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.inventory.FluidStack; import com.hbm.inventory.MachineRecipes; +import com.hbm.items.ModItems; import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; @@ -284,7 +285,7 @@ public class ItemChemistryTemplate extends Item { ItemStack[] out = MachineRecipes.getChemOutputFromTempate(stack); FluidStack[] outF = MachineRecipes.getFluidOutputFromTempate(stack); - list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder")); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder", I18nUtil.resolveKey(ModItems.template_folder.getUnlocalizedName() + ".name"))); list.add(""); try { diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java index 0a9938f00..6676e2565 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java @@ -2,6 +2,7 @@ package com.hbm.items.machine; import java.util.List; import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.items.ModItems; import com.hbm.tileentity.conductor.TileEntityFluidDuct; import com.hbm.util.I18nUtil; @@ -65,7 +66,7 @@ public class ItemFluidIdentifier extends Item { if(!(stack.getItem() instanceof ItemFluidIdentifier)) return; - list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder")); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder", I18nUtil.resolveKey(ModItems.template_folder.getUnlocalizedName() + ".name"))); list.add(""); list.add("Universal fluid identifier for:"); list.add(" " + I18n.format(FluidType.getEnum(stack.getItemDamage()).getUnlocalizedName())); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index eccb0d8c0..6b8b97c6b 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1056,9 +1056,11 @@ public class ClientProxy extends ServerProxy { player.attackedAtYaw = 0F; } - if("digammaDecay".equals(type)) { + if("sweat".equals(type)) { Entity e = world.getEntityByID(data.getInteger("entity")); + Block b = Block.getBlockById(data.getInteger("block")); + int meta = data.getInteger("meta"); if(e instanceof EntityLivingBase) { @@ -1069,7 +1071,7 @@ public class ClientProxy extends ServerProxy { double iz = e.boundingBox.minZ - 0.2 + (e.boundingBox.maxZ - e.boundingBox.minZ + 0.4) * rand.nextDouble(); - EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, 0, 0, 0, Blocks.soul_sand, 0); + EntityFX fx = new net.minecraft.client.particle.EntityBlockDustFX(world, ix, iy, iz, 0, 0, 0, b, meta); ReflectionHelper.setPrivateValue(EntityFX.class, fx, 150 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); Minecraft.getMinecraft().effectRenderer.addEffect(fx); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 6e5abaab6..724da02b5 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -307,7 +307,7 @@ public class ModEventHandler for(int i = 1; i < 5; i++) { - ItemStack prev = prevArmor!= null ? prevArmor[i] : null; + ItemStack prev = prevArmor != null ? prevArmor[i] : null; ItemStack armor = event.entityLiving.getEquipmentInSlot(i); boolean reapply = prevArmor != null && !ItemStack.areItemStacksEqual(prev, armor); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 3f7a07562..e1608eea7 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -160,6 +160,7 @@ public class ResourceManager { //Radar public static final IModelCustom radar_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj")); public static final IModelCustom radar_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_head.obj")); + public static final IModelCustom radar = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar.obj")); //Forcefield public static final IModelCustom forcefield_top = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/forcefield_top.obj")); @@ -402,6 +403,8 @@ public class ResourceManager { //Radar public static final ResourceLocation radar_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_base.png"); public static final ResourceLocation radar_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_head.png"); + public static final ResourceLocation radar_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_base.png"); + public static final ResourceLocation radar_dish_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_dish.png"); //Forcefield public static final ResourceLocation forcefield_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/forcefield_base.png"); diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 3cd881ea6..332497ef6 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -716,14 +716,14 @@ public class ItemRenderLibrary { renderers.put(Item.getItemFromBlock(ModBlocks.machine_radar), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); - GL11.glScaled(6, 6, 6); + GL11.glScaled(5, 5, 5); } public void renderCommon() { - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotated(90, 0, -1, 0); - bindTexture(ResourceManager.radar_body_tex); ResourceManager.radar_body.renderAll(); - bindTexture(ResourceManager.radar_head_tex); ResourceManager.radar_head.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.radar_base_tex); ResourceManager.radar.renderPart("Base"); + GL11.glTranslated(-0.125, 0, 0); + bindTexture(ResourceManager.radar_dish_tex); ResourceManager.radar.renderPart("Dish"); + GL11.glEnable(GL11.GL_CULL_FACE); }}); renderers.put(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), new ItemRenderBase() { diff --git a/src/main/java/com/hbm/render/tileentity/RenderRadar.java b/src/main/java/com/hbm/render/tileentity/RenderRadar.java index e9979b59d..45cc19fd0 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRadar.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRadar.java @@ -10,41 +10,25 @@ import net.minecraft.tileentity.TileEntity; public class RenderRadar extends TileEntitySpecialRenderer { - @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); + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); GL11.glRotatef(180, 0F, 1F, 0F); - bindTexture(ResourceManager.radar_body_tex); - - ResourceManager.radar_body.renderAll(); + bindTexture(ResourceManager.radar_base_tex); + ResourceManager.radar.renderPart("Base"); - GL11.glPopMatrix(); - - renderTileEntityAt2(tileEntity, x, y, z, f); - } - - public void renderTileEntityAt2(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); - - TileEntityMachineRadar radar = (TileEntityMachineRadar)tileEntity; - - if(radar.power > 0) - GL11.glRotatef((System.currentTimeMillis() / 10) % 360, 0F, 1F, 0F); + TileEntityMachineRadar radar = (TileEntityMachineRadar) tileEntity; + GL11.glRotatef(radar.prevRotation + (radar.rotation - radar.prevRotation) * f, 0F, 1F, 0F); + GL11.glTranslated(-0.125D, 0, 0); - bindTexture(ResourceManager.radar_head_tex); - ResourceManager.radar_head.renderAll(); + bindTexture(ResourceManager.radar_dish_tex); + ResourceManager.radar.renderPart("Dish"); - GL11.glPopMatrix(); - } + GL11.glPopMatrix(); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOilWell.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOilWell.java index 7e1e83f3c..1499ba0ff 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOilWell.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOilWell.java @@ -31,7 +31,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraftforge.oredict.OreDictionary; public class TileEntityMachineOilWell extends TileEntity implements ISidedInventory, IConsumer, IFluidContainer, IFluidSource { @@ -46,14 +45,14 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent public List list1 = new ArrayList(); public List list2 = new ArrayList(); public FluidTank[] tanks; - - private static final int[] slots_top = new int[] {1}; - private static final int[] slots_bottom = new int[] {2, 0}; - private static final int[] slots_side = new int[] {0}; + + private static final int[] slots_top = new int[] { 1 }; + private static final int[] slots_bottom = new int[] { 2, 0 }; + private static final int[] slots_side = new int[] { 0 }; Random rand = new Random(); - + private String customName; - + public TileEntityMachineOilWell() { slots = new ItemStack[6]; tanks = new FluidTank[2]; @@ -73,21 +72,19 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent @Override public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { + if(slots[i] != null) { ItemStack itemStack = slots[i]; slots[i] = null; return itemStack; } else { - return null; + return null; } } @Override public void setInventorySlotContents(int i, ItemStack itemStack) { slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { itemStack.stackSize = getInventoryStackLimit(); } } @@ -101,7 +98,7 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } - + public void setCustomName(String name) { this.customName = name; } @@ -113,78 +110,75 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent @Override public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 128; } } - - //You scrubs aren't needed for anything (right now) + + // You scrubs aren't needed for anything (right now) @Override - public void openInventory() {} + public void openInventory() { + } + @Override - public void closeInventory() {} + public void closeInventory() { + } @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { if(i == 0) if(itemStack.getItem() instanceof IBatteryItem) return true; - + if(i == 1) return true; - + return false; } - + @Override public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { + if(slots[i] != null) { + if(slots[i].stackSize <= j) { ItemStack itemStack = slots[i]; slots[i] = null; return itemStack; } ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { + if(slots[i].stackSize == 0) { slots[i] = null; } - + return itemStack1; } else { return null; } } - + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - + this.power = nbt.getLong("powerTime"); this.age = nbt.getInteger("age"); this.tanks[0].readFromNBT(nbt, "oil"); this.tanks[1].readFromNBT(nbt, "gas"); - + slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { + + for(int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { + if(b0 >= 0 && b0 < slots.length) { slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } } - + @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); @@ -193,27 +187,24 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent this.tanks[0].writeToNBT(nbt, "oil"); this.tanks[1].writeToNBT(nbt, "gas"); - + NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { + + for(int i = 0; i < slots.length; i++) { + if(slots[i] != null) { NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); + nbt1.setByte("slot", (byte) i); slots[i].writeToNBT(nbt1); list.appendTag(nbt1); } } nbt.setTag("items", list); } - + @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); + } @Override public boolean canInsertItem(int i, ItemStack itemStack, int j) { @@ -224,16 +215,16 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent public boolean canExtractItem(int i, ItemStack itemStack, int j) { return false; } - + public long getPowerScaled(long i) { return (power * i) / maxPower; } - + @Override public void updateEntity() { - + int timer = 50; - + age++; age2++; if(age >= timer) @@ -244,93 +235,128 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent fillFluidInit(tanks[0].getTankType()); fillFluidInit(tanks[1].getTankType()); } - + if(!worldObj.isRemote) { this.tanks[0].unloadTank(1, 2, slots); this.tanks[1].unloadTank(3, 4, slots); - + for(int i = 0; i < 2; i++) { tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); } power = Library.chargeTEFromItems(slots, 0, power, maxPower); - + if(power >= 100) { - - //operation start - + + // operation start + if(age == timer - 1) { warning = 0; - - //warning 0, green: derrick is operational - //warning 1, red: derrick is full, has no power or the drill is jammed - //warning 2, yellow: drill has reached max depth - + + // warning 0, green: derrick is operational + // warning 1, red: derrick is full, has no power or the + // drill is jammed + // warning 2, yellow: drill has reached max depth + for(int i = this.yCoord - 1; i > this.yCoord - 1 - 100; i--) { - + if(i <= 5) { - //Code 2: The drilling ended + // Code 2: The drilling ended warning = 2; break; } - + Block b = worldObj.getBlock(this.xCoord, i, this.zCoord); if(b == ModBlocks.oil_pipe) continue; - + if((b.isReplaceable(worldObj, xCoord, i, zCoord) || b.getExplosionResistance(null) < 100) && !(b == ModBlocks.ore_oil || b == ModBlocks.ore_oil_empty)) { + + // wanted to add oreDict support for oreUranium, but + // to be honest it's such a fringe case even with + // regular uranium ore that it's not worth all the + // lull checking (for naughty blocks with no items) + // and tedious ore dict lookups (which can be done + // in 5 minutes but that's more effort than it's + // worth) + if(worldObj.getBlock(xCoord, i, zCoord) == ModBlocks.ore_uranium) { + + for(int u = -1; u <= 1; u++) { + for(int v = -1; v <= 1; v++) { + + if(worldObj.getBlock(xCoord + u, yCoord + 6, zCoord + v) == Blocks.air) { + worldObj.setBlock(xCoord + u, yCoord + 6, zCoord + v, ModBlocks.gas_radon_dense); + } + } + } + } + worldObj.setBlock(xCoord, i, zCoord, ModBlocks.oil_pipe); - - //Code 2: The drilling ended + + // Code 2: The drilling ended if(i == this.yCoord - 100) warning = 2; break; - + } else if(this.tanks[0].getFill() < this.tanks[0].getMaxFill() && this.tanks[1].getFill() < this.tanks[1].getMaxFill()) { if(succ(this.xCoord, i, this.zCoord)) { - + this.tanks[0].setFill(this.tanks[0].getFill() + 500); if(this.tanks[0].getFill() > this.tanks[0].getMaxFill()) this.tanks[0].setFill(tanks[0].getMaxFill()); - this.tanks[1].setFill(this.tanks[1].getFill() + (100 + rand.nextInt(401))); if(this.tanks[1].getFill() > this.tanks[1].getMaxFill()) this.tanks[1].setFill(tanks[1].getMaxFill()); - + ExplosionLarge.spawnOilSpills(worldObj, xCoord + 0.5F, yCoord + 5.5F, zCoord + 0.5F, 3); worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 2.0F, 0.5F); - + break; } else { worldObj.setBlock(xCoord, i, zCoord, ModBlocks.oil_pipe); break; } - + } else { - //Code 1: Drill jammed + // Code 1: Drill jammed warning = 1; break; } } } - - //operation end - + + // operation end + power -= 100; } else { warning = 1; } warning2 = 0; + if(tanks[1].getFill() > 0) { + if(slots[5] != null && (slots[5].getItem() == ModItems.fuse || slots[5].getItem() == ModItems.screwdriver)) { + warning2 = 2; tanks[1].setFill(tanks[1].getFill() - 50); + if(tanks[1].getFill() <= 0) tanks[1].setFill(0); - worldObj.spawnEntityInWorld(new EntityGasFX(worldObj, this.xCoord + 0.5F, this.yCoord + 6.5F, this.zCoord + 0.5F, 0.0, 0.0, 0.0)); + + worldObj.spawnEntityInWorld(new EntityGasFX(worldObj, this.xCoord + 0.5F, this.yCoord + 6.5F, this.zCoord + 0.5F, 0.0, 0.0, 0.0)); + + for(int u = -1; u <= 1; u++) { + for(int v = -1; v <= 1; v++) { + + if(worldObj.rand.nextInt(10) == 0 && worldObj.getBlock(xCoord + u, yCoord + 6, zCoord + v) == Blocks.air) { + worldObj.setBlock(xCoord + u, yCoord + 6, zCoord + v, ModBlocks.gas_flammable); + } + } + } + } else { warning2 = 1; } @@ -338,33 +364,33 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); } - + } - + public boolean succ(int x, int y, int z) { - + list.clear(); - + succ1(x, y, z); succ2(x, y, z); - + if(!list.isEmpty()) { - + int i = rand.nextInt(list.size()); int a = list.get(i)[0]; int b = list.get(i)[1]; int c = list.get(i)[2]; - + if(worldObj.getBlock(a, b, c) == ModBlocks.ore_oil) { - + worldObj.setBlock(a, b, c, ModBlocks.ore_oil_empty); return true; } } - + return false; } - + public void succInit1(int x, int y, int z) { succ1(x + 1, y, z); succ1(x - 1, y, z); @@ -373,7 +399,7 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent succ1(x, y, z + 1); succ1(x, y, z - 1); } - + public void succInit2(int x, int y, int z) { succ2(x + 1, y, z); succ2(x - 1, y, z); @@ -382,20 +408,18 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent succ2(x, y, z + 1); succ2(x, y, z - 1); } - + List list = new ArrayList(); - + public void succ1(int x, int y, int z) { - if(worldObj.getBlock(x, y, z) == ModBlocks.ore_oil_empty && - worldObj.getBlockMetadata(x, y, z) == 0) { + if(worldObj.getBlock(x, y, z) == ModBlocks.ore_oil_empty && worldObj.getBlockMetadata(x, y, z) == 0) { worldObj.setBlockMetadataWithNotify(x, y, z, 1, 2); succInit1(x, y, z); } } - + public void succ2(int x, int y, int z) { - if(worldObj.getBlock(x, y, z) == ModBlocks.ore_oil_empty && - worldObj.getBlockMetadata(x, y, z) == 1) { + if(worldObj.getBlock(x, y, z) == ModBlocks.ore_oil_empty && worldObj.getBlockMetadata(x, y, z) == 1) { worldObj.setBlockMetadataWithNotify(x, y, z, 0, 2); succInit2(x, y, z); } else if(worldObj.getBlock(x, y, z) == ModBlocks.ore_oil) { @@ -406,35 +430,34 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent @Override public void setPower(long i) { power = i; - + } @Override public long getPower() { return power; - + } @Override public long getMaxPower() { return maxPower; } - + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } @Override public boolean getTact() { - if (age2 >= 0 && age2 < 10) { + if(age2 >= 0 && age2 < 10) { return true; } @@ -460,7 +483,7 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent return tanks[0].getFill(); else if(type.name().equals(tanks[1].getTankType().name())) return tanks[1].getFill(); - + return 0; } @@ -506,7 +529,7 @@ public class TileEntityMachineOilWell extends TileEntity implements ISidedInvent List list = new ArrayList(); list.add(tanks[0]); list.add(tanks[1]); - + return list; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java index dea2920bc..9450d4dc5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java @@ -25,7 +25,10 @@ public class TileEntityMachineRadar extends TileEntityTickingBase implements ICo public List nearbyMissiles = new ArrayList(); int pingTimer = 0; int lastPower; - final static int maxTimer = 40; + final static int maxTimer = 80; + + public float prevRotation; + public float rotation; public long power = 0; public static final int maxPower = 100000; @@ -84,6 +87,18 @@ public class TileEntityMachineRadar extends TileEntityTickingBase implements ICo pingTimer = 0; } } + } else { + + prevRotation = rotation; + + if(power > 0) { + rotation += 5F; + } + + if(rotation >= 360) { + rotation -= 360F; + prevRotation -= 360F; + } } }