diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index ae086d578..0c28b6158 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -265,6 +265,7 @@ tile.emp_bomb.name=EMP-Ladung tile.crashed_bomb.name=Blindgänger tile.boxcar.name=Güterwagon +tile.bomber.name=Abgestürtzer Bomber tile.crate.name=Vorratskiste tile.crate_weapon.name=Waffenkiste @@ -1512,7 +1513,9 @@ item.shimmer_handle.name=Verstärketer Polymergriff item.redcoil_capacitor.name=Rotspulenkondensator item.detonator.name=Fernzünder item.detonator_multi.name=Mehrfach-Fernzünder +item.detonator_laser.name=Laserzünder item.crate_caller.name=Nachschub-Requester +item.bomb_caller.name=Luftschlag Zielmarker item.meteor_remote.name=Meteoritenkontroller item.ingot_hes.name=Stark angereicherter Schrabidiumkernbrennstoffbarren diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index f90ea8127..7b473d5f8 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -243,6 +243,7 @@ tile.emp_bomb.name=EMP Device tile.crashed_bomb.name=Dud tile.boxcar.name=Boxcar +tile.bomber.name=Crashed Bomber tile.turret_light.name=Light Machine Gun Turret tile.turret_heavy.name=Heavy Machine Gun Turret @@ -1511,8 +1512,10 @@ item.shimmer_handle.name=Reinforced Polymer Handle item.redcoil_capacitor.name=Redcoil Capacitor item.detonator.name=Detonator -item.detonator_multi.name=Multi-Detonator +item.detonator_multi.name=Multi Detonator +item.detonator_laser.name=Laser Detonator item.crate_caller.name=Supply Drop Requester +item.bomb_caller.name=Airstrike Designator item.meteor_remote.name=Meteorite Remote item.ingot_hes.name=Highly Enriched Schrabidium Fuel Ingot diff --git a/assets/hbm/models/dornier.obj b/assets/hbm/models/dornier.obj new file mode 100644 index 000000000..496c81016 --- /dev/null +++ b/assets/hbm/models/dornier.obj @@ -0,0 +1,1473 @@ +# Blender v2.76 (sub 0) OBJ File: 'dornier.blend' +# www.blender.org +o Cube +v -0.200000 0.300000 0.400000 +v -0.200000 0.300000 -0.500000 +v 0.200000 0.300000 0.400000 +v 0.200000 0.300000 -0.500000 +v 0.200000 0.150000 -0.500000 +v 0.200000 0.150000 0.400000 +v -0.200000 0.150000 -0.500000 +v -0.200000 0.150000 0.400000 +v -0.075000 0.300000 1.550000 +v 0.075000 0.300000 1.550000 +v -0.075000 0.300000 1.950000 +v 0.075000 0.300000 1.950000 +v 0.600000 0.300000 1.650000 +v 0.075000 0.300000 1.750000 +v -0.600000 0.300000 1.650000 +v -0.200000 0.250000 -0.500000 +v -0.087500 0.400000 -1.025000 +v 0.087500 0.400000 -1.025000 +v -0.087500 0.400000 -0.450000 +v 0.087500 0.400000 -0.450000 +v -0.125000 0.250000 -0.350000 +v 0.125000 0.250000 -0.350000 +v -0.075000 0.250000 1.550000 +v 0.075000 0.250000 1.550000 +v -0.075000 0.250000 1.950000 +v 0.075000 0.250000 1.950000 +v 0.600000 0.250000 1.650000 +v 0.600000 0.250000 1.850000 +v -0.600000 0.250000 1.650000 +v -0.600000 0.250000 1.850000 +v -0.650000 0.540000 1.700000 +v -0.650000 0.540000 1.825000 +v -0.650000 0.215000 1.650000 +v -0.650000 0.215000 1.900000 +v -0.600000 0.540000 1.700000 +v -0.600000 0.540000 1.825000 +v -0.575000 0.190000 1.600000 +v -0.600000 0.215000 1.900000 +v -0.075000 0.300000 1.750000 +v 0.600000 0.300000 -0.750000 +v 0.600000 0.300000 -0.400000 +v 0.706066 0.256066 -0.750000 +v 0.706066 0.256066 -0.400000 +v 0.750000 0.150000 -0.750000 +v 0.750000 0.150000 -0.400000 +v 0.706066 0.043934 -0.750000 +v 0.706066 0.043934 -0.400000 +v 0.600000 -0.000000 -0.750000 +v 0.600000 -0.000000 -0.400000 +v 0.493934 0.043934 -0.750000 +v 0.493934 0.043934 -0.400000 +v 0.450000 0.150000 -0.750000 +v 0.450000 0.150000 -0.400000 +v 0.493934 0.256066 -0.750000 +v 0.493934 0.256066 -0.400000 +v 0.706066 0.226516 0.250000 +v 0.600000 0.237500 0.250000 +v 0.750000 0.200000 0.250000 +v 0.706066 0.173483 0.250000 +v 0.600000 0.162500 0.250000 +v 0.493934 0.173483 0.250000 +v 0.450000 0.200000 0.250000 +v 0.493934 0.226516 0.250000 +v -0.600000 0.300000 -0.750000 +v -0.600000 0.300000 -0.400000 +v -0.493934 0.256066 -0.750000 +v -0.493934 0.256066 -0.400000 +v -0.450000 0.150000 -0.750000 +v -0.450000 0.150000 -0.400000 +v -0.493934 0.043934 -0.750000 +v -0.493934 0.043934 -0.400000 +v -0.600000 -0.000000 -0.750000 +v -0.600000 -0.000000 -0.400000 +v -0.706066 0.043934 -0.750000 +v -0.706066 0.043934 -0.400000 +v -0.750000 0.150000 -0.750000 +v -0.750000 0.150000 -0.400000 +v -0.706066 0.256066 -0.750000 +v -0.706066 0.256066 -0.400000 +v -0.493934 0.226516 0.250000 +v -0.600000 0.237500 0.250000 +v -0.450000 0.200000 0.250000 +v -0.493934 0.173483 0.250000 +v -0.600000 0.162500 0.250000 +v -0.706066 0.173483 0.250000 +v -0.750000 0.200000 0.250000 +v -0.706066 0.226516 0.250000 +v 0.600000 0.202500 -0.750000 +v 0.637123 0.187123 -0.750000 +v 0.652500 0.150000 -0.750000 +v 0.637123 0.112877 -0.750000 +v 0.600000 0.097500 -0.750000 +v 0.562877 0.112877 -0.750000 +v 0.547500 0.150000 -0.750000 +v 0.562877 0.187123 -0.750000 +v -0.600000 0.202500 -0.750000 +v -0.562877 0.187123 -0.750000 +v -0.547500 0.150000 -0.750000 +v -0.562877 0.112877 -0.750000 +v -0.600000 0.097500 -0.750000 +v -0.637123 0.112877 -0.750000 +v -0.652500 0.150000 -0.750000 +v -0.637123 0.187123 -0.750000 +v 0.600000 0.176250 -0.850000 +v 0.618562 0.168561 -0.850000 +v 0.626250 0.150000 -0.850000 +v 0.618562 0.131438 -0.850000 +v 0.600000 0.123750 -0.850000 +v 0.581438 0.131438 -0.850000 +v 0.573750 0.150000 -0.850000 +v 0.581438 0.168561 -0.850000 +v -0.600000 0.176250 -0.850000 +v -0.581438 0.168561 -0.850000 +v -0.573750 0.150000 -0.850000 +v -0.581438 0.131438 -0.850000 +v -0.600000 0.123750 -0.850000 +v -0.618562 0.131438 -0.850000 +v -0.626250 0.150000 -0.850000 +v -0.618562 0.168561 -0.850000 +v -0.600000 -0.175000 -0.800000 +v -0.881458 -0.012500 -0.800000 +v -0.881458 0.312500 -0.800000 +v -0.600000 0.475000 -0.800000 +v -0.318542 0.312500 -0.800000 +v -0.318542 -0.012500 -0.800000 +v 0.600000 -0.175000 -0.800000 +v 0.318542 -0.012500 -0.800000 +v 0.318542 0.312500 -0.800000 +v 0.600000 0.475000 -0.800000 +v 0.881458 0.312500 -0.800000 +v 0.881458 -0.012500 -0.800000 +v 0.200000 0.100000 0.400000 +v 0.100000 0.000000 0.400000 +v -0.100000 0.000000 0.400000 +v -0.200000 0.100000 0.400000 +v -0.075000 0.200000 1.550000 +v -0.025000 0.150000 1.550000 +v 0.025000 0.150000 1.550000 +v 0.075000 0.200000 1.550000 +v -0.075000 0.200000 1.950000 +v 0.075000 0.200000 1.950000 +v -0.025000 0.150000 1.950000 +v 0.025000 0.150000 1.950000 +v 0.200000 0.100000 -0.500000 +v 0.100000 0.000000 -0.400000 +v -0.100000 0.000000 -0.400000 +v -0.200000 0.100000 -0.500000 +v 0.150000 0.250000 -1.150000 +v -0.150000 0.250000 -1.150000 +v 0.150000 0.025000 -1.150000 +v -0.150000 0.025000 -1.150000 +v 0.075000 -0.050000 -1.150000 +v -0.075000 -0.050000 -1.150000 +v 0.100000 -0.050000 -0.500000 +v -0.100000 -0.050000 -0.500000 +v 0.200000 0.025000 -0.500000 +v -0.200000 0.025000 -0.500000 +v 0.200000 0.100000 -0.350000 +v -0.200000 0.100000 -0.350000 +v -0.600000 0.300000 1.750000 +v 0.600000 0.300000 1.750000 +v 1.750000 0.200000 -0.050000 +v 0.200000 0.200000 -0.050000 +v 1.750000 0.225000 0.200000 +v 0.200000 0.225000 0.400000 +v 1.750000 0.300000 -0.050000 +v 0.200000 0.300000 -0.050000 +v 1.750000 0.200000 -0.250000 +v 0.200000 0.200000 -0.400000 +v 1.750000 0.250000 -0.300000 +v 0.200000 0.250000 -0.500000 +v 1.750000 0.300000 -0.200000 +v 0.200000 0.300000 -0.350000 +v 1.850000 0.250000 0.050000 +v 1.850000 0.225000 -0.050000 +v 1.850000 0.225000 -0.150000 +v 1.850000 0.275000 -0.050000 +v 1.850000 0.275000 -0.150000 +v 1.850000 0.250000 -0.200000 +v -0.200000 0.200000 -0.050000 +v -0.200000 0.225000 0.400000 +v -0.200000 0.300000 -0.050000 +v -0.200000 0.200000 -0.400000 +v -1.750000 0.200000 -0.050000 +v -0.200000 0.300000 -0.350000 +v -1.750000 0.225000 0.200000 +v -1.750000 0.300000 -0.050000 +v -1.750000 0.200000 -0.250000 +v -1.750000 0.250000 -0.300000 +v -1.750000 0.300000 -0.200000 +v -1.850000 0.250000 0.050000 +v -1.850000 0.225000 -0.050000 +v -1.850000 0.225000 -0.150000 +v -1.850000 0.275000 -0.050000 +v -1.850000 0.275000 -0.150000 +v -1.850000 0.250000 -0.200000 +v 0.150000 0.175000 -1.150000 +v -0.150000 0.175000 -1.150000 +v 0.075000 0.250000 -1.150000 +v -0.075000 0.250000 -1.150000 +v 0.150000 0.025000 -1.225000 +v 0.075000 -0.050000 -1.225000 +v -0.150000 0.025000 -1.225000 +v -0.075000 -0.050000 -1.225000 +v 0.075000 0.250000 -1.225000 +v -0.075000 0.250000 -1.225000 +v -0.150000 0.175000 -1.225000 +v 0.150000 0.175000 -1.225000 +v 0.075000 0.062500 -1.300000 +v 0.037500 0.025000 -1.300000 +v -0.075000 0.062500 -1.300000 +v -0.037500 0.025000 -1.300000 +v 0.037500 0.175000 -1.300000 +v -0.037500 0.175000 -1.300000 +v -0.075000 0.137500 -1.300000 +v 0.075000 0.137500 -1.300000 +v -0.112500 0.250000 -1.025000 +v 0.112500 0.250000 -1.025000 +v -0.200000 0.250000 -0.600000 +v 0.200000 0.250000 -0.600000 +v 0.075000 0.250000 -1.050000 +v -0.075000 0.250000 -1.050000 +v 0.100000 0.250000 -0.600000 +v -0.100000 0.250000 -0.600000 +v 0.075000 0.200000 -1.050000 +v -0.075000 0.200000 -1.050000 +v 0.100000 0.200000 -0.600000 +v -0.100000 0.200000 -0.600000 +v -0.575000 0.190000 1.750000 +v -0.575000 0.490000 1.750000 +v -0.575000 0.490000 1.650000 +v -0.650000 0.490000 1.900000 +v -0.600000 0.490000 1.900000 +v -0.600000 0.215000 1.650000 +v -0.675000 0.190000 1.600000 +v -0.675000 0.190000 1.750000 +v -0.675000 0.490000 1.750000 +v -0.675000 0.490000 1.650000 +v 0.600000 0.540000 1.700000 +v 0.600000 0.540000 1.825000 +v 0.600000 0.215000 1.650000 +v 0.600000 0.215000 1.900000 +v 0.650000 0.540000 1.700000 +v 0.650000 0.540000 1.825000 +v 0.675000 0.190000 1.600000 +v 0.650000 0.215000 1.900000 +v 0.675000 0.190000 1.750000 +v 0.675000 0.490000 1.750000 +v 0.675000 0.490000 1.650000 +v 0.600000 0.490000 1.900000 +v 0.650000 0.490000 1.900000 +v 0.650000 0.215000 1.650000 +v 0.575000 0.190000 1.600000 +v 0.575000 0.190000 1.750000 +v 0.575000 0.490000 1.750000 +v 0.575000 0.490000 1.650000 +v -0.625000 0.640000 1.725000 +v 0.000000 0.640000 -0.575000 +v 0.000000 0.400000 -0.575000 +v 0.000000 0.640000 -0.600000 +v 0.000000 0.400000 -0.600000 +v 0.012500 0.640000 -0.587500 +v 0.012500 0.400000 -0.587500 +v -0.012500 0.640000 -0.587500 +v -0.012500 0.400000 -0.587500 +v -0.625000 0.640000 1.750000 +v -0.637500 0.640000 1.737500 +v -0.612500 0.640000 1.737500 +v -0.625000 0.540000 1.725000 +v -0.625000 0.540000 1.750000 +v -0.637500 0.540000 1.737500 +v -0.612500 0.540000 1.737500 +v 0.050000 0.000000 -0.150000 +v -0.050000 0.000000 -0.150000 +v 0.050000 0.000000 0.150000 +v -0.050000 0.000000 0.150000 +v 0.050000 0.050000 -0.150000 +v -0.050000 0.050000 -0.150000 +v 0.050000 0.050000 0.150000 +v -0.050000 0.050000 0.150000 +v -0.002500 0.250000 -1.125000 +vt 0.611382 0.615191 +vt 0.803614 0.636086 +vt 0.803614 0.661160 +vt 0.496291 0.728284 +vt 0.471607 0.737732 +vt 0.471241 0.729382 +vt 0.373372 0.071985 +vt 0.373372 0.060439 +vt 0.438688 0.060439 +vt 0.380496 0.161018 +vt 0.183933 0.170462 +vt 0.183872 0.157715 +vt 0.183800 0.136394 +vt 0.183800 0.113302 +vt 0.373372 0.121963 +vt 0.380498 0.032930 +vt 0.448482 0.033258 +vt 0.448441 0.041756 +vt 0.448484 0.160691 +vt 0.380455 0.152520 +vt 0.373372 0.133509 +vt 0.438688 0.121963 +vt 0.350314 0.879762 +vt 0.363677 0.868108 +vt 0.362822 0.880616 +vt 0.800242 0.543127 +vt 0.704126 0.543127 +vt 0.704126 0.513875 +vt 0.673992 0.549396 +vt 0.183801 0.080644 +vt 0.373174 0.092892 +vt 0.636905 0.098198 +vt 0.726241 0.098198 +vt 0.732496 0.131039 +vt 0.636905 0.089840 +vt 0.438490 0.092892 +vt 0.438490 0.101056 +vt 0.373174 0.101056 +vt 0.446425 0.960938 +vt 0.463141 0.944222 +vt 0.471499 0.960938 +vt 0.495083 0.131039 +vt 0.501339 0.098198 +vt 0.590675 0.098198 +vt 0.590675 0.089840 +vt 0.735634 0.886075 +vt 0.735634 0.906970 +vt 0.727276 0.906970 +vt 0.081620 0.614580 +vt 0.081620 0.633770 +vt 0.023115 0.633770 +vt 0.081620 0.652961 +vt 0.023115 0.652961 +vt 0.081620 0.672151 +vt 0.023115 0.672152 +vt 0.081620 0.691342 +vt 0.023115 0.691342 +vt 0.081620 0.710533 +vt 0.081620 0.729723 +vt 0.023115 0.729723 +vt 0.193134 0.701737 +vt 0.081620 0.748914 +vt 0.081620 0.768104 +vt 0.023115 0.768104 +vt 0.023115 0.748914 +vt 0.936887 0.329481 +vt 0.921830 0.323244 +vt 0.921830 0.316528 +vt 0.732813 0.217059 +vt 0.732813 0.236250 +vt 0.674308 0.236250 +vt 0.190354 0.746285 +vt 0.190701 0.764106 +vt 0.190701 0.618578 +vt 0.190189 0.643576 +vt 0.190589 0.652145 +vt 0.190589 0.730539 +vt 0.192044 0.663156 +vt 0.193134 0.680947 +vt 0.190320 0.737445 +vt 0.190347 0.636661 +vt 0.190320 0.645239 +vt 0.732813 0.255441 +vt 0.674308 0.255441 +vt 0.732813 0.274631 +vt 0.674308 0.274631 +vt 0.732813 0.293822 +vt 0.674308 0.293822 +vt 0.732813 0.313012 +vt 0.732813 0.332203 +vt 0.674308 0.332203 +vt 0.844327 0.304217 +vt 0.674308 0.351393 +vt 0.732813 0.351393 +vt 0.732813 0.370584 +vt 0.916707 0.647951 +vt 0.916707 0.628760 +vt 0.931764 0.634997 +vt 0.841547 0.348765 +vt 0.841894 0.366586 +vt 0.841894 0.221057 +vt 0.841382 0.246056 +vt 0.841782 0.254624 +vt 0.841782 0.333019 +vt 0.843237 0.265636 +vt 0.844327 0.283427 +vt 0.841513 0.339925 +vt 0.841540 0.239141 +vt 0.841513 0.247719 +vt 0.933978 0.136466 +vt 0.933978 0.129749 +vt 0.951178 0.131429 +vt 0.933978 0.041011 +vt 0.951178 0.042690 +vt 0.951178 0.046048 +vt 0.963037 0.647951 +vt 0.949468 0.661521 +vt 0.943231 0.646464 +vt 0.904127 0.296721 +vt 0.923317 0.296721 +vt 0.917080 0.311778 +vt 0.963037 0.628760 +vt 0.947980 0.634997 +vt 0.943231 0.630248 +vt 0.930277 0.615191 +vt 0.936514 0.630248 +vt 0.890557 0.329481 +vt 0.890557 0.310291 +vt 0.905614 0.316528 +vt 0.923317 0.343051 +vt 0.917080 0.327994 +vt 0.930277 0.661521 +vt 0.936514 0.646464 +vt 0.931764 0.641714 +vt 0.947980 0.641714 +vt 0.936887 0.310291 +vt 0.949468 0.615191 +vt 0.910363 0.311778 +vt 0.904127 0.343051 +vt 0.910363 0.327994 +vt 0.905614 0.323244 +vt 0.959286 0.134787 +vt 0.951178 0.134787 +vt 0.956911 0.048423 +vt 0.953553 0.040315 +vt 0.942578 0.026966 +vt 0.937828 0.120453 +vt 0.942578 0.115704 +vt 0.953553 0.129054 +vt 0.958590 0.111853 +vt 0.956911 0.129054 +vt 0.951874 0.023115 +vt 0.958590 0.023115 +vt 0.956911 0.040315 +vt 0.972636 0.031715 +vt 0.959286 0.042690 +vt 0.967886 0.115704 +vt 0.972636 0.120453 +vt 0.959286 0.131429 +vt 0.976486 0.047728 +vt 0.959286 0.046048 +vt 0.976486 0.136466 +vt 0.967886 0.061773 +vt 0.967886 0.150511 +vt 0.956911 0.137162 +vt 0.958590 0.065623 +vt 0.951874 0.065623 +vt 0.953553 0.048423 +vt 0.951874 0.154362 +vt 0.953553 0.137162 +vt 0.937828 0.057024 +vt 0.937828 0.145762 +vt 0.104605 0.908431 +vt 0.050278 0.814335 +vt 0.104605 0.814335 +vt 0.887748 0.070191 +vt 0.806242 0.117211 +vt 0.806274 0.023115 +vt 0.183801 0.057551 +vt 0.365592 0.800290 +vt 0.474246 0.796153 +vt 0.474234 0.829584 +vt 0.365399 0.782561 +vt 0.365376 0.843092 +vt 0.365582 0.825364 +vt 0.498265 0.864686 +vt 0.473249 0.862987 +vt 0.474099 0.850479 +vt 0.498305 0.761069 +vt 0.474128 0.775258 +vt 0.473288 0.762750 +vt 0.061334 0.057550 +vt 0.023171 0.048434 +vt 0.183807 0.049227 +vt 0.023171 0.145510 +vt 0.023115 0.136594 +vt 0.061333 0.136394 +vt 0.053169 0.080643 +vt 0.142978 0.105137 +vt 0.142978 0.088808 +vt 0.492935 0.796160 +vt 0.492922 0.829591 +vt 0.501055 0.858174 +vt 0.492204 0.834715 +vt 0.492221 0.791036 +vt 0.501090 0.767583 +vt 0.732865 0.055061 +vt 0.729368 0.073420 +vt 0.643160 0.056999 +vt 0.726240 0.089840 +vt 0.501339 0.089840 +vt 0.498211 0.073420 +vt 0.584419 0.056999 +vt 0.494714 0.055061 +vt 0.578143 0.023115 +vt 0.911673 0.953106 +vt 0.945105 0.953106 +vt 0.911673 0.961464 +vt 0.266017 0.948784 +vt 0.300478 0.948784 +vt 0.268044 0.956892 +vt 0.837046 0.636086 +vt 0.837045 0.661160 +vt 0.183872 0.036231 +vt 0.183934 0.023484 +vt 0.107451 0.023115 +vt 0.023280 0.030418 +vt 0.041241 0.039535 +vt 0.104297 0.039917 +vt 0.282222 0.535011 +vt 0.023115 0.568350 +vt 0.282210 0.493013 +vt 0.023115 0.493013 +vt 0.350314 0.217059 +vt 0.609512 0.249688 +vt 0.609410 0.293318 +vt 0.350314 0.293318 +vt 0.300415 0.510627 +vt 0.299436 0.493424 +vt 0.626473 0.274945 +vt 0.626602 0.292175 +vt 0.857085 0.961464 +vt 0.840370 0.961464 +vt 0.840370 0.953106 +vt 0.282210 0.459582 +vt 0.299440 0.493013 +vt 0.299441 0.476297 +vt 0.626640 0.293318 +vt 0.609410 0.318391 +vt 0.626640 0.310034 +vt 0.628078 0.319267 +vt 0.627762 0.321923 +vt 0.609620 0.337079 +vt 0.304084 0.469474 +vt 0.302672 0.460236 +vt 0.282588 0.447768 +vt 0.023115 0.434507 +vt 0.023306 0.415819 +vt 0.350446 0.369895 +vt 0.350314 0.343465 +vt 0.041241 0.154409 +vt 0.023280 0.163526 +vt 0.183806 0.144719 +vt 0.104297 0.154028 +vt 0.107451 0.170829 +vt 0.471603 0.888006 +vt 0.496074 0.897992 +vt 0.471054 0.896346 +vt 0.194714 0.957142 +vt 0.194714 0.948784 +vt 0.211429 0.957142 +vt 0.303893 0.217059 +vt 0.304084 0.235747 +vt 0.044989 0.260821 +vt 0.044989 0.294252 +vt 0.304084 0.294252 +vt 0.304084 0.369589 +vt 0.044978 0.336250 +vt 0.368666 0.492389 +vt 0.368563 0.448760 +vt 0.627759 0.416125 +vt 0.627761 0.492384 +vt 0.368666 0.517463 +vt 0.627762 0.542531 +vt 0.627631 0.568961 +vt 0.368457 0.536151 +vt 0.044611 0.249007 +vt 0.350321 0.745932 +vt 0.362826 0.745039 +vt 0.363719 0.757544 +vt 0.351436 0.492389 +vt 0.351436 0.509105 +vt 0.351474 0.491247 +vt 0.351603 0.474017 +vt 0.350314 0.520995 +vt 0.350419 0.511651 +vt 0.024526 0.261476 +vt 0.023115 0.270713 +vt 0.027759 0.294252 +vt 0.027759 0.277537 +vt 0.027764 0.294663 +vt 0.026785 0.311866 +vt 0.191841 0.870981 +vt 0.209571 0.888711 +vt 0.200706 0.897576 +vt 0.253680 0.867309 +vt 0.235405 0.862877 +vt 0.235405 0.854012 +vt 0.177998 0.867309 +vt 0.177998 0.849579 +vt 0.190535 0.849579 +vt 0.182976 0.837043 +vt 0.200706 0.819313 +vt 0.209571 0.828178 +vt 0.230972 0.814335 +vt 0.230972 0.826871 +vt 0.213242 0.826871 +vt 0.243509 0.819313 +vt 0.261239 0.837043 +vt 0.252374 0.845907 +vt 0.253680 0.849579 +vt 0.266217 0.849579 +vt 0.266217 0.867309 +vt 0.261239 0.879846 +vt 0.243509 0.897576 +vt 0.234644 0.888711 +vt 0.889144 0.488041 +vt 0.926755 0.500578 +vt 0.876607 0.525652 +vt 0.226540 0.845147 +vt 0.208810 0.854012 +vt 0.208810 0.862877 +vt 0.217675 0.871742 +vt 0.226540 0.871742 +vt 0.213243 0.890017 +vt 0.217675 0.845147 +vt 0.454907 0.738464 +vt 0.800242 0.568547 +vt 0.687392 0.568961 +vt 0.454923 0.886909 +vt 0.367030 0.636085 +vt 0.367030 0.661159 +vt 0.350314 0.661159 +vt 0.486014 0.682054 +vt 0.486014 0.615191 +vt 0.536161 0.615191 +vt 0.460940 0.682054 +vt 0.442251 0.665338 +vt 0.442251 0.631906 +vt 0.442251 0.682054 +vt 0.442251 0.615191 +vt 0.350314 0.623548 +vt 0.239364 0.623401 +vt 0.247709 0.622938 +vt 0.251888 0.698159 +vt 0.281140 0.622938 +vt 0.276961 0.698159 +vt 0.251888 0.706517 +vt 0.285306 0.698622 +vt 0.281140 0.614580 +vt 0.687392 0.488041 +vt 0.800242 0.488455 +vt 0.230972 0.890017 +vt 0.230972 0.902554 +vt 0.358076 0.944222 +vt 0.375900 0.944222 +vt 0.374609 0.956693 +vt 0.247125 0.752747 +vt 0.264950 0.752747 +vt 0.263658 0.765217 +vt 0.769066 0.879365 +vt 0.748171 0.879365 +vt 0.735634 0.871008 +vt 0.727276 0.886075 +vt 0.727276 0.871008 +vt 0.727276 0.825039 +vt 0.735634 0.825039 +vt 0.685487 0.825039 +vt 0.693845 0.879366 +vt 0.727276 0.728284 +vt 0.735634 0.728284 +vt 0.735634 0.783250 +vt 0.727276 0.783250 +vt 0.899567 0.865427 +vt 0.916283 0.865427 +vt 0.916283 0.882143 +vt 0.848728 0.882143 +vt 0.848728 0.865427 +vt 0.852850 0.840695 +vt 0.966430 0.865427 +vt 0.966430 0.882143 +vt 0.899567 0.882143 +vt 0.902315 0.898632 +vt 0.852850 0.906876 +vt 0.823654 0.865427 +vt 0.597467 0.886075 +vt 0.597467 0.906970 +vt 0.589109 0.906970 +vt 0.630899 0.879365 +vt 0.610004 0.879365 +vt 0.597467 0.871008 +vt 0.589109 0.886075 +vt 0.589109 0.871008 +vt 0.589109 0.825039 +vt 0.597467 0.825039 +vt 0.547320 0.825039 +vt 0.555678 0.879365 +vt 0.589109 0.728284 +vt 0.597467 0.728284 +vt 0.597467 0.783250 +vt 0.589109 0.783250 +vt 0.899567 0.753017 +vt 0.916283 0.753017 +vt 0.916283 0.769732 +vt 0.848728 0.769732 +vt 0.848728 0.753017 +vt 0.852850 0.728284 +vt 0.966430 0.753017 +vt 0.966430 0.769732 +vt 0.899567 0.769732 +vt 0.902315 0.786221 +vt 0.852850 0.794465 +vt 0.823654 0.753017 +vt 0.976885 0.398738 +vt 0.976885 0.438856 +vt 0.973930 0.438856 +vt 0.970975 0.438856 +vt 0.970975 0.398738 +vt 0.968020 0.438856 +vt 0.965065 0.438856 +vt 0.965065 0.398738 +vt 0.976885 0.441811 +vt 0.559140 0.969916 +vt 0.559140 0.972871 +vt 0.556185 0.972871 +vt 0.547320 0.953200 +vt 0.550275 0.953200 +vt 0.550275 0.969916 +vt 0.553230 0.953200 +vt 0.553230 0.969916 +vt 0.556185 0.953200 +vt 0.559140 0.953200 +vt 0.556185 0.969916 +vt 0.676441 0.441811 +vt 0.673992 0.437597 +vt 0.916386 0.437597 +vt 0.093991 0.088808 +vt 0.093991 0.105137 +vt 0.053169 0.113301 +vt 0.949062 0.217059 +vt 0.949062 0.225417 +vt 0.898915 0.225417 +vt 0.949062 0.242133 +vt 0.898915 0.242133 +vt 0.890557 0.225417 +vt 0.898915 0.250491 +vt 0.957420 0.242133 +vt 0.824908 0.565524 +vt 0.825520 0.491615 +vt 0.800242 0.513875 +vt 0.830377 0.528919 +vt 0.611382 0.682054 +vt 0.438688 0.071985 +vt 0.380537 0.169517 +vt 0.380457 0.041428 +vt 0.448443 0.152193 +vt 0.438687 0.133509 +vt 0.673992 0.507606 +vt 0.649416 0.163880 +vt 0.446425 0.952580 +vt 0.454783 0.944222 +vt 0.471499 0.969296 +vt 0.446425 0.969296 +vt 0.471499 0.952580 +vt 0.578164 0.163881 +vt 0.023115 0.614580 +vt 0.023115 0.710533 +vt 0.192044 0.719528 +vt 0.674308 0.217059 +vt 0.190354 0.636399 +vt 0.190189 0.739108 +vt 0.190347 0.746023 +vt 0.674308 0.313012 +vt 0.843237 0.322008 +vt 0.674308 0.370584 +vt 0.841547 0.238879 +vt 0.841382 0.341588 +vt 0.841540 0.348502 +vt 0.933978 0.047727 +vt 0.937828 0.031715 +vt 0.951874 0.111853 +vt 0.967886 0.026966 +vt 0.976486 0.041011 +vt 0.976486 0.129749 +vt 0.972636 0.057024 +vt 0.972636 0.145762 +vt 0.958590 0.154362 +vt 0.942578 0.061773 +vt 0.942578 0.150511 +vt 0.131768 0.861383 +vt 0.050278 0.908431 +vt 0.023115 0.861383 +vt 0.860601 0.023134 +vt 0.860568 0.117230 +vt 0.779095 0.070154 +vt 0.023115 0.057350 +vt 0.649436 0.023115 +vt 0.870477 0.636086 +vt 0.870477 0.661160 +vt 0.380539 0.024431 +vt 0.857085 0.953106 +vt 0.865443 0.957285 +vt 0.823654 0.957285 +vt 0.219787 0.952963 +vt 0.211429 0.948784 +vt 0.177998 0.952963 +vt 0.182976 0.879846 +vt 0.190535 0.867309 +vt 0.191841 0.845907 +vt 0.213242 0.814335 +vt 0.234644 0.828178 +vt 0.252374 0.870981 +vt 0.914218 0.538189 +vt 0.889144 0.538189 +vt 0.876607 0.500578 +vt 0.914218 0.488041 +vt 0.926755 0.525652 +vt 0.472701 0.871326 +vt 0.472728 0.754411 +vt 0.350314 0.636085 +vt 0.536161 0.682054 +vt 0.460940 0.615191 +vt 0.350314 0.673696 +vt 0.243543 0.698622 +vt 0.276961 0.706517 +vt 0.289485 0.623401 +vt 0.247709 0.614580 +vt 0.213243 0.902554 +vt 0.400195 0.953040 +vt 0.392433 0.956693 +vt 0.393347 0.947875 +vt 0.357162 0.953040 +vt 0.350314 0.947875 +vt 0.289244 0.761564 +vt 0.281483 0.765217 +vt 0.282396 0.756399 +vt 0.246212 0.761564 +vt 0.239364 0.756399 +vt 0.777424 0.825039 +vt 0.714740 0.879366 +vt 0.902315 0.848939 +vt 0.823654 0.882143 +vt 0.639257 0.825039 +vt 0.576573 0.879365 +vt 0.902315 0.736528 +vt 0.823654 0.769732 +vt 0.973930 0.398738 +vt 0.968020 0.398738 +vt 0.973930 0.441811 +vt 0.547320 0.969916 +vt 0.918835 0.441811 +vt 0.898915 0.217059 +vt 0.890557 0.242133 +vt 0.949062 0.250491 +vt 0.957420 0.225417 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.707100 -0.707100 0.000000 +vn -0.994100 0.000000 0.108100 +vn -0.700400 -0.700400 0.137000 +vn -1.000000 0.000000 0.000000 +vn -0.707100 -0.707100 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.554700 0.832100 +vn 0.000000 -0.991600 0.129300 +vn 0.000000 -1.000000 0.000000 +vn 0.187100 0.000000 -0.982300 +vn 0.000000 0.000000 1.000000 +vn -0.187100 0.000000 -0.982300 +vn 0.382700 0.923900 0.000000 +vn 0.923900 0.382700 0.000000 +vn 0.923900 -0.382700 0.000000 +vn 0.382700 -0.923900 0.000000 +vn -0.382700 -0.923900 0.000000 +vn -0.923900 -0.382700 0.000000 +vn -0.372900 -0.900200 0.225000 +vn -0.382700 0.923900 0.000000 +vn -0.923900 0.382700 0.000000 +vn -0.102900 0.993700 0.045200 +vn 0.381200 0.920300 0.088500 +vn 0.515600 -0.854300 0.065700 +vn -0.921200 -0.381600 0.076100 +vn 0.101000 -0.975700 0.194500 +vn -0.923500 0.382500 -0.029400 +vn 0.516300 0.855500 0.038900 +vn -0.897900 0.371900 -0.235700 +vn -0.897900 -0.371900 -0.235700 +vn -0.371900 0.897900 -0.235700 +vn 0.371900 0.897900 -0.235700 +vn 0.897900 0.371900 -0.235700 +vn 0.897900 -0.371900 -0.235700 +vn 0.371900 -0.897900 -0.235700 +vn -0.371900 -0.897900 -0.235700 +vn 0.700400 -0.700400 0.137000 +vn 0.706800 -0.706800 -0.027200 +vn -0.706800 -0.706800 -0.027200 +vn 0.000000 -0.894400 0.447200 +vn -0.557100 -0.742800 0.371400 +vn 0.557100 -0.742800 0.371400 +vn 0.000000 0.894400 0.447200 +vn -0.046100 0.969100 0.242300 +vn 0.994100 0.000000 0.108100 +vn 0.012800 -0.995000 0.099500 +vn 0.000000 -0.998500 0.055500 +vn 0.037100 0.957200 0.287200 +vn 0.000000 0.986400 0.164400 +vn 0.518500 -0.829600 0.207400 +vn 0.241400 -0.965600 0.096600 +vn 0.188100 0.940700 0.282200 +vn 0.235700 0.942800 0.235700 +vn 0.242500 -0.970100 0.000000 +vn 0.242500 0.970100 0.000000 +vn 0.408200 0.816500 -0.408200 +vn 0.557100 -0.742800 -0.371400 +vn 0.577400 -0.577300 -0.577400 +vn 0.043200 -0.893600 -0.446800 +vn 0.090900 -0.704200 -0.704200 +vn 0.057600 0.892900 -0.446500 +vn 0.030600 0.948200 -0.316100 +vn -0.043200 -0.893600 -0.446800 +vn -0.012800 -0.995000 0.099500 +vn -0.037100 0.957200 0.287200 +vn -0.030600 0.948200 -0.316100 +vn -0.057600 0.892900 -0.446500 +vn -0.090900 -0.704200 -0.704200 +vn -0.242500 0.970100 0.000000 +vn -0.235700 0.942800 0.235700 +vn -0.188100 0.940700 0.282200 +vn -0.408200 0.816500 -0.408200 +vn -0.577400 -0.577300 -0.577400 +vn -0.557100 -0.742800 -0.371400 +vn -0.242500 -0.970100 0.000000 +vn -0.241400 -0.965600 0.096600 +vn -0.518500 -0.829600 0.207400 +vn -0.485100 0.485100 -0.727600 +vn -0.707100 0.707100 -0.000000 +vn 0.707100 0.000000 -0.707100 +vn 0.000000 0.707100 -0.707100 +vn -0.485100 -0.485100 -0.727600 +vn 0.485100 0.485100 -0.727600 +vn -0.707100 0.000000 -0.707100 +vn 0.000000 -0.707100 -0.707100 +vn 0.485100 -0.485100 -0.727600 +vn -0.972700 0.231200 -0.018000 +vn -0.996500 -0.034100 -0.076700 +vn 0.995900 0.000000 -0.090500 +vn 0.000000 0.894400 -0.447200 +vn 0.998500 0.000000 0.055500 +vn -0.998500 0.000000 0.055500 +vn 0.972700 0.231200 -0.018000 +vn 0.707100 0.707100 0.000000 +vn 0.000000 0.832000 0.554700 +vn 0.000000 0.152100 -0.988400 +vn 0.000000 0.164400 -0.986400 +vn -0.707100 0.000000 0.707100 +vn 0.707100 0.000000 0.707100 +vn -0.668500 0.111400 -0.735300 +vn 0.652300 0.108700 -0.750100 +vn 0.000000 0.554700 -0.832100 +vn -0.101000 -0.975700 0.194500 +vn -0.381200 0.920300 0.088500 +vn 0.102900 0.993700 0.045200 +vn 0.921200 -0.381600 0.076100 +vn -0.515600 -0.854300 0.065700 +vn 0.372900 -0.900200 0.225000 +vn -0.516300 0.855500 0.038900 +vn 0.923500 0.382500 -0.029400 +vn 0.599400 -0.799100 -0.046100 +vn -0.599400 -0.799100 -0.046100 +vn 0.046100 0.969100 0.242300 +vn -0.986400 0.164400 0.000000 +vn -0.995900 0.000000 -0.090500 +vn 0.996500 -0.034100 -0.076700 +vn 0.986400 0.164400 0.000000 +vn 0.000000 0.832100 0.554700 +s off +f 1/1/1 9/2/1 10/3/1 +f 173/4/2 171/5/2 4/6/2 +f 138/7/3 139/8/3 141/9/3 +f 23/10/4 1/11/4 181/12/4 +f 135/13/5 134/14/5 137/15/5 +f 24/16/2 26/17/2 141/18/2 +f 25/19/6 23/10/6 136/20/6 +f 136/21/7 137/15/7 142/22/7 +f 200/23/8 198/24/8 149/25/8 +f 17/26/1 19/27/1 20/28/1 +f 20/28/9 19/27/9 21/29/9 +f 134/14/10 133/30/10 138/31/10 +f 24/32/11 27/33/11 28/34/11 +f 27/33/12 24/32/12 10/35/12 +f 143/36/11 142/37/11 137/38/11 +f 25/39/13 143/40/13 26/41/13 +f 30/42/11 29/43/11 23/44/11 +f 9/45/14 23/44/14 29/43/14 +f 36/46/1 35/47/1 31/48/1 +f 41/49/15 43/50/15 42/51/15 +f 43/50/16 45/52/16 44/53/16 +f 45/52/17 47/54/17 46/55/17 +f 47/54/18 49/56/18 48/57/18 +f 48/57/19 49/56/19 51/58/19 +f 51/58/20 53/59/20 52/60/20 +f 51/58/21 49/56/21 60/61/21 +f 55/62/22 41/63/22 40/64/22 +f 53/59/23 55/62/23 54/65/23 +f 76/66/8 102/67/8 101/68/8 +f 65/69/15 67/70/15 66/71/15 +f 55/62/24 63/72/24 57/73/24 +f 43/50/25 41/49/25 57/74/25 +f 45/52/26 58/75/26 59/76/26 +f 53/59/27 51/58/27 61/77/27 +f 47/54/28 59/78/28 60/79/28 +f 55/62/29 53/59/29 62/80/29 +f 43/50/30 56/81/30 58/82/30 +f 67/70/16 69/83/16 68/84/16 +f 69/83/17 71/85/17 70/86/17 +f 71/85/18 73/87/18 72/88/18 +f 72/88/19 73/87/19 75/89/19 +f 75/89/20 77/90/20 76/91/20 +f 75/89/21 73/87/21 84/92/21 +f 78/93/22 79/94/22 65/95/22 +f 77/90/23 79/94/23 78/93/23 +f 42/96/8 44/97/8 90/98/8 +f 79/94/24 87/99/24 81/100/24 +f 67/70/25 65/69/25 81/101/25 +f 69/83/26 82/102/26 83/103/26 +f 77/90/27 75/89/27 85/104/27 +f 71/85/28 83/105/28 84/106/28 +f 79/94/29 77/90/29 86/107/29 +f 67/70/30 80/108/30 82/109/30 +f 94/110/31 95/111/31 111/112/31 +f 102/113/32 118/114/32 117/115/32 +f 52/116/8 54/117/8 95/118/8 +f 70/119/8 72/120/8 100/121/8 +f 50/122/8 93/123/8 92/124/8 +f 46/125/8 91/126/8 90/98/8 +f 66/127/8 68/128/8 98/129/8 +f 76/66/8 78/130/8 103/131/8 +f 54/117/8 40/132/8 88/133/8 +f 42/96/8 89/134/8 88/133/8 +f 52/116/8 94/135/8 93/123/8 +f 74/136/8 101/68/8 100/121/8 +f 46/125/8 48/137/8 92/124/8 +f 70/119/8 99/138/8 98/129/8 +f 78/130/8 64/139/8 96/140/8 +f 66/127/8 97/141/8 96/140/8 +f 107/142/8 110/143/8 111/112/8 +f 115/144/8 118/114/8 119/145/8 +f 103/146/31 119/145/31 118/114/31 +f 95/147/33 88/148/33 104/149/33 +f 89/150/34 105/151/34 104/149/34 +f 103/152/33 96/153/33 112/154/33 +f 97/155/34 113/156/34 112/154/34 +f 89/157/35 90/158/35 106/159/35 +f 98/160/35 114/161/35 113/156/35 +f 91/162/36 107/142/36 106/159/36 +f 99/163/36 115/144/36 114/161/36 +f 92/164/37 108/165/37 107/142/37 +f 99/166/37 100/167/37 116/168/37 +f 93/169/38 109/170/38 108/165/38 +f 101/171/38 117/115/38 116/168/38 +f 94/172/32 110/143/32 109/170/32 +f 122/173/8 125/174/8 120/175/8 +f 128/176/8 130/177/8 126/178/8 +f 138/7/39 133/30/39 132/179/39 +f 152/180/11 154/181/11 155/182/11 +f 154/181/40 152/180/40 150/183/40 +f 151/184/41 153/185/41 155/182/41 +f 159/186/6 147/187/6 157/188/6 +f 158/189/2 156/190/2 144/191/2 +f 158/192/2 5/193/2 6/194/2 +f 7/195/6 147/196/6 159/197/6 +f 133/30/3 145/198/3 158/192/3 +f 134/14/7 135/13/7 159/197/7 +f 276/199/11 275/200/11 133/30/11 +f 154/181/42 145/201/42 146/202/42 +f 157/188/43 155/182/43 159/203/43 +f 146/204/43 159/203/43 155/182/43 +f 145/205/44 154/181/44 158/206/44 +f 156/190/44 158/206/44 154/181/44 +f 28/207/45 161/208/45 14/209/45 +f 13/210/1 10/35/1 14/209/1 +f 15/211/1 160/212/1 39/213/1 +f 30/214/46 25/215/46 39/213/46 +f 11/216/6 39/217/6 25/218/6 +f 26/219/2 14/220/2 12/221/2 +f 39/222/1 14/223/1 10/3/1 +f 165/224/47 3/225/47 24/16/47 +f 165/224/2 167/226/2 3/225/2 +f 171/227/2 169/228/2 5/193/2 +f 5/193/2 169/228/2 163/229/2 +f 163/229/2 165/224/2 6/194/2 +f 164/230/48 165/231/48 162/232/48 +f 162/232/49 165/231/49 163/233/49 +f 165/234/50 164/235/50 166/236/50 +f 166/236/51 167/237/51 165/234/51 +f 174/238/52 164/230/52 175/239/52 +f 164/230/53 162/232/53 175/239/53 +f 166/236/54 164/235/54 174/240/54 +f 177/241/55 166/236/55 174/240/55 +f 178/242/2 177/243/2 175/244/2 +f 168/245/56 175/246/56 162/232/56 +f 175/246/56 168/245/56 176/247/56 +f 177/248/57 172/249/57 166/236/57 +f 172/249/57 177/248/57 178/250/57 +f 178/250/58 179/251/58 172/249/58 +f 179/252/58 170/253/58 172/249/58 +f 176/254/59 168/245/59 179/255/59 +f 170/256/60 179/255/60 168/245/60 +f 163/233/11 169/257/11 162/232/11 +f 168/245/11 162/232/11 169/257/11 +f 169/257/61 171/258/61 168/245/61 +f 170/256/62 168/245/62 171/258/62 +f 171/259/63 172/249/63 170/253/63 +f 172/249/64 171/259/64 173/260/64 +f 167/237/1 166/236/1 172/249/1 +f 172/249/1 173/260/1 167/237/1 +f 7/195/6 183/261/6 16/262/6 +f 7/195/6 8/263/6 180/264/6 +f 180/264/6 8/263/6 181/12/6 +f 181/12/6 1/11/6 182/265/6 +f 16/266/6 185/267/6 2/268/6 +f 192/269/6 194/270/6 193/271/6 +f 16/272/65 183/273/65 188/274/65 +f 188/274/11 183/273/11 184/275/11 +f 183/273/11 180/276/11 184/275/11 +f 181/277/49 184/275/49 180/276/49 +f 184/275/66 181/277/66 186/278/66 +f 187/279/67 186/280/67 181/281/67 +f 181/281/51 182/282/51 187/279/51 +f 187/279/1 182/282/1 190/283/1 +f 182/282/1 185/284/1 190/283/1 +f 185/284/68 16/285/68 190/283/68 +f 190/283/69 16/285/69 189/286/69 +f 189/287/70 16/272/70 188/274/70 +f 199/288/8 148/289/8 197/290/8 +f 194/291/71 190/283/71 195/292/71 +f 190/283/71 194/291/71 187/279/71 +f 194/293/72 191/294/72 187/279/72 +f 187/279/73 191/294/73 186/280/73 +f 190/283/74 189/286/74 196/295/74 +f 196/295/74 195/296/74 190/283/74 +f 189/287/75 188/274/75 196/297/75 +f 193/298/76 196/297/76 188/274/76 +f 188/274/77 184/275/77 192/299/77 +f 192/299/77 193/300/77 188/274/77 +f 186/278/78 192/301/78 184/275/78 +f 191/302/79 192/301/79 186/278/79 +f 201/303/2 208/304/2 197/305/2 +f 206/306/80 214/307/80 215/308/80 +f 150/309/3 152/310/3 202/311/3 +f 152/312/11 153/313/11 204/314/11 +f 151/315/7 203/316/7 204/317/7 +f 151/318/6 198/319/6 207/320/6 +f 207/321/81 198/322/81 200/323/81 +f 200/324/1 199/325/1 205/326/1 +f 151/327/8 200/328/8 152/329/8 +f 211/330/8 214/307/8 210/331/8 +f 201/303/82 209/332/82 216/333/82 +f 205/326/83 213/334/83 214/307/83 +f 204/317/84 203/316/84 211/330/84 +f 208/335/85 216/333/85 213/334/85 +f 207/320/86 215/308/86 211/330/86 +f 204/314/87 212/336/87 210/331/87 +f 202/311/88 210/331/88 209/332/88 +f 4/6/2 171/5/2 220/337/2 +f 217/338/89 21/339/89 19/27/89 +f 16/266/6 2/268/6 219/340/6 +f 151/184/90 157/188/90 219/340/90 +f 197/290/91 220/337/91 150/183/91 +f 222/341/1 221/342/1 199/343/1 +f 173/344/1 185/345/1 182/346/1 +f 4/347/92 223/348/92 224/349/92 +f 221/342/1 223/348/1 220/350/1 +f 219/351/1 222/341/1 149/352/1 +f 224/353/93 228/354/93 226/355/93 +f 228/354/1 227/356/1 225/357/1 +f 222/358/13 226/355/13 225/357/13 +f 221/359/94 225/357/94 227/356/94 +f 223/360/8 227/356/8 228/354/8 +f 20/28/95 22/361/95 218/362/95 +f 208/335/96 205/363/96 199/364/96 +f 85/365/13 84/366/13 81/367/13 +f 61/368/13 60/369/13 57/370/13 +f 35/371/2 36/372/2 233/373/2 +f 36/46/97 32/374/97 232/375/97 +f 232/375/13 34/376/13 38/377/13 +f 33/378/6 232/375/6 31/379/6 +f 31/380/98 35/381/98 234/382/98 +f 34/376/11 33/383/11 234/382/11 +f 238/384/1 237/385/1 230/386/1 +f 37/387/99 235/388/99 238/384/99 +f 238/384/6 235/388/6 236/389/6 +f 237/385/13 236/390/13 229/391/13 +f 231/392/2 230/393/2 229/394/2 +f 236/395/11 235/388/11 37/387/11 +f 244/396/1 243/397/1 239/398/1 +f 243/399/2 244/400/2 251/401/2 +f 244/396/97 240/402/97 250/403/97 +f 250/403/13 242/404/13 246/405/13 +f 241/406/6 250/403/6 239/407/6 +f 239/408/98 243/409/98 252/410/98 +f 242/404/11 241/411/11 252/410/11 +f 256/412/1 255/413/1 248/414/1 +f 245/415/99 253/416/99 256/412/99 +f 256/412/6 253/416/6 254/417/6 +f 255/413/13 254/418/13 247/419/13 +f 249/420/2 248/421/2 247/422/2 +f 254/423/11 253/416/11 245/415/11 +f 265/424/86 264/425/86 260/426/86 +f 260/426/82 262/427/82 263/428/82 +f 258/429/100 264/430/100 265/431/100 +f 263/428/101 262/427/101 258/429/101 +f 260/426/1 264/425/1 258/432/1 +f 268/433/1 257/434/1 267/435/1 +f 272/436/82 269/437/82 257/438/82 +f 269/437/86 271/439/86 267/440/86 +f 270/441/101 272/442/101 268/433/101 +f 271/439/100 270/441/100 266/443/100 +f 257/444/1 268/445/1 258/446/1 +f 275/200/11 273/447/11 145/198/11 +f 145/198/11 273/447/11 274/448/11 +f 146/449/11 274/448/11 276/199/11 +f 274/450/2 278/451/2 280/452/2 +f 277/453/11 279/454/11 280/452/11 +f 276/455/8 280/452/8 279/454/8 +f 275/456/6 279/454/6 277/453/6 +f 273/457/13 277/453/13 278/451/13 +f 217/338/102 17/26/102 281/458/102 +f 218/362/103 281/459/103 18/460/103 +f 18/460/104 281/461/104 17/26/104 +f 3/462/1 1/1/1 10/3/1 +f 143/463/3 138/7/3 141/9/3 +f 8/263/4 135/13/4 136/20/4 +f 136/20/4 23/10/4 181/12/4 +f 9/464/4 1/11/4 23/10/4 +f 181/12/4 8/263/4 136/20/4 +f 136/21/5 135/13/5 137/15/5 +f 139/465/2 24/16/2 141/18/2 +f 140/466/6 25/19/6 136/20/6 +f 140/467/7 136/21/7 142/22/7 +f 18/460/1 17/26/1 20/28/1 +f 22/468/9 20/28/9 21/29/9 +f 137/38/10 134/14/10 138/31/10 +f 26/469/11 24/32/11 28/34/11 +f 13/210/12 27/33/12 10/35/12 +f 138/31/11 143/36/11 137/38/11 +f 25/39/13 140/470/13 142/471/13 +f 12/472/13 11/473/13 25/39/13 +f 143/40/13 141/474/13 26/41/13 +f 26/41/13 12/472/13 25/39/13 +f 25/39/13 142/471/13 143/40/13 +f 25/475/11 30/42/11 23/44/11 +f 15/211/14 9/45/14 29/43/14 +f 32/374/1 36/46/1 31/48/1 +f 40/476/15 41/49/15 42/51/15 +f 42/51/16 43/50/16 44/53/16 +f 44/53/17 45/52/17 46/55/17 +f 46/55/18 47/54/18 48/57/18 +f 50/477/19 48/57/19 51/58/19 +f 50/477/20 51/58/20 52/60/20 +f 61/478/105 51/58/105 60/61/105 +f 54/65/22 55/62/22 40/64/22 +f 52/60/23 53/59/23 54/65/23 +f 74/136/8 76/66/8 101/68/8 +f 64/479/15 65/69/15 66/71/15 +f 41/63/106 55/62/106 57/73/106 +f 56/480/107 43/50/107 57/74/107 +f 47/54/108 45/52/108 59/76/108 +f 62/481/109 53/59/109 61/77/109 +f 49/56/110 47/54/110 60/79/110 +f 63/482/111 55/62/111 62/80/111 +f 45/52/112 43/50/112 58/82/112 +f 66/71/16 67/70/16 68/84/16 +f 68/84/17 69/83/17 70/86/17 +f 70/86/18 71/85/18 72/88/18 +f 74/483/19 72/88/19 75/89/19 +f 74/483/20 75/89/20 76/91/20 +f 85/484/105 75/89/105 84/92/105 +f 64/485/22 78/93/22 65/95/22 +f 76/91/23 77/90/23 78/93/23 +f 89/134/8 42/96/8 90/98/8 +f 65/95/106 79/94/106 81/100/106 +f 80/486/107 67/70/107 81/101/107 +f 71/85/108 69/83/108 83/103/108 +f 86/487/109 77/90/109 85/104/109 +f 73/87/110 71/85/110 84/106/110 +f 87/488/111 79/94/111 86/107/111 +f 69/83/112 67/70/112 82/109/112 +f 110/143/31 94/110/31 111/112/31 +f 101/489/32 102/113/32 117/115/32 +f 94/135/8 52/116/8 95/118/8 +f 99/138/8 70/119/8 100/121/8 +f 48/137/8 50/122/8 92/124/8 +f 44/97/8 46/125/8 90/98/8 +f 97/141/8 66/127/8 98/129/8 +f 102/67/8 76/66/8 103/131/8 +f 95/118/8 54/117/8 88/133/8 +f 40/132/8 42/96/8 88/133/8 +f 50/122/8 52/116/8 93/123/8 +f 72/120/8 74/136/8 100/121/8 +f 91/126/8 46/125/8 92/124/8 +f 68/128/8 70/119/8 98/129/8 +f 103/131/8 78/130/8 96/140/8 +f 64/139/8 66/127/8 96/140/8 +f 111/112/8 104/149/8 105/151/8 +f 105/151/8 106/159/8 107/142/8 +f 107/142/8 108/165/8 109/170/8 +f 109/170/8 110/143/8 107/142/8 +f 111/112/8 105/151/8 107/142/8 +f 119/145/8 112/154/8 113/156/8 +f 113/156/8 114/161/8 115/144/8 +f 115/144/8 116/168/8 117/115/8 +f 117/115/8 118/114/8 115/144/8 +f 119/145/8 113/156/8 115/144/8 +f 102/490/31 103/146/31 118/114/31 +f 111/112/33 95/147/33 104/149/33 +f 88/491/34 89/150/34 104/149/34 +f 119/145/33 103/152/33 112/154/33 +f 96/492/34 97/155/34 112/154/34 +f 105/151/35 89/157/35 106/159/35 +f 97/493/35 98/160/35 113/156/35 +f 90/494/36 91/162/36 106/159/36 +f 98/495/36 99/163/36 114/161/36 +f 91/496/37 92/164/37 107/142/37 +f 115/144/37 99/166/37 116/168/37 +f 92/497/38 93/169/38 108/165/38 +f 100/498/38 101/171/38 116/168/38 +f 93/499/32 94/172/32 109/170/32 +f 120/175/8 121/500/8 122/173/8 +f 122/173/8 123/501/8 124/502/8 +f 124/502/8 125/174/8 122/173/8 +f 126/178/8 127/503/8 128/176/8 +f 128/176/8 129/504/8 130/177/8 +f 130/177/8 131/505/8 126/178/8 +f 139/8/39 138/7/39 132/179/39 +f 153/185/11 152/180/11 155/182/11 +f 156/190/113 154/181/113 150/183/113 +f 157/188/114 151/184/114 155/182/114 +f 6/194/2 132/179/2 158/192/2 +f 158/192/2 144/506/2 5/193/2 +f 159/197/6 135/13/6 8/263/6 +f 8/263/6 7/195/6 159/197/6 +f 132/179/3 133/30/3 158/192/3 +f 146/449/7 134/14/7 159/197/7 +f 134/14/11 276/199/11 133/30/11 +f 155/182/42 154/181/42 146/202/42 +f 26/507/115 28/207/115 14/209/115 +f 161/208/1 13/210/1 14/209/1 +f 9/45/1 15/211/1 39/213/1 +f 160/212/45 30/214/45 39/213/45 +f 10/3/1 9/2/1 39/222/1 +f 39/222/1 11/508/1 12/509/1 +f 12/509/1 14/223/1 39/222/1 +f 139/465/47 132/179/47 6/194/47 +f 6/194/47 165/224/47 139/465/47 +f 3/225/47 10/510/47 24/16/47 +f 24/16/47 139/465/47 165/224/47 +f 6/194/2 5/193/2 163/229/2 +f 175/244/2 176/511/2 178/242/2 +f 179/512/2 178/242/2 176/511/2 +f 177/243/2 174/513/2 175/244/2 +f 183/261/6 7/195/6 180/264/6 +f 196/514/6 193/271/6 195/515/6 +f 192/269/6 191/516/6 194/270/6 +f 194/270/6 195/515/6 193/271/6 +f 150/517/2 201/303/2 197/305/2 +f 207/321/80 206/306/80 215/308/80 +f 201/518/3 150/309/3 202/311/3 +f 202/519/11 152/312/11 204/314/11 +f 153/520/7 151/315/7 204/317/7 +f 203/521/6 151/318/6 207/320/6 +f 206/306/81 207/321/81 200/323/81 +f 206/522/1 200/324/1 205/326/1 +f 197/523/8 150/524/8 152/329/8 +f 152/329/8 153/525/8 151/327/8 +f 151/327/8 198/526/8 200/328/8 +f 200/328/8 199/527/8 197/523/8 +f 197/523/8 152/329/8 200/328/8 +f 216/333/8 209/332/8 210/331/8 +f 210/331/8 212/336/8 211/330/8 +f 211/330/8 215/308/8 214/307/8 +f 214/307/8 213/334/8 216/333/8 +f 216/333/8 210/331/8 214/307/8 +f 208/304/82 201/303/82 216/333/82 +f 206/522/83 205/326/83 214/307/83 +f 212/336/84 204/317/84 211/330/84 +f 205/363/85 208/335/85 213/334/85 +f 203/521/86 207/320/86 211/330/86 +f 202/519/87 204/314/87 210/331/87 +f 201/518/88 202/311/88 209/332/88 +f 17/26/116 217/338/116 19/27/116 +f 7/528/6 16/266/6 219/340/6 +f 219/340/117 149/25/117 198/24/117 +f 198/24/117 151/184/117 219/340/117 +f 157/188/6 147/187/6 219/340/6 +f 7/528/6 219/340/6 147/187/6 +f 5/529/2 144/191/2 220/337/2 +f 156/190/118 150/183/118 220/337/118 +f 197/290/91 148/289/91 220/337/91 +f 220/337/2 171/5/2 5/529/2 +f 144/191/2 156/190/2 220/337/2 +f 200/530/1 222/341/1 199/343/1 +f 182/346/1 1/1/1 3/462/1 +f 3/462/1 167/531/1 182/346/1 +f 173/344/1 4/347/1 2/532/1 +f 2/532/1 185/345/1 173/344/1 +f 182/346/1 167/531/1 173/344/1 +f 219/351/92 2/532/92 224/349/92 +f 4/347/92 220/350/92 223/348/92 +f 224/349/92 2/532/92 4/347/92 +f 220/350/1 148/533/1 221/342/1 +f 199/343/1 221/342/1 148/533/1 +f 200/530/1 149/352/1 222/341/1 +f 219/351/1 224/349/1 222/341/1 +f 222/534/93 224/353/93 226/355/93 +f 226/355/1 228/354/1 225/357/1 +f 221/535/13 222/358/13 225/357/13 +f 223/536/94 221/359/94 227/356/94 +f 224/537/8 223/360/8 228/354/8 +f 18/460/119 20/28/119 218/362/119 +f 197/538/96 208/335/96 199/364/96 +f 82/539/13 80/540/13 83/541/13 +f 81/367/13 87/542/13 85/365/13 +f 86/543/13 85/365/13 87/542/13 +f 84/366/13 83/541/13 81/367/13 +f 80/540/13 81/367/13 83/541/13 +f 58/544/13 56/545/13 59/546/13 +f 57/370/13 63/547/13 61/368/13 +f 62/548/13 61/368/13 63/547/13 +f 60/369/13 59/546/13 57/370/13 +f 56/545/13 57/370/13 59/546/13 +f 233/373/2 38/377/2 234/549/2 +f 234/549/2 35/371/2 233/373/2 +f 233/373/120 36/46/120 232/375/120 +f 233/373/13 232/375/13 38/377/13 +f 32/550/6 31/379/6 232/375/6 +f 33/378/6 34/376/6 232/375/6 +f 33/383/98 31/380/98 234/382/98 +f 38/377/11 34/376/11 234/382/11 +f 231/392/1 238/384/1 230/386/1 +f 231/392/99 37/387/99 238/384/99 +f 237/551/6 238/384/6 236/389/6 +f 230/386/13 237/385/13 229/391/13 +f 37/387/2 231/392/2 229/394/2 +f 229/552/11 236/395/11 37/387/11 +f 240/402/1 244/396/1 239/398/1 +f 251/401/2 246/405/2 252/553/2 +f 252/553/2 243/399/2 251/401/2 +f 251/401/120 244/396/120 250/403/120 +f 251/401/13 250/403/13 246/405/13 +f 240/554/6 239/407/6 250/403/6 +f 241/406/6 242/404/6 250/403/6 +f 241/411/98 239/408/98 252/410/98 +f 246/405/11 242/404/11 252/410/11 +f 249/420/1 256/412/1 248/414/1 +f 249/420/99 245/415/99 256/412/99 +f 255/555/6 256/412/6 254/417/6 +f 248/414/13 255/413/13 247/419/13 +f 245/415/2 249/420/2 247/422/2 +f 247/556/11 254/423/11 245/415/11 +f 261/557/86 265/424/86 260/426/86 +f 261/557/82 260/426/82 263/428/82 +f 259/558/100 258/429/100 265/431/100 +f 259/558/101 263/428/101 258/429/101 +f 262/559/1 260/426/1 258/432/1 +f 266/443/1 268/433/1 267/435/1 +f 268/560/82 272/436/82 257/438/82 +f 257/438/86 269/437/86 267/440/86 +f 266/443/101 270/441/101 268/433/101 +f 267/440/100 271/439/100 266/443/100 +f 264/561/1 257/444/1 258/446/1 +f 133/30/11 275/200/11 145/198/11 +f 146/449/11 145/198/11 274/448/11 +f 134/14/11 146/449/11 276/199/11 +f 276/562/2 274/450/2 280/452/2 +f 278/451/11 277/453/11 280/452/11 +f 275/563/8 276/455/8 279/454/8 +f 273/564/6 275/456/6 277/453/6 +f 274/565/13 273/457/13 278/451/13 diff --git a/assets/hbm/textures/gui/gui_radiorec.png b/assets/hbm/textures/gui/gui_radiorec.png new file mode 100644 index 000000000..e2022e457 Binary files /dev/null and b/assets/hbm/textures/gui/gui_radiorec.png differ diff --git a/assets/hbm/textures/items/bomb_caller.png b/assets/hbm/textures/items/bomb_caller.png new file mode 100644 index 000000000..1039fbcee Binary files /dev/null and b/assets/hbm/textures/items/bomb_caller.png differ diff --git a/assets/hbm/textures/items/detonator_laser.png b/assets/hbm/textures/items/detonator_laser.png new file mode 100644 index 000000000..446c74e9f Binary files /dev/null and b/assets/hbm/textures/items/detonator_laser.png differ diff --git a/assets/hbm/textures/items/orange1.png b/assets/hbm/textures/items/orange1.png new file mode 100644 index 000000000..c225e6cc4 Binary files /dev/null and b/assets/hbm/textures/items/orange1.png differ diff --git a/assets/hbm/textures/items/orange2.png b/assets/hbm/textures/items/orange2.png new file mode 100644 index 000000000..acbfcd532 Binary files /dev/null and b/assets/hbm/textures/items/orange2.png differ diff --git a/assets/hbm/textures/items/orange3.png b/assets/hbm/textures/items/orange3.png new file mode 100644 index 000000000..46f3114eb Binary files /dev/null and b/assets/hbm/textures/items/orange3.png differ diff --git a/assets/hbm/textures/items/orange4.png b/assets/hbm/textures/items/orange4.png new file mode 100644 index 000000000..78e244e0a Binary files /dev/null and b/assets/hbm/textures/items/orange4.png differ diff --git a/assets/hbm/textures/items/orange5.png b/assets/hbm/textures/items/orange5.png new file mode 100644 index 000000000..c4dabc7e6 Binary files /dev/null and b/assets/hbm/textures/items/orange5.png differ diff --git a/assets/hbm/textures/items/orange6.png b/assets/hbm/textures/items/orange6.png new file mode 100644 index 000000000..f76ccc066 Binary files /dev/null and b/assets/hbm/textures/items/orange6.png differ diff --git a/assets/hbm/textures/items/orange7.png b/assets/hbm/textures/items/orange7.png new file mode 100644 index 000000000..b0ff3640a Binary files /dev/null and b/assets/hbm/textures/items/orange7.png differ diff --git a/assets/hbm/textures/items/orange8.png b/assets/hbm/textures/items/orange8.png new file mode 100644 index 000000000..a24a578ca Binary files /dev/null and b/assets/hbm/textures/items/orange8.png differ diff --git a/assets/hbm/textures/models/bombletZetaTexture.png b/assets/hbm/textures/models/bombletZetaTexture.png new file mode 100755 index 000000000..5e196136a Binary files /dev/null and b/assets/hbm/textures/models/bombletZetaTexture.png differ diff --git a/assets/hbm/textures/models/dornier_0.png b/assets/hbm/textures/models/dornier_0.png new file mode 100644 index 000000000..3120fb319 Binary files /dev/null and b/assets/hbm/textures/models/dornier_0.png differ diff --git a/assets/hbm/textures/models/dornier_1.png b/assets/hbm/textures/models/dornier_1.png new file mode 100644 index 000000000..eecf52327 Binary files /dev/null and b/assets/hbm/textures/models/dornier_1.png differ diff --git a/assets/hbm/textures/models/dornier_2.png b/assets/hbm/textures/models/dornier_2.png new file mode 100644 index 000000000..9d40e7f67 Binary files /dev/null and b/assets/hbm/textures/models/dornier_2.png differ diff --git a/assets/hbm/textures/models/dornier_base.png b/assets/hbm/textures/models/dornier_base.png new file mode 100644 index 000000000..8d7218570 Binary files /dev/null and b/assets/hbm/textures/models/dornier_base.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 494995df4..e5a96aeff 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -189,7 +189,9 @@ public class ModBlocks { public static Block crate_lead; public static Block crate_metal; public static Block crate_red; + public static Block boxcar; + public static Block bomber; public static Block seal_frame; public static Block seal_controller; @@ -873,6 +875,7 @@ public class ModBlocks { crate_steel = new BlockStorageCrate(Material.iron).setBlockName("crate_steel").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); boxcar = new DecoBlock(Material.iron).setBlockName("boxcar").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boxcar"); + bomber = new DecoBlock(Material.iron).setBlockName("bomber").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":bomber"); machine_well = new MachineOilWell(Material.iron).setBlockName("machine_well").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well"); machine_pumpjack = new MachinePumpjack(Material.iron).setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack"); @@ -1181,6 +1184,7 @@ public class ModBlocks { //Junk GameRegistry.registerBlock(boxcar, boxcar.getUnlocalizedName()); + GameRegistry.registerBlock(bomber, bomber.getUnlocalizedName()); //Machines GameRegistry.registerBlock(machine_press, machine_press.getUnlocalizedName()); diff --git a/com/hbm/blocks/generic/DecoBlock.java b/com/hbm/blocks/generic/DecoBlock.java index 93d603e0e..feb960b52 100644 --- a/com/hbm/blocks/generic/DecoBlock.java +++ b/com/hbm/blocks/generic/DecoBlock.java @@ -7,6 +7,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.tileentity.bomb.TileEntityNukeGadget; +import com.hbm.tileentity.deco.TileEntityBomber; import com.hbm.tileentity.deco.TileEntityDecoBlock; import net.minecraft.block.Block; @@ -34,6 +35,10 @@ public class DecoBlock extends BlockContainer { @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + + if(this == ModBlocks.bomber) + return new TileEntityBomber(); + return new TileEntityDecoBlock(); } @@ -55,7 +60,7 @@ public class DecoBlock extends BlockContainer { @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - if(this == ModBlocks.boxcar) + if(this == ModBlocks.boxcar || this == ModBlocks.bomber) return null; return Item.getItemFromBlock(this); } diff --git a/com/hbm/entity/logic/EntityBomber.java b/com/hbm/entity/logic/EntityBomber.java new file mode 100644 index 000000000..b58bfe4fe --- /dev/null +++ b/com/hbm/entity/logic/EntityBomber.java @@ -0,0 +1,294 @@ +package com.hbm.entity.logic; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.particle.EntityGasFlameFX; +import com.hbm.entity.projectile.EntityBombletZeta; +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionLarge; +import com.hbm.lib.ModDamageSource; +import com.hbm.tileentity.deco.TileEntityBomber; +import com.hbm.tileentity.machine.TileEntityMachineRadar; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityBomber extends Entity { + + int timer = 200; + int bombStart = 75; + int bombStop = 125; + int bombRate = 3; + int type = 0; + + public int health = 50; + + public EntityBomber(World p_i1582_1_) { + super(p_i1582_1_); + this.ignoreFrustumCheck = true; + this.setSize(8.0F, 4.0F); + } + + public boolean canBeCollidedWith() + { + return this.health > 0; + } + + public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) + { + if(p_70097_1_ == ModDamageSource.nuclearBlast) + return false; + + if (this.isEntityInvulnerable()) + { + return false; + } + else + { + if (!this.isDead && !this.worldObj.isRemote && this.health > 0) + { + health -= p_70097_2_; + + if (this.health <= 0) + { + this.killBomber(); + } + } + + return true; + } + } + + private void killBomber() { + ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true); + } + + @Override + public void onUpdate() { + + //super.onUpdate(); + + this.lastTickPosX = this.prevPosX = posX; + this.lastTickPosY = this.prevPosY = posY; + this.lastTickPosZ = this.prevPosZ = posZ; + + this.setPosition(posX + motionX, posY + motionY, posZ + motionZ); + + this.rotation(); + + if(this.health <= 0) { + motionY -= 0.025; + + for(int i = 0; i < 10; i++) + this.worldObj.spawnEntityInWorld(new EntityGasFlameFX(this.worldObj, this.posX + rand.nextGaussian() * 0.5 - motionX * 2, this.posY + rand.nextGaussian() * 0.5 - motionY * 2, this.posZ + rand.nextGaussian() * 0.5 - motionZ * 2, 0.0, 0.1, 0.0)); + + if(worldObj.getBlock((int)posX, (int)posY, (int)posZ).isNormalCube() && !worldObj.isRemote) { + this.setDead(); + + /*worldObj.setBlock((int)posX, (int)posY, (int)posZ, ModBlocks.bomber); + TileEntityBomber te = (TileEntityBomber)worldObj.getTileEntity((int)posX, (int)posY, (int)posZ); + + if(te != null) { + te.yaw = (int)(this.rotationYaw); + te.pitch = (int)(this.rotationPitch); + + te.type = this.getDataWatcher().getWatchableObjectByte(16); + }*/ + + ExplosionLarge.explodeFire(worldObj, posX, posY, posZ, 25, true, false, true); + + return; + } + } + + //if(this.ticksExisted > timer) + // this.setDead(); + + if(!worldObj.isRemote && this.health > 0 && this.ticksExisted > bombStart && this.ticksExisted < bombStop && this.ticksExisted % bombRate == 0) { + + if(type == 3) { + + worldObj.playSoundEffect((double)(posX + 0.5F), (double)(posY + 0.5F), (double)(posZ + 0.5F), "random.fizz", 5.0F, 2.6F + (rand.nextFloat() - rand.nextFloat()) * 0.8F); + ExplosionChaos.spawnChlorine(worldObj, this.posX, this.posY - 1F, this.posZ, 10, 0.5, 3); + + } else { + EntityBombletZeta zeta = new EntityBombletZeta(worldObj); + zeta.rotationYaw = this.rotationYaw; + zeta.rotationPitch = this.rotationPitch; + + zeta.type = type; + + zeta.posX = posX + rand.nextDouble() - 0.5; + zeta.posY = posY - rand.nextDouble(); + zeta.posZ = posZ + rand.nextDouble() - 0.5; + + zeta.motionX = motionX; + zeta.motionZ = motionZ; + + worldObj.spawnEntityInWorld(zeta); + } + } + + } + + public void fac(World world, double x, double y, double z) { + + Vec3 vector = Vec3.createVectorHelper(world.rand.nextDouble() - 0.5, 0, world.rand.nextDouble() - 0.5); + vector = vector.normalize(); + vector.xCoord *= 2; + vector.zCoord *= 2; + + this.posX = x - vector.xCoord * 100; + this.posY = y + 50; + this.posZ = z - vector.zCoord * 100; + + this.motionX = vector.xCoord; + this.motionZ = vector.zCoord; + this.motionY = 0.0D; + + this.rotation(); + + int i = 1; + + int rand = world.rand.nextInt(101); + + if(rand < 50) + i = 1; + else if(rand > 50) + i = 2; + else + i = 0; + + this.getDataWatcher().updateObject(16, (byte)i); + this.setSize(8.0F, 4.0F); + } + + public static EntityBomber statFacCarpet(World world, double x, double y, double z) { + + EntityBomber bomber = new EntityBomber(world); + + bomber.timer = 200; + bomber.bombStart = 50; + bomber.bombStop = 100; + bomber.bombRate = 3; + + bomber.fac(world, x, y, z); + + bomber.type = 0; + + return bomber; + } + + public static EntityBomber statFacNapalm(World world, double x, double y, double z) { + + EntityBomber bomber = new EntityBomber(world); + + bomber.timer = 200; + bomber.bombStart = 50; + bomber.bombStop = 100; + bomber.bombRate = 5; + + bomber.fac(world, x, y, z); + + bomber.type = 1; + + return bomber; + } + + public static EntityBomber statFacChlorine(World world, double x, double y, double z) { + + EntityBomber bomber = new EntityBomber(world); + + bomber.timer = 200; + bomber.bombStart = 50; + bomber.bombStop = 100; + bomber.bombRate = 4; + + bomber.fac(world, x, y, z); + + bomber.type = 2; + + return bomber; + } + + public static EntityBomber statFacOrange(World world, double x, double y, double z) { + + EntityBomber bomber = new EntityBomber(world); + + bomber.timer = 200; + bomber.bombStart = 75; + bomber.bombStop = 125; + bomber.bombRate = 1; + + bomber.fac(world, x, y, z); + + bomber.type = 3; + + return bomber; + } + + public static EntityBomber statFacABomb(World world, double x, double y, double z) { + + EntityBomber bomber = new EntityBomber(world); + + bomber.timer = 200; + bomber.bombStart = 70; + bomber.bombStop = 80; + bomber.bombRate = 75; + + bomber.fac(world, x, y, z); + + bomber.type = 4; + + return bomber; + } + + @Override + public void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { } + + protected void rotation() { + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + } + + @Override + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double distance) + { + return distance < 25000; + } + +} diff --git a/com/hbm/entity/particle/EntityOrangeFX.java b/com/hbm/entity/particle/EntityOrangeFX.java new file mode 100644 index 000000000..e853b14fb --- /dev/null +++ b/com/hbm/entity/particle/EntityOrangeFX.java @@ -0,0 +1,87 @@ +package com.hbm.entity.particle; + +import com.hbm.blocks.ModBlocks; +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionNukeGeneric; + +import net.minecraft.block.material.Material; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class EntityOrangeFX extends EntityModFX { + + public EntityOrangeFX(World world) { + super(world, 0, 0, 0); + } + + public EntityOrangeFX(World p_i1225_1_, double p_i1225_2_, double p_i1225_4_, double p_i1225_6_, double p_i1225_8_, double p_i1225_10_, double p_i1225_12_) + { + this(p_i1225_1_, p_i1225_2_, p_i1225_4_, p_i1225_6_, p_i1225_8_, p_i1225_10_, p_i1225_12_, 1.0F); + } + + public EntityOrangeFX(World p_i1226_1_, double p_i1226_2_, double p_i1226_4_, double p_i1226_6_, double p_i1226_8_, double p_i1226_10_, double p_i1226_12_, float p_i1226_14_) + { + super(p_i1226_1_, p_i1226_2_, p_i1226_4_, p_i1226_6_, 0.0D, 0.0D, 0.0D); + this.motionX *= 0.10000000149011612D; + this.motionY *= 0.10000000149011612D; + this.motionZ *= 0.10000000149011612D; + this.motionX += p_i1226_8_; + this.motionY += p_i1226_10_; + this.motionZ += p_i1226_12_; + this.particleRed = this.particleGreen = this.particleBlue = (float)(Math.random() * 0.30000001192092896D); + this.particleScale *= 0.75F; + this.particleScale *= p_i1226_14_; + this.smokeParticleScale = this.particleScale; + this.noClip = false; + } + + @Override + public void onUpdate() { + + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + if (maxAge < 900) { + maxAge = rand.nextInt(301) + 900; + } + + if (!worldObj.isRemote && rand.nextInt(50) == 0) + ExplosionChaos.poison(worldObj, (int) posX, (int) posY, (int) posZ, 2); + + this.particleAge++; + + if (this.particleAge >= maxAge) { + this.setDead(); + } + + this.motionX *= 0.8599999785423279D; + this.motionY *= 0.8599999785423279D; + this.motionZ *= 0.8599999785423279D; + + if (this.onGround) { + this.motionX *= 0.699999988079071D; + this.motionZ *= 0.699999988079071D; + } + + this.motionY -= 0.1; + + double subdivisions = 4; + + for(int i = 0; i < subdivisions; i++) { + + this.posX += this.motionX/subdivisions; + this.posY += this.motionY/subdivisions; + this.posZ += this.motionZ/subdivisions; + + if(worldObj.getBlock((int) posX, (int) posY, (int) posZ).getMaterial() != Material.air) { + this.setDead(); + + for(int a = -1; a < 2; a++) + for(int b = -1; b < 2; b++) + for(int c = -1; c < 2; c++) + ExplosionNukeGeneric.solinium(worldObj, (int) posX + a, (int) posY + b, (int) posZ + c); + } + } + } +} diff --git a/com/hbm/entity/projectile/EntityBombletZeta.java b/com/hbm/entity/projectile/EntityBombletZeta.java new file mode 100644 index 000000000..bd63db30e --- /dev/null +++ b/com/hbm/entity/projectile/EntityBombletZeta.java @@ -0,0 +1,110 @@ +package com.hbm.entity.projectile; + +import com.hbm.entity.logic.EntityNukeExplosionMK4; +import com.hbm.entity.missile.EntityBombletSelena; +import com.hbm.entity.particle.EntitySSmokeFX; +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionLarge; +import com.hbm.explosion.ExplosionParticle; +import com.hbm.explosion.ExplosionParticleB; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.init.Blocks; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityBombletZeta extends EntityThrowable { + + public int type = 0; + + public EntityBombletZeta(World p_i1582_1_) { + super(p_i1582_1_); + this.ignoreFrustumCheck = true; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + this.motionX *= 0.99; + this.motionZ *= 0.99; + this.motionY -= 0.05D; + + this.rotation(); + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + if(type == 0) { + ExplosionLarge.explode(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 5.0F, true, false, false); + } + if(type == 1) { + ExplosionLarge.explode(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 5.0F, true, false, false); + ExplosionChaos.burn(worldObj, (int)posX, (int)posY, (int)posZ, 7); + } + if(type == 2) { + ExplosionChaos.spawnChlorine(worldObj, this.posX + 0.5F - motionX, this.posY + 0.5F - motionY, this.posZ + 0.5F - motionZ, 75, 2, 0); + } + if(type == 4) { + worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, (int) (MainRegistry.fatmanRadius * 1.5), posX, posY, posZ)); + + if(rand.nextInt(100) == 0) + { + ExplosionParticleB.spawnMush(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ); + } else { + ExplosionParticle.spawnMush(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ); + } + } + } + this.setDead(); + } + } + + protected void rotation() { + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) { + } + + @Override + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double distance) + { + return distance < 25000; + } +} diff --git a/com/hbm/explosion/ExplosionChaos.java b/com/hbm/explosion/ExplosionChaos.java index d64c45adc..052f3d61e 100644 --- a/com/hbm/explosion/ExplosionChaos.java +++ b/com/hbm/explosion/ExplosionChaos.java @@ -14,6 +14,7 @@ import com.hbm.entity.particle.EntityChlorineFX; import com.hbm.entity.particle.EntityCloudFX; import com.hbm.entity.particle.EntityDSmokeFX; import com.hbm.entity.particle.EntityModFX; +import com.hbm.entity.particle.EntityOrangeFX; import com.hbm.entity.particle.EntityPinkCloudFX; import com.hbm.entity.projectile.EntityBullet; import com.hbm.entity.projectile.EntityMiniNuke; @@ -364,8 +365,10 @@ public class ExplosionChaos { fx = new EntityChlorineFX(world, x, y, z, 0.0, 0.0, 0.0); } else if(type == 1) { fx = new EntityCloudFX(world, x, y, z, 0.0, 0.0, 0.0); - } else { + } else if(type == 2) { fx = new EntityPinkCloudFX(world, x, y, z, 0.0, 0.0, 0.0); + } else { + fx = new EntityOrangeFX(world, x, y, z, 0.0, 0.0, 0.0); } fx.motionY = rand.nextGaussian() * speed; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 7b86c4b98..b0cdb3c13 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -1155,7 +1155,9 @@ public class ModItems { public static Item igniter; public static Item detonator; public static Item detonator_multi; + public static Item detonator_laser; public static Item crate_caller; + public static Item bomb_caller; public static Item meteor_remote; public static Item remote; public static Item turret_control; @@ -1250,6 +1252,14 @@ public class ModItems { public static Item cloud6; public static Item cloud7; public static Item cloud8; + public static Item orange1; + public static Item orange2; + public static Item orange3; + public static Item orange4; + public static Item orange5; + public static Item orange6; + public static Item orange7; + public static Item orange8; public static Item gasflame1; public static Item gasflame2; public static Item gasflame3; @@ -2234,7 +2244,9 @@ public class ModItems { igniter = new ItemCustomLore().setUnlocalizedName("igniter").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":trigger"); detonator = new ItemDetonator().setUnlocalizedName("detonator").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator"); detonator_multi = new ItemMultiDetonator().setUnlocalizedName("detonator_multi").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_multi"); + detonator_laser = new ItemLaserDetonator().setUnlocalizedName("detonator_laser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_laser"); crate_caller = new ItemCrateCaller().setUnlocalizedName("crate_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":crate_caller"); + bomb_caller = new ItemBombCaller().setUnlocalizedName("bomb_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bomb_caller"); meteor_remote = new ItemMeteorRemote().setUnlocalizedName("meteor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":meteor_remote"); remote = new ItemRamManipulator().setUnlocalizedName("remote").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":remote"); chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chopper"); @@ -2489,6 +2501,14 @@ public class ModItems { cloud6 = new Item().setUnlocalizedName("cloud6").setTextureName(RefStrings.MODID + ":cloud6"); cloud7 = new Item().setUnlocalizedName("cloud7").setTextureName(RefStrings.MODID + ":cloud7"); cloud8 = new Item().setUnlocalizedName("cloud8").setTextureName(RefStrings.MODID + ":cloud8"); + orange1 = new Item().setUnlocalizedName("orange1").setTextureName(RefStrings.MODID + ":orange1"); + orange2 = new Item().setUnlocalizedName("orange2").setTextureName(RefStrings.MODID + ":orange2"); + orange3 = new Item().setUnlocalizedName("orange3").setTextureName(RefStrings.MODID + ":orange3"); + orange4 = new Item().setUnlocalizedName("orange4").setTextureName(RefStrings.MODID + ":orange4"); + orange5 = new Item().setUnlocalizedName("orange5").setTextureName(RefStrings.MODID + ":orange5"); + orange6 = new Item().setUnlocalizedName("orange6").setTextureName(RefStrings.MODID + ":orange6"); + orange7 = new Item().setUnlocalizedName("orange7").setTextureName(RefStrings.MODID + ":orange7"); + orange8 = new Item().setUnlocalizedName("orange8").setTextureName(RefStrings.MODID + ":orange8"); gasflame1 = new Item().setUnlocalizedName("gasflame1").setTextureName(RefStrings.MODID + ":gasflame1"); gasflame2 = new Item().setUnlocalizedName("gasflame2").setTextureName(RefStrings.MODID + ":gasflame2"); gasflame3 = new Item().setUnlocalizedName("gasflame3").setTextureName(RefStrings.MODID + ":gasflame3"); @@ -3678,7 +3698,9 @@ public class ModItems { GameRegistry.registerItem(igniter, igniter.getUnlocalizedName()); GameRegistry.registerItem(detonator, detonator.getUnlocalizedName()); GameRegistry.registerItem(detonator_multi, detonator_multi.getUnlocalizedName()); + GameRegistry.registerItem(detonator_laser, detonator_laser.getUnlocalizedName()); GameRegistry.registerItem(crate_caller, crate_caller.getUnlocalizedName()); + GameRegistry.registerItem(bomb_caller, bomb_caller.getUnlocalizedName()); GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName()); GameRegistry.registerItem(defuser, defuser.getUnlocalizedName()); GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName()); @@ -3831,6 +3853,14 @@ public class ModItems { GameRegistry.registerItem(cloud6, cloud6.getUnlocalizedName()); GameRegistry.registerItem(cloud7, cloud7.getUnlocalizedName()); GameRegistry.registerItem(cloud8, cloud8.getUnlocalizedName()); + GameRegistry.registerItem(orange1, orange1.getUnlocalizedName()); + GameRegistry.registerItem(orange2, orange2.getUnlocalizedName()); + GameRegistry.registerItem(orange3, orange3.getUnlocalizedName()); + GameRegistry.registerItem(orange4, orange4.getUnlocalizedName()); + GameRegistry.registerItem(orange5, orange5.getUnlocalizedName()); + GameRegistry.registerItem(orange6, orange6.getUnlocalizedName()); + GameRegistry.registerItem(orange7, orange7.getUnlocalizedName()); + GameRegistry.registerItem(orange8, orange8.getUnlocalizedName()); GameRegistry.registerItem(gasflame1, gasflame1.getUnlocalizedName()); GameRegistry.registerItem(gasflame2, gasflame2.getUnlocalizedName()); GameRegistry.registerItem(gasflame3, gasflame3.getUnlocalizedName()); diff --git a/com/hbm/items/tool/ItemBombCaller.java b/com/hbm/items/tool/ItemBombCaller.java new file mode 100644 index 000000000..a21878e89 --- /dev/null +++ b/com/hbm/items/tool/ItemBombCaller.java @@ -0,0 +1,91 @@ +package com.hbm.items.tool; + +import java.util.List; + +import com.hbm.entity.logic.EntityBomber; +import com.hbm.interfaces.IBomb; +import com.hbm.lib.Library; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class ItemBombCaller extends Item { + + public ItemBombCaller() { + super(); + this.setHasSubtypes(true); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Aim & click to call an airstrike!"); + + if(itemstack.getItemDamage() == 0) + list.add("Type: Carpet bombing"); + if(itemstack.getItemDamage() == 1) + list.add("Type: Napalm"); + if(itemstack.getItemDamage() == 2) + list.add("Type: Poison gas"); + if(itemstack.getItemDamage() == 3) + list.add("Type: Agent orange"); + if(itemstack.getItemDamage() == 4) + list.add("Type: Atomic bomb"); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) + { + MovingObjectPosition pos = Library.rayTrace(player, 500, 1); + int x = pos.blockX; + int y = pos.blockY; + int z = pos.blockZ; + + + if(!world.isRemote) + { + player.addChatMessage(new ChatComponentText("Called in airstrike!")); + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + + if(stack.getItemDamage() == 0) + world.spawnEntityInWorld(EntityBomber.statFacCarpet(world, x, y, z)); + if(stack.getItemDamage() == 1) + world.spawnEntityInWorld(EntityBomber.statFacNapalm(world, x, y, z)); + if(stack.getItemDamage() == 2) + world.spawnEntityInWorld(EntityBomber.statFacChlorine(world, x, y, z)); + if(stack.getItemDamage() == 3) + world.spawnEntityInWorld(EntityBomber.statFacOrange(world, x, y, z)); + if(stack.getItemDamage() == 4) + world.spawnEntityInWorld(EntityBomber.statFacABomb(world, x, y, z)); + } + + stack.stackSize--; + + return stack; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item p_150895_1_, CreativeTabs p_150895_2_, List p_150895_3_) + { + p_150895_3_.add(new ItemStack(p_150895_1_, 1, 0)); + p_150895_3_.add(new ItemStack(p_150895_1_, 1, 1)); + p_150895_3_.add(new ItemStack(p_150895_1_, 1, 2)); + p_150895_3_.add(new ItemStack(p_150895_1_, 1, 3)); + p_150895_3_.add(new ItemStack(p_150895_1_, 1, 4)); + } + + @Override + @SideOnly(Side.CLIENT) + public boolean hasEffect(ItemStack p_77636_1_) + { + return p_77636_1_.getItemDamage() == 4; + } +} diff --git a/com/hbm/items/tool/ItemDesingatorRange.java b/com/hbm/items/tool/ItemDesingatorRange.java index 0dd41c773..6c826624c 100644 --- a/com/hbm/items/tool/ItemDesingatorRange.java +++ b/com/hbm/items/tool/ItemDesingatorRange.java @@ -33,7 +33,9 @@ public class ItemDesingatorRange extends Item { } else { list.add("Please select a target."); } - }@Override + } + + @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { MovingObjectPosition pos = Library.rayTrace(player, 300, 1); diff --git a/com/hbm/items/tool/ItemLaserDetonator.java b/com/hbm/items/tool/ItemLaserDetonator.java new file mode 100644 index 000000000..31b63a363 --- /dev/null +++ b/com/hbm/items/tool/ItemLaserDetonator.java @@ -0,0 +1,48 @@ +package com.hbm.items.tool; + +import java.util.List; + +import com.hbm.blocks.bomb.LaunchPad; +import com.hbm.interfaces.IBomb; +import com.hbm.lib.Library; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class ItemLaserDetonator extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Aim & click to detonate!"); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) + { + MovingObjectPosition pos = Library.rayTrace(player, 500, 1); + int x = pos.blockX; + int y = pos.blockY; + int z = pos.blockZ; + + + if(!world.isRemote) + { + if(world.getBlock(x, y, z) instanceof IBomb) { + ((IBomb)world.getBlock(x, y, z)).explode(world, x, y, z); + player.addChatMessage(new ChatComponentText("Detonated!")); + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + } else { + player.addChatMessage(new ChatComponentText("Target can not be detonated.")); + world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F); + } + } + + return stack; + } +} diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 52551f71b..fb668e6e3 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -10,6 +10,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.entity.effect.*; import com.hbm.entity.grenade.*; import com.hbm.entity.item.EntityMinecartTest; +import com.hbm.entity.logic.EntityBomber; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.missile.*; import com.hbm.entity.mob.*; @@ -289,11 +290,13 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityMIRV.class, new RenderMirv()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileDoomsday()); RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta()); + RenderingRegistry.registerEntityRenderingHandler(EntityBombletZeta.class, new RenderBombletTheta()); RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena()); RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor()); RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar()); RenderingRegistry.registerEntityRenderingHandler(EntityCarrier.class, new RenderCarrierMissile()); RenderingRegistry.registerEntityRenderingHandler(EntityBooster.class, new RenderBoosterMissile()); + RenderingRegistry.registerEntityRenderingHandler(EntityBomber.class, new RenderBomber()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileTaint.class, new RenderMissileTaint()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileMicro.class, new RenderMissileTaint()); @@ -311,6 +314,7 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBroadcaster.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioRec.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadiobox.class, new RenderDecoBlock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBomber.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAlt.class, new RenderDecoBlockAlt()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltG.class, new RenderDecoBlockAlt()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltW.class, new RenderDecoBlockAlt()); @@ -337,6 +341,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityChlorineFX.class, new MultiCloudRenderer(new Item[] { ModItems.chlorine1, ModItems.chlorine2, ModItems.chlorine3, ModItems.chlorine4, ModItems.chlorine5, ModItems.chlorine6, ModItems.chlorine7, ModItems.chlorine8 })); RenderingRegistry.registerEntityRenderingHandler(EntityPinkCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.pc1, ModItems.pc2, ModItems.pc3, ModItems.pc4, ModItems.pc5, ModItems.pc6, ModItems.pc7, ModItems.pc8 })); RenderingRegistry.registerEntityRenderingHandler(EntityCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.cloud1, ModItems.cloud2, ModItems.cloud3, ModItems.cloud4, ModItems.cloud5, ModItems.cloud6, ModItems.cloud7, ModItems.cloud8 })); + RenderingRegistry.registerEntityRenderingHandler(EntityOrangeFX.class, new MultiCloudRenderer(new Item[] { ModItems.orange1, ModItems.orange2, ModItems.orange3, ModItems.orange4, ModItems.orange5, ModItems.orange6, ModItems.orange7, ModItems.orange8 })); RenderingRegistry.registerEntityRenderingHandler(EntitySSmokeFX.class, new SSmokeRenderer(ModItems.nuclear_waste)); RenderingRegistry.registerEntityRenderingHandler(EntityOilSpillFX.class, new SpillRenderer(ModItems.nuclear_waste)); RenderingRegistry.registerEntityRenderingHandler(EntityGasFX.class, new GasRenderer(ModItems.nuclear_waste)); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 5cb1a8560..6a808565b 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -89,6 +89,7 @@ import com.hbm.entity.grenade.EntityGrenadeStrong; import com.hbm.entity.grenade.EntityGrenadeTau; import com.hbm.entity.grenade.EntityGrenadeZOMG; import com.hbm.entity.item.EntityMinecartTest; +import com.hbm.entity.logic.EntityBomber; import com.hbm.entity.logic.EntityMissileTest; import com.hbm.entity.logic.EntityNukeExplosion; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; @@ -135,12 +136,14 @@ import com.hbm.entity.particle.EntityDSmokeFX; import com.hbm.entity.particle.EntityGasFX; import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.entity.particle.EntityOilSpillFX; +import com.hbm.entity.particle.EntityOrangeFX; import com.hbm.entity.particle.EntityPinkCloudFX; import com.hbm.entity.particle.EntitySSmokeFX; import com.hbm.entity.particle.EntitySmokeFX; import com.hbm.entity.particle.EntityTSmokeFX; import com.hbm.entity.projectile.EntityAAShell; import com.hbm.entity.projectile.EntityBaleflare; +import com.hbm.entity.projectile.EntityBombletZeta; import com.hbm.entity.projectile.EntityBoxcar; import com.hbm.entity.projectile.EntityBullet; import com.hbm.entity.projectile.EntityChopperMine; @@ -218,6 +221,7 @@ import com.hbm.tileentity.conductor.TileEntityOilDuct; import com.hbm.tileentity.conductor.TileEntityOilDuctSolid; import com.hbm.tileentity.conductor.TileEntityPylonRedWire; import com.hbm.tileentity.conductor.TileEntityWireCoated; +import com.hbm.tileentity.deco.TileEntityBomber; import com.hbm.tileentity.deco.TileEntityDecoBlock; import com.hbm.tileentity.deco.TileEntityDecoPoleSatelliteReceiver; import com.hbm.tileentity.deco.TileEntityDecoPoleTop; @@ -671,6 +675,7 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityRadioRec.class, "tileentity_radio_receiver"); GameRegistry.registerTileEntity(TileEntityVent.class, "tileentity_vent"); GameRegistry.registerTileEntity(TileEntityLandmine.class, "tileentity_landmine"); + GameRegistry.registerTileEntity(TileEntityBomber.class, "tileentity_bomber"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); @@ -780,6 +785,9 @@ public class MainRegistry EntityRegistry.registerModEntity(EntityCloudFX.class, "entity_cloud_fx", 105, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityGrenadePC.class, "entity_grenade_pink_cloud", 106, this, 250, 1, true); EntityRegistry.registerModEntity(EntityGrenadeCloud.class, "entity_grenade_cloud", 107, this, 250, 1, true); + EntityRegistry.registerModEntity(EntityBomber.class, "entity_bomber", 108, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityBombletZeta.class, "entity_zeta", 109, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityOrangeFX.class, "entity_agent_orange", 110, 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/ResourceManager.java b/com/hbm/main/ResourceManager.java index 2c51b306b..d8b609631 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -218,6 +218,9 @@ public class ResourceManager { //Boxcar public static final IModelCustom boxcar = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/boxcar.obj")); + //DO16 + public static final IModelCustom dornier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/dornier.obj")); + //Missiles public static final IModelCustom missileV2 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileV2.obj")); public static final IModelCustom missileStrong = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileGeneric.obj")); @@ -235,6 +238,11 @@ public class ResourceManager { //Boxcar public static final ResourceLocation boxcar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/boxcar.png"); + //Dornier + public static final ResourceLocation dornier_0_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_0.png"); + public static final ResourceLocation dornier_1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_1.png"); + public static final ResourceLocation dornier_2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/dornier_2.png"); + //Missiles public static final ResourceLocation missileV2_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileV2_HE.png"); public static final ResourceLocation missileV2_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileV2_IN.png"); diff --git a/com/hbm/packet/AuxGaugePacket.java b/com/hbm/packet/AuxGaugePacket.java index 873f7461d..899e9a13a 100644 --- a/com/hbm/packet/AuxGaugePacket.java +++ b/com/hbm/packet/AuxGaugePacket.java @@ -4,6 +4,7 @@ import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.ISource; import com.hbm.tileentity.bomb.TileEntityTurretCIWS; import com.hbm.tileentity.bomb.TileEntityTurretCheapo; +import com.hbm.tileentity.deco.TileEntityBomber; import com.hbm.tileentity.machine.TileEntityAMSBase; import com.hbm.tileentity.machine.TileEntityAMSEmitter; import com.hbm.tileentity.machine.TileEntityAMSLimiter; @@ -129,6 +130,16 @@ public class AuxGaugePacket implements IMessage { if(m.id == 3) reactor.hullHeat = m.value; } + if (te instanceof TileEntityBomber) { + TileEntityBomber bomber = (TileEntityBomber)te; + + if(m.id == 0) + bomber.yaw = m.value; + if(m.id == 1) + bomber.pitch = m.value; + if(m.id == 2) + bomber.type = m.value; + } } catch (Exception x) { } return null; diff --git a/com/hbm/render/entity/RenderBomber.java b/com/hbm/render/entity/RenderBomber.java new file mode 100644 index 000000000..1c8324fd3 --- /dev/null +++ b/com/hbm/render/entity/RenderBomber.java @@ -0,0 +1,50 @@ +package com.hbm.render.entity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderBomber extends Render { + + public RenderBomber() { } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(90, 0F, 0F, 1F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glScalef(5F, 5F, 5F); + + GL11.glRotatef(-90, 0F, 1F, 0F); + + int i = p_76986_1_.getDataWatcher().getWatchableObjectByte(16); + + switch(i) { + case 0: bindTexture(ResourceManager.dornier_0_tex); break; + case 1: bindTexture(ResourceManager.dornier_1_tex); break; + case 2: bindTexture(ResourceManager.dornier_2_tex); break; + default: bindTexture(ResourceManager.dornier_1_tex); break; + } + + ResourceManager.dornier.renderAll(); + + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return ResourceManager.dornier_1_tex; + } +} diff --git a/com/hbm/render/entity/RenderBombletTheta.java b/com/hbm/render/entity/RenderBombletTheta.java index 001ec8f53..287a520b9 100644 --- a/com/hbm/render/entity/RenderBombletTheta.java +++ b/com/hbm/render/entity/RenderBombletTheta.java @@ -2,6 +2,7 @@ package com.hbm.render.entity; import org.lwjgl.opengl.GL11; +import com.hbm.entity.projectile.EntityBombletZeta; import com.hbm.lib.RefStrings; import net.minecraft.client.renderer.entity.Render; @@ -29,7 +30,13 @@ public class RenderBombletTheta extends Render { GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); - bindTexture(boyTexture); + if(p_76986_1_ instanceof EntityBombletZeta) { + GL11.glScaled(0.5D, 0.5D, 0.5D); + bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/bombletZetaTexture.png")); + } else { + bindTexture(boyTexture); + } + boyModel.renderAll(); GL11.glPopMatrix(); } diff --git a/com/hbm/render/tileentity/RenderDecoBlock.java b/com/hbm/render/tileentity/RenderDecoBlock.java index 87c73f5e2..41d58b5a3 100644 --- a/com/hbm/render/tileentity/RenderDecoBlock.java +++ b/com/hbm/render/tileentity/RenderDecoBlock.java @@ -12,6 +12,7 @@ import com.hbm.render.model.ModelSteelCorner; import com.hbm.render.model.ModelSteelRoof; import com.hbm.render.model.ModelSteelScaffold; import com.hbm.render.model.ModelSteelWall; +import com.hbm.tileentity.deco.TileEntityBomber; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -187,6 +188,33 @@ public class RenderDecoBlock extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_CULL_FACE); } + if(tileentity instanceof TileEntityBomber) + { + TileEntityBomber bomber = (TileEntityBomber)tileentity; + + float yaw = (float)(((double)bomber.yaw) / 180D * Math.PI); + float pitch = (float)(((double)bomber.pitch) / 180D * Math.PI); + + GL11.glRotatef(yaw - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(90, 0F, 0F, 1F); + GL11.glRotatef(pitch, 0.0F, 0.0F, 1.0F); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glScalef(5F, 5F, 5F); + + int i = bomber.type; + + switch(i) { + case 0: bindTexture(ResourceManager.dornier_0_tex); break; + case 1: bindTexture(ResourceManager.dornier_1_tex); break; + case 2: bindTexture(ResourceManager.dornier_2_tex); break; + default: bindTexture(ResourceManager.dornier_1_tex); break; + } + + ResourceManager.dornier.renderAll(); + } + if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_radar) { GL11.glRotatef(180, 0F, 0F, 1F); GL11.glTranslatef(0, -1.5F, 0); diff --git a/com/hbm/render/tileentity/RendererObjTester.java b/com/hbm/render/tileentity/RendererObjTester.java index e6a6d0ef4..4968972c8 100644 --- a/com/hbm/render/tileentity/RendererObjTester.java +++ b/com/hbm/render/tileentity/RendererObjTester.java @@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; @@ -45,12 +46,12 @@ public class RendererObjTester extends TileEntitySpecialRenderer { /*bindTexture(objTesterTexture); objTesterModel.renderAll();*/ - - bindTexture(ResourceManager.reactor_small_base_tex); - ResourceManager.reactor_small_base.renderAll(); - GL11.glTranslated(0, Math.sin(System.currentTimeMillis() % (Math.PI * 1200) / 600) * 0.5 + 0.5, 0); - bindTexture(ResourceManager.reactor_small_rods_tex); - ResourceManager.reactor_small_rods.renderAll(); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glScaled(5, 5, 5); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.dornier_2_tex); + ResourceManager.dornier.renderAll(); GL11.glPopMatrix(); } diff --git a/com/hbm/tileentity/deco/TileEntityBomber.java b/com/hbm/tileentity/deco/TileEntityBomber.java new file mode 100644 index 000000000..80be10a6e --- /dev/null +++ b/com/hbm/tileentity/deco/TileEntityBomber.java @@ -0,0 +1,40 @@ +package com.hbm.tileentity.deco; + +import com.hbm.packet.AuxGaugePacket; +import com.hbm.packet.PacketDispatcher; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityBomber extends TileEntity { + + public int yaw; + public int pitch; + public int type = 1; + + @Override + public void updateEntity() { + + if (!worldObj.isRemote) { + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, yaw, 0)); + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, pitch, 1)); + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, type, 2)); + } + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + yaw = nbt.getInteger("bomberYaw"); + pitch = nbt.getInteger("bomberPitch"); + type = nbt.getInteger("bomberType"); + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("bomberYaw", yaw); + nbt.setInteger("bomberPitch", pitch); + nbt.setInteger("bomberType", type); + } + +}