diff --git a/src/main/java/assets/hbm/models/machines/microwave.obj b/src/main/java/assets/hbm/models/machines/microwave.obj new file mode 100644 index 000000000..2f258c742 --- /dev/null +++ b/src/main/java/assets/hbm/models/machines/microwave.obj @@ -0,0 +1,1623 @@ +# Blender v2.82 (sub 7) OBJ File: 'microwave.blend' +# www.blender.org +mtllib microwave.mtl +o mainbody_Cube.001 +v 0.238197 1.183358 -0.728996 +v 0.234821 1.183358 -0.728996 +v 0.238197 1.183358 -0.735637 +v 0.234821 1.183358 -0.735637 +v 0.238197 0.787154 -0.728996 +v 0.234821 0.787154 -0.728996 +v 0.234338 0.840926 -0.735637 +v 0.234821 1.127133 -0.735637 +v 0.238197 1.127133 -0.735637 +v 0.238197 0.840926 -0.735637 +v 0.155271 1.127133 -0.735637 +v 0.149897 1.125951 -0.735637 +v 0.838582 1.118357 -0.735637 +v 0.836356 1.121211 -0.735637 +v 0.827432 1.125951 -0.735637 +v 0.822058 1.127133 -0.735637 +v 0.826572 0.842109 -0.735637 +v 0.821198 0.840926 -0.735637 +v 0.837722 0.849703 -0.735637 +v 0.835496 0.846848 -0.735637 +v 0.140113 0.846848 -0.735637 +v 0.137887 0.849703 -0.735637 +v 0.154411 0.840926 -0.735637 +v 0.149037 0.842109 -0.735637 +v 0.138747 1.118357 -0.735637 +v 0.140973 1.121211 -0.735637 +v 0.234338 0.840926 -0.731795 +v 0.234821 1.127133 -0.731795 +v 0.140973 1.121211 -0.731795 +v 0.138747 1.118357 -0.731795 +v 0.149897 1.125951 -0.731795 +v 0.155271 1.127133 -0.731795 +v 0.137887 0.849703 -0.731795 +v 0.140113 0.846848 -0.731795 +v 0.149037 0.842109 -0.731795 +v 0.154411 0.840926 -0.731795 +v 0.303131 1.127133 -0.732176 +v 0.303131 0.840926 -0.732176 +v 0.820933 1.127133 -0.732176 +v 0.826308 1.125951 -0.732176 +v 0.835231 1.121211 -0.732176 +v 0.837458 1.118357 -0.732176 +v 0.836597 0.849703 -0.732176 +v 0.834371 0.846848 -0.732176 +v 0.825447 0.842109 -0.732176 +v 0.820073 0.840926 -0.732176 +v 0.234821 0.787154 -0.735637 +v 0.238197 0.787154 -0.735637 +v 0.114423 1.183358 -0.161513 +v 0.117047 1.181387 -0.156304 +v 0.127829 1.183358 -0.151007 +v 0.121182 1.181387 -0.153063 +v 0.127829 1.183358 -0.735637 +v 0.121182 1.181387 -0.733581 +v 0.117047 1.181387 -0.730340 +v 0.114423 1.183358 -0.725132 +v 0.862732 0.787154 -0.159690 +v 0.857794 0.789125 -0.156304 +v 0.849338 0.787154 -0.151007 +v 0.853658 0.789125 -0.153063 +v 0.847012 1.183358 -0.151007 +v 0.853658 1.181387 -0.153063 +v 0.857794 1.181387 -0.156304 +v 0.860417 1.183358 -0.161513 +v 0.853658 0.789125 -0.733581 +v 0.857794 0.789125 -0.730340 +v 0.860417 0.787154 -0.726955 +v 0.848027 0.787154 -0.735637 +v 0.860417 1.183358 -0.725132 +v 0.857794 1.181387 -0.730340 +v 0.853658 1.181387 -0.733581 +v 0.847012 1.183358 -0.735637 +v 0.112109 0.787154 -0.726955 +v 0.115750 0.789125 -0.732973 +v 0.120534 0.789125 -0.735475 +v 0.126814 0.787154 -0.735637 +v 0.125502 0.787154 -0.149193 +v 0.121182 0.789125 -0.153063 +v 0.117047 0.789125 -0.156304 +v 0.114423 0.787154 -0.159690 +v 0.246749 0.852258 -0.727568 +v 0.246749 1.118254 -0.727568 +v 0.246749 0.852258 -0.734150 +v 0.246749 1.118254 -0.734150 +v 0.282202 0.852258 -0.727568 +v 0.282202 1.118254 -0.727568 +v 0.282202 0.852258 -0.734150 +v 0.282202 1.118254 -0.734150 +v 0.246749 0.985256 -0.755632 +v 0.246749 0.985256 -0.762214 +v 0.264475 0.852258 -0.734150 +v 0.264475 1.118254 -0.734150 +v 0.282202 0.985256 -0.762214 +v 0.282202 0.985256 -0.755632 +v 0.264475 0.852258 -0.727568 +v 0.264475 1.118254 -0.727568 +v 0.264475 0.985256 -0.755632 +v 0.264475 0.985256 -0.762214 +v 0.246749 0.852258 -0.730859 +v 0.246749 1.051755 -0.751094 +v 0.246749 1.118254 -0.730859 +v 0.246749 0.918757 -0.754385 +v 0.255612 0.852258 -0.734150 +v 0.273339 1.118254 -0.734150 +v 0.282202 0.918757 -0.754385 +v 0.282202 0.852258 -0.730859 +v 0.282202 1.118254 -0.730859 +v 0.282202 0.918757 -0.747802 +v 0.273339 0.852258 -0.727568 +v 0.255612 1.118254 -0.727568 +v 0.246749 0.918757 -0.747802 +v 0.246749 1.051755 -0.757676 +v 0.273339 0.852258 -0.734150 +v 0.255612 1.118254 -0.734150 +v 0.282202 1.051755 -0.757676 +v 0.282202 1.051755 -0.751094 +v 0.255612 0.852258 -0.727568 +v 0.273339 1.118254 -0.727568 +v 0.264475 1.118254 -0.730849 +v 0.264475 0.852258 -0.730849 +v 0.255612 0.985256 -0.755632 +v 0.273339 0.985256 -0.755632 +v 0.264475 0.918757 -0.747802 +v 0.264475 1.051755 -0.751094 +v 0.282202 0.985256 -0.758923 +v 0.273339 0.985256 -0.762214 +v 0.255612 0.985256 -0.762214 +v 0.264475 0.918757 -0.754385 +v 0.264475 1.051755 -0.757676 +v 0.246749 0.985256 -0.758923 +v 0.246749 0.918757 -0.751094 +v 0.255612 1.051755 -0.757676 +v 0.255612 0.918757 -0.754385 +v 0.273339 0.918757 -0.754385 +v 0.282202 0.918757 -0.751094 +v 0.273339 1.051755 -0.751094 +v 0.273339 0.918757 -0.747802 +v 0.255612 0.918757 -0.747802 +v 0.255612 0.852258 -0.730849 +v 0.273339 1.118254 -0.730849 +v 0.255612 1.118254 -0.730849 +v 0.273339 0.852258 -0.730849 +v 0.255612 1.051755 -0.751094 +v 0.282202 1.051755 -0.754385 +v 0.273339 1.051755 -0.757676 +v 0.246749 1.051755 -0.754385 +v 0.303131 1.127133 -0.208209 +v 0.303131 0.840926 -0.208209 +v 0.820933 1.127133 -0.208209 +v 0.826308 1.125951 -0.208209 +v 0.835231 1.121211 -0.208209 +v 0.837458 1.118357 -0.208209 +v 0.836597 0.849703 -0.208209 +v 0.834371 0.846848 -0.208209 +v 0.825447 0.842109 -0.208209 +v 0.820073 0.840926 -0.208209 +v 0.339101 1.091541 -0.732176 +v 0.339101 0.874846 -0.732176 +v 0.796813 1.091541 -0.732176 +v 0.800847 1.090653 -0.732176 +v 0.807544 1.087096 -0.732176 +v 0.809215 1.084954 -0.732176 +v 0.808569 0.881432 -0.732176 +v 0.806898 0.879290 -0.732176 +v 0.800201 0.875733 -0.732176 +v 0.796168 0.874846 -0.732176 +v 0.238197 0.840926 -0.731795 +v 0.238197 1.127133 -0.731795 +v 0.415576 0.913412 -0.000812 +v 0.415576 1.057100 -0.000812 +v 0.415576 0.913412 -0.157633 +v 0.415576 1.057100 -0.157633 +v 0.559264 0.913412 -0.000812 +v 0.559264 1.057100 -0.000812 +v 0.559264 0.913412 -0.157633 +v 0.559264 1.057100 -0.157633 +vt 0.187756 0.185116 +vt 0.190250 0.359586 +vt 0.187359 0.359553 +vt 0.184816 0.183014 +vt 0.011904 0.361665 +vt 0.011410 0.182951 +vt 0.434160 0.035160 +vt 0.437617 0.233175 +vt 0.433848 0.233203 +vt 0.421314 0.234632 +vt 0.421314 0.024505 +vt 0.424461 0.141338 +vt 0.180342 0.556180 +vt 0.006258 0.555192 +vt 0.180341 0.553216 +vt 0.619010 0.294600 +vt 0.615336 0.293939 +vt 0.618997 0.293255 +vt 0.560911 0.771909 +vt 0.499383 0.771947 +vt 0.573681 0.763070 +vt 0.551781 0.278506 +vt 0.554882 0.277399 +vt 0.554849 0.278591 +vt 0.477598 0.276038 +vt 0.480699 0.274931 +vt 0.480666 0.276123 +vt 0.456844 0.275464 +vt 0.476217 0.274807 +vt 0.476184 0.275999 +vt 0.556296 0.277438 +vt 0.556263 0.278630 +vt 0.477631 0.274846 +vt 0.575727 0.277976 +vt 0.575694 0.279168 +vt 0.550366 0.278467 +vt 0.551814 0.277314 +vt 0.482080 0.276163 +vt 0.550399 0.277275 +vt 0.482113 0.274971 +vt 0.529499 0.294540 +vt 0.531162 0.293570 +vt 0.531174 0.294916 +vt 0.615349 0.295285 +vt 0.613628 0.294117 +vt 0.536559 0.295677 +vt 0.613641 0.295463 +vt 0.534848 0.295531 +vt 0.536546 0.294332 +vt 0.620678 0.294193 +vt 0.620665 0.292848 +vt 0.534835 0.294186 +vt 0.390231 0.176341 +vt 0.365296 0.176585 +vt 0.365277 0.174628 +vt 0.008379 0.053132 +vt 0.010531 0.175541 +vt 0.008501 0.175525 +vt 0.678815 0.051868 +vt 0.681765 0.009865 +vt 0.681766 0.212069 +vt 0.191651 0.177060 +vt 0.014270 0.002844 +vt 0.192984 0.003659 +vt 0.661827 0.216665 +vt 0.508504 0.216408 +vt 0.472754 0.213047 +vt 0.182461 0.549659 +vt 0.002549 0.378060 +vt 0.181254 0.376258 +vt 0.008747 0.359552 +vt 0.004975 0.185105 +vt 0.008120 0.184943 +vt 0.006284 0.051542 +vt 0.010601 0.053093 +vt 0.004000 0.561180 +vt 0.003756 0.551834 +vt 0.006284 0.177060 +vt 0.012743 0.177034 +vt 0.012878 0.051518 +vt 0.184195 0.361727 +vt 0.193393 0.361723 +vt 0.190903 0.184977 +vt 0.194207 0.183009 +vt 0.182571 0.559338 +vt 0.182461 0.550031 +vt 0.006443 0.558120 +vt 0.002020 0.183025 +vt 0.004195 0.360497 +vt 0.005856 0.359540 +vt 0.363575 0.189539 +vt 0.388348 0.187899 +vt 0.391408 0.191039 +vt 0.913862 0.374962 +vt 0.932207 0.411652 +vt 0.913862 0.411652 +vt 0.947121 0.484382 +vt 0.928948 0.502555 +vt 0.928948 0.484382 +vt 0.922832 0.558833 +vt 0.904487 0.595522 +vt 0.904487 0.558833 +vt 0.904487 0.650556 +vt 0.922832 0.668901 +vt 0.904487 0.668901 +vt 0.831108 0.558833 +vt 0.849453 0.595522 +vt 0.831108 0.595522 +vt 0.977866 0.558833 +vt 0.996210 0.595522 +vt 0.977866 0.595522 +vt 0.959521 0.558833 +vt 0.941176 0.595522 +vt 0.941176 0.558833 +vt 0.812764 0.558833 +vt 0.794419 0.595522 +vt 0.794419 0.558833 +vt 0.886142 0.650556 +vt 0.867798 0.668901 +vt 0.867798 0.650556 +vt 0.867798 0.613867 +vt 0.886142 0.632212 +vt 0.867798 0.632212 +vt 0.922832 0.613867 +vt 0.904487 0.632212 +vt 0.904487 0.613867 +vt 0.867798 0.558833 +vt 0.886142 0.595522 +vt 0.867798 0.595522 +vt 0.899580 0.488095 +vt 0.881478 0.506196 +vt 0.881478 0.488095 +vt 0.899580 0.451892 +vt 0.881478 0.469993 +vt 0.881478 0.451892 +vt 0.947121 0.448035 +vt 0.928948 0.466208 +vt 0.928948 0.448035 +vt 0.895517 0.374962 +vt 0.877173 0.411652 +vt 0.877173 0.374962 +vt 0.858828 0.411652 +vt 0.858828 0.374962 +vt 0.877173 0.338273 +vt 0.858828 0.338273 +vt 0.895517 0.338273 +vt 0.917681 0.451892 +vt 0.899580 0.469993 +vt 0.917681 0.433790 +vt 0.899580 0.433790 +vt 0.947121 0.429861 +vt 0.928948 0.429861 +vt 0.867173 0.448727 +vt 0.848828 0.467071 +vt 0.848828 0.448727 +vt 0.867173 0.430382 +vt 0.848828 0.430382 +vt 0.881478 0.433790 +vt 0.867173 0.485416 +vt 0.848828 0.503761 +vt 0.848828 0.485416 +vt 0.867173 0.467071 +vt 0.849453 0.558833 +vt 0.849453 0.522144 +vt 0.867798 0.522144 +vt 0.886142 0.558833 +vt 0.886142 0.613867 +vt 0.922832 0.595522 +vt 0.849453 0.632212 +vt 0.849453 0.613867 +vt 0.849453 0.668901 +vt 0.849453 0.650556 +vt 0.776074 0.595522 +vt 0.776074 0.558833 +vt 0.794419 0.522144 +vt 0.776074 0.522144 +vt 0.812764 0.522144 +vt 0.941176 0.522144 +vt 0.922832 0.522144 +vt 0.959521 0.522144 +vt 0.959521 0.595522 +vt 0.977866 0.522144 +vt 0.996210 0.558833 +vt 0.812764 0.595522 +vt 0.831108 0.522144 +vt 0.886142 0.668901 +vt 0.922832 0.632212 +vt 0.904487 0.522144 +vt 0.886142 0.522144 +vt 0.917681 0.488095 +vt 0.899580 0.506196 +vt 0.917681 0.469993 +vt 0.947121 0.466208 +vt 0.895517 0.411652 +vt 0.913862 0.338273 +vt 0.932207 0.374962 +vt 0.002361 0.690819 +vt 0.139582 0.797050 +vt 0.002382 0.797077 +vt 0.002401 0.574653 +vt 0.139602 0.577216 +vt 0.002401 0.577243 +vt 0.002381 0.685835 +vt 0.139582 0.688398 +vt 0.002381 0.688425 +vt 0.002381 0.579638 +vt 0.139602 0.683414 +vt 0.002401 0.683441 +vt 0.142087 0.686223 +vt 0.139686 0.823759 +vt 0.139686 0.686202 +vt 0.139581 0.685808 +vt 0.139686 0.574626 +vt 0.278011 0.686118 +vt 0.139686 0.686118 +vt 0.248444 0.686223 +vt 0.142087 0.823780 +vt 0.139581 0.579611 +vt 0.139561 0.690792 +vt 0.250041 0.742196 +vt 0.249216 0.741377 +vt 0.249011 0.740883 +vt 0.774121 0.040412 +vt 0.741243 0.024151 +vt 0.740050 0.027021 +vt 0.969467 0.033059 +vt 0.943495 0.044419 +vt 0.971709 0.034142 +vt 0.946381 0.253662 +vt 0.739889 0.270791 +vt 0.975938 0.269283 +vt 0.769234 0.254505 +vt 0.778655 0.034951 +vt 0.748853 0.018299 +vt 0.746005 0.019438 +vt 0.975297 0.038147 +vt 0.946804 0.049219 +vt 0.976119 0.040486 +vt 0.775156 0.037976 +vt 0.946189 0.047450 +vt 0.941812 0.043603 +vt 0.456798 0.276753 +vt 0.529486 0.293195 +vt 0.696767 0.284505 +vt 0.696612 0.283178 +vt 0.740071 0.299235 +vt 0.431207 0.203196 +vt 0.430221 0.118309 +vt 0.434139 0.035214 +vt 0.688985 0.442006 +vt 0.730728 0.480254 +vt 0.688985 0.480254 +vt 0.730728 0.556749 +vt 0.688985 0.518501 +vt 0.730728 0.518501 +vt 0.754269 0.654412 +vt 0.666048 0.576401 +vt 0.754269 0.576401 +vt 0.730728 0.442006 +vt 0.688985 0.403759 +vt 0.730728 0.403759 +vt 0.437617 0.035132 +vt 0.428782 0.141338 +vt 0.428782 0.234632 +vt 0.422863 0.024375 +vt 0.423529 0.042958 +vt 0.424425 0.042882 +vt 0.499383 0.483956 +vt 0.561202 0.483917 +vt 0.573995 0.492741 +vt 0.572269 0.489869 +vt 0.565361 0.485105 +vt 0.571963 0.765944 +vt 0.565067 0.770717 +vt 0.456877 0.274272 +vt 0.362261 0.174619 +vt 0.362252 0.177081 +vt 0.221168 0.176128 +vt 0.218310 0.173556 +vt 0.218310 0.006092 +vt 0.221417 0.003539 +vt 0.388881 0.003540 +vt 0.391433 0.006646 +vt 0.393601 0.173750 +vt 0.525055 0.212989 +vt 0.674718 0.186092 +vt 0.524902 0.186971 +vt 0.472754 0.045915 +vt 0.472804 0.009580 +vt 0.673151 0.046188 +vt 0.676096 0.185512 +vt 0.678376 0.183205 +vt 0.674995 0.046955 +vt 0.678054 0.050022 +vt 0.678940 0.181820 +vt 0.012947 0.175130 +vt 0.698934 0.213354 +vt 0.698934 0.245794 +vt 0.666837 0.221675 +vt 0.666837 0.245794 +vt 0.503488 0.245686 +vt 0.472755 0.245833 +vt 0.503488 0.221424 +vt 0.666162 0.220045 +vt 0.663456 0.217340 +vt 0.504163 0.219793 +vt 0.506872 0.217084 +vt 0.004989 0.551834 +vt 0.390747 0.356145 +vt 0.386158 0.360486 +vt 0.360628 0.189572 +vt 0.219798 0.360486 +vt 0.216697 0.357385 +vt 0.216697 0.191025 +vt 0.219798 0.187924 +vt 0.360628 0.187426 +vt 0.363600 0.187579 +vt 0.947121 0.502555 +vt 0.922832 0.650556 +vt 0.867173 0.503761 +vt 0.996210 0.522144 +vt 0.917681 0.506196 +vt 0.932207 0.338273 +vt 0.139601 0.574626 +vt 0.278011 0.574626 +vt 0.248444 0.823780 +vt 0.249011 0.687906 +vt 0.294366 0.687906 +vt 0.294366 0.740616 +vt 0.294160 0.741111 +vt 0.292839 0.742143 +vt 0.250538 0.742399 +vt 0.293336 0.741935 +vt 0.781306 0.033891 +vt 0.457098 0.275488 +vt 0.976119 0.297728 +vt 0.433827 0.231012 +vt 0.431907 0.231171 +vt 0.429916 0.203288 +vt 0.426195 0.118261 +vt 0.427181 0.035132 +vt 0.688985 0.556749 +vt 0.666048 0.654412 +vn 0.6168 0.0000 0.7871 +vn 0.0025 0.0046 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -0.6168 0.0073 -0.7871 +vn -0.4637 -0.8731 -0.1506 +vn 0.4691 0.8832 0.0000 +vn 0.4691 -0.8832 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.2148 0.9766 0.0000 +vn 0.2148 -0.9766 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7885 0.6150 0.0000 +vn 1.0000 -0.0032 0.0000 +vn 0.7885 -0.6150 0.0000 +vn -0.2143 0.9743 -0.0697 +vn -0.7638 -0.5958 -0.2482 +vn -0.9511 0.0030 -0.3090 +vn -0.7639 0.5958 -0.2482 +vn -0.2143 -0.9743 -0.0696 +vn -0.4637 0.8731 -0.1507 +vn 0.6168 0.0000 -0.7871 +vn 1.0000 0.0058 -0.0041 +vn -1.0000 0.0058 0.0041 +vn -0.6168 0.0000 0.7871 +vn 0.5448 -0.4689 -0.6952 +vn -0.2589 -0.8607 -0.4385 +vn 0.3836 0.7831 -0.4895 +vn 0.8931 0.0000 -0.4499 +vn 0.3427 0.0009 -0.9394 +vn 0.3836 0.7831 0.4895 +vn 0.2955 0.0000 0.9553 +vn 0.5448 -0.4690 0.6952 +vn 0.5674 0.0071 0.8234 +vn -0.3836 0.7831 -0.4895 +vn -0.2969 0.0051 -0.9549 +vn -0.8565 0.0063 -0.5161 +vn -0.5448 -0.4689 0.6952 +vn -0.6654 0.0073 0.7465 +vn -0.3836 0.7831 0.4895 +vn -0.8931 0.0000 0.4499 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.3335 -0.9427 +vn 0.0000 -0.3335 0.9427 +vn 0.0000 0.1169 0.9931 +vn 0.0000 -0.1169 -0.9931 +vn 0.0000 0.0681 -0.9977 +vn 0.0000 -0.2911 -0.9567 +vn 0.0000 -0.0681 0.9977 +vn 0.0000 0.2911 0.9567 +vn -0.4691 0.8832 0.0000 +vn -0.4691 -0.8832 0.0000 +vn -1.0000 0.0032 0.0000 +vn -0.2149 0.9766 0.0000 +vn -0.7885 -0.6150 0.0000 +vn -0.7886 0.6150 0.0000 +vn -0.2148 -0.9766 0.0000 +vn -0.0059 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0090 0.0000 +vn 0.9796 -0.0017 -0.2012 +vn -0.4635 0.0050 -0.8861 +vn -0.4637 -0.8731 -0.1507 +vn -0.2143 0.9743 -0.0696 +vn -0.7639 -0.5957 -0.2482 +vn -0.7639 0.5957 -0.2482 +vn 0.4513 -0.6177 -0.6440 +vn -0.2689 -0.8145 -0.5141 +vn 0.7912 0.0028 -0.6115 +vn 0.2956 0.0000 -0.9553 +vn 0.3836 0.7831 0.4894 +vn 0.4288 0.0025 0.9034 +vn 0.5423 -0.0782 0.8365 +vn 0.8931 0.0000 0.4499 +vn -0.3836 0.7831 -0.4894 +vn -0.0258 0.0001 -0.9997 +vn -0.8920 0.0073 -0.4520 +vn -0.6855 -0.0817 0.7235 +vn -0.2955 0.0000 0.9553 +vn -0.7912 0.0028 0.6115 +vn -0.7885 0.6150 0.0000 +usemtl Material.002 +s off +f 60/1/1 63/2/1 62/3/1 +f 59/4/2 51/5/2 77/6/2 +f 5/7/3 2/8/3 1/9/3 +f 2/10/4 6/11/4 28/12/4 +f 54/13/5 74/14/5 55/15/5 +f 15/16/6 41/17/6 40/18/6 +f 32/19/3 28/20/3 30/21/3 +f 21/22/7 35/23/7 24/24/7 +f 12/25/8 29/26/8 26/27/8 +f 8/28/9 32/29/9 11/30/9 +f 24/24/10 36/31/10 23/32/10 +f 11/30/11 31/33/11 12/25/11 +f 23/32/12 27/34/12 7/35/12 +f 22/36/13 34/37/13 21/22/13 +f 25/38/14 33/39/14 22/36/14 +f 26/27/15 30/40/15 25/38/15 +f 18/41/16 45/42/16 17/43/16 +f 14/44/17 42/45/17 41/17/17 +f 19/46/18 42/45/18 13/47/18 +f 20/48/19 43/49/19 19/46/19 +f 16/50/20 40/18/20 39/51/20 +f 17/43/21 44/52/21 20/48/21 +f 76/53/9 47/54/9 6/55/9 +f 66/56/22 71/57/22 70/58/22 +f 13/59/3 72/60/3 68/61/3 +f 67/62/23 64/63/23 57/64/23 +f 25/65/3 22/66/3 76/67/3 +f 80/68/24 56/69/24 73/70/24 +f 52/71/25 79/72/25 78/73/25 +f 67/74/26 65/75/26 66/56/26 +f 74/14/27 76/76/27 73/77/27 +f 69/78/28 71/57/28 72/79/28 +f 69/78/29 66/56/29 70/58/29 +f 72/79/30 65/75/30 68/80/30 +f 61/81/31 63/2/31 64/82/31 +f 61/81/32 60/1/32 62/3/32 +f 59/4/33 58/83/33 60/1/33 +f 64/82/34 58/83/34 57/84/34 +f 53/85/35 55/15/35 56/86/35 +f 53/85/36 75/87/36 54/13/36 +f 73/77/37 55/15/37 74/14/37 +f 80/88/38 78/73/38 79/72/38 +f 51/5/39 78/73/39 77/6/39 +f 49/89/40 52/71/40 51/5/40 +f 49/89/41 79/72/41 50/90/41 +f 2/91/12 53/92/12 56/93/12 +f 146/94/42 84/95/42 112/96/42 +f 104/97/43 115/98/43 145/99/43 +f 107/100/4 116/101/4 144/102/4 +f 143/103/44 82/104/44 100/105/44 +f 142/106/9 85/107/9 109/108/9 +f 141/109/12 82/110/12 110/111/12 +f 119/112/12 118/113/12 140/114/12 +f 120/115/9 117/116/9 139/117/9 +f 121/118/45 111/119/45 138/120/45 +f 137/121/45 97/122/45 123/123/45 +f 118/124/44 124/125/44 136/126/44 +f 135/127/4 94/128/4 108/129/4 +f 126/130/46 105/131/46 134/132/46 +f 127/133/46 128/134/46 133/135/46 +f 114/136/43 129/137/43 132/138/43 +f 130/139/42 102/140/42 131/141/42 +f 131/141/42 83/142/42 99/143/42 +f 111/144/42 99/143/42 81/145/42 +f 89/146/42 131/141/42 111/144/42 +f 132/147/47 98/148/47 127/133/47 +f 112/149/47 127/133/47 90/150/47 +f 84/151/43 132/138/43 112/152/43 +f 133/153/48 91/154/48 103/155/48 +f 102/156/48 103/155/48 83/157/48 +f 90/150/46 133/135/46 102/158/46 +f 134/159/48 87/160/48 113/161/48 +f 128/162/48 113/161/48 91/154/48 +f 98/148/46 134/132/46 128/134/46 +f 106/163/4 108/129/4 85/107/4 +f 87/164/4 135/127/4 106/163/4 +f 105/165/4 125/166/4 135/127/4 +f 136/126/49 97/122/49 122/167/49 +f 116/101/49 122/167/49 94/128/49 +f 86/168/44 136/126/44 116/101/44 +f 137/121/50 95/169/50 109/170/50 +f 108/129/50 109/170/50 85/107/50 +f 94/128/45 137/121/45 108/129/45 +f 138/120/50 81/171/50 117/172/50 +f 123/123/50 117/172/50 95/169/50 +f 97/122/45 138/120/45 123/123/45 +f 139/117/9 81/173/9 99/174/9 +f 103/175/9 99/174/9 83/176/9 +f 91/177/9 139/117/9 103/175/9 +f 140/114/12 86/168/12 107/100/12 +f 104/178/12 107/100/12 88/179/12 +f 92/180/12 140/114/12 104/178/12 +f 141/109/12 96/181/12 119/112/12 +f 114/182/12 119/112/12 92/180/12 +f 114/182/12 101/183/12 141/109/12 +f 142/106/9 95/184/9 120/115/9 +f 113/185/9 120/115/9 91/177/9 +f 113/185/9 106/163/9 142/106/9 +f 143/103/49 89/186/49 121/118/49 +f 124/125/49 121/118/49 97/122/49 +f 96/187/44 143/103/44 124/125/44 +f 144/102/4 94/128/4 125/166/4 +f 115/188/4 125/166/4 93/189/4 +f 88/179/4 144/102/4 115/188/4 +f 145/190/47 93/191/47 126/130/47 +f 129/192/47 126/130/47 98/148/47 +f 92/193/43 145/99/43 129/137/43 +f 130/139/42 112/96/42 90/194/42 +f 89/146/42 146/94/42 130/139/42 +f 100/195/42 101/196/42 146/94/42 +f 39/197/9 147/198/9 37/199/9 +f 45/200/51 154/201/51 44/202/51 +f 41/203/52 150/204/52 40/205/52 +f 43/206/53 152/207/53 42/208/53 +f 46/209/54 155/210/54 45/211/54 +f 42/208/55 151/212/55 41/203/55 +f 37/213/4 148/214/4 38/215/4 +f 38/216/12 156/217/12 46/209/12 +f 44/202/56 153/218/56 43/206/56 +f 40/205/57 149/219/57 39/197/57 +f 154/220/3 155/221/3 156/222/3 +f 166/223/3 45/224/3 46/225/3 +f 42/226/3 161/227/3 41/228/3 +f 157/229/3 38/230/3 37/231/3 +f 158/232/3 46/225/3 38/230/3 +f 164/233/3 43/234/3 44/235/3 +f 40/236/3 159/237/3 39/238/3 +f 39/238/3 157/229/3 37/231/3 +f 165/239/3 44/235/3 45/224/3 +f 41/228/3 160/240/3 40/236/3 +f 43/234/3 162/241/3 42/226/3 +f 10/242/12 46/243/12 18/41/12 +f 9/244/9 39/51/9 168/245/9 +f 167/246/58 37/231/58 38/230/58 +f 168/247/42 167/248/42 5/249/42 +f 170/250/42 171/251/42 169/252/42 +f 176/253/4 173/254/4 175/255/4 +f 174/256/59 169/257/59 173/258/59 +f 175/255/9 169/252/9 171/251/9 +f 172/259/12 174/260/12 176/261/12 +f 60/1/1 58/83/1 63/2/1 +f 59/4/59 61/81/59 51/5/59 +f 5/7/3 6/262/3 2/8/3 +f 8/263/4 4/264/4 28/12/4 +f 4/264/4 2/10/4 28/12/4 +f 6/11/60 47/265/60 27/266/60 +f 47/265/60 7/267/60 27/266/60 +f 6/11/61 27/266/61 28/12/61 +f 54/13/62 75/87/62 74/14/62 +f 15/16/63 14/44/63 41/17/63 +f 28/20/3 27/268/3 30/21/3 +f 27/268/3 36/269/3 33/270/3 +f 33/270/3 36/269/3 34/271/3 +f 36/269/3 35/272/3 34/271/3 +f 33/270/3 30/21/3 27/268/3 +f 30/21/3 29/273/3 31/274/3 +f 31/274/3 32/19/3 30/21/3 +f 21/22/7 34/37/7 35/23/7 +f 12/25/8 31/33/8 29/26/8 +f 8/28/9 28/275/9 32/29/9 +f 24/24/10 35/23/10 36/31/10 +f 11/30/11 32/29/11 31/33/11 +f 23/32/12 36/31/12 27/34/12 +f 22/36/13 33/39/13 34/37/13 +f 25/38/14 30/40/14 33/39/14 +f 26/27/15 29/26/15 30/40/15 +f 18/41/64 46/243/64 45/42/64 +f 14/44/65 13/47/65 42/45/65 +f 19/46/18 43/49/18 42/45/18 +f 20/48/66 44/52/66 43/49/66 +f 16/50/20 15/16/20 40/18/20 +f 17/43/21 45/42/21 44/52/21 +f 5/276/9 48/277/9 68/278/9 +f 68/278/9 67/279/9 5/276/9 +f 67/279/9 57/280/9 59/281/9 +f 5/276/9 67/279/9 59/281/9 +f 59/281/9 77/282/9 80/283/9 +f 5/276/9 59/281/9 80/283/9 +f 80/283/9 73/284/9 6/55/9 +f 5/276/9 80/283/9 6/55/9 +f 73/284/9 76/53/9 6/55/9 +f 66/56/22 65/75/22 71/57/22 +f 68/61/3 48/285/3 18/286/3 +f 48/285/3 10/287/3 18/286/3 +f 9/288/3 3/289/3 16/290/3 +f 3/289/3 72/60/3 16/290/3 +f 68/61/3 18/286/3 17/291/3 +f 68/61/3 17/291/3 20/292/3 +f 15/293/3 16/290/3 72/60/3 +f 14/294/3 15/293/3 72/60/3 +f 68/61/3 20/292/3 19/295/3 +f 13/59/3 14/294/3 72/60/3 +f 68/61/3 19/295/3 13/59/3 +f 67/62/4 69/296/4 64/63/4 +f 53/297/3 4/298/3 11/299/3 +f 4/298/3 8/300/3 11/299/3 +f 7/301/3 47/302/3 23/303/3 +f 47/302/3 76/67/3 23/303/3 +f 53/297/3 11/299/3 12/304/3 +f 53/297/3 12/304/3 26/305/3 +f 24/306/3 23/303/3 76/67/3 +f 21/307/3 24/306/3 76/67/3 +f 53/297/3 26/305/3 25/65/3 +f 22/66/3 21/307/3 76/67/3 +f 53/297/3 25/65/3 76/67/3 +f 80/68/42 49/308/42 56/69/42 +f 52/71/25 50/90/25 79/72/25 +f 67/74/67 68/80/67 65/75/67 +f 74/14/68 75/87/68 76/76/68 +f 69/78/28 70/58/28 71/57/28 +f 69/78/69 67/74/69 66/56/69 +f 72/79/70 71/57/70 65/75/70 +f 61/81/71 62/3/71 63/2/71 +f 61/81/72 59/4/72 60/1/72 +f 59/4/73 57/84/73 58/83/73 +f 64/82/74 63/2/74 58/83/74 +f 53/85/75 54/13/75 55/15/75 +f 53/85/76 76/76/76 75/87/76 +f 73/77/77 56/86/77 55/15/77 +f 80/88/78 77/6/78 78/73/78 +f 51/5/79 52/71/79 78/73/79 +f 49/89/40 50/90/40 52/71/40 +f 49/89/80 80/88/80 79/72/80 +f 56/93/12 49/309/12 2/91/12 +f 49/309/12 51/310/12 1/311/12 +f 2/91/12 49/309/12 1/311/12 +f 51/310/12 61/312/12 1/311/12 +f 61/312/12 64/313/12 1/311/12 +f 64/313/12 69/314/12 1/311/12 +f 69/314/12 72/315/12 1/311/12 +f 72/315/12 3/316/12 1/311/12 +f 2/91/12 4/317/12 53/92/12 +f 146/94/42 101/196/42 84/95/42 +f 104/97/43 88/318/43 115/98/43 +f 107/100/4 86/168/4 116/101/4 +f 143/103/44 110/319/44 82/104/44 +f 142/106/9 106/163/9 85/107/9 +f 141/109/12 101/183/12 82/110/12 +f 119/112/12 96/181/12 118/113/12 +f 120/115/9 95/184/9 117/116/9 +f 121/118/45 89/186/45 111/119/45 +f 137/121/45 122/167/45 97/122/45 +f 118/124/44 96/187/44 124/125/44 +f 135/127/4 125/166/4 94/128/4 +f 126/130/46 93/191/46 105/131/46 +f 127/133/46 98/148/46 128/134/46 +f 114/136/43 92/193/43 129/137/43 +f 130/139/42 90/194/42 102/140/42 +f 131/141/42 102/140/42 83/142/42 +f 111/144/42 131/141/42 99/143/42 +f 89/146/42 130/139/42 131/141/42 +f 132/147/47 129/192/47 98/148/47 +f 112/149/47 132/147/47 127/133/47 +f 84/151/43 114/136/43 132/138/43 +f 133/153/48 128/162/48 91/154/48 +f 102/156/48 133/153/48 103/155/48 +f 90/150/46 127/133/46 133/135/46 +f 134/159/48 105/320/48 87/160/48 +f 128/162/48 134/159/48 113/161/48 +f 98/148/46 126/130/46 134/132/46 +f 106/163/4 135/127/4 108/129/4 +f 87/164/4 105/165/4 135/127/4 +f 105/165/4 93/189/4 125/166/4 +f 136/126/49 124/125/49 97/122/49 +f 116/101/49 136/126/49 122/167/49 +f 86/168/44 118/124/44 136/126/44 +f 137/121/50 123/123/50 95/169/50 +f 108/129/50 137/121/50 109/170/50 +f 94/128/45 122/167/45 137/121/45 +f 138/120/50 111/119/50 81/171/50 +f 123/123/50 138/120/50 117/172/50 +f 97/122/45 121/118/45 138/120/45 +f 139/117/9 117/116/9 81/173/9 +f 103/175/9 139/117/9 99/174/9 +f 91/177/9 120/115/9 139/117/9 +f 140/114/12 118/113/12 86/168/12 +f 104/178/12 140/114/12 107/100/12 +f 92/180/12 119/112/12 140/114/12 +f 141/109/12 110/111/12 96/181/12 +f 114/182/12 141/109/12 119/112/12 +f 114/182/12 84/321/12 101/183/12 +f 142/106/9 109/108/9 95/184/9 +f 113/185/9 142/106/9 120/115/9 +f 113/185/9 87/164/9 106/163/9 +f 143/103/49 100/105/49 89/186/49 +f 124/125/49 143/103/49 121/118/49 +f 96/187/44 110/319/44 143/103/44 +f 144/102/4 116/101/4 94/128/4 +f 115/188/4 144/102/4 125/166/4 +f 88/179/4 107/100/4 144/102/4 +f 145/190/47 115/322/47 93/191/47 +f 129/192/47 145/190/47 126/130/47 +f 92/193/43 104/97/43 145/99/43 +f 130/139/42 146/94/42 112/96/42 +f 89/146/42 100/195/42 146/94/42 +f 100/195/42 82/323/42 101/196/42 +f 39/197/9 149/219/9 147/198/9 +f 45/200/51 155/324/51 154/201/51 +f 41/203/52 151/212/52 150/204/52 +f 43/206/53 153/218/53 152/207/53 +f 46/209/54 156/217/54 155/210/54 +f 42/208/55 152/207/55 151/212/55 +f 37/213/4 147/325/4 148/214/4 +f 38/216/12 148/326/12 156/217/12 +f 44/202/81 154/201/81 153/218/81 +f 40/205/57 150/204/57 149/219/57 +f 156/222/3 148/327/3 147/328/3 +f 147/328/3 149/329/3 156/222/3 +f 149/329/3 150/330/3 152/331/3 +f 156/222/3 149/329/3 153/332/3 +f 150/330/3 151/333/3 152/331/3 +f 152/331/3 153/332/3 149/329/3 +f 153/332/3 154/220/3 156/222/3 +f 166/223/3 165/239/3 45/224/3 +f 42/226/3 162/241/3 161/227/3 +f 157/229/3 158/232/3 38/230/3 +f 158/232/3 166/223/3 46/225/3 +f 164/233/3 163/334/3 43/234/3 +f 40/236/3 160/240/3 159/237/3 +f 39/238/3 159/237/3 157/229/3 +f 165/239/3 164/233/3 44/235/3 +f 41/228/3 161/227/3 160/240/3 +f 43/234/3 163/334/3 162/241/3 +f 10/242/12 167/335/12 46/243/12 +f 9/244/9 16/50/9 39/51/9 +f 167/246/58 168/336/58 37/231/58 +f 1/337/42 3/338/42 168/247/42 +f 3/338/42 9/339/42 168/247/42 +f 10/340/42 48/341/42 167/248/42 +f 48/341/42 5/249/42 167/248/42 +f 1/337/42 168/247/42 5/249/42 +f 170/250/42 172/259/42 171/251/42 +f 176/253/4 174/342/4 173/254/4 +f 174/256/59 170/343/59 169/257/59 +f 175/255/9 173/254/9 169/252/9 +f 172/259/12 170/250/12 174/260/12 +o window_Cube.002 +v 0.809482 1.091828 -0.732264 +v 0.338840 1.091828 -0.732264 +v 0.338840 0.874469 -0.732264 +v 0.809482 0.874469 -0.732264 +vt 0.978282 0.984581 +vt 0.711622 0.781054 +vt 0.978133 0.780594 +vt 0.713513 0.984128 +vn 0.0000 0.0000 -1.0000 +usemtl Material.002 +s off +f 178/344/82 180/345/82 179/346/82 +f 178/344/82 177/347/82 180/345/82 +o plate_Cylinder +v 0.573046 0.817783 -0.643769 +v 0.573046 0.868036 -0.643769 +v 0.729762 0.817783 -0.568299 +v 0.729762 0.868036 -0.568299 +v 0.768467 0.817783 -0.398719 +v 0.768467 0.868036 -0.398719 +v 0.660017 0.817783 -0.262726 +v 0.660017 0.868036 -0.262726 +v 0.486075 0.817783 -0.262726 +v 0.486075 0.868036 -0.262726 +v 0.377625 0.817783 -0.398719 +v 0.377625 0.868036 -0.398719 +v 0.416330 0.817783 -0.568299 +v 0.416330 0.868036 -0.568299 +v 0.572966 0.867427 -0.529802 +v 0.572966 0.983075 -0.566974 +v 0.647860 0.867427 -0.486562 +v 0.680052 0.983075 -0.505148 +v 0.647860 0.867427 -0.400082 +v 0.680052 0.983075 -0.381496 +v 0.572966 0.867427 -0.356843 +v 0.572966 0.983075 -0.319670 +v 0.498072 0.867427 -0.400082 +v 0.465880 0.983075 -0.381496 +v 0.498072 0.867427 -0.486562 +v 0.465880 0.983075 -0.505148 +v 0.610413 0.867427 -0.508182 +v 0.626509 0.983075 -0.536061 +v 0.572966 0.941312 -0.556665 +v 0.671124 0.941312 -0.499994 +v 0.647860 0.867427 -0.443322 +v 0.680052 0.983075 -0.443322 +v 0.671124 0.941312 -0.386651 +v 0.610413 0.867427 -0.378463 +v 0.626509 0.983075 -0.350583 +v 0.572966 0.941312 -0.329980 +v 0.535519 0.867427 -0.378463 +v 0.519423 0.983075 -0.350583 +v 0.474808 0.941312 -0.386651 +v 0.498072 0.867427 -0.443322 +v 0.465880 0.983075 -0.443322 +v 0.474808 0.941312 -0.499994 +v 0.535519 0.867427 -0.508182 +v 0.519423 0.983075 -0.536061 +v 0.523887 0.941312 -0.528329 +v 0.474808 0.941312 -0.443322 +v 0.523887 0.941312 -0.358315 +v 0.622045 0.941312 -0.358315 +v 0.671124 0.941312 -0.443322 +v 0.622045 0.941312 -0.528329 +v 0.572966 0.983075 -0.539121 +v 0.655930 0.983075 -0.491222 +v 0.655930 0.983075 -0.395423 +v 0.572966 0.983075 -0.347524 +v 0.490002 0.983075 -0.395423 +v 0.490002 0.983075 -0.491222 +v 0.614448 0.983075 -0.515171 +v 0.655930 0.983075 -0.443322 +v 0.614448 0.983075 -0.371474 +v 0.531484 0.983075 -0.371474 +v 0.490002 0.983075 -0.443322 +v 0.531484 0.983075 -0.515171 +v 0.572966 0.962908 -0.514054 +v 0.634221 0.962908 -0.478688 +v 0.634221 0.962908 -0.407956 +v 0.572966 0.962908 -0.372591 +v 0.511710 0.962908 -0.407956 +v 0.511710 0.962908 -0.478688 +v 0.603594 0.962908 -0.496371 +v 0.634221 0.962908 -0.443322 +v 0.603594 0.962908 -0.390274 +v 0.542338 0.962908 -0.390274 +v 0.511710 0.962908 -0.443322 +v 0.542338 0.962908 -0.496371 +v 0.595406 0.982933 -0.519550 +v 0.702492 0.982933 -0.457724 +v 0.702492 0.982933 -0.334072 +v 0.595406 0.982933 -0.272246 +v 0.488321 0.982933 -0.334072 +v 0.488321 0.982933 -0.457724 +v 0.648949 0.982933 -0.488637 +v 0.702492 0.982933 -0.395898 +v 0.648949 0.982933 -0.303159 +v 0.541863 0.982933 -0.303159 +v 0.488321 0.982933 -0.395898 +v 0.541863 0.982933 -0.488637 +v 0.678370 0.982933 -0.347999 +v 0.512442 0.982933 -0.347999 +v 0.553924 0.982933 -0.324049 +v 0.553924 0.982933 -0.467747 +v 0.648949 0.999716 -0.488637 +v 0.595406 0.999716 -0.519550 +v 0.702492 0.999716 -0.395898 +v 0.702492 0.999716 -0.457724 +v 0.648949 0.999716 -0.303159 +v 0.702492 0.999716 -0.334072 +v 0.541863 0.999716 -0.303159 +v 0.595406 0.999716 -0.272246 +v 0.488321 0.999716 -0.395898 +v 0.488321 0.999716 -0.334072 +v 0.541863 0.999716 -0.488637 +v 0.488321 0.999716 -0.457724 +v 0.595406 0.999716 -0.491697 +v 0.636888 0.999716 -0.324049 +v 0.553924 0.999716 -0.324049 +v 0.512442 0.999716 -0.395898 +v 0.553924 0.999716 -0.467747 +v 0.595406 0.982933 -0.491697 +v 0.678370 0.982933 -0.443797 +v 0.595406 0.982933 -0.300100 +v 0.512442 0.982933 -0.443797 +v 0.636888 0.982933 -0.467747 +v 0.678370 0.982933 -0.395898 +v 0.636888 0.982933 -0.324049 +v 0.512442 0.982933 -0.395898 +v 0.636888 0.999716 -0.467747 +v 0.678370 0.999716 -0.395898 +v 0.678370 0.999716 -0.443797 +v 0.678370 0.999716 -0.347999 +v 0.595406 0.999716 -0.300100 +v 0.512442 0.999716 -0.347999 +v 0.512442 0.999716 -0.443797 +v 0.556395 0.998139 -0.385001 +v 0.526238 0.998974 -0.385001 +v 0.556395 0.998139 -0.406796 +v 0.526238 0.998974 -0.406796 +v 0.634417 0.998139 -0.385001 +v 0.667116 0.998562 -0.385001 +v 0.634417 0.998139 -0.406796 +v 0.667116 0.998562 -0.406796 +v 0.556395 0.998139 -0.395898 +v 0.526238 0.998974 -0.395898 +v 0.595406 1.026090 -0.406796 +v 0.595406 1.052068 -0.406796 +v 0.634417 0.998139 -0.395898 +v 0.667116 0.998562 -0.395898 +v 0.595406 1.026090 -0.385001 +v 0.595406 1.052068 -0.385001 +v 0.595406 1.052068 -0.395898 +v 0.595406 1.026090 -0.395898 +vt 0.516568 0.925663 +vt 0.501815 0.874025 +vt 0.516568 0.874025 +vt 0.501815 0.925663 +vt 0.487061 0.874025 +vt 0.487061 0.925663 +vt 0.472307 0.874025 +vt 0.472307 0.925663 +vt 0.457554 0.874025 +vt 0.457554 0.925663 +vt 0.442800 0.874025 +vt 0.459903 0.824286 +vt 0.479257 0.833668 +vt 0.449027 0.871375 +vt 0.442800 0.925663 +vt 0.428046 0.874025 +vt 0.428046 0.925663 +vt 0.413293 0.874025 +vt 0.394628 0.988826 +vt 0.380910 0.947670 +vt 0.394628 0.947670 +vt 0.367191 0.988826 +vt 0.353472 0.947670 +vt 0.367191 0.947670 +vt 0.339754 0.988826 +vt 0.326035 0.947670 +vt 0.339754 0.947670 +vt 0.312317 0.988826 +vt 0.298598 0.947670 +vt 0.312317 0.947670 +vt 0.326035 0.988826 +vt 0.312317 0.988826 +vt 0.284879 0.988826 +vt 0.271161 0.947670 +vt 0.284879 0.947670 +vt 0.257442 0.988826 +vt 0.243724 0.947670 +vt 0.257442 0.947670 +vt 0.243724 0.906514 +vt 0.257442 0.906514 +vt 0.271161 0.906514 +vt 0.284879 0.906514 +vt 0.298598 0.906514 +vt 0.312317 0.906514 +vt 0.326035 0.906514 +vt 0.339754 0.906514 +vt 0.353472 0.906514 +vt 0.367191 0.906514 +vt 0.380910 0.906514 +vt 0.394628 0.906514 +vt 0.408347 0.906514 +vt 0.408347 0.947670 +vt 0.187756 0.889440 +vt 0.202236 0.894831 +vt 0.193585 0.899689 +vt 0.243724 0.988826 +vt 0.243724 0.988826 +vt 0.408347 0.988826 +vt 0.394628 0.988826 +vt 0.353472 0.988826 +vt 0.339754 0.988826 +vt 0.271161 0.988826 +vt 0.271161 0.988826 +vt 0.380910 0.988826 +vt 0.367191 0.988826 +vt 0.298598 0.988826 +vt 0.298598 0.988826 +vt 0.380910 0.988826 +vt 0.326035 0.988826 +vt 0.353472 0.988826 +vt 0.257442 0.988826 +vt 0.284879 0.988826 +vt 0.340515 0.867561 +vt 0.353416 0.845216 +vt 0.379218 0.845216 +vt 0.172967 0.914653 +vt 0.184800 0.924725 +vt 0.173659 0.931108 +vt 0.231171 0.914901 +vt 0.219392 0.904908 +vt 0.230487 0.898593 +vt 0.184896 0.904682 +vt 0.184810 0.914715 +vt 0.187500 0.940008 +vt 0.202093 0.934779 +vt 0.202082 0.947578 +vt 0.219317 0.924810 +vt 0.219445 0.914858 +vt 0.216816 0.889691 +vt 0.202347 0.882053 +vt 0.193437 0.929782 +vt 0.216635 0.940021 +vt 0.230372 0.931207 +vt 0.210879 0.899812 +vt 0.173819 0.898191 +vt 0.210758 0.929842 +vt 0.222290 0.971049 +vt 0.222980 0.958974 +vt 0.229262 0.958974 +vt 0.179771 0.958974 +vt 0.180461 0.971049 +vt 0.173490 0.958974 +vt 0.180461 0.946899 +vt 0.222290 0.946899 +vt 0.212178 0.940264 +vt 0.215319 0.934824 +vt 0.190574 0.977684 +vt 0.201376 0.983124 +vt 0.187433 0.983124 +vt 0.201376 0.934824 +vt 0.190574 0.940264 +vt 0.187433 0.934824 +vt 0.212178 0.977684 +vt 0.215319 0.983124 +vt 0.199801 0.853297 +vt 0.209866 0.858366 +vt 0.199801 0.858366 +vt 0.180313 0.887051 +vt 0.189735 0.893234 +vt 0.186809 0.898303 +vt 0.199801 0.898303 +vt 0.199801 0.893234 +vt 0.219289 0.864548 +vt 0.219932 0.875800 +vt 0.214899 0.867083 +vt 0.180313 0.864548 +vt 0.179670 0.875800 +vt 0.173817 0.875800 +vt 0.219289 0.887051 +vt 0.209866 0.893234 +vt 0.214899 0.884517 +vt 0.189735 0.858366 +vt 0.186809 0.853297 +vt 0.212793 0.898303 +vt 0.212793 0.853297 +vt 0.225785 0.875800 +vt 0.184703 0.884517 +vt 0.184703 0.867083 +vt 0.237579 0.887340 +vt 0.234161 0.874746 +vt 0.237579 0.874746 +vt 0.237579 0.849556 +vt 0.234161 0.836962 +vt 0.237579 0.836962 +vt 0.237579 0.975504 +vt 0.234161 0.962909 +vt 0.237579 0.962909 +vt 0.237579 0.862151 +vt 0.234161 0.849556 +vt 0.237579 0.950314 +vt 0.234161 0.937720 +vt 0.237579 0.937720 +vt 0.237579 0.988098 +vt 0.234161 0.975504 +vt 0.237579 0.925125 +vt 0.234161 0.912530 +vt 0.237579 0.912530 +vt 0.234161 0.950314 +vt 0.237579 0.899935 +vt 0.234161 0.887340 +vt 0.234161 0.925125 +vt 0.234161 0.862151 +vt 0.234161 0.899935 +vt 0.200279 0.898850 +vt 0.179584 0.886901 +vt 0.179584 0.863004 +vt 0.425271 0.939130 +vt 0.434186 0.970789 +vt 0.425668 0.959676 +vt 0.487707 0.937141 +vt 0.457142 0.945965 +vt 0.467168 0.937819 +vt 0.439271 0.943501 +vt 0.443539 0.964137 +vt 0.438874 0.964047 +vt 0.457142 0.950632 +vt 0.494480 0.945965 +vt 0.494480 0.950632 +vt 0.457121 0.970789 +vt 0.452455 0.932477 +vt 0.457121 0.932477 +vt 0.434186 0.932477 +vt 0.438853 0.970789 +vt 0.420605 0.975477 +vt 0.457943 0.970810 +vt 0.457943 0.975477 +vt 0.487553 0.932477 +vt 0.467014 0.933155 +vt 0.451170 0.984301 +vt 0.430477 0.988287 +vt 0.430631 0.983624 +vt 0.420605 0.939220 +vt 0.443936 0.943591 +vt 0.202248 0.984067 +vt 0.180121 0.971292 +vt 0.180121 0.945742 +vt 0.483989 0.854650 +vt 0.470535 0.871431 +vt 0.435660 0.854525 +vt 0.440500 0.833568 +vt 0.413293 0.925663 +vt 0.408347 0.988826 +vt 0.392119 0.852664 +vt 0.392119 0.867561 +vt 0.392119 0.882458 +vt 0.379218 0.889906 +vt 0.366317 0.897354 +vt 0.353416 0.889906 +vt 0.340515 0.882458 +vt 0.340515 0.852664 +vt 0.366317 0.837768 +vt 0.217579 0.968329 +vt 0.185172 0.968329 +vt 0.185172 0.949619 +vt 0.217579 0.949619 +vt 0.201376 0.977684 +vt 0.201376 0.940264 +vt 0.234161 0.988098 +vt 0.186482 0.851055 +vt 0.200279 0.851055 +vt 0.214076 0.851055 +vt 0.220975 0.863004 +vt 0.227874 0.874952 +vt 0.220975 0.886901 +vt 0.214076 0.898850 +vt 0.186482 0.898850 +vt 0.172685 0.874952 +vt 0.452455 0.970789 +vt 0.438853 0.932477 +vt 0.420605 0.970810 +vt 0.451016 0.988965 +vt 0.421002 0.959766 +vt 0.187497 0.932967 +vt 0.202248 0.932967 +vt 0.216999 0.932967 +vt 0.224375 0.945742 +vt 0.231750 0.958517 +vt 0.224375 0.971292 +vt 0.216999 0.984067 +vt 0.187497 0.984067 +vt 0.172746 0.958517 +vn 0.4339 0.0000 -0.9010 +vn 0.9749 0.0000 -0.2225 +vn 0.7818 0.0000 0.6235 +vn 0.0000 0.0000 1.0000 +vn -0.7818 0.0000 0.6235 +vn 0.0000 1.0000 0.0000 +vn -0.9749 0.0000 -0.2225 +vn -0.4339 0.0000 -0.9010 +vn 0.4890 -0.2091 -0.8469 +vn 0.9779 -0.2091 0.0000 +vn 0.4890 -0.2091 0.8469 +vn -0.4890 -0.2091 0.8469 +vn -0.9779 -0.2091 0.0000 +vn -0.4889 -0.2091 -0.8469 +vn -0.4769 -0.3003 -0.8260 +vn -0.4890 -0.2091 -0.8469 +vn -0.9538 -0.3003 0.0000 +vn -0.4769 -0.3003 0.8260 +vn 0.4769 -0.3003 0.8260 +vn 0.9538 -0.3003 0.0000 +vn 0.4769 -0.3003 -0.8260 +vn 0.4889 -0.2091 -0.8469 +vn -0.3403 0.7326 -0.5894 +vn 0.3403 0.7326 -0.5894 +vn -0.3403 0.7326 0.5894 +vn 0.6806 0.7326 0.0000 +vn -0.6806 0.7326 0.0000 +vn 0.3403 0.7326 0.5894 +vn 0.0000 -1.0000 0.0000 +vn -0.5000 0.0000 -0.8660 +vn 0.5000 0.0000 -0.8660 +vn 1.0000 0.0000 0.0000 +vn 0.5000 0.0000 0.8660 +vn -0.5000 0.0000 0.8660 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.5824 -0.8129 0.0000 +vn -0.6089 0.7933 0.0000 +vn 0.5980 0.8015 0.0000 +vn 0.5824 -0.8129 0.0000 +vn -0.6089 0.7932 0.0000 +usemtl Material.002 +s off +f 182/348/83 183/349/83 181/350/83 +f 184/351/84 185/352/84 183/349/84 +f 186/353/85 187/354/85 185/352/85 +f 188/355/86 189/356/86 187/354/86 +f 190/357/87 191/358/87 189/356/87 +f 190/359/88 188/360/88 182/361/88 +f 192/362/89 193/363/89 191/358/89 +f 194/364/90 181/365/90 193/363/90 +f 208/366/91 210/367/91 230/368/91 +f 212/369/92 213/370/92 229/371/92 +f 215/372/93 216/373/93 228/374/93 +f 218/375/94 219/376/94 227/377/94 +f 218/375/88 234/378/88 240/379/88 +f 221/380/95 222/381/95 226/382/95 +f 224/383/96 209/384/96 225/385/96 +f 225/385/97 195/386/97 223/387/97 +f 205/388/97 225/385/97 223/387/97 +f 222/381/98 224/383/98 225/385/98 +f 226/382/99 205/388/99 220/389/99 +f 203/390/99 226/382/99 220/389/99 +f 219/376/95 221/380/95 226/382/95 +f 227/377/100 203/390/100 217/391/100 +f 201/392/100 227/377/100 217/391/100 +f 216/373/94 218/375/94 227/377/94 +f 228/374/101 201/392/101 214/393/101 +f 199/394/101 228/374/101 214/393/101 +f 213/370/93 215/372/93 228/374/93 +f 229/371/102 199/394/102 211/395/102 +f 197/396/102 229/371/102 211/395/102 +f 210/367/92 212/369/92 229/371/92 +f 230/368/103 197/396/103 207/397/103 +f 195/398/103 230/368/103 207/397/103 +f 209/399/104 208/366/104 230/368/104 +f 239/400/105 245/401/105 251/402/105 +f 224/383/88 231/403/88 196/404/88 +f 208/366/88 231/405/88 237/406/88 +f 215/372/88 233/407/88 239/408/88 +f 221/380/88 236/409/88 206/410/88 +f 212/369/88 232/411/88 238/412/88 +f 218/375/88 235/413/88 204/414/88 +f 208/366/88 232/411/88 198/415/88 +f 215/372/88 234/378/88 202/416/88 +f 212/369/88 233/407/88 200/417/88 +f 224/383/88 236/409/88 242/418/88 +f 221/380/88 235/413/88 241/419/88 +f 252/420/88 251/421/88 250/422/88 +f 240/423/106 247/424/106 235/425/106 +f 237/426/107 244/427/107 232/428/107 +f 240/423/106 246/429/106 252/430/106 +f 241/431/108 248/432/108 236/433/108 +f 237/426/107 243/434/107 249/435/107 +f 238/436/109 245/401/109 233/437/109 +f 241/431/108 247/424/108 253/438/108 +f 242/439/110 243/434/110 231/440/110 +f 238/436/109 244/427/109 250/441/109 +f 239/400/105 246/429/105 234/442/105 +f 242/439/110 248/432/110 254/443/110 +f 264/444/111 290/445/111 258/446/111 +f 288/447/111 266/448/111 255/449/111 +f 261/450/111 288/447/111 255/449/111 +f 263/451/111 267/452/111 257/453/111 +f 291/454/111 265/455/111 260/456/111 +f 262/457/111 289/458/111 256/459/111 +f 268/460/111 264/444/111 259/461/111 +f 289/458/111 261/450/111 256/459/111 +f 290/445/111 263/451/111 258/446/111 +f 267/452/111 262/457/111 257/453/111 +f 266/448/111 291/454/111 260/456/111 +f 265/455/111 268/460/111 259/461/111 +f 277/462/88 300/463/88 285/464/88 +f 281/465/88 283/466/88 272/467/88 +f 271/468/88 283/466/88 296/469/88 +f 275/470/88 299/471/88 284/472/88 +f 279/473/88 302/474/88 282/475/88 +f 273/476/88 298/477/88 297/478/88 +f 277/462/88 301/479/88 280/480/88 +f 271/468/88 298/477/88 274/481/88 +f 275/470/88 300/463/88 278/482/88 +f 273/476/88 299/471/88 276/483/88 +f 281/465/88 302/474/88 287/484/88 +f 279/473/88 301/479/88 286/485/88 +f 260/486/112 281/487/112 266/488/112 +f 261/489/113 274/490/113 256/491/113 +f 262/492/114 276/493/114 257/494/114 +f 255/495/113 271/496/113 261/489/113 +f 263/497/115 278/498/115 258/499/115 +f 256/500/114 273/501/114 262/492/114 +f 264/502/116 280/503/116 259/504/116 +f 257/494/115 275/505/115 263/497/115 +f 265/506/117 282/507/117 260/486/117 +f 258/499/116 277/508/116 264/502/116 +f 266/488/112 272/509/112 255/495/112 +f 259/504/117 279/510/117 265/506/117 +f 285/511/88 284/512/88 297/513/88 +f 313/514/118 310/515/118 309/516/118 +f 317/517/86 304/518/86 303/519/86 +f 315/520/119 317/521/119 320/522/119 +f 312/523/120 318/524/120 319/525/120 +f 319/526/121 308/527/121 316/528/121 +f 314/529/121 316/530/121 310/515/121 +f 306/531/120 319/532/120 314/533/120 +f 320/534/122 303/519/122 311/535/122 +f 313/536/122 311/537/122 305/538/122 +f 309/516/119 320/539/119 313/514/119 +f 308/527/86 317/521/86 307/540/86 +f 306/531/118 313/536/118 305/538/118 +f 269/541/88 294/542/88 293/543/88 +f 182/348/83 184/351/83 183/349/83 +f 184/351/84 186/353/84 185/352/84 +f 186/353/85 188/355/85 187/354/85 +f 188/355/86 190/357/86 189/356/86 +f 190/357/87 192/362/87 191/358/87 +f 186/544/88 184/545/88 188/360/88 +f 184/545/88 182/361/88 188/360/88 +f 182/361/88 194/546/88 192/547/88 +f 192/547/88 190/359/88 182/361/88 +f 192/362/89 194/364/89 193/363/89 +f 194/364/90 182/548/90 181/365/90 +f 208/366/91 198/415/91 210/367/91 +f 212/369/92 200/417/92 213/370/92 +f 215/372/93 202/416/93 216/373/93 +f 218/375/94 204/414/94 219/376/94 +f 218/375/88 202/416/88 234/378/88 +f 221/380/95 206/410/95 222/381/95 +f 224/383/98 196/404/98 209/384/98 +f 225/385/97 209/384/97 195/386/97 +f 205/388/97 222/381/97 225/385/97 +f 222/381/98 206/410/98 224/383/98 +f 226/382/99 222/381/99 205/388/99 +f 203/390/99 219/376/99 226/382/99 +f 219/376/95 204/414/95 221/380/95 +f 227/377/100 219/376/100 203/390/100 +f 201/392/100 216/373/100 227/377/100 +f 216/373/94 202/416/94 218/375/94 +f 228/374/101 216/373/101 201/392/101 +f 199/394/101 213/370/101 228/374/101 +f 213/370/93 200/417/93 215/372/93 +f 229/371/102 213/370/102 199/394/102 +f 197/396/102 210/367/102 229/371/102 +f 210/367/92 198/415/92 212/369/92 +f 230/368/103 210/367/103 197/396/103 +f 195/398/103 209/399/103 230/368/103 +f 209/399/91 196/549/91 208/366/91 +f 239/400/105 233/437/105 245/401/105 +f 224/383/88 242/418/88 231/403/88 +f 208/366/88 196/549/88 231/405/88 +f 215/372/88 200/417/88 233/407/88 +f 221/380/88 241/419/88 236/409/88 +f 212/369/88 198/415/88 232/411/88 +f 218/375/88 240/379/88 235/413/88 +f 208/366/88 237/406/88 232/411/88 +f 215/372/88 239/408/88 234/378/88 +f 212/369/88 238/412/88 233/407/88 +f 224/383/88 206/410/88 236/409/88 +f 221/380/88 204/414/88 235/413/88 +f 250/422/88 244/550/88 249/551/88 +f 249/551/88 243/552/88 254/553/88 +f 254/553/88 248/554/88 253/555/88 +f 253/555/88 247/556/88 252/420/88 +f 252/420/88 246/557/88 251/421/88 +f 251/421/88 245/558/88 250/422/88 +f 250/422/88 249/551/88 252/420/88 +f 249/551/88 254/553/88 252/420/88 +f 254/553/88 253/555/88 252/420/88 +f 240/423/106 252/430/106 247/424/106 +f 237/426/107 249/435/107 244/427/107 +f 240/423/106 234/442/106 246/429/106 +f 241/431/108 253/438/108 248/432/108 +f 237/426/107 231/440/107 243/434/107 +f 238/436/109 250/441/109 245/401/109 +f 241/431/108 235/425/108 247/424/108 +f 242/439/110 254/443/110 243/434/110 +f 238/436/109 232/428/109 244/427/109 +f 239/400/105 251/402/105 246/429/105 +f 242/439/110 236/433/110 248/432/110 +f 264/444/111 269/559/111 290/445/111 +f 288/447/111 270/560/111 266/448/111 +f 261/450/111 292/561/111 288/447/111 +f 263/451/111 294/562/111 267/452/111 +f 291/454/111 295/563/111 265/455/111 +f 262/457/111 293/564/111 289/458/111 +f 268/460/111 269/559/111 264/444/111 +f 289/458/111 292/561/111 261/450/111 +f 290/445/111 294/562/111 263/451/111 +f 267/452/111 293/564/111 262/457/111 +f 266/448/111 270/560/111 291/454/111 +f 265/455/111 295/563/111 268/460/111 +f 277/462/88 278/482/88 300/463/88 +f 281/465/88 287/484/88 283/466/88 +f 271/468/88 272/467/88 283/466/88 +f 275/470/88 276/483/88 299/471/88 +f 279/473/88 286/485/88 302/474/88 +f 273/476/88 274/481/88 298/477/88 +f 277/462/88 285/464/88 301/479/88 +f 271/468/88 296/469/88 298/477/88 +f 275/470/88 284/472/88 300/463/88 +f 273/476/88 297/478/88 299/471/88 +f 281/465/88 282/475/88 302/474/88 +f 279/473/88 280/480/88 301/479/88 +f 260/486/112 282/507/112 281/487/112 +f 261/489/113 271/496/113 274/490/113 +f 262/492/114 273/501/114 276/493/114 +f 255/495/113 272/509/113 271/496/113 +f 263/497/115 275/505/115 278/498/115 +f 256/500/114 274/565/114 273/501/114 +f 264/502/116 277/508/116 280/503/116 +f 257/494/115 276/493/115 275/505/115 +f 265/506/117 279/510/117 282/507/117 +f 258/499/116 278/498/116 277/508/116 +f 266/488/112 281/487/112 272/509/112 +f 259/504/117 280/503/117 279/510/117 +f 297/513/88 298/566/88 296/567/88 +f 296/567/88 283/568/88 287/569/88 +f 287/569/88 302/570/88 286/571/88 +f 286/571/88 301/572/88 285/511/88 +f 285/511/88 300/573/88 284/512/88 +f 284/512/88 299/574/88 297/513/88 +f 297/513/88 296/567/88 285/511/88 +f 296/567/88 287/569/88 285/511/88 +f 287/569/88 286/571/88 285/511/88 +f 313/514/118 314/529/118 310/515/118 +f 317/517/86 318/524/86 304/518/86 +f 315/520/119 307/540/119 317/521/119 +f 312/523/123 304/518/123 318/524/123 +f 319/526/121 318/575/121 308/527/121 +f 314/529/121 319/576/121 316/530/121 +f 306/531/123 312/577/123 319/532/123 +f 320/534/122 317/517/122 303/519/122 +f 313/536/122 320/578/122 311/537/122 +f 309/516/119 315/579/119 320/539/119 +f 308/527/86 318/575/86 317/521/86 +f 306/531/118 314/533/118 313/536/118 +f 293/543/88 289/580/88 292/581/88 +f 292/581/88 288/582/88 270/583/88 +f 270/583/88 291/584/88 295/585/88 +f 295/585/88 268/586/88 269/541/88 +f 269/541/88 290/587/88 294/542/88 +f 294/542/88 267/588/88 293/543/88 +f 293/543/88 292/581/88 269/541/88 +f 292/581/88 270/583/88 269/541/88 +f 270/583/88 295/585/88 269/541/88 +l 289 298 diff --git a/src/main/java/assets/hbm/textures/gui/processing/gui_microwave.png b/src/main/java/assets/hbm/textures/gui/processing/gui_microwave.png new file mode 100644 index 000000000..6b4bb0b06 Binary files /dev/null and b/src/main/java/assets/hbm/textures/gui/processing/gui_microwave.png differ diff --git a/src/main/java/assets/hbm/textures/gui/reactors/gui_fusion_heater.png b/src/main/java/assets/hbm/textures/gui/reactors/gui_fusion_heater.png new file mode 100644 index 000000000..03abf02aa Binary files /dev/null and b/src/main/java/assets/hbm/textures/gui/reactors/gui_fusion_heater.png differ diff --git a/src/main/java/assets/hbm/textures/gui/reactors/gui_fusion_multiblock.png b/src/main/java/assets/hbm/textures/gui/reactors/gui_fusion_multiblock.png index 21857d774..90c0d7b57 100644 Binary files a/src/main/java/assets/hbm/textures/gui/reactors/gui_fusion_multiblock.png and b/src/main/java/assets/hbm/textures/gui/reactors/gui_fusion_multiblock.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/microwave.png b/src/main/java/assets/hbm/textures/models/machines/microwave.png new file mode 100644 index 000000000..d82d3149a Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/machines/microwave.png differ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 05d4c5303..07cb54c22 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -347,7 +347,7 @@ public class ModBlocks { public static Block nuke_n45; public static final int guiID_nuke_n45 = 77; public static Block nuke_fstbmb; - public static final int guiID_nuke_fstbmb = 0000; + public static final int guiID_nuke_fstbmb = 96; public static Block bomb_multi; public static final int guiID_bomb_multi = 10; @@ -401,6 +401,9 @@ public class ModBlocks { public static Block machine_electric_furnace_off; public static Block machine_electric_furnace_on; public static final int guiID_electric_furnace = 16; + + public static Block machine_microwave; + public static final int guiID_microwave = 97; public static Block machine_arc_furnace_off; public static Block machine_arc_furnace_on; @@ -1060,6 +1063,7 @@ public class ModBlocks { machine_electric_furnace_on = new MachineElectricFurnace(true).setBlockName("machine_electric_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); machine_arc_furnace_off = new MachineArcFurnace(false).setBlockName("machine_arc_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_arc_furnace_on = new MachineArcFurnace(true).setBlockName("machine_arc_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + machine_microwave = new MachineMicrowave(Material.iron).setBlockName("machine_microwave").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); //machine_deuterium = new MachineDeuterium(Material.iron).setBlockName("machine_deuterium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); @@ -1772,6 +1776,7 @@ public class ModBlocks { GameRegistry.registerBlock(machine_electric_furnace_on, machine_electric_furnace_on.getUnlocalizedName()); GameRegistry.registerBlock(machine_arc_furnace_off, machine_arc_furnace_off.getUnlocalizedName()); GameRegistry.registerBlock(machine_arc_furnace_on, machine_arc_furnace_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_microwave, machine_microwave.getUnlocalizedName()); GameRegistry.registerBlock(machine_assembler, machine_assembler.getUnlocalizedName()); GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName()); GameRegistry.registerBlock(machine_fluidtank, machine_fluidtank.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineMicrowave.java b/src/main/java/com/hbm/blocks/machine/MachineMicrowave.java new file mode 100644 index 000000000..89cf34604 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineMicrowave.java @@ -0,0 +1,36 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.ModBlocks; +import com.hbm.tileentity.machine.TileEntityMicrowave; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class MachineMicrowave extends BlockMachineBase { + + public MachineMicrowave(Material mat) { + super(mat, ModBlocks.guiID_microwave); + this.rotatable = true; + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMicrowave(); + } + + @Override + public int getRenderType(){ + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } +} diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index ce8e93f54..0513d7b4b 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -869,6 +869,15 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_microwave: + { + if(entity instanceof TileEntityMicrowave) + { + return new ContainerMicrowave(player.inventory, (TileEntityMicrowave) entity); + } + return null; + } } } else { //NON-TE CONTAINERS @@ -1735,6 +1744,15 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_microwave: + { + if(entity instanceof TileEntityMicrowave) + { + return new GUIMicrowave(player.inventory, (TileEntityMicrowave) entity); + } + return null; + } } } else { //CLIENTONLY GUIS diff --git a/src/main/java/com/hbm/inventory/container/ContainerMicrowave.java b/src/main/java/com/hbm/inventory/container/ContainerMicrowave.java new file mode 100644 index 000000000..d60826d4a --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMicrowave.java @@ -0,0 +1,77 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotMachineOutput; +import com.hbm.tileentity.machine.TileEntityMicrowave; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerMicrowave extends Container { + +private TileEntityMicrowave microwave; + + public ContainerMicrowave(InventoryPlayer invPlayer, TileEntityMicrowave tedf) { + + microwave = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 80, 35)); + this.addSlotToContainer(new SlotMachineOutput(tedf, 1, 140, 35)); + this.addSlotToContainer(new Slot(tedf, 2, 8, 53)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) + { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if (var4 != null && var4.getHasStack()) + { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if (par2 <= 2) { + if (!this.mergeItemStack(var5, 2, this.inventorySlots.size(), true)) + { + return null; + } + } else { + if (!this.mergeItemStack(var5, 0, 1, true)) + if (!this.mergeItemStack(var5, 2, 3, true)) + return null; + } + + if (var5.stackSize == 0) + { + var4.putStack((ItemStack) null); + } + else + { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return microwave.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java b/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java new file mode 100644 index 000000000..d6079bbea --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java @@ -0,0 +1,70 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMicrowave; +import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxButtonPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.machine.TileEntityMicrowave; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIMicrowave extends GuiInfoContainer { + + public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_microwave.png"); + private TileEntityMicrowave microwave; + + public GUIMicrowave(InventoryPlayer invPlayer, TileEntityMicrowave microwave) { + super(new ContainerMicrowave(invPlayer, microwave)); + this.microwave = microwave; + + this.xSize = 176; + this.ySize = 168; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 51 - 34, 16, 34, microwave.power, microwave.maxPower); + } + + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 43 <= x && guiLeft + 43 + 18 > x && guiTop + 25 < y && guiTop + 25 + 18 >= y) { + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(microwave.xCoord, microwave.yCoord, microwave.zCoord, 0, 0)); + } + if(guiLeft + 43 <= x && guiLeft + 43 + 18 > x && guiTop + 43 < y && guiTop + 43 + 18 >= y) { + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(microwave.xCoord, microwave.yCoord, microwave.zCoord, 1, 0)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.microwave.hasCustomInventoryName() ? this.microwave.getInventoryName() : I18n.format(this.microwave.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = (int)microwave.getPowerScaled(34); + drawTexturedModalRect(guiLeft + 8, guiTop + 51 - i, 176, 34 - i, 16, i); + + int j = microwave.getProgressScaled(23); + drawTexturedModalRect(guiLeft + 104, guiTop + 34, 192, 0, j, 16); + + int k = microwave.getSpeedScaled(34); + drawTexturedModalRect(guiLeft + 62, guiTop + 60 - k, 214, 34 - k, 4, k); + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index ae221d139..4c3c1cc89 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -146,6 +146,7 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTesla.class, new RenderTesla()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarrel.class, new RenderFluidBarrel()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCrystallizer.class, new RenderCrystallizer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMicrowave.class, new RenderMicrowave()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityVaultDoor.class, new RenderVaultDoor()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBlastDoor.class, new RenderBlastDoor()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 81339f2f2..40518fa02 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -544,12 +544,12 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.missile_anti_ballistic, 1), new Object[] { ModItems.missile_generic, ModItems.circuit_targeting_tier3 }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "T T", "PHP", "TFT", 'T', "ingotTungsten", 'P', ModItems.board_copper, 'H', Blocks.hopper, 'F', Blocks.furnace })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateIron", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedstoneAlloy" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateSteel", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedstoneAlloy" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateIron", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedCopperAlloy" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateSteel", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedCopperAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 1), new Object[] { "SSS", "LFL", "CCC", 'S', "plateSteel", 'C', ModItems.board_copper, 'L', "plateLead", 'F', Item.getItemFromBlock(Blocks.furnace) })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 1), new Object[] { "BBB", "WFW", "RRR", 'B', ModItems.ingot_beryllium, 'R', ModItems.coil_tungsten, 'W', ModItems.board_copper, 'F', Item.getItemFromBlock(Blocks.furnace) }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_arc_furnace_off, 1), new Object[] { "ITI", "PFP", "ITI", 'I', "ingotTungsten", 'T', ModBlocks.machine_transformer, 'P', ModItems.board_copper, 'F', Blocks.furnace })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.plate_polymer, 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.plate_polymer, 'I', "ingotRedCopperAlloy", 'R', ModItems.wire_red_copper })); GameRegistry.addRecipe(new ItemStack(ModBlocks.cable_switch, 1), new Object[] { "S", "W", 'S', Blocks.lever, 'W', ModBlocks.red_wire_coated }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 16), new Object[] { " W ", "RRR", " W ", 'W', ModItems.plate_polymer, 'R', ModItems.wire_red_copper }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_pylon), 4), new Object[] { "CWC", "PWP", " T ", 'C', ModItems.coil_copper_torus, 'W', "plankWood", 'P', ModItems.plate_polymer, 'T', ModBlocks.red_wire_coated })); @@ -558,7 +558,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.gas_duct_solid), 16), new Object[] { "SPS", "P P", "SPS", 'S', "ingotSteel", 'P', "plateCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.gas_duct), 16), new Object[] { "SIS", " ", "SIS", 'S', "plateSteel", 'I', "plateCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_battery_potato, 1), new Object[] { "PCP", "WRW", "PCP", 'P', ItemBattery.getEmptyBattery(ModItems.battery_potato), 'C', "ingotCopper", 'R', Blocks.redstone_block, 'W', "plankWood" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_coal_off, 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', "ingotRedstoneAlloy", 'F', Blocks.furnace })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_coal_off, 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', "ingotRedCopperAlloy", 'F', Blocks.furnace })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_boiler_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', "ingotSteel", 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', Blocks.furnace })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_boiler_electric_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', "ingotDesh", 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', ModBlocks.machine_electric_furnace_off })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_turbine, 1), new Object[] { "PTP", "BMB", "PTP", 'P', "plateTitanium", 'T', ModItems.turbine_titanium, 'B', ModItems.tank_steel, 'M', ModItems.motor })); @@ -626,7 +626,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_revolver_2, 1), new Object[] { " II", "ICA", "IKW", 'I', "plateAdvanced", 'C', "ingotDuraSteel", 'A', "ingotTungsten", 'K', ModItems.bolt_dura_steel, 'W', ModItems.bolt_tungsten })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_rifle_1, 1), new Object[] { "ICI", "CMA", "IAM", 'I', "plateIron", 'C', "ingotCopper", 'A', "ingotAluminum", 'M', ModItems.mechanism_revolver_1 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_rifle_2, 1), new Object[] { "ICI", "CMA", "IAM", 'I', "plateAdvanced", 'C', "ingotDuraSteel", 'A', "ingotTungsten", 'M', ModItems.mechanism_revolver_2 })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', "plateTitanium", 'S', "ingotSteel", 'B', ModItems.bolt_tungsten, 'I', "ingotRedstoneAlloy" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', "plateTitanium", 'S', "ingotSteel", 'B', ModItems.bolt_tungsten, 'I', "ingotRedCopperAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', "plateAdvanced", 'S', "ingotPolymer", 'B', ModItems.bolt_dura_steel, 'I', "ingotDesh" })); GameRegistry.addRecipe(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', ModItems.plate_desh, 'C', ModItems.coil_advanced_alloy, 'I', ModItems.ingot_starmetal, 'S', ModItems.circuit_targeting_tier3 }); @@ -669,7 +669,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.tape_recorder), 4), new Object[] { "TST", "SSS", 'T', "ingotTungsten", 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_poles), 16), new Object[] { "S S", "SSS", "S S", 'S', "ingotSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_top), 1), new Object[] { "T T", "TRT", "BBB", 'T', "ingotTungsten", 'B', ModItems.ingot_beryllium, 'R', "ingotRedstoneAlloy" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_top), 1), new Object[] { "T T", "TRT", "BBB", 'T', "ingotTungsten", 'B', ModItems.ingot_beryllium, 'R', "ingotRedCopperAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), 1), new Object[] { "SS ", "SCR", "SS ", 'S', "ingotSteel", 'C', ModItems.circuit_red_copper, 'R', ModItems.wire_red_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_beam), 8), new Object[] { "S", "S", "S", 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_wall), 4), new Object[] { "SSS", "SSS", 'S', "ingotSteel" })); @@ -1027,7 +1027,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.book_guide), 1), new Object[] { "IBI", "LBL", "IBI", 'B', Items.book, 'I', new ItemStack(Items.dye, 1, 0), 'L', new ItemStack(Items.dye, 1, 4) }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.rail_highspeed), 16), new Object[] { "S S", "SIS", "S S", 'S', "ingotSteel", 'I', "plateIron" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.rail_booster), 6), new Object[] { "S S", "CIC", "SRS", 'S', "ingotSteel", 'I', "plateIron", 'R', "ingotRedstoneAlloy", 'C', ModItems.coil_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.rail_booster), 6), new Object[] { "S S", "CIC", "SRS", 'S', "ingotSteel", 'I', "plateIron", 'R', "ingotRedCopperAlloy", 'C', ModItems.coil_copper })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.bomb_multi), 1), new Object[] { "AAD", "CHF", "AAD", 'A', ModItems.wire_aluminium, 'C', ModItems.circuit_aluminium, 'H', ModItems.hull_small_aluminium, 'F', ModItems.fins_quad_titanium, 'D', new ItemStack(Items.dye, 1, 15) }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_ice, 4), new Object[] { Items.snowball, "dustNiter", "dustRedstone" })); @@ -1275,9 +1275,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.record_vc, 1), new Object[] { " S ", "SDS", " S ", 'S', "ingotPolymer", 'D', "dustCMBSteel" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 4), new Object[] { "dustRedstone", "dustIron", "dustCoal", "dustCopper" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 3), new Object[] { "dustIron", "dustCoal", "dustRedstoneAlloy" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 3), new Object[] { "dustIron", "dustCoal", "dustRedCopperAlloy" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 3), new Object[] { "dustRedstone", "dustSteel", "dustCopper" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 2), new Object[] { "dustRedstoneAlloy", "dustSteel" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_advanced_alloy, 2), new Object[] { "dustRedCopperAlloy", "dustSteel" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_magnetized_tungsten, 1), new Object[] { "dustTungsten", "nuggetSchrabidium" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_red_copper, 2), new Object[] { "dustRedstone", "dustCopper" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_steel, 2), new Object[] { "dustIron", "dustCoal" })); @@ -1317,7 +1317,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.powder_desh_mix, 9), new Object[] { ModItems.powder_actinium, ModItems.powder_actinium, ModItems.powder_lanthanium, ModItems.powder_lanthanium, ModItems.powder_cerium, ModItems.powder_cobalt, ModItems.powder_lithium, ModItems.powder_neodymium, ModItems.powder_niobium }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.dynosphere_base), new Object[] { "RPR", "PBP", "RPR", 'R', "dustRedstoneAlloy", 'P', "plateSteel", 'B', "blockRedstone" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.dynosphere_base), new Object[] { "RPR", "PBP", "RPR", 'R', "dustRedCopperAlloy", 'P', "plateSteel", 'B', "blockRedstone" })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.dynosphere_desh), new Object[] { "RPR", "PBP", "RPR", 'R', ModItems.powder_desh_mix, 'P', "ingotDesh", 'B', ModItems.dynosphere_base })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.dynosphere_schrabidium), new Object[] { "RPR", "PBP", "RPR", 'R', ModItems.powder_power, 'P', "ingotSchrabidium", 'B', ModItems.dynosphere_desh_charged })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.dynosphere_euphemium), new Object[] { "RPR", "PBP", "RPR", 'R', ModItems.powder_nitan_mix, 'P', "ingotEuphemium", 'B', ModItems.dynosphere_schrabidium_charged })); @@ -1370,8 +1370,8 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { ModBlocks.machine_spp_top }); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.machine_spp_top), new Object[] { ModBlocks.machine_spp_bottom }); GameRegistry.addRecipe(new ItemStack(ModItems.gun_b93), new Object[] { "PCE", "SEB", "PCE", 'P', ModItems.plate_dineutronium, 'C', ModItems.weaponized_starblaster_cell, 'E', ModItems.component_emitter, 'B', ModItems.gun_b92, 'S', ModItems.singularity_spark }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer), new Object[] { "SDS", "MCM", "MCM", 'S', "ingotIron", 'D', "ingotRedstoneAlloy", 'M',ModItems.coil_advanced_alloy, 'C', ModItems.circuit_copper })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_20), new Object[] { "SDS", "MCM", "MCM", 'S', "ingotIron", 'D', "ingotRedstoneAlloy", 'M', ModItems.coil_copper, 'C', ModItems.circuit_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer), new Object[] { "SDS", "MCM", "MCM", 'S', "ingotIron", 'D', "ingotRedCopperAlloy", 'M',ModItems.coil_advanced_alloy, 'C', ModItems.circuit_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_20), new Object[] { "SDS", "MCM", "MCM", 'S', "ingotIron", 'D', "ingotRedCopperAlloy", 'M', ModItems.coil_copper, 'C', ModItems.circuit_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_dnt), new Object[] { "SDS", "MCM", "MCM", 'S', ModItems.ingot_starmetal, 'D', "ingotDesh", 'M', ModBlocks.fwatz_conductor, 'C', ModItems.circuit_targeting_tier6 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_dnt_20), new Object[] { "SDS", "MCM", "MCM", 'S', ModItems.ingot_starmetal, 'D', "ingotDesh", 'M', ModBlocks.fusion_conductor, 'C', ModItems.circuit_targeting_tier6 })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle_sparkle), new Object[] { ModItems.bottle_nuka, Items.carrot, Items.gold_nugget }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 1249161bf..93b8c4abc 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -570,6 +570,7 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityProxyEnergy.class, "tileentity_proxy_power"); GameRegistry.registerTileEntity(TileEntityNukeBalefire.class, "tileentity_nuke_fstbmb"); GameRegistry.registerTileEntity(TileEntityProxyCombo.class, "tileentity_proxy_combo"); + GameRegistry.registerTileEntity(TileEntityMicrowave.class, "tileentity_microwave"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 5a0f43151..6df83561d 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -69,6 +69,9 @@ public class ResourceManager { //Centrifuge public static final IModelCustom centrifuge_new = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/centrifuge_new.obj")); + //Magnusson Device + public static final IModelCustom microwave = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/microwave.obj")); + //Laser Miner public static final IModelCustom mining_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_laser.obj")); @@ -223,6 +226,9 @@ public class ResourceManager { //Centrifuge public static final ResourceLocation centrifuge_new_tex = new ResourceLocation(RefStrings.MODID, "textures/models/centrifuge_new.png"); public static final ResourceLocation centrifuge_gas_tex = new ResourceLocation(RefStrings.MODID, "textures/models/centrifuge_gas.png"); + + //Magnusson Device + public static final ResourceLocation microwave_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/microwave.png"); //Laser Miner public static final ResourceLocation mining_laser_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mining_laser_base.png"); diff --git a/src/main/java/com/hbm/render/tileentity/RenderITERMultiblock.java b/src/main/java/com/hbm/render/tileentity/RenderITERMultiblock.java index 6f7a1b768..fe2780bfc 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderITERMultiblock.java +++ b/src/main/java/com/hbm/render/tileentity/RenderITERMultiblock.java @@ -2,10 +2,15 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; -import com.hbm.main.ResourceManager; +import com.hbm.blocks.ModBlocks; +import com.hbm.render.util.IconUtil; +import com.hbm.render.util.SmallBlockPronter; +import com.hbm.tileentity.machine.TileEntityITERStruct; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; public class RenderITERMultiblock extends TileEntitySpecialRenderer { @@ -14,9 +19,16 @@ public class RenderITERMultiblock extends TileEntitySpecialRenderer { GL11.glPushMatrix(); - GL11.glTranslatef((float)x + 0.5F, (float)y, (float)z + 0.5F); + GL11.glTranslatef((float)x, (float)y, (float)z); + + GL11.glEnable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.75F); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glDepthMask(false); - GL11.glShadeModel(GL11.GL_SMOOTH); + /*GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.iter_glass); ResourceManager.iter.renderPart("Windows"); bindTexture(ResourceManager.iter_motor); @@ -40,7 +52,41 @@ public class RenderITERMultiblock extends TileEntitySpecialRenderer { bindTexture(ResourceManager.iter_plasma); ResourceManager.iter.renderPart("Plasma"); GL11.glShadeModel(GL11.GL_FLAT); - GL11.glPopMatrix(); + GL11.glPopMatrix();*/ + + ResourceLocation magnet = IconUtil.getTextureFromBlockAndSide(ModBlocks.fusion_conductor, 2); + ResourceLocation solenoid = IconUtil.getTextureFromBlockAndSide(ModBlocks.fusion_center, 2); + ResourceLocation motor = IconUtil.getTextureFromBlock(ModBlocks.fusion_motor); + ResourceLocation glass = IconUtil.getTextureFromBlock(ModBlocks.reinforced_glass); + + int[][][] layout = TileEntityITERStruct.layout; + + for(int iy = -2; iy <= 2; iy ++) { + + int iny = 2 - Math.abs(iy); + + for(int ix = 0; ix < layout[0].length; ix++) { + + for(int iz = 0; iz < layout[0][0].length; iz++) { + + int block = layout[iny][ix][iz]; + + switch(block) { + case 0: continue; + case 1: bindTexture(magnet); break; + case 2: bindTexture(solenoid); break; + case 3: bindTexture(motor); break; + case 4: bindTexture(glass); break; + } + + SmallBlockPronter.renderSmolBlockAt(ix - 6F, iy + 3, iz - 7F); + } + } + } + + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDepthMask(true); GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java b/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java new file mode 100644 index 000000000..cfdc25b26 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java @@ -0,0 +1,45 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.tileentity.machine.TileEntityMicrowave; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +public class RenderMicrowave extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y - 0.75, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + + switch(tileEntity.getBlockMetadata()) { + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + } + GL11.glTranslated(-0.5D, 0.0D, 0.5D); + + TileEntityMicrowave mic = (TileEntityMicrowave)tileEntity; + + bindTexture(ResourceManager.microwave_tex); + ResourceManager.microwave.renderPart("mainbody_Cube.001"); + ResourceManager.microwave.renderPart("window_Cube.002"); + + double rot = (System.currentTimeMillis() * mic.speed / 10D) % 360; + + if(mic.time > 0) { + GL11.glTranslated(0.575D, 0.0D, -0.45D); + GL11.glRotated(rot, 0F, 1F, 0F); + GL11.glTranslated(-0.575D, 0.0D, 0.45D); + } + ResourceManager.microwave.renderPart("plate_Cylinder"); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/util/IconUtil.java b/src/main/java/com/hbm/render/util/IconUtil.java new file mode 100644 index 000000000..44ae7f3c2 --- /dev/null +++ b/src/main/java/com/hbm/render/util/IconUtil.java @@ -0,0 +1,27 @@ +package com.hbm.render.util; + +import com.hbm.lib.RefStrings; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; + +public class IconUtil { + + public static ResourceLocation getTextureFromBlock(Block b) { + return getTextureFromBlockAndSide(b, 1); + } + + public static ResourceLocation getTextureFromBlockAndSide(Block b, int side) { + + + RenderBlocks rb = RenderBlocks.getInstance(); + + IIcon icon = rb.getBlockIconFromSide(b, side); + ResourceLocation loc = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + icon.getIconName().substring(4, icon.getIconName().length()) + ".png"); + + return loc; + } + +} diff --git a/src/main/java/com/hbm/render/util/SmallBlockPronter.java b/src/main/java/com/hbm/render/util/SmallBlockPronter.java new file mode 100644 index 000000000..21aac836f --- /dev/null +++ b/src/main/java/com/hbm/render/util/SmallBlockPronter.java @@ -0,0 +1,68 @@ +package com.hbm.render.util; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.renderer.Tessellator; + +public class SmallBlockPronter { + + static float pixel = 1F/16F; + + /** + * Bind the required texture yourself bruh + * @param loc + * @param x + * @param y + * @param z + */ + public static void renderSmolBlockAt(float x, float y, float z) { + GL11.glPushMatrix(); + GL11.glTranslatef(x, y, z); + GL11.glRotatef(180, 0F, 0F, 1F); + + Tessellator tesseract = Tessellator.instance; + tesseract.startDrawingQuads(); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 0); + tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 0); + tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1); + tesseract.draw(); + + tesseract.startDrawingQuads(); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 0); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 1); + tesseract.draw(); + + tesseract.startDrawingQuads(); + tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 1); + tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 1); + tesseract.draw(); + + tesseract.startDrawingQuads(); + tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 0); + tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0); + tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 1); + tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1); + tesseract.draw(); + + tesseract.startDrawingQuads(); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0); + tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0); + tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1); + tesseract.draw(); + + tesseract.startDrawingQuads(); + tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 0); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 0); + tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1); + tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1); + tesseract.draw(); + GL11.glPopMatrix(); + + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITERStruct.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITERStruct.java index ade8487ad..446901e47 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITERStruct.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITERStruct.java @@ -7,6 +7,61 @@ import net.minecraft.util.AxisAlignedBB; public class TileEntityITERStruct extends TileEntity { + public static int[][][] layout = new int[][][] { + + new int[][] { + new int[] {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + new int[] {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0}, + new int[] {0,0,0,0,1,1,1,1,1,1,1,0,0,0,0}, + new int[] {0,0,0,1,1,0,0,0,0,0,1,1,0,0,0}, + new int[] {0,0,1,1,0,0,0,0,0,0,0,1,1,0,0}, + new int[] {0,1,1,0,0,0,0,0,0,0,0,0,1,1,0}, + new int[] {0,1,1,0,0,0,0,0,0,0,0,0,1,1,0}, + new int[] {0,1,1,0,0,0,0,3,0,0,0,0,1,1,0}, + new int[] {0,1,1,0,0,0,0,0,0,0,0,0,1,1,0}, + new int[] {0,1,1,0,0,0,0,0,0,0,0,0,1,1,0}, + new int[] {0,0,1,1,0,0,0,0,0,0,0,1,1,0,0}, + new int[] {0,0,0,1,1,0,0,0,0,0,1,1,0,0,0}, + new int[] {0,0,0,0,1,1,1,1,1,1,1,0,0,0,0}, + new int[] {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0}, + new int[] {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + }, + new int[][] { + new int[] {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0}, + new int[] {0,0,0,0,1,1,0,0,0,1,1,0,0,0,0}, + new int[] {0,0,0,1,0,0,0,0,0,0,0,1,0,0,0}, + new int[] {0,0,1,0,0,1,1,1,1,1,0,0,1,0,0}, + new int[] {0,1,0,0,1,0,2,2,2,0,1,0,0,1,0}, + new int[] {0,1,0,1,0,2,0,2,0,2,0,1,0,1,0}, + new int[] {1,0,0,1,2,0,0,2,0,0,2,1,0,0,1}, + new int[] {1,0,0,1,2,2,2,3,2,2,2,1,0,0,1}, + new int[] {1,0,0,1,2,0,0,2,0,0,2,1,0,0,1}, + new int[] {0,1,0,1,0,2,0,2,0,2,0,1,0,1,0}, + new int[] {0,1,0,0,1,0,2,2,2,0,1,0,0,1,0}, + new int[] {0,0,1,0,0,1,1,1,1,1,0,0,1,0,0}, + new int[] {0,0,0,1,0,0,0,0,0,0,0,1,0,0,0}, + new int[] {0,0,0,0,1,1,0,0,0,1,1,0,0,0,0}, + new int[] {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0} + }, + new int[][] { + new int[] {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0}, + new int[] {0,0,0,0,1,1,0,0,0,1,1,0,0,0,0}, + new int[] {0,0,0,4,0,0,0,0,0,0,0,4,0,0,0}, + new int[] {0,0,4,0,0,1,1,1,1,1,0,0,4,0,0}, + new int[] {0,1,0,0,1,0,2,2,2,0,1,0,0,1,0}, + new int[] {0,1,0,1,0,2,0,0,0,2,0,1,0,1,0}, + new int[] {1,0,0,1,2,0,0,0,0,0,2,1,0,0,1}, + new int[] {1,0,0,1,2,0,0,3,0,0,2,1,0,0,1}, + new int[] {1,0,0,1,2,0,0,0,0,0,2,1,0,0,1}, + new int[] {0,1,0,1,0,2,0,0,0,2,0,1,0,1,0}, + new int[] {0,1,0,0,1,0,2,2,2,0,1,0,0,1,0}, + new int[] {0,0,4,0,0,1,1,1,1,1,0,0,4,0,0}, + new int[] {0,0,0,4,0,0,0,0,0,0,0,4,0,0,0}, + new int[] {0,0,0,0,1,1,0,0,0,1,1,0,0,0,0}, + new int[] {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0} + } + }; + int age; @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java new file mode 100644 index 000000000..988033a27 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java @@ -0,0 +1,165 @@ +package com.hbm.tileentity.machine; + +import com.hbm.interfaces.IConsumer; +import com.hbm.lib.Library; +import com.hbm.tileentity.TileEntityMachineBase; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityMicrowave extends TileEntityMachineBase implements IConsumer { + + public long power; + public static final long maxPower = 50000; + public static final int consumption = 50; + public static final int maxTime = 300; + public int time; + public int speed; + public static final int maxSpeed = 5; + + public TileEntityMicrowave() { + super(3); + } + + @Override + public String getName() { + return "container.microwave"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + this.power = Library.chargeTEFromItems(slots, 2, power, maxPower); + + if(canProcess()) { + + if(speed == maxSpeed) { + worldObj.func_147480_a(xCoord, yCoord, zCoord, false); + worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 7.5F, true, true); + return; + } + + power -= consumption; + time += speed; + + if(time >= maxTime) { + process(); + time = 0; + } + } + + NBTTagCompound data = new NBTTagCompound(); + data.setLong("power", power); + data.setInteger("time", time); + data.setInteger("speed", speed); + networkPack(data, 50); + } + } + + public void networkUnpack(NBTTagCompound data) { + power = data.getLong("power"); + time = data.getInteger("time"); + speed = data.getInteger("speed"); + } + + public void handleButtonPacket(int value, int meta) { + + if(value == 0) + speed++; + + if(value == 1) + speed--; + + if(speed < 0) + speed = 0; + + if(speed > maxSpeed) + speed = maxSpeed; + } + + private void process() { + + ItemStack stack = FurnaceRecipes.smelting().getSmeltingResult(slots[0]).copy(); + + if(slots[1] == null) { + slots[1] = stack; + } else { + slots[1].stackSize += stack.stackSize; + } + + this.decrStackSize(0, 1); + + this.markDirty(); + } + + private boolean canProcess() { + + if(speed == 0) + return false; + + if(power < consumption) + return false; + + if(slots[0] != null && FurnaceRecipes.smelting().getSmeltingResult(slots[0]) != null) { + + ItemStack stack = FurnaceRecipes.smelting().getSmeltingResult(slots[0]); + + if(slots[1] == null) + return true; + + if(!stack.isItemEqual(slots[1])) + return false; + + return stack.stackSize + slots[1].stackSize <= stack.getMaxStackSize(); + } + + return false; + } + + public long getPowerScaled(int i) { + return (power * i) / maxPower; + } + + public int getProgressScaled(int i) { + return (time * i) / maxTime; + } + + public int getSpeedScaled(int i) { + return (speed * i) / maxSpeed; + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; + } + + @Override + public void setPower(long i) { + power = i; + } + + @Override + public long getPower() { + return power; + } + + @Override + public long getMaxPower() { + return maxPower; + } + +}