diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 22d377221..545e2acd5 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -315,7 +315,7 @@ tile.fluid_duct.name=Universelles Flüssigkeitsrohr tile.machine_fluidtank.name=Tank container.fluidtank=Tank tile.machine_turbofan.name=Turbofan -container.turbofan=Turbofan +container.machineTurbofan=Turbofan tile.crate_iron.name=Eisenkiste container.crateIron=Eisenkiste tile.crate_steel.name=Stahlkiste @@ -324,8 +324,8 @@ tile.machine_press.name=Dampfpresse container.press=Dampfpresse tile.machine_siren.name=Sirene container.siren=Sirene -tile.machine_radgen.name=Strahlenbetriebener Generator [WIP] -container.radGen=Strahlenbetriebener Generator [WIP] +tile.machine_radgen.name=Strahlenbetriebener Generator +container.radGen=Strahlenbetriebener Generator tile.machine_selenium.name=Hochleistungs-Sternmotor container.machineSelenium=Hochleistungs-Sternmotor diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index d95d1f98d..e297efa3a 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -315,7 +315,7 @@ tile.fluid_duct.name=Universal Fluid Duct tile.machine_fluidtank.name=Tank container.fluidtank=Tank tile.machine_turbofan.name=Turbofan -container.turbofan=Turbofan +container.machineTurbofan=Turbofan tile.crate_iron.name=Iron Crate container.crateIron=Iron Crate tile.crate_steel.name=Steel Crate @@ -324,8 +324,8 @@ tile.machine_press.name=Steam Press container.press=Steam Press tile.machine_siren.name=Siren container.siren=Siren -tile.machine_radgen.name=Radiation-Powered Engine [WIP] -container.radGen=Radiation-Powered Engine [WIP] +tile.machine_radgen.name=Radiation-Powered Engine +container.radGen=Radiation-Powered Engine tile.machine_selenium.name=Radial Performance Engine container.machineSelenium=Radial Performance Engine diff --git a/assets/hbm/models/rad_gen_body.obj b/assets/hbm/models/rad_gen_body.obj index 85efacbe5..b4e062066 100644 --- a/assets/hbm/models/rad_gen_body.obj +++ b/assets/hbm/models/rad_gen_body.obj @@ -11,7 +11,6 @@ v -1.500000 3.000000 -2.500000 v 1.500000 0.000000 -2.500000 v -1.500000 0.000000 -2.500000 v 1.500000 1.500000 -2.500000 -v -1.500000 1.500000 -2.500000 v 1.500000 0.000000 -4.500000 v -1.500000 0.000000 -4.500000 v 1.500000 1.500000 -4.500000 @@ -234,14 +233,403 @@ v 0.000000 1.350000 1.500000 v 0.106066 1.393934 1.500000 v 0.150000 1.500000 1.500000 v 0.106066 1.606066 1.500000 +vt 0.509190 0.631846 +vt 0.509190 0.386129 +vt 0.632049 0.386129 +vt 0.190935 0.698076 +vt 0.190935 0.667361 +vt 0.214903 0.667361 +vt 0.702705 0.023155 +vt 0.825564 0.023155 +vt 0.825564 0.084584 +vt 0.109893 0.965986 +vt 0.131612 0.944268 +vt 0.153330 0.965986 +vt 0.033939 0.394849 +vt 0.156798 0.394978 +vt 0.156701 0.487122 +vt 0.702705 0.202173 +vt 0.702705 0.158736 +vt 0.825564 0.158736 +vt 0.702705 0.128021 +vt 0.825564 0.128021 +vt 0.702705 0.084584 +vt 0.831932 0.508988 +vt 0.739788 0.508988 +vt 0.739788 0.386129 +vt 0.445286 0.023170 +vt 0.023155 0.023235 +vt 0.445292 0.339788 +vt 0.248781 0.548648 +vt 0.248846 0.487218 +vt 0.340925 0.548744 +vt 0.798857 0.770300 +vt 0.675998 0.770300 +vt 0.768142 0.739585 +vt 0.675998 0.678156 +vt 0.704600 0.938536 +vt 0.685403 0.938536 +vt 0.685403 0.919340 +vt 0.710384 0.256161 +vt 0.710384 0.302233 +vt 0.702705 0.302233 +vt 0.756456 0.302233 +vt 0.756456 0.309912 +vt 0.756456 0.256161 +vt 0.764134 0.256161 +vt 0.710384 0.248482 +vt 0.685403 0.911661 +vt 0.704600 0.911661 +vt 0.704600 0.919340 +vt 0.712279 0.919340 +vt 0.712279 0.938537 +vt 0.704600 0.946215 +vt 0.685403 0.946215 +vt 0.677724 0.938536 +vt 0.677724 0.919340 +vt 0.723821 0.269599 +vt 0.723821 0.288795 +vt 0.743018 0.288795 +vt 0.743018 0.269599 +vt 0.271922 0.448849 +vt 0.340990 0.487315 +vt 0.341086 0.395171 +vt 0.271970 0.402777 +vt 0.225898 0.402729 +vt 0.225850 0.448801 +vt 0.544452 0.906392 +vt 0.538576 0.906392 +vt 0.538575 0.844963 +vt 0.532699 0.906392 +vt 0.532698 0.844963 +vt 0.526822 0.906392 +vt 0.526821 0.844963 +vt 0.520945 0.906392 +vt 0.520944 0.844963 +vt 0.515068 0.906392 +vt 0.515067 0.844963 +vt 0.509191 0.906392 +vt 0.509190 0.844963 +vt 0.550330 0.906392 +vt 0.544452 0.844963 +vt 0.556207 0.906392 +vt 0.550330 0.844963 +vt 0.057926 0.967576 +vt 0.057926 0.953537 +vt 0.063584 0.955127 +vt 0.053477 0.971416 +vt 0.053477 0.949697 +vt 0.049027 0.975255 +vt 0.049027 0.945858 +vt 0.043369 0.976845 +vt 0.043369 0.944268 +vt 0.028812 0.967576 +vt 0.023155 0.965986 +vt 0.023155 0.955127 +vt 0.028812 0.953537 +vt 0.033262 0.949697 +vt 0.033262 0.971416 +vt 0.037712 0.945858 +vt 0.037712 0.975255 +vt 0.810432 0.567051 +vt 0.739788 0.567051 +vt 0.739788 0.561174 +vt 0.892003 0.616726 +vt 0.886126 0.616726 +vt 0.886126 0.555297 +vt 0.810432 0.584682 +vt 0.739788 0.584682 +vt 0.739788 0.578805 +vt 0.810432 0.572928 +vt 0.739788 0.572928 +vt 0.810432 0.578805 +vt 0.810432 0.596436 +vt 0.739788 0.596436 +vt 0.739788 0.590559 +vt 0.810432 0.602313 +vt 0.739788 0.602313 +vt 0.810432 0.590559 +vt 0.810432 0.561174 +vt 0.739788 0.555297 +vt 0.880249 0.616726 +vt 0.880249 0.555297 +vt 0.874372 0.616726 +vt 0.874372 0.555297 +vt 0.868495 0.616726 +vt 0.868495 0.555297 +vt 0.862618 0.616726 +vt 0.862618 0.555297 +vt 0.856741 0.616726 +vt 0.856741 0.555297 +vt 0.897880 0.616726 +vt 0.892003 0.555297 +vt 0.903757 0.616726 +vt 0.897880 0.555297 +vt 0.956961 0.901347 +vt 0.956961 0.887307 +vt 0.962619 0.888898 +vt 0.952512 0.905187 +vt 0.952512 0.883468 +vt 0.948062 0.909026 +vt 0.948062 0.879629 +vt 0.942405 0.910616 +vt 0.942405 0.878038 +vt 0.927848 0.901347 +vt 0.922190 0.899757 +vt 0.922190 0.888898 +vt 0.927848 0.887307 +vt 0.932297 0.883468 +vt 0.932297 0.905187 +vt 0.936747 0.879629 +vt 0.936747 0.909026 +vt 0.746642 0.828363 +vt 0.675998 0.828363 +vt 0.675998 0.822486 +vt 0.746642 0.845994 +vt 0.675998 0.845994 +vt 0.675998 0.840117 +vt 0.746642 0.834240 +vt 0.675998 0.834240 +vt 0.746642 0.840117 +vt 0.746642 0.857748 +vt 0.675998 0.857748 +vt 0.675998 0.851871 +vt 0.746642 0.863625 +vt 0.675998 0.863625 +vt 0.746642 0.851871 +vt 0.746642 0.822486 +vt 0.675998 0.816609 +vt 0.913503 0.447558 +vt 0.907626 0.447558 +vt 0.907626 0.386129 +vt 0.901749 0.447558 +vt 0.901749 0.386129 +vt 0.895872 0.447558 +vt 0.895872 0.386129 +vt 0.889995 0.447558 +vt 0.889995 0.386129 +vt 0.884118 0.447558 +vt 0.884118 0.386129 +vt 0.878241 0.447558 +vt 0.878241 0.386129 +vt 0.919380 0.447558 +vt 0.913503 0.386129 +vt 0.925257 0.447558 +vt 0.919380 0.386129 +vt 0.962168 0.271791 +vt 0.962168 0.257751 +vt 0.967826 0.259342 +vt 0.957719 0.275631 +vt 0.957719 0.253912 +vt 0.953269 0.279470 +vt 0.953269 0.250073 +vt 0.947611 0.281060 +vt 0.947611 0.248482 +vt 0.933054 0.271791 +vt 0.927397 0.270201 +vt 0.927397 0.259342 +vt 0.933054 0.257751 +vt 0.937504 0.253912 +vt 0.937504 0.275631 +vt 0.941954 0.250073 +vt 0.941954 0.279470 +vt 0.881087 0.260236 +vt 0.810444 0.260236 +vt 0.810444 0.254359 +vt 0.881087 0.277867 +vt 0.810444 0.277867 +vt 0.810444 0.271990 +vt 0.881087 0.266113 +vt 0.810444 0.266113 +vt 0.881087 0.271990 +vt 0.881087 0.289621 +vt 0.810444 0.289621 +vt 0.810444 0.283744 +vt 0.881087 0.295498 +vt 0.810444 0.295498 +vt 0.881087 0.283744 +vt 0.881087 0.254359 +vt 0.810444 0.248482 +vt 0.176965 0.882601 +vt 0.146251 0.882601 +vt 0.146251 0.759742 +vt 0.176965 0.759742 +vt 0.192323 0.759742 +vt 0.176965 0.897958 +vt 0.130893 0.882601 +vt 0.146251 0.744385 +vt 0.361728 0.759742 +vt 0.392443 0.759742 +vt 0.392443 0.882601 +vt 0.361728 0.882601 +vt 0.346371 0.882601 +vt 0.361728 0.744385 +vt 0.407800 0.759742 +vt 0.392443 0.897958 +vt 0.860523 0.693513 +vt 0.891238 0.693513 +vt 0.891238 0.816372 +vt 0.860523 0.816372 +vt 0.845166 0.816372 +vt 0.860523 0.678156 +vt 0.906595 0.693513 +vt 0.891238 0.831729 +vt 0.887230 0.038512 +vt 0.917945 0.038512 +vt 0.917945 0.161371 +vt 0.887230 0.161371 +vt 0.871873 0.161371 +vt 0.887230 0.023155 +vt 0.933302 0.038512 +vt 0.917945 0.176728 +vt 0.069227 0.882601 +vt 0.038512 0.882601 +vt 0.038512 0.759742 +vt 0.069227 0.759742 +vt 0.084584 0.759742 +vt 0.069227 0.897958 +vt 0.023155 0.882601 +vt 0.038512 0.744385 +vt 0.284704 0.882601 +vt 0.253989 0.882601 +vt 0.253989 0.759742 +vt 0.284704 0.759742 +vt 0.300061 0.759742 +vt 0.284704 0.897958 +vt 0.238632 0.882601 +vt 0.253989 0.744385 +vt 0.581424 0.678156 +vt 0.620516 0.704276 +vt 0.603568 0.789481 +vt 0.214903 0.698076 +vt 0.238872 0.667361 +vt 0.382683 0.698075 +vt 0.382683 0.667361 +vt 0.406652 0.667361 +vt 0.166966 0.698076 +vt 0.166966 0.667361 +vt 0.358715 0.698075 +vt 0.358715 0.667361 +vt 0.142998 0.698076 +vt 0.142998 0.667361 +vt 0.334746 0.698076 +vt 0.334746 0.667361 +vt 0.119029 0.698076 +vt 0.119029 0.667361 +vt 0.310777 0.698076 +vt 0.310777 0.667361 +vt 0.095060 0.698076 +vt 0.095060 0.667361 +vt 0.286809 0.698076 +vt 0.286809 0.667361 +vt 0.071092 0.698076 +vt 0.071092 0.667361 +vt 0.262840 0.698076 +vt 0.262840 0.667361 +vt 0.047123 0.698075 +vt 0.047123 0.667361 +vt 0.238872 0.698076 +vt 0.023155 0.698075 +vt 0.023155 0.667361 +vt 0.607503 0.844963 +vt 0.619542 0.849950 +vt 0.614555 0.861989 +vt 0.875881 0.913300 +vt 0.845166 0.913300 +vt 0.845166 0.906248 +vt 0.875881 0.906248 +vt 0.845166 0.899196 +vt 0.875881 0.892143 +vt 0.845166 0.892143 +vt 0.845166 0.885091 +vt 0.875881 0.934458 +vt 0.845166 0.934458 +vt 0.845166 0.927405 +vt 0.875881 0.920353 +vt 0.845166 0.920353 +vt 0.875881 0.899196 +vt 0.875881 0.885091 +vt 0.845166 0.878038 +vt 0.875881 0.927405 +vt 0.463945 0.395300 +vt 0.463784 0.548873 +vt 0.662764 0.386129 +vt 0.693479 0.386129 +vt 0.693479 0.631846 +vt 0.033843 0.486993 +vt 0.825564 0.202173 +vt 0.831932 0.386129 +vt 0.023178 0.339819 +vt 0.656396 0.023234 +vt 0.656348 0.339819 +vt 0.310178 0.579427 +vt 0.279464 0.579395 +vt 0.768142 0.678156 +vt 0.702705 0.256161 +vt 0.710384 0.309912 +vt 0.764134 0.302233 +vt 0.756456 0.248482 +vt 0.556207 0.844963 +vt 0.063584 0.965986 +vt 0.810432 0.555297 +vt 0.903757 0.555297 +vt 0.962619 0.899757 +vt 0.746642 0.816609 +vt 0.925258 0.386129 +vt 0.967826 0.270201 +vt 0.881087 0.248482 +vt 0.192323 0.882601 +vt 0.146251 0.897958 +vt 0.130893 0.759742 +vt 0.176965 0.744385 +vt 0.346371 0.759742 +vt 0.392443 0.744385 +vt 0.407800 0.882601 +vt 0.361728 0.897958 +vt 0.845166 0.693513 +vt 0.891238 0.678156 +vt 0.906595 0.816372 +vt 0.860523 0.831729 +vt 0.871873 0.038512 +vt 0.917945 0.023155 +vt 0.933302 0.161371 +vt 0.887230 0.176728 +vt 0.084584 0.882601 +vt 0.038512 0.897958 +vt 0.023155 0.759742 +vt 0.069227 0.744385 +vt 0.300061 0.882601 +vt 0.253989 0.897958 +vt 0.238632 0.759742 +vt 0.284704 0.744385 +vt 0.581424 0.798654 +vt 0.557455 0.798654 +vt 0.535311 0.789481 +vt 0.518363 0.772533 +vt 0.509190 0.750389 +vt 0.535311 0.687328 +vt 0.509190 0.726420 +vt 0.518363 0.704276 +vt 0.557455 0.678156 +vt 0.603568 0.687328 +vt 0.629689 0.726420 +vt 0.629689 0.750389 +vt 0.620516 0.772533 +vt 0.406652 0.698075 +vt 0.607503 0.861989 +vt 0.602516 0.857002 +vt 0.602516 0.849950 +vt 0.614555 0.844963 +vt 0.619542 0.857002 +vt 0.875881 0.878038 vn 0.000000 1.000000 0.000000 vn 0.195100 -0.980800 0.000000 vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 -0.000000 vn -0.000000 0.000000 -1.000000 vn -0.707100 0.707100 0.000000 vn 0.707100 0.707100 0.000000 vn 0.000000 -1.000000 0.000000 +vn -1.000000 0.000000 0.000000 vn 0.382700 0.000000 -0.923900 vn 0.923900 0.000000 -0.382700 vn 0.923900 0.000000 0.382700 @@ -291,407 +679,405 @@ vn 0.923900 0.382700 0.000000 vn 0.382700 -0.923900 0.000000 vn -0.923900 -0.382700 0.000000 s off -f 22//1 6//1 5//1 -f 187//2 202//2 203//2 -f 24//3 25//3 21//3 -f 11//4 15//4 13//4 -f 16//5 7//5 18//5 -f 8//3 12//3 14//3 -f 16//6 18//6 19//6 -f 15//4 11//4 16//4 -f 18//1 22//1 23//1 -f 23//7 22//7 20//7 -f 12//8 8//8 9//8 -f 24//1 10//1 14//1 -f 144//3 145//3 139//3 -f 2//8 9//8 8//8 -f 21//5 25//5 17//5 -f 22//5 4//5 20//5 -f 20//5 4//5 10//5 -f 27//5 29//5 28//5 -f 35//8 34//8 30//8 -f 34//3 36//3 32//3 -f 36//1 37//1 33//1 -f 37//4 35//4 31//4 -f 28//3 40//3 38//3 -f 26//8 38//8 39//8 -f 27//4 39//4 41//4 -f 29//1 41//1 40//1 -f 40//5 41//5 34//5 -f 41//5 39//5 36//5 -f 39//5 38//5 37//5 -f 38//5 40//5 35//5 -f 30//5 15//5 25//5 -f 13//5 32//5 33//5 -f 12//5 33//5 31//5 -f 30//5 32//5 13//5 -f 45//9 47//9 46//9 -f 47//10 49//10 48//10 -f 49//11 51//11 50//11 -f 51//12 53//12 52//12 -f 53//13 55//13 54//13 -f 55//14 57//14 56//14 -f 59//15 45//15 44//15 -f 57//16 59//16 58//16 -f 42//17 59//17 57//17 -f 42//18 43//18 45//18 -f 43//19 65//19 47//19 -f 64//20 49//20 47//20 -f 61//21 60//21 57//21 -f 61//22 55//22 53//22 -f 62//23 53//23 51//23 -f 63//24 51//24 49//24 -f 62//25 70//25 71//25 -f 77//9 79//9 78//9 -f 65//26 67//26 68//26 -f 63//27 69//27 70//27 -f 64//28 68//28 69//28 -f 42//29 73//29 66//29 -f 60//30 72//30 73//30 -f 43//31 66//31 67//31 -f 61//32 71//32 72//32 -f 79//10 81//10 80//10 -f 81//11 83//11 82//11 -f 83//12 85//12 84//12 -f 85//13 87//13 86//13 -f 87//14 89//14 88//14 -f 91//15 77//15 76//15 -f 89//16 91//16 90//16 -f 74//17 91//17 89//17 -f 74//18 75//18 77//18 -f 75//19 97//19 79//19 -f 96//20 81//20 79//20 -f 93//21 92//21 89//21 -f 93//22 87//22 85//22 -f 94//23 85//23 83//23 -f 95//24 83//24 81//24 -f 94//25 102//25 103//25 -f 97//26 99//26 100//26 -f 95//27 101//27 102//27 -f 96//28 100//28 101//28 -f 74//29 105//29 98//29 -f 92//30 104//30 105//30 -f 75//31 98//31 99//31 -f 93//32 103//32 104//32 -f 109//9 111//9 110//9 -f 111//10 113//10 112//10 -f 113//11 115//11 114//11 -f 115//12 117//12 116//12 -f 117//13 119//13 118//13 -f 119//14 121//14 120//14 -f 123//15 109//15 108//15 -f 121//16 123//16 122//16 -f 106//17 123//17 121//17 -f 106//18 107//18 109//18 -f 107//19 129//19 111//19 -f 128//20 113//20 111//20 -f 125//21 124//21 121//21 -f 125//22 119//22 117//22 -f 126//23 117//23 115//23 -f 127//24 115//24 113//24 -f 126//25 134//25 135//25 -f 129//26 131//26 132//26 -f 127//27 133//27 134//27 -f 128//28 132//28 133//28 -f 106//29 137//29 130//29 -f 124//30 136//30 137//30 -f 107//31 130//31 131//31 -f 125//32 135//32 136//32 -f 147//3 146//3 140//3 -f 10//3 148//3 149//3 -f 140//3 146//3 4//3 -f 139//3 145//3 1//3 -f 143//3 142//3 5//3 -f 159//4 158//4 152//4 -f 156//4 157//4 151//4 -f 155//4 154//4 2//4 -f 151//4 157//4 6//4 -f 161//4 16//4 11//4 -f 152//4 158//4 3//4 -f 163//4 164//4 165//4 -f 163//5 162//5 150//5 -f 164//8 163//8 151//8 -f 165//33 164//33 153//33 -f 162//1 165//1 152//1 -f 167//3 168//3 169//3 -f 167//5 166//5 138//5 -f 168//1 167//1 139//1 -f 169//33 168//33 141//33 -f 166//8 169//8 140//8 -f 171//3 172//3 173//3 -f 171//5 170//5 142//5 -f 172//1 171//1 143//1 -f 173//33 172//33 145//33 -f 170//8 173//8 144//8 -f 175//3 176//3 177//3 -f 175//5 174//5 146//5 -f 176//1 175//1 147//1 -f 177//33 176//33 149//33 -f 174//8 177//8 148//8 -f 179//4 180//4 181//4 -f 179//5 178//5 154//5 -f 180//8 179//8 155//8 -f 181//33 180//33 157//33 -f 178//1 181//1 156//1 -f 183//4 184//4 185//4 -f 183//5 182//5 158//5 -f 184//8 183//8 159//8 -f 185//33 184//33 161//33 -f 182//1 185//1 160//1 -f 6//33 186//33 5//33 -f 5//33 198//33 1//33 -f 1//33 194//33 2//33 -f 2//33 190//33 6//33 -f 212//33 214//33 203//33 -f 186//34 203//34 217//34 -f 195//35 211//35 210//35 -f 187//36 188//36 204//36 -f 196//37 212//37 211//37 -f 189//38 205//38 204//38 -f 197//39 213//39 212//39 -f 190//40 206//40 205//40 -f 198//41 214//41 213//41 -f 191//42 207//42 206//42 -f 199//43 215//43 214//43 -f 192//44 208//44 207//44 -f 200//45 216//45 215//45 -f 193//46 209//46 208//46 -f 201//47 217//47 216//47 -f 194//48 210//48 209//48 -f 230//33 232//33 227//33 -f 219//49 226//49 227//49 -f 218//50 227//50 233//50 -f 224//51 232//51 231//51 -f 222//52 230//52 229//52 -f 220//53 228//53 226//53 -f 225//54 233//54 232//54 -f 223//55 231//55 230//55 -f 221//56 229//56 228//56 -f 5//1 4//1 22//1 -f 22//1 18//1 6//1 -f 7//1 6//1 18//1 -f 186//2 187//2 203//2 -f 20//3 24//3 21//3 -f 9//4 11//4 13//4 -f 10//3 8//3 14//3 -f 17//6 16//6 19//6 -f 17//4 15//4 16//4 -f 19//1 18//1 23//1 -f 21//7 23//7 20//7 -f 13//8 12//8 9//8 -f 25//1 24//1 14//1 -f 138//3 144//3 139//3 -f 8//8 1//8 2//8 -f 2//33 3//33 9//33 -f 17//5 19//5 23//5 -f 23//5 21//5 17//5 -f 25//5 15//5 17//5 -f 24//5 20//5 10//5 -f 26//5 27//5 28//5 -f 31//8 35//8 30//8 -f 30//3 34//3 32//3 -f 32//1 36//1 33//1 -f 33//4 37//4 31//4 -f 26//3 28//3 38//3 -f 27//8 26//8 39//8 -f 29//4 27//4 41//4 -f 28//1 29//1 40//1 -f 35//5 40//5 34//5 -f 34//5 41//5 36//5 -f 36//5 39//5 37//5 -f 37//5 38//5 35//5 -f 25//5 14//5 31//5 -f 31//5 30//5 25//5 -f 12//5 13//5 33//5 -f 14//5 12//5 31//5 -f 15//5 30//5 13//5 -f 44//9 45//9 46//9 -f 46//10 47//10 48//10 -f 48//11 49//11 50//11 -f 50//12 51//12 52//12 -f 52//13 53//13 54//13 -f 54//14 55//14 56//14 -f 58//15 59//15 44//15 -f 56//16 57//16 58//16 -f 60//17 42//17 57//17 -f 59//18 42//18 45//18 -f 45//19 43//19 47//19 -f 65//20 64//20 47//20 -f 55//21 61//21 57//21 -f 62//22 61//22 53//22 -f 63//23 62//23 51//23 -f 64//24 63//24 49//24 -f 61//25 62//25 71//25 -f 76//9 77//9 78//9 -f 64//26 65//26 68//26 -f 62//27 63//27 70//27 -f 63//28 64//28 69//28 -f 43//29 42//29 66//29 -f 42//30 60//30 73//30 -f 65//31 43//31 67//31 -f 60//32 61//32 72//32 -f 78//10 79//10 80//10 -f 80//11 81//11 82//11 -f 82//12 83//12 84//12 -f 84//13 85//13 86//13 -f 86//14 87//14 88//14 -f 90//15 91//15 76//15 -f 88//16 89//16 90//16 -f 92//17 74//17 89//17 -f 91//18 74//18 77//18 -f 77//19 75//19 79//19 -f 97//20 96//20 79//20 -f 87//21 93//21 89//21 -f 94//22 93//22 85//22 -f 95//23 94//23 83//23 -f 96//24 95//24 81//24 -f 93//25 94//25 103//25 -f 96//26 97//26 100//26 -f 94//27 95//27 102//27 -f 95//28 96//28 101//28 -f 75//29 74//29 98//29 -f 74//30 92//30 105//30 -f 97//31 75//31 99//31 -f 92//32 93//32 104//32 -f 108//9 109//9 110//9 -f 110//10 111//10 112//10 -f 112//11 113//11 114//11 -f 114//12 115//12 116//12 -f 116//13 117//13 118//13 -f 118//14 119//14 120//14 -f 122//15 123//15 108//15 -f 120//16 121//16 122//16 -f 124//17 106//17 121//17 -f 123//18 106//18 109//18 -f 109//19 107//19 111//19 -f 129//20 128//20 111//20 -f 119//21 125//21 121//21 -f 126//22 125//22 117//22 -f 127//23 126//23 115//23 -f 128//24 127//24 113//24 -f 125//25 126//25 135//25 -f 128//26 129//26 132//26 -f 126//27 127//27 134//27 -f 127//28 128//28 133//28 -f 107//29 106//29 130//29 -f 106//30 124//30 137//30 -f 129//31 107//31 131//31 -f 124//32 125//32 136//32 -f 141//3 147//3 140//3 -f 149//3 8//3 10//3 -f 10//3 4//3 148//3 -f 4//3 5//3 140//3 -f 144//3 138//3 5//3 -f 5//3 142//3 144//3 -f 146//3 148//3 4//3 -f 138//3 140//3 5//3 -f 1//3 8//3 141//3 -f 149//3 147//3 8//3 -f 141//3 139//3 1//3 -f 145//3 143//3 1//3 -f 8//3 147//3 141//3 -f 1//3 143//3 5//3 -f 153//4 159//4 152//4 -f 150//4 156//4 151//4 -f 6//4 155//4 2//4 -f 6//4 7//4 153//4 -f 161//4 159//4 7//4 -f 153//4 151//4 6//4 -f 157//4 155//4 6//4 -f 7//4 159//4 153//4 -f 11//4 9//4 160//4 -f 160//4 161//4 11//4 -f 7//4 16//4 161//4 -f 3//4 2//4 150//4 -f 154//4 156//4 2//4 -f 150//4 152//4 3//4 -f 160//33 9//33 3//33 -f 156//4 150//4 2//4 -f 158//4 160//4 3//4 -f 162//4 163//4 165//4 -f 151//5 163//5 150//5 -f 153//8 164//8 151//8 -f 152//33 165//33 153//33 -f 150//1 162//1 152//1 -f 166//3 167//3 169//3 -f 139//5 167//5 138//5 -f 141//1 168//1 139//1 -f 140//33 169//33 141//33 -f 138//8 166//8 140//8 -f 170//3 171//3 173//3 -f 143//5 171//5 142//5 -f 145//1 172//1 143//1 -f 144//33 173//33 145//33 -f 142//8 170//8 144//8 -f 174//3 175//3 177//3 -f 147//5 175//5 146//5 -f 149//1 176//1 147//1 -f 148//33 177//33 149//33 -f 146//8 174//8 148//8 -f 178//4 179//4 181//4 -f 155//5 179//5 154//5 -f 157//8 180//8 155//8 -f 156//33 181//33 157//33 -f 154//1 178//1 156//1 -f 182//4 183//4 185//4 -f 159//5 183//5 158//5 -f 161//8 184//8 159//8 -f 160//33 185//33 161//33 -f 158//1 182//1 160//1 -f 201//33 200//33 5//33 -f 6//33 188//33 187//33 -f 201//33 5//33 186//33 -f 6//33 187//33 186//33 -f 197//33 196//33 1//33 -f 5//33 200//33 199//33 -f 197//33 1//33 198//33 -f 5//33 199//33 198//33 -f 193//33 192//33 2//33 -f 1//33 196//33 195//33 -f 193//33 2//33 194//33 -f 1//33 195//33 194//33 -f 189//33 188//33 6//33 -f 2//33 192//33 191//33 -f 189//33 6//33 190//33 -f 2//33 191//33 190//33 -f 203//33 202//33 204//33 -f 204//33 205//33 203//33 -f 206//33 207//33 210//33 -f 208//33 209//33 210//33 -f 210//33 211//33 212//33 -f 212//33 213//33 214//33 -f 214//33 215//33 216//33 -f 216//33 217//33 214//33 -f 203//33 205//33 206//33 -f 207//33 208//33 210//33 -f 210//33 212//33 203//33 -f 214//33 217//33 203//33 -f 203//33 206//33 210//33 -f 201//34 186//34 217//34 -f 194//35 195//35 210//35 -f 202//36 187//36 204//36 -f 195//37 196//37 211//37 -f 188//38 189//38 204//38 -f 196//39 197//39 212//39 -f 189//40 190//40 205//40 -f 197//41 198//41 213//41 -f 190//42 191//42 206//42 -f 198//43 199//43 214//43 -f 191//44 192//44 207//44 -f 199//45 200//45 215//45 -f 192//46 193//46 208//46 -f 200//47 201//47 216//47 -f 193//48 194//48 209//48 -f 227//33 226//33 228//33 -f 228//33 229//33 230//33 -f 230//33 231//33 232//33 -f 232//33 233//33 227//33 -f 227//33 228//33 230//33 -f 218//49 219//49 227//49 -f 225//50 218//50 233//50 -f 223//51 224//51 231//51 -f 221//52 222//52 229//52 -f 219//53 220//53 226//53 -f 224//54 225//54 232//54 -f 222//55 223//55 230//55 -f 220//56 221//56 228//56 +f 5/1/1 4/2/1 21/3/1 +f 186/4/2 201/5/2 202/6/2 +f 23/7/3 24/8/3 20/9/3 +f 15/10/4 7/11/4 17/12/4 +f 8/13/3 11/14/3 13/15/3 +f 15/16/5 17/17/5 18/18/5 +f 17/17/1 21/19/1 22/20/1 +f 22/20/6 21/19/6 19/21/6 +f 23/22/1 10/23/1 13/24/1 +f 143/25/3 144/25/3 138/25/3 +f 2/26/7 9/25/7 8/27/7 +f 20/28/4 24/29/4 16/30/4 +f 21/31/4 4/32/4 19/33/4 +f 19/33/4 4/32/4 10/34/4 +f 26/35/4 28/36/4 27/37/4 +f 34/38/7 33/39/7 29/40/7 +f 33/39/3 35/41/3 31/42/3 +f 35/41/1 36/43/1 32/44/1 +f 36/43/8 34/38/8 30/45/8 +f 27/37/3 39/46/3 37/47/3 +f 25/48/7 37/49/7 38/50/7 +f 26/35/8 38/51/8 40/52/8 +f 28/36/1 40/53/1 39/54/1 +f 39/55/4 40/56/4 33/39/4 +f 40/56/4 38/57/4 35/41/4 +f 38/57/4 37/58/4 36/43/4 +f 37/58/4 39/55/4 34/38/4 +f 29/59/4 14/60/4 24/29/4 +f 12/61/4 31/62/4 32/63/4 +f 11/14/4 32/63/4 30/64/4 +f 29/59/4 31/62/4 12/61/4 +f 44/65/9 46/66/9 45/67/9 +f 46/66/10 48/68/10 47/69/10 +f 48/68/11 50/70/11 49/71/11 +f 50/70/12 52/72/12 51/73/12 +f 52/72/13 54/74/13 53/75/13 +f 54/74/14 56/76/14 55/77/14 +f 58/78/15 44/65/15 43/79/15 +f 56/80/16 58/78/16 57/81/16 +f 41/82/17 58/83/17 56/84/17 +f 41/82/18 42/85/18 44/86/18 +f 42/85/19 64/87/19 46/88/19 +f 63/89/20 48/90/20 46/88/20 +f 60/91/21 59/92/21 56/93/21 +f 60/91/22 54/94/22 52/95/22 +f 61/96/23 52/95/23 50/97/23 +f 62/98/24 50/97/24 48/90/24 +f 61/99/25 69/100/25 70/101/25 +f 76/102/9 78/103/9 77/104/9 +f 64/105/26 66/106/26 67/107/26 +f 62/108/27 68/109/27 69/100/27 +f 63/110/28 67/107/28 68/109/28 +f 41/111/29 72/112/29 65/113/29 +f 59/114/30 71/115/30 72/112/30 +f 42/116/31 65/113/31 66/106/31 +f 60/117/32 70/101/32 71/118/32 +f 78/103/10 80/119/10 79/120/10 +f 80/119/11 82/121/11 81/122/11 +f 82/121/12 84/123/12 83/124/12 +f 84/123/13 86/125/13 85/126/13 +f 86/125/14 88/127/14 87/128/14 +f 90/129/15 76/102/15 75/130/15 +f 88/131/16 90/129/16 89/132/16 +f 73/133/17 90/134/17 88/135/17 +f 73/133/18 74/136/18 76/137/18 +f 74/136/19 96/138/19 78/139/19 +f 95/140/20 80/141/20 78/139/20 +f 92/142/21 91/143/21 88/144/21 +f 92/142/22 86/145/22 84/146/22 +f 93/147/23 84/146/23 82/148/23 +f 94/149/24 82/148/24 80/141/24 +f 93/150/25 101/151/25 102/152/25 +f 96/153/26 98/154/26 99/155/26 +f 94/156/27 100/157/27 101/151/27 +f 95/158/28 99/155/28 100/157/28 +f 73/159/29 104/160/29 97/161/29 +f 91/162/30 103/163/30 104/160/30 +f 74/164/31 97/161/31 98/154/31 +f 92/165/32 102/152/32 103/166/32 +f 108/167/9 110/168/9 109/169/9 +f 110/168/10 112/170/10 111/171/10 +f 112/170/11 114/172/11 113/173/11 +f 114/172/12 116/174/12 115/175/12 +f 116/174/13 118/176/13 117/177/13 +f 118/176/14 120/178/14 119/179/14 +f 122/180/15 108/167/15 107/181/15 +f 120/182/16 122/180/16 121/183/16 +f 105/184/17 122/185/17 120/186/17 +f 105/184/18 106/187/18 108/188/18 +f 106/187/19 128/189/19 110/190/19 +f 127/191/20 112/192/20 110/190/20 +f 124/193/21 123/194/21 120/195/21 +f 124/193/22 118/196/22 116/197/22 +f 125/198/23 116/197/23 114/199/23 +f 126/200/24 114/199/24 112/192/24 +f 125/201/25 133/202/25 134/203/25 +f 128/204/26 130/205/26 131/206/26 +f 126/207/27 132/208/27 133/202/27 +f 127/209/28 131/206/28 132/208/28 +f 105/210/29 136/211/29 129/212/29 +f 123/213/30 135/214/30 136/211/30 +f 106/215/31 129/212/31 130/205/31 +f 124/216/32 134/203/32 135/217/32 +f 146/25/3 145/25/3 139/25/3 +f 10/25/3 147/25/3 148/25/3 +f 139/25/3 145/25/3 4/25/3 +f 138/25/3 144/25/3 1/25/3 +f 142/25/3 141/25/3 5/25/3 +f 158/25/8 157/25/8 151/25/8 +f 155/25/8 156/25/8 150/25/8 +f 154/25/8 153/25/8 2/25/8 +f 150/25/8 156/25/8 6/25/8 +f 160/25/8 7/25/8 15/25/8 +f 151/25/8 157/25/8 3/25/8 +f 162/218/8 163/219/8 164/220/8 +f 162/218/4 161/221/4 149/222/4 +f 163/219/7 162/218/7 150/223/7 +f 164/220/33 163/219/33 152/224/33 +f 161/221/1 164/220/1 151/225/1 +f 166/226/3 167/227/3 168/228/3 +f 166/226/4 165/229/4 137/230/4 +f 167/227/1 166/226/1 138/231/1 +f 168/228/33 167/227/33 140/232/33 +f 165/229/7 168/228/7 139/233/7 +f 170/234/3 171/235/3 172/236/3 +f 170/234/4 169/237/4 141/238/4 +f 171/235/1 170/234/1 142/239/1 +f 172/236/33 171/235/33 144/240/33 +f 169/237/7 172/236/7 143/241/7 +f 174/242/3 175/243/3 176/244/3 +f 174/242/4 173/245/4 145/246/4 +f 175/243/1 174/242/1 146/247/1 +f 176/244/33 175/243/33 148/248/33 +f 173/245/7 176/244/7 147/249/7 +f 178/250/8 179/251/8 180/252/8 +f 178/250/4 177/253/4 153/254/4 +f 179/251/7 178/250/7 154/255/7 +f 180/252/33 179/251/33 156/256/33 +f 177/253/1 180/252/1 155/257/1 +f 182/258/8 183/259/8 184/260/8 +f 182/258/4 181/261/4 157/262/4 +f 183/259/7 182/258/7 158/263/7 +f 184/260/33 183/259/33 160/264/33 +f 181/261/1 184/260/1 159/265/1 +f 6/25/33 185/25/33 5/25/33 +f 5/25/33 197/25/33 1/25/33 +f 1/25/33 193/25/33 2/25/33 +f 2/25/33 189/25/33 6/25/33 +f 211/266/33 213/267/33 202/268/33 +f 185/269/34 202/6/34 216/270/34 +f 194/271/35 210/272/35 209/273/35 +f 186/4/36 187/274/36 203/275/36 +f 195/276/37 211/277/37 210/272/37 +f 188/278/38 204/279/38 203/275/38 +f 196/280/39 212/281/39 211/277/39 +f 189/282/40 205/283/40 204/279/40 +f 197/284/41 213/285/41 212/281/41 +f 190/286/42 206/287/42 205/283/42 +f 198/288/43 214/289/43 213/285/43 +f 191/290/44 207/291/44 206/287/44 +f 199/292/45 215/293/45 214/289/45 +f 192/294/46 208/295/46 207/291/46 +f 200/296/47 216/270/47 215/293/47 +f 193/297/48 209/298/48 208/295/48 +f 229/299/33 231/300/33 226/301/33 +f 218/302/49 225/303/49 226/304/49 +f 217/305/50 226/304/50 232/306/50 +f 223/307/51 231/308/51 230/309/51 +f 221/310/52 229/311/52 228/312/52 +f 219/313/53 227/314/53 225/303/53 +f 224/315/54 232/306/54 231/308/54 +f 222/316/55 230/309/55 229/317/55 +f 220/318/56 228/312/56 227/314/56 +f 9/319/8 15/320/8 14/60/8 +f 21/3/1 17/321/1 5/1/1 +f 17/321/1 7/322/1 5/1/1 +f 5/1/1 7/322/1 6/323/1 +f 185/269/2 186/4/2 202/6/2 +f 19/21/3 23/7/3 20/9/3 +f 10/324/3 8/13/3 13/15/3 +f 16/325/5 15/16/5 18/18/5 +f 18/18/1 17/17/1 22/20/1 +f 20/9/6 22/20/6 19/21/6 +f 24/326/1 23/22/1 13/24/1 +f 137/25/3 143/25/3 138/25/3 +f 8/27/7 1/327/7 2/26/7 +f 2/26/33 3/25/33 9/25/33 +f 9/25/7 12/328/7 11/329/7 +f 11/329/7 8/27/7 9/25/7 +f 16/30/4 18/330/4 22/331/4 +f 22/331/4 20/28/4 16/30/4 +f 24/29/4 14/60/4 16/30/4 +f 23/332/4 19/33/4 10/34/4 +f 25/48/4 26/35/4 27/37/4 +f 30/333/7 34/38/7 29/40/7 +f 29/334/3 33/39/3 31/42/3 +f 31/335/1 35/41/1 32/44/1 +f 32/336/8 36/43/8 30/45/8 +f 25/48/3 27/37/3 37/47/3 +f 26/35/7 25/48/7 38/50/7 +f 28/36/8 26/35/8 40/52/8 +f 27/37/1 28/36/1 39/54/1 +f 34/38/4 39/55/4 33/39/4 +f 33/39/4 40/56/4 35/41/4 +f 35/41/4 38/57/4 36/43/4 +f 36/43/4 37/58/4 34/38/4 +f 24/29/4 13/15/4 30/64/4 +f 30/64/4 29/59/4 24/29/4 +f 11/14/4 12/61/4 32/63/4 +f 13/15/4 11/14/4 30/64/4 +f 14/60/4 29/59/4 12/61/4 +f 43/79/9 44/65/9 45/67/9 +f 45/67/10 46/66/10 47/69/10 +f 47/69/11 48/68/11 49/71/11 +f 49/71/12 50/70/12 51/73/12 +f 51/73/13 52/72/13 53/75/13 +f 53/75/14 54/74/14 55/77/14 +f 57/81/15 58/78/15 43/79/15 +f 55/337/16 56/80/16 57/81/16 +f 59/338/17 41/82/17 56/84/17 +f 58/83/18 41/82/18 44/86/18 +f 44/86/19 42/85/19 46/88/19 +f 64/87/20 63/89/20 46/88/20 +f 54/94/21 60/91/21 56/93/21 +f 61/96/22 60/91/22 52/95/22 +f 62/98/23 61/96/23 50/97/23 +f 63/89/24 62/98/24 48/90/24 +f 60/117/25 61/99/25 70/101/25 +f 75/130/9 76/102/9 77/104/9 +f 63/110/26 64/105/26 67/107/26 +f 61/99/27 62/108/27 69/100/27 +f 62/108/28 63/110/28 68/109/28 +f 42/116/29 41/111/29 65/113/29 +f 41/111/30 59/114/30 72/112/30 +f 64/105/31 42/116/31 66/106/31 +f 59/339/32 60/117/32 71/118/32 +f 77/104/10 78/103/10 79/120/10 +f 79/120/11 80/119/11 81/122/11 +f 81/122/12 82/121/12 83/124/12 +f 83/124/13 84/123/13 85/126/13 +f 85/126/14 86/125/14 87/128/14 +f 89/132/15 90/129/15 75/130/15 +f 87/340/16 88/131/16 89/132/16 +f 91/341/17 73/133/17 88/135/17 +f 90/134/18 73/133/18 76/137/18 +f 76/137/19 74/136/19 78/139/19 +f 96/138/20 95/140/20 78/139/20 +f 86/145/21 92/142/21 88/144/21 +f 93/147/22 92/142/22 84/146/22 +f 94/149/23 93/147/23 82/148/23 +f 95/140/24 94/149/24 80/141/24 +f 92/165/25 93/150/25 102/152/25 +f 95/158/26 96/153/26 99/155/26 +f 93/150/27 94/156/27 101/151/27 +f 94/156/28 95/158/28 100/157/28 +f 74/164/29 73/159/29 97/161/29 +f 73/159/30 91/162/30 104/160/30 +f 96/153/31 74/164/31 98/154/31 +f 91/342/32 92/165/32 103/166/32 +f 107/181/9 108/167/9 109/169/9 +f 109/169/10 110/168/10 111/171/10 +f 111/171/11 112/170/11 113/173/11 +f 113/173/12 114/172/12 115/175/12 +f 115/175/13 116/174/13 117/177/13 +f 117/177/14 118/176/14 119/179/14 +f 121/183/15 122/180/15 107/181/15 +f 119/343/16 120/182/16 121/183/16 +f 123/344/17 105/184/17 120/186/17 +f 122/185/18 105/184/18 108/188/18 +f 108/188/19 106/187/19 110/190/19 +f 128/189/20 127/191/20 110/190/20 +f 118/196/21 124/193/21 120/195/21 +f 125/198/22 124/193/22 116/197/22 +f 126/200/23 125/198/23 114/199/23 +f 127/191/24 126/200/24 112/192/24 +f 124/216/25 125/201/25 134/203/25 +f 127/209/26 128/204/26 131/206/26 +f 125/201/27 126/207/27 133/202/27 +f 126/207/28 127/209/28 132/208/28 +f 106/215/29 105/210/29 129/212/29 +f 105/210/30 123/213/30 136/211/30 +f 128/204/31 106/215/31 130/205/31 +f 123/345/32 124/216/32 135/217/32 +f 140/25/3 146/25/3 139/25/3 +f 148/25/3 8/25/3 10/25/3 +f 10/25/3 4/25/3 147/25/3 +f 4/25/3 5/25/3 139/25/3 +f 143/25/3 137/25/3 5/25/3 +f 5/25/3 141/25/3 143/25/3 +f 145/25/3 147/25/3 4/25/3 +f 137/25/3 139/25/3 5/25/3 +f 1/25/3 8/25/3 140/25/3 +f 148/25/3 146/25/3 8/25/3 +f 140/25/3 138/25/3 1/25/3 +f 144/25/3 142/25/3 1/25/3 +f 8/25/3 146/25/3 140/25/3 +f 1/25/3 142/25/3 5/25/3 +f 152/25/8 158/25/8 151/25/8 +f 149/25/8 155/25/8 150/25/8 +f 6/25/8 154/25/8 2/25/8 +f 6/25/8 7/25/8 152/25/8 +f 160/25/8 158/25/8 7/25/8 +f 152/25/8 150/25/8 6/25/8 +f 156/25/8 154/25/8 6/25/8 +f 7/25/8 158/25/8 152/25/8 +f 15/25/8 9/25/8 159/25/8 +f 159/25/8 160/25/8 15/25/8 +f 3/25/8 2/25/8 149/25/8 +f 153/25/8 155/25/8 2/25/8 +f 149/25/8 151/25/8 3/25/8 +f 159/25/33 9/25/33 3/25/33 +f 155/25/8 149/25/8 2/25/8 +f 157/25/8 159/25/8 3/25/8 +f 161/221/8 162/218/8 164/220/8 +f 150/346/4 162/218/4 149/222/4 +f 152/347/7 163/219/7 150/223/7 +f 151/348/33 164/220/33 152/224/33 +f 149/349/1 161/221/1 151/225/1 +f 165/229/3 166/226/3 168/228/3 +f 138/350/4 166/226/4 137/230/4 +f 140/351/1 167/227/1 138/231/1 +f 139/352/33 168/228/33 140/232/33 +f 137/353/7 165/229/7 139/233/7 +f 169/237/3 170/234/3 172/236/3 +f 142/354/4 170/234/4 141/238/4 +f 144/355/1 171/235/1 142/239/1 +f 143/356/33 172/236/33 144/240/33 +f 141/357/7 169/237/7 143/241/7 +f 173/245/3 174/242/3 176/244/3 +f 146/358/4 174/242/4 145/246/4 +f 148/359/1 175/243/1 146/247/1 +f 147/360/33 176/244/33 148/248/33 +f 145/361/7 173/245/7 147/249/7 +f 177/253/8 178/250/8 180/252/8 +f 154/362/4 178/250/4 153/254/4 +f 156/363/7 179/251/7 154/255/7 +f 155/364/33 180/252/33 156/256/33 +f 153/365/1 177/253/1 155/257/1 +f 181/261/8 182/258/8 184/260/8 +f 158/366/4 182/258/4 157/262/4 +f 160/367/7 183/259/7 158/263/7 +f 159/368/33 184/260/33 160/264/33 +f 157/369/1 181/261/1 159/265/1 +f 200/25/33 199/25/33 5/25/33 +f 6/25/33 187/25/33 186/25/33 +f 200/25/33 5/25/33 185/25/33 +f 6/25/33 186/25/33 185/25/33 +f 196/25/33 195/25/33 1/25/33 +f 5/25/33 199/25/33 198/25/33 +f 196/25/33 1/25/33 197/25/33 +f 5/25/33 198/25/33 197/25/33 +f 192/25/33 191/25/33 2/25/33 +f 1/25/33 195/25/33 194/25/33 +f 192/25/33 2/25/33 193/25/33 +f 1/25/33 194/25/33 193/25/33 +f 188/25/33 187/25/33 6/25/33 +f 2/25/33 191/25/33 190/25/33 +f 188/25/33 6/25/33 189/25/33 +f 2/25/33 190/25/33 189/25/33 +f 202/268/33 201/370/33 203/371/33 +f 203/371/33 204/372/33 202/268/33 +f 205/373/33 206/374/33 209/375/33 +f 207/376/33 208/377/33 209/375/33 +f 209/375/33 210/378/33 211/266/33 +f 211/266/33 212/379/33 213/267/33 +f 213/267/33 214/380/33 215/381/33 +f 215/381/33 216/382/33 213/267/33 +f 202/268/33 204/372/33 205/373/33 +f 206/374/33 207/376/33 209/375/33 +f 209/375/33 211/266/33 202/268/33 +f 213/267/33 216/382/33 202/268/33 +f 202/268/33 205/373/33 209/375/33 +f 200/296/34 185/269/34 216/270/34 +f 193/383/35 194/271/35 209/273/35 +f 201/5/36 186/4/36 203/275/36 +f 194/271/37 195/276/37 210/272/37 +f 187/274/38 188/278/38 203/275/38 +f 195/276/39 196/280/39 211/277/39 +f 188/278/40 189/282/40 204/279/40 +f 196/280/41 197/284/41 212/281/41 +f 189/282/42 190/286/42 205/283/42 +f 197/284/43 198/288/43 213/285/43 +f 190/286/44 191/290/44 206/287/44 +f 198/288/45 199/292/45 214/289/45 +f 191/290/46 192/294/46 207/291/46 +f 199/292/47 200/296/47 215/293/47 +f 192/294/48 193/297/48 208/295/48 +f 226/301/33 225/384/33 227/385/33 +f 227/385/33 228/386/33 229/299/33 +f 229/299/33 230/387/33 231/300/33 +f 231/300/33 232/388/33 226/301/33 +f 226/301/33 227/385/33 229/299/33 +f 217/305/49 218/302/49 226/304/49 +f 224/315/50 217/305/50 232/306/50 +f 222/316/51 223/307/51 230/309/51 +f 220/318/52 221/310/52 228/312/52 +f 218/302/53 219/313/53 225/303/53 +f 223/307/54 224/315/54 231/308/54 +f 221/389/55 222/316/55 229/317/55 +f 219/313/56 220/318/56 227/314/56 +f 16/30/8 14/60/8 15/320/8 +f 12/61/8 9/319/8 14/60/8 diff --git a/assets/hbm/models/rad_gen_rotor.obj b/assets/hbm/models/rad_gen_rotor.obj index d98d8c1ea..116f3a64c 100644 --- a/assets/hbm/models/rad_gen_rotor.obj +++ b/assets/hbm/models/rad_gen_rotor.obj @@ -97,6 +97,54 @@ v -0.093969 -0.000000 1.434202 v 0.093969 -0.000000 1.365798 v -0.093969 1.000000 1.434202 v 0.093969 1.000000 1.365798 +vt 0.999999 0.250000 +vt 0.999999 0.666666 +vt 0.916666 0.666666 +vt 0.000000 0.083334 +vt 0.416666 0.083333 +vt 0.416666 0.166667 +vt 0.000000 0.833334 +vt 0.416666 0.833334 +vt 0.416666 0.916667 +vt 0.416666 0.750000 +vt 0.833332 0.750000 +vt 0.416666 0.583334 +vt 0.416666 0.666667 +vt 0.000000 0.666667 +vt 0.416666 1.000000 +vt 0.000000 1.000000 +vt 0.916666 0.500000 +vt 0.916666 0.583333 +vt 0.500000 0.583333 +vt 0.000000 0.750000 +vt 0.416666 0.250000 +vt 0.499999 0.250000 +vt 0.000000 0.250000 +vt 0.000000 0.166667 +vt 0.833333 0.166667 +vt 0.916666 0.333334 +vt 0.500000 0.333334 +vt 0.416666 0.416667 +vt 0.000000 0.416667 +vt 0.000000 0.333334 +vt 0.000000 0.583334 +vt 0.000000 0.500000 +vt 0.833333 0.083333 +vt 0.416666 0.000000 +vt 0.000000 0.000000 +vt 0.916666 0.416667 +vt 0.500000 0.416667 +vt 0.416666 0.333333 +vt 0.833332 0.833334 +vt 0.833332 0.916667 +vt 0.833332 0.250000 +vt 0.833332 0.666667 +vt 0.416666 0.500000 +vt 0.916666 0.250000 +vt 0.000000 0.916667 +vt 0.500000 0.500000 +vt 0.500000 0.666667 +vt 0.833333 0.000000 vn 0.171000 0.296200 0.939700 vn 0.241800 0.241800 0.939700 vn 0.330400 0.088500 0.939700 @@ -122,51 +170,51 @@ vn 0.241800 -0.241800 0.939700 vn 0.330400 -0.088500 0.939700 vn 0.342000 0.000000 0.939700 s off -f 2//1 4//1 3//1 -f 6//2 8//2 7//2 -f 10//3 12//3 11//3 -f 13//4 14//4 16//4 -f 17//5 18//5 20//5 -f 21//6 22//6 24//6 -f 25//7 26//7 28//7 -f 30//8 32//8 31//8 -f 34//9 36//9 35//9 -f 38//10 40//10 39//10 -f 42//11 44//11 43//11 -f 46//12 48//12 47//12 -f 50//13 52//13 51//13 -f 54//14 56//14 55//14 -f 58//15 60//15 59//15 -f 62//16 64//16 63//16 -f 66//17 68//17 67//17 -f 70//18 72//18 71//18 -f 74//19 76//19 75//19 -f 78//20 80//20 79//20 -f 82//21 84//21 83//21 -f 86//22 88//22 87//22 -f 90//23 92//23 91//23 -f 94//24 96//24 95//24 -f 1//1 2//1 3//1 -f 5//2 6//2 7//2 -f 9//3 10//3 11//3 -f 15//4 13//4 16//4 -f 19//5 17//5 20//5 -f 23//6 21//6 24//6 -f 27//7 25//7 28//7 -f 29//8 30//8 31//8 -f 33//9 34//9 35//9 -f 37//10 38//10 39//10 -f 41//11 42//11 43//11 -f 45//12 46//12 47//12 -f 49//13 50//13 51//13 -f 53//14 54//14 55//14 -f 57//15 58//15 59//15 -f 61//16 62//16 63//16 -f 65//17 66//17 67//17 -f 69//18 70//18 71//18 -f 73//19 74//19 75//19 -f 77//20 78//20 79//20 -f 81//21 82//21 83//21 -f 85//22 86//22 87//22 -f 89//23 90//23 91//23 -f 93//24 94//24 95//24 +f 2/1/1 4/2/1 3/3/1 +f 6/4/2 8/5/2 7/6/2 +f 10/7/3 12/8/3 11/9/3 +f 13/8/4 14/10/4 16/11/4 +f 17/12/5 18/13/5 20/14/5 +f 21/9/6 22/15/6 24/16/6 +f 25/17/7 26/18/7 28/19/7 +f 30/10/8 32/20/8 31/14/8 +f 34/13/9 36/21/9 35/22/9 +f 38/21/10 40/23/10 39/24/10 +f 42/25/11 44/6/11 43/5/11 +f 46/26/12 48/27/12 47/22/12 +f 50/28/13 52/29/13 51/30/13 +f 54/12/14 56/31/14 55/32/14 +f 58/33/15 60/5/15 59/34/15 +f 62/5/16 64/4/16 63/35/16 +f 66/27/17 68/26/17 67/36/17 +f 70/37/18 72/36/18 71/17/18 +f 74/20/19 76/10/19 75/8/19 +f 78/23/20 80/21/20 79/38/20 +f 82/8/21 84/39/21 83/40/21 +f 86/6/22 88/25/22 87/41/22 +f 90/13/23 92/42/23 91/11/23 +f 94/29/24 96/28/24 95/43/24 +f 1/44/1 2/1/1 3/3/1 +f 5/24/2 6/4/2 7/6/2 +f 9/45/3 10/7/3 11/9/3 +f 15/39/4 13/8/4 16/11/4 +f 19/31/5 17/12/5 20/14/5 +f 23/45/6 21/9/6 24/16/6 +f 27/46/7 25/17/7 28/19/7 +f 29/13/8 30/10/8 31/14/8 +f 33/47/9 34/13/9 35/22/9 +f 37/6/10 38/21/10 39/24/10 +f 41/33/11 42/25/11 43/5/11 +f 45/44/12 46/26/12 47/22/12 +f 49/38/13 50/28/13 51/30/13 +f 53/43/14 54/12/14 55/32/14 +f 57/48/15 58/33/15 59/34/15 +f 61/34/16 62/5/16 63/35/16 +f 65/37/17 66/27/17 67/36/17 +f 69/46/18 70/37/18 71/17/18 +f 73/7/19 74/20/19 75/8/19 +f 77/30/20 78/23/20 79/38/20 +f 81/9/21 82/8/21 83/40/21 +f 85/21/22 86/6/22 87/41/22 +f 89/10/23 90/13/23 91/11/23 +f 93/32/24 94/29/24 95/43/24 diff --git a/assets/hbm/textures/blocks/machine_radgen.png b/assets/hbm/textures/blocks/machine_radgen.png new file mode 100644 index 000000000..e8cd5efc4 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_radgen.png differ diff --git a/assets/hbm/textures/models/rad_gen_body.png b/assets/hbm/textures/models/rad_gen_body.png new file mode 100644 index 000000000..da035f36f Binary files /dev/null and b/assets/hbm/textures/models/rad_gen_body.png differ diff --git a/assets/hbm/textures/models/refinery.png b/assets/hbm/textures/models/refinery.png index d89127c80..8da11cb6d 100755 Binary files a/assets/hbm/textures/models/refinery.png and b/assets/hbm/textures/models/refinery.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 02936f3dc..d80c7fffd 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -678,7 +678,7 @@ public class ModBlocks { machine_generator = new MachineGenerator(Material.iron).setBlockName("machine_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); machine_industrial_generator = new MachineIGenerator(Material.iron).setBlockName("machine_industrial_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":industrial_generator"); machine_cyclotron = new MachineCyclotron(Material.iron).setBlockName("machine_cyclotron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":cyclotron"); - machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":code"); + machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_radgen"); machine_electric_furnace_off = new MachineElectricFurnace(false).setBlockName("machine_electric_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock); machine_electric_furnace_on = new MachineElectricFurnace(true).setBlockName("machine_electric_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); diff --git a/com/hbm/blocks/bomb/TurretCIWS.java b/com/hbm/blocks/bomb/TurretCIWS.java index 182ab9848..6076cbcfd 100644 --- a/com/hbm/blocks/bomb/TurretCIWS.java +++ b/com/hbm/blocks/bomb/TurretCIWS.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.entity.projectile.EntityBullet; import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.bomb.TileEntityTurretCIWS; import com.hbm.tileentity.bomb.TileEntityTurretCheapo; import com.hbm.tileentity.bomb.TileEntityTurretSpitfire; @@ -55,7 +56,7 @@ public class TurretCIWS extends TurretBase { if(!world.isRemote) { - rayShot(world, vector, x + vector.xCoord * 2.5 + 0.5, y + vector.yCoord * 2.5 + 0.5, z + vector.zCoord * 2.5 + 0.5, 100, 10.0F, 50); + rayShot(world, vector, x + vector.xCoord * 2.5 + 0.5, y + vector.yCoord * 2.5 + 0.5, z + vector.zCoord * 2.5 + 0.5, 100, 10.0F, MainRegistry.ciwsHitrate); EntityGasFlameFX smoke = new EntityGasFlameFX(world); smoke.posX = x + vector.xCoord * 2.5 + 0.5; diff --git a/com/hbm/blocks/machine/MachineAssembler.java b/com/hbm/blocks/machine/MachineAssembler.java index 9651e90e7..881768570 100644 --- a/com/hbm/blocks/machine/MachineAssembler.java +++ b/com/hbm/blocks/machine/MachineAssembler.java @@ -8,11 +8,15 @@ import com.hbm.interfaces.IMultiblock; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityMachineAssembler; +import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -234,4 +238,59 @@ public class MachineAssembler extends BlockContainer implements IMultiblock { world.func_147480_a(x, y, z, true); } } + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + if (!keepInventory) + { + ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } } diff --git a/com/hbm/blocks/machine/MachineChemplant.java b/com/hbm/blocks/machine/MachineChemplant.java index 6b97cd795..1bc7f5f7c 100644 --- a/com/hbm/blocks/machine/MachineChemplant.java +++ b/com/hbm/blocks/machine/MachineChemplant.java @@ -6,13 +6,18 @@ import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandler; import com.hbm.interfaces.IMultiblock; import com.hbm.tileentity.machine.TileEntityDummy; +import com.hbm.tileentity.machine.TileEntityMachineCentrifuge; import com.hbm.tileentity.machine.TileEntityMachineChemplant; +import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -234,4 +239,59 @@ public class MachineChemplant extends BlockContainer implements IMultiblock { world.func_147480_a(x, y, z, true); } } + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + if (!keepInventory) + { + ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } } diff --git a/com/hbm/blocks/machine/MachineIGenerator.java b/com/hbm/blocks/machine/MachineIGenerator.java index 18bcfab8b..172affe53 100644 --- a/com/hbm/blocks/machine/MachineIGenerator.java +++ b/com/hbm/blocks/machine/MachineIGenerator.java @@ -14,9 +14,12 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -192,4 +195,59 @@ public class MachineIGenerator extends BlockContainer implements IMultiblock { return false; } } + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + if (!keepInventory) + { + ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } } diff --git a/com/hbm/blocks/machine/MachineMiningDrill.java b/com/hbm/blocks/machine/MachineMiningDrill.java index ac6cb78f0..c4aa5e156 100644 --- a/com/hbm/blocks/machine/MachineMiningDrill.java +++ b/com/hbm/blocks/machine/MachineMiningDrill.java @@ -8,11 +8,15 @@ import com.hbm.interfaces.IMultiblock; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; +import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -171,9 +175,58 @@ public class MachineMiningDrill extends BlockContainer implements IMultiblock { } } + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + @Override - public boolean canPlaceBlockAt(World world, int x, int y, int z) + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { - return true; + if (!keepInventory) + { + ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); } } diff --git a/com/hbm/blocks/machine/MachineRadGen.java b/com/hbm/blocks/machine/MachineRadGen.java index 46114afca..aaf66af13 100644 --- a/com/hbm/blocks/machine/MachineRadGen.java +++ b/com/hbm/blocks/machine/MachineRadGen.java @@ -11,12 +11,16 @@ import com.hbm.tileentity.machine.TileEntityMachineIGenerator; import com.hbm.tileentity.machine.TileEntityMachineRadGen; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -160,4 +164,59 @@ public class MachineRadGen extends BlockContainer implements IMultiblock { return false; } } + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + if (!keepInventory) + { + ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } } diff --git a/com/hbm/blocks/machine/MachineSiren.java b/com/hbm/blocks/machine/MachineSiren.java index 4a5226239..fc2968307 100644 --- a/com/hbm/blocks/machine/MachineSiren.java +++ b/com/hbm/blocks/machine/MachineSiren.java @@ -1,5 +1,7 @@ package com.hbm.blocks.machine; +import java.util.Random; + import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -9,10 +11,15 @@ import com.hbm.tileentity.machine.TileEntityMachineSiren; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; @@ -62,5 +69,60 @@ public class MachineSiren extends BlockContainer { return false; } } + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + if (!keepInventory) + { + ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } } diff --git a/com/hbm/blocks/machine/MachineTurbofan.java b/com/hbm/blocks/machine/MachineTurbofan.java index f902dcf71..54875faf5 100644 --- a/com/hbm/blocks/machine/MachineTurbofan.java +++ b/com/hbm/blocks/machine/MachineTurbofan.java @@ -17,9 +17,12 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -260,4 +263,59 @@ public class MachineTurbofan extends BlockContainer implements IMultiblock { return false; } } + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + if (!keepInventory) + { + ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } } \ No newline at end of file diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 0f4b8d5d9..dcb58fd8c 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -1673,6 +1673,63 @@ public class MachineRecipes { List list = new ArrayList(); switch(ItemAssemblyTemplate.EnumAssemblyTemplate.getEnum(stack.getItemDamage())) { + case IRON_PLATE: + list.add(new ItemStack(Items.iron_ingot, 1)); + break; + case GOLD_PLATE: + list.add(new ItemStack(Items.gold_ingot, 1)); + break; + case TITANIUM_PLATE: + list.add(new ItemStack(ModItems.ingot_titanium, 1)); + break; + case ALUMINIUM_PLATE: + list.add(new ItemStack(ModItems.ingot_aluminium, 1)); + break; + case STEEL_PLATE: + list.add(new ItemStack(ModItems.ingot_steel, 1)); + break; + case LEAD_PLATE: + list.add(new ItemStack(ModItems.ingot_lead, 1)); + break; + case COPPER_PLATE: + list.add(new ItemStack(ModItems.ingot_copper, 1)); + break; + case ADVANCED_PLATE: + list.add(new ItemStack(ModItems.ingot_advanced_alloy, 1)); + break; + case SCHRABIDIUM_PLATE: + list.add(new ItemStack(ModItems.ingot_schrabidium, 1)); + break; + case CMB_PLATE: + list.add(new ItemStack(ModItems.ingot_combine_steel, 1)); + break; + case ALUMINIUM_WIRE: + list.add(new ItemStack(ModItems.ingot_aluminium, 1)); + break; + case COPPER_WIRE: + list.add(new ItemStack(ModItems.ingot_copper, 1)); + break; + case TUNGSTEN_WIRE: + list.add(new ItemStack(ModItems.ingot_tungsten, 1)); + break; + case REDCOPPER_WIRE: + list.add(new ItemStack(ModItems.ingot_red_copper, 1)); + break; + case ADVANCED_WIRE: + list.add(new ItemStack(ModItems.ingot_advanced_alloy, 1)); + break; + case GOLD_WIRE: + list.add(new ItemStack(Items.gold_ingot, 1)); + break; + case SCHRABIDIUM_WIRE: + list.add(new ItemStack(ModItems.ingot_schrabidium, 1)); + break; + case MAGNETIZED_WIRE: + list.add(new ItemStack(ModItems.ingot_magnetized_tungsten, 1)); + break; + case CIRCUIT_1: + list.add(new ItemStack(ModItems.circuit_raw, 1)); + break; case SCHRABIDIUM_HAMMER: list.add(new ItemStack(ModBlocks.block_schrabidium, 15)); list.add(new ItemStack(ModItems.ingot_polymer, 64*2)); @@ -2236,6 +2293,16 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.neutron_reflector, 4)); list.add(new ItemStack(ModItems.plate_copper, 2)); break; + case RAD_GEN: + list.add(new ItemStack(ModItems.ingot_steel, 8)); + list.add(new ItemStack(ModItems.plate_steel, 32)); + list.add(new ItemStack(ModItems.coil_magnetized_tungsten, 6)); + list.add(new ItemStack(ModItems.wire_magnetized_tungsten, 24)); + list.add(new ItemStack(ModItems.circuit_gold, 4)); + list.add(new ItemStack(ModItems.reactor_core, 3)); + list.add(new ItemStack(ModItems.ingot_starmetal, 1)); + list.add(new ItemStack(Items.dye, 1, 1)); + break; case DIESEL_GENERATOR: list.add(new ItemStack(ModItems.hull_small_steel, 4)); list.add(new ItemStack(Blocks.piston, 4)); @@ -3174,6 +3241,63 @@ public class MachineRecipes { ItemStack output = null; switch(ItemAssemblyTemplate.EnumAssemblyTemplate.getEnum(stack.getItemDamage())) { + case IRON_PLATE: + output = new ItemStack(ModItems.plate_iron, 2); + break; + case GOLD_PLATE: + output = new ItemStack(ModItems.plate_gold, 2); + break; + case TITANIUM_PLATE: + output = new ItemStack(ModItems.plate_titanium, 2); + break; + case ALUMINIUM_PLATE: + output = new ItemStack(ModItems.plate_aluminium, 2); + break; + case STEEL_PLATE: + output = new ItemStack(ModItems.plate_steel, 2); + break; + case LEAD_PLATE: + output = new ItemStack(ModItems.plate_lead, 2); + break; + case COPPER_PLATE: + output = new ItemStack(ModItems.plate_copper, 2); + break; + case ADVANCED_PLATE: + output = new ItemStack(ModItems.plate_advanced_alloy, 2); + break; + case SCHRABIDIUM_PLATE: + output = new ItemStack(ModItems.plate_schrabidium, 2); + break; + case CMB_PLATE: + output = new ItemStack(ModItems.plate_combine_steel, 2); + break; + case ALUMINIUM_WIRE: + output = new ItemStack(ModItems.wire_aluminium, 6); + break; + case COPPER_WIRE: + output = new ItemStack(ModItems.wire_copper, 6); + break; + case TUNGSTEN_WIRE: + output = new ItemStack(ModItems.wire_tungsten, 6); + break; + case REDCOPPER_WIRE: + output = new ItemStack(ModItems.wire_red_copper, 6); + break; + case ADVANCED_WIRE: + output = new ItemStack(ModItems.wire_advanced_alloy, 6); + break; + case GOLD_WIRE: + output = new ItemStack(ModItems.wire_gold, 6); + break; + case SCHRABIDIUM_WIRE: + output = new ItemStack(ModItems.wire_schrabidium, 6); + break; + case MAGNETIZED_WIRE: + output = new ItemStack(ModItems.wire_magnetized_tungsten, 6); + break; + case CIRCUIT_1: + output = new ItemStack(ModItems.circuit_aluminium, 1); + break; case SCHRABIDIUM_HAMMER: output = new ItemStack(ModItems.schrabidium_hammer, 1); break; @@ -3477,6 +3601,9 @@ public class MachineRecipes { case RTG_FURNACE: output = new ItemStack(ModBlocks.machine_rtg_furnace_off, 1); break; + case RAD_GEN: + output = new ItemStack(ModBlocks.machine_radgen, 1); + break; case DIESEL_GENERATOR: output = new ItemStack(ModBlocks.machine_diesel, 1); break; diff --git a/com/hbm/inventory/gui/GUIMachineCoal.java b/com/hbm/inventory/gui/GUIMachineCoal.java index bc072974d..2f50b2199 100644 --- a/com/hbm/inventory/gui/GUIMachineCoal.java +++ b/com/hbm/inventory/gui/GUIMachineCoal.java @@ -32,6 +32,27 @@ public class GUIMachineCoal extends GuiInfoContainer { diFurnace.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 69 - 52, 16, 52); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 69 - 52, 16, 52, diFurnace.power, diFurnace.maxPower); + + String[] text = new String[] { "Power generation rate:", + " 25 HE/t", + " 500 HE/s", + "Accepts all furnace fuels.", + "(All fuels burn half as long in this generator", + "as in a regular furnace)" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); + + String[] text1 = new String[] { "Water consumption rate:", + " 1 mB/t", + " 20 mB/s", + "(Consumption rate is constant)" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1); + + if(diFurnace.tank.getFill() <= 0) { + + String[] text2 = new String[] { "Error: Water is required for", + "the generator to function properly!" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2); + } } @Override @@ -57,6 +78,12 @@ public class GUIMachineCoal extends GuiInfoContainer { { drawTexturedModalRect(guiLeft + 79, guiTop + 34, 208, 0, 18, 18); } + + if(diFurnace.tank.getFill() <= 0) + this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6); + + this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); + this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3); Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tank.getSheet()); diFurnace.tank.renderTank(this, guiLeft + 8, guiTop + 69, diFurnace.tank.getTankType().textureX() * FluidTank.x, diFurnace.tank.getTankType().textureY() * FluidTank.y, 16, 52); diff --git a/com/hbm/inventory/gui/GUIMachineDiesel.java b/com/hbm/inventory/gui/GUIMachineDiesel.java index c01321118..17aa325d7 100644 --- a/com/hbm/inventory/gui/GUIMachineDiesel.java +++ b/com/hbm/inventory/gui/GUIMachineDiesel.java @@ -40,7 +40,7 @@ public class GUIMachineDiesel extends GuiInfoContainer { " NITAN Superfuel (5000 HE/t)" }; this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); - String[] text1 = new String[] { "Fuel consumption:", + String[] text1 = new String[] { "Fuel consumption rate:", " 10 mB/t", " 200 mB/s", "(Consumption rate is constant)" }; diff --git a/com/hbm/inventory/gui/GUIMachineRadGen.java b/com/hbm/inventory/gui/GUIMachineRadGen.java index 6dee951d2..32d904ce3 100644 --- a/com/hbm/inventory/gui/GUIMachineRadGen.java +++ b/com/hbm/inventory/gui/GUIMachineRadGen.java @@ -34,6 +34,17 @@ public class GUIMachineRadGen extends GuiInfoContainer { this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 69 - 52, 16, 52, new String[] { "Fuel: " + radgen.getFuelScaled(100) + "%" }); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 69 - 52, 16, 52, radgen.power, radgen.maxPower); + + String[] text = new String[] { "Accepted Fuels:", + " About anything radioactive other than reactor fuel,", + " even waste like dead grass!" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); + + String[] text1 = new String[] { "Power generation rate:", + " 1 kHE/t", + " 20 kHE/s", + "(Generation rate at maximum performance)" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1); } @Override @@ -73,5 +84,8 @@ public class GUIMachineRadGen extends GuiInfoContainer { sy = (l - 7) * 36; } drawTexturedModalRect(guiLeft + 70, guiTop + 25, sx, sy, 36, 36); + + this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); + this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3); } } diff --git a/com/hbm/inventory/gui/GUIMachineSelenium.java b/com/hbm/inventory/gui/GUIMachineSelenium.java index a5711a73a..f379892bd 100644 --- a/com/hbm/inventory/gui/GUIMachineSelenium.java +++ b/com/hbm/inventory/gui/GUIMachineSelenium.java @@ -48,7 +48,7 @@ public class GUIMachineSelenium extends GuiInfoContainer { "on piston count)" }; this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); - String[] text1 = new String[] { "Fuel consumption:", + String[] text1 = new String[] { "Fuel consumption rate:", " 5 mB/t", " 100 mB/s", "(Consumption rate per piston)" }; diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index 92f2bd376..9f2171a82 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -15,8 +15,26 @@ import net.minecraft.util.StatCollector; public class ItemAssemblyTemplate extends Item { public enum EnumAssemblyTemplate { - + + IRON_PLATE, + GOLD_PLATE, + TITANIUM_PLATE, + ALUMINIUM_PLATE, + STEEL_PLATE, + LEAD_PLATE, + COPPER_PLATE, + ADVANCED_PLATE, + SCHRABIDIUM_PLATE, + CMB_PLATE, MIXED_PLATE, + ALUMINIUM_WIRE, + COPPER_WIRE, + TUNGSTEN_WIRE, + REDCOPPER_WIRE, + ADVANCED_WIRE, + GOLD_WIRE, + SCHRABIDIUM_WIRE, + MAGNETIZED_WIRE, HAZMAT_CLOTH, ASBESTOS_CLOTH, COAL_FILTER, @@ -63,6 +81,7 @@ public class ItemAssemblyTemplate extends Item { CHOPPER_TAIL, CHOPPER_WING, CHOPPER_BLADES, + CIRCUIT_1, CIRCUIT_2, CIRCUIT_3, RTG_PELLET, @@ -115,6 +134,7 @@ public class ItemAssemblyTemplate extends Item { CENTRIFUGE, BREEDING_REACTOR, RTG_FURNACE, + RAD_GEN, DIESEL_GENERATOR, SELENIUM_GENERATOR, NUCLEAR_GENERATOR, @@ -303,8 +323,44 @@ public class ItemAssemblyTemplate extends Item { EnumAssemblyTemplate enum1 = EnumAssemblyTemplate.getEnum(i); switch (enum1) { + case IRON_PLATE: + return 30; + case GOLD_PLATE: + return 30; + case TITANIUM_PLATE: + return 30; + case ALUMINIUM_PLATE: + return 30; + case STEEL_PLATE: + return 30; + case LEAD_PLATE: + return 30; + case COPPER_PLATE: + return 30; + case ADVANCED_PLATE: + return 30; + case SCHRABIDIUM_PLATE: + return 30; + case CMB_PLATE: + return 30; case MIXED_PLATE: return 50; + case ALUMINIUM_WIRE: + return 20; + case COPPER_WIRE: + return 20; + case TUNGSTEN_WIRE: + return 20; + case REDCOPPER_WIRE: + return 20; + case ADVANCED_WIRE: + return 20; + case GOLD_WIRE: + return 20; + case SCHRABIDIUM_WIRE: + return 20; + case MAGNETIZED_WIRE: + return 20; case HAZMAT_CLOTH: return 50; case ASBESTOS_CLOTH: @@ -399,6 +455,8 @@ public class ItemAssemblyTemplate extends Item { return 150; case CHOPPER_BLADES: return 200; + case CIRCUIT_1: + return 50; case CIRCUIT_2: return 100; case CIRCUIT_3: @@ -503,6 +561,8 @@ public class ItemAssemblyTemplate extends Item { return 150; case RTG_FURNACE: return 150; + case RAD_GEN: + return 400; case DIESEL_GENERATOR: return 200; case SELENIUM_GENERATOR: diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 048d6bd2c..7d5a8eea8 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -11,6 +11,7 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; import cpw.mods.fml.common.registry.GameRegistry; @@ -268,7 +269,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_neptunium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_lead, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_schrabidium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_solinium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_solinium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_uranium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_plutonium_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_mox_fuel, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); @@ -294,7 +295,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_neptunium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_lead, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_lead, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_schrabidium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_solinium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_solinium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_solinium, ModItems.ingot_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_uranium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_uranium_fuel, ModItems.ingot_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel, ModItems.nugget_uranium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_plutonium_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_plutonium_fuel, ModItems.ingot_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel, ModItems.nugget_plutonium_fuel }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_mox_fuel, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_mox_fuel, ModItems.ingot_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel, ModItems.nugget_mox_fuel }); @@ -1146,6 +1147,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.crate_caller), new Object[] { "nuggetSchrabidium", ModItems.crowbar, ModItems.detonator })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.catalyst_clay), new Object[] { "dustIron", Items.clay_ball })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.catalyst_clay, 4), new Object[] { "dustAluminum", "dustRedstone", Items.clay_ball })); + + GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) }); + GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) }); } diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 6021cab69..716b3bc32 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -448,6 +448,7 @@ public class MainRegistry public static int radarRange = 1000; public static int radarBuffer = 30; public static int radarAltitude = 55; + public static int ciwsHitrate = 50; public static int generalOverride = 0; public static int polaroidID = 1; @@ -1395,12 +1396,15 @@ public class MainRegistry Property propRadarRange = config.get(Configuration.CATEGORY_GENERAL, "7.00_radarRange", 1000); propRadarRange.comment = "Range of the radar, 50 will result in 100x100 block area covered"; radarRange = propRadarRange.getInt(); - Property propRadarBuffer = config.get(Configuration.CATEGORY_GENERAL, "7.00_radarBuffer", 30); + Property propRadarBuffer = config.get(Configuration.CATEGORY_GENERAL, "7.01_radarBuffer", 30); propRadarBuffer.comment = "How high entities have to be above the radar to be detected"; radarBuffer = propRadarBuffer.getInt(); - Property propRadarAltitude = config.get(Configuration.CATEGORY_GENERAL, "7.00_radarAltitude", 55); + Property propRadarAltitude = config.get(Configuration.CATEGORY_GENERAL, "7.02_radarAltitude", 55); propRadarAltitude.comment = "Y height required for the radar to work"; radarAltitude = propRadarAltitude.getInt(); + Property propCiwsHitrate = config.get(Configuration.CATEGORY_GENERAL, "7.03_ciwsAccuracy", 50); + propCiwsHitrate.comment = "Additional modifier for CIWS accuracy"; + ciwsHitrate = propRadarAltitude.getInt(); config.save(); } diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 55a9b7300..8ba21f066 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -126,6 +126,9 @@ public class ResourceManager { public static final ResourceLocation ams_limiter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_limiter.png"); public static final ResourceLocation ams_destroyed_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_destroyed.png"); + //Radgen + public static final ResourceLocation radgen_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/rad_gen_body.png"); + //Radar public static final ResourceLocation radar_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_base.png"); public static final ResourceLocation radar_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_head.png"); diff --git a/com/hbm/render/tileentity/RenderRadGen.java b/com/hbm/render/tileentity/RenderRadGen.java index d40ff64e7..2b0cea947 100644 --- a/com/hbm/render/tileentity/RenderRadGen.java +++ b/com/hbm/render/tileentity/RenderRadGen.java @@ -37,7 +37,7 @@ public class RenderRadGen extends TileEntitySpecialRenderer { GL11.glRotatef(0, 0F, 1F, 0F); break; } - bindTexture(ResourceManager.universal); + bindTexture(ResourceManager.radgen_body_tex); ResourceManager.radgen_body.renderAll(); @@ -65,9 +65,9 @@ public class RenderRadGen extends TileEntitySpecialRenderer { GL11.glRotatef(0, 0F, 1F, 0F); break; } - GL11.glRotatef(((TileEntityMachineRadGen)tileEntity).rotation, 1F, 0F, 0F); + GL11.glRotatef((System.currentTimeMillis() / 10) % 360, 0F, 0F, 1F); - bindTexture(ResourceManager.universal); + bindTexture(ResourceManager.turbofan_blades_tex); ResourceManager.radgen_rotor.renderAll(); GL11.glPopMatrix(); diff --git a/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 46e0be0cd..686b1ded9 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -20,6 +20,7 @@ import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.ISource; +import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; @@ -118,13 +119,13 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory @Override public boolean isItemValidForSlot(int i, ItemStack stack) { if(i == 0) - if(stack.getItem() == ModItems.rod_water || stack.getItem() == ModItems.rod_dual_water || stack.getItem() == ModItems.rod_quad_water || stack.getItem() == Items.water_bucket) + if(FluidContainerRegistry.getFluidContent(stack, FluidType.WATER) > 0) return true; if(i == 2) if(stack.getItem() instanceof ItemBattery) return true; if(i == 1) - if(stack.getItem() == Items.coal || stack.getItem() == ModItems.powder_coal || stack.getItem() == Item.getItemFromBlock(Blocks.coal_block)) + if(TileEntityFurnace.getItemBurnTime(stack) > 0) return true; return false; @@ -257,9 +258,9 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory MachineCoal.updateBlockState(this.burnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power)); + + generate(); } - - generate(); } public void generate() { @@ -294,15 +295,7 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory public boolean isItemValid() { - if(slots[1] != null && slots[1].getItem() == Items.coal) - { - return true; - } - if(slots[1] != null && slots[1].getItem() == ModItems.powder_coal) - { - return true; - } - if(slots[1] != null && slots[1].getItem() == Item.getItemFromBlock(Blocks.coal_block)) + if(slots[1] != null && TileEntityFurnace.getItemBurnTime(slots[1]) > 0) { return true; } diff --git a/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index a8d7db37a..bfc8b92f4 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -9,6 +9,7 @@ import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.ISource; +import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; @@ -118,8 +119,7 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento @Override public boolean isItemValidForSlot(int i, ItemStack stack) { if (i == 0) - if (stack.getItem() == ModItems.canister_fuel || stack.getItem() == ModItems.canister_petroil || stack.getItem() == ModItems.canister_NITAN - || stack.getItem() == Item.getItemFromBlock(ModBlocks.red_barrel)) + if (FluidContainerRegistry.getFluidContent(stack, tank.getTankType()) > 0) return true; if (i == 2) if (stack.getItem() instanceof ItemBattery) diff --git a/com/hbm/tileentity/machine/TileEntityMachineRefinery.java b/com/hbm/tileentity/machine/TileEntityMachineRefinery.java index 243810481..0aeb5c555 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineRefinery.java +++ b/com/hbm/tileentity/machine/TileEntityMachineRefinery.java @@ -32,7 +32,7 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven public long power = 0; public int sulfur = 0; - public static final int maxSulfur = 1000; + public static final int maxSulfur = 100; public static final long maxPower = 100000; public int age = 0; public FluidTank[] tanks; diff --git a/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java index ca91efed7..eb9ac9d5d 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ b/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java @@ -9,6 +9,7 @@ import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.ISource; +import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; @@ -117,6 +118,13 @@ public class TileEntityMachineSeleniumEngine extends TileEntity implements ISide @Override public boolean isItemValidForSlot(int i, ItemStack stack) { + if (i == 9) + if (FluidContainerRegistry.getFluidContent(stack, tank.getTankType()) > 0) + return true; + if (i == 13) + if (stack.getItem() instanceof ItemBattery) + return true; + return false; }