Implemented Bricked Blast Furnace, added corresponding textures

Added a new Casing for the Bricked Blast Furnace, GT_Block_Casings4, ID
15

Refactored the non-electric Blast Furnaces:
The Bronze Blast Furnace and the Bricked Blast Furnace extend a
superclass to ensure consistent behavior.
Subclasses only differ in texture, description, and Casing Block.
This commit is contained in:
Johannes Gäßler 2017-06-08 23:22:08 +02:00
parent 3b681b69d5
commit 6d15192990
13 changed files with 3653 additions and 315 deletions

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 69 KiB

View file

@ -0,0 +1,953 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="320"
height="320"
viewBox="0 0 84.666664 84.666664"
version="1.1"
id="svg8"
inkscape:version="0.92.1 r15371"
sodipodi:docname="bricked_blast_furnace_inactive.svg"
inkscape:export-filename="C:\Users\Johannes\git\GT5-Unofficial\misc\vector\MACHINE_CASING_BRICKEDBLASTFURNACE_INACTIVE.png"
inkscape:export-xdpi="4.8000002"
inkscape:export-ydpi="4.8000002">
<defs
id="defs2">
<filter
style="color-interpolation-filters:sRGB"
id="filter323"
inkscape:label="filter0">
<feColorMatrix
id="feColorMatrix327"
values="1.5 0 0 0 0 0 1.24 0 0 0 0 0 0.94 0 0 0 0 0 1 0 " />
<feColorMatrix
id="feColorMatrix28"
values="0.8 0 0 0 0 0 0.8 0 0 0 0 0 0.8 0 0 0 0 0 1 0 " />
</filter>
<filter
style="color-interpolation-filters:sRGB"
id="filter323-2"
inkscape:label="filter0">
<feColorMatrix
id="feColorMatrix327-2"
values="1.69 0 0 0 0 0 1 0 0 0 0 0 0.41 0 0 0 0 0 1 0 " />
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Greyscale"
id="filter973">
<feColorMatrix
values="0.33 0.33 0.33 0 0 0.33 0.33 0.33 0 0 0.33 0.33 0.33 0 0 0 0 0 1 0 "
id="feColorMatrix971"
result="fbSourceGraphic" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
id="filter1066"
inkscape:label="filter3">
<feColorMatrix
id="feColorMatrix1068"
values="1.5 0 0 0 0 0 1.5 0 0 0 0 0 1.5 0 0 0 0 0 1 0 " />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="-133.24238"
inkscape:cy="185.64421"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
units="px">
<inkscape:grid
type="xygrid"
id="grid4851" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-212.33337)">
<image
y="261.77823"
x="137.37654"
id="image18"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVR42n1TS8uCUBC9/zMsFVxo UqGSRou2IqRCkWJFLvyf83EmRibza3HwPuaeeZyjeb1e1LYt9X1Pj8eD6rrmb9M0dL1eP9B1HZ3P Z6qqisqyJNu2ySA4z/MRh8PhYx/HMZ1OJwbuZH08HslxHDLIiAuBkEgggDO9B+l6vSbLssigVMmi AzWpQBNuNhtarVZk0NtcsG5j2g7WSZK8K7hcLl9Zpn0Dcib7IAjeM8BUoyiiLMuYFaVp4AzY7Xbk eR6FYch7vGEClPELi8WCvwh2XZelA9A/t4AZYJACyArcbjcOGoaBns8n3e939gA8o/1i/ut9u91y BiT4pY7RBgKBKLDf77lUVKU9ICqMBNMLySY6i1NBriuUasyc9lj7vj+2oE301cLcBTKBAJOHT3Rl +n9BnEGgAGXDINAZvoBsRVGw9mmasvbiD3ljtK4a2gvL5XL0wPTuD25VbTdjHernAAAAAElFTkSu QmCC "
style="filter:url(#filter323);image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="84.666664"
width="84.666664" />
<image
y="215.91263"
x="253.26675"
id="image18-7"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVR42n1TS8uCUBC9/zMsFVxo UqGSRou2IqRCkWJFLvyf83EmRibza3HwPuaeeZyjeb1e1LYt9X1Pj8eD6rrmb9M0dL1eP9B1HZ3P Z6qqisqyJNu2ySA4z/MRh8PhYx/HMZ1OJwbuZH08HslxHDLIiAuBkEgggDO9B+l6vSbLssigVMmi AzWpQBNuNhtarVZk0NtcsG5j2g7WSZK8K7hcLl9Zpn0Dcib7IAjeM8BUoyiiLMuYFaVp4AzY7Xbk eR6FYch7vGEClPELi8WCvwh2XZelA9A/t4AZYJACyArcbjcOGoaBns8n3e939gA8o/1i/ut9u91y BiT4pY7RBgKBKLDf77lUVKU9ICqMBNMLySY6i1NBriuUasyc9lj7vj+2oE301cLcBTKBAJOHT3Rl +n9BnEGgAGXDINAZvoBsRVGw9mmasvbiD3ljtK4a2gvL5XL0wPTuD25VbTdjHernAAAAAElFTkSu QmCC "
style="filter:url(#filter323-2);image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="84.666664"
width="84.666664" />
<rect
style="opacity:0.98000004;fill:#d78034;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect340"
width="45.168549"
height="24.856066"
x="171.85431"
y="197.57578" />
<g
id="g4863"
style="filter:url(#filter323)"
transform="translate(10.583331,121.70833)">
<image
y="212.33337"
x="1.2715658e-006"
id="image4849"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVR42n1TS8uCUBC9/zMsFVxo UqGSRou2IqRCkWJFLvyf83EmRibza3HwPuaeeZyjeb1e1LYt9X1Pj8eD6rrmb9M0dL1eP9B1HZ3P Z6qqisqyJNu2ySA4z/MRh8PhYx/HMZ1OJwbuZH08HslxHDLIiAuBkEgggDO9B+l6vSbLssigVMmi AzWpQBNuNhtarVZk0NtcsG5j2g7WSZK8K7hcLl9Zpn0Dcib7IAjeM8BUoyiiLMuYFaVp4AzY7Xbk eR6FYch7vGEClPELi8WCvwh2XZelA9A/t4AZYJACyArcbjcOGoaBns8n3e939gA8o/1i/ut9u91y BiT4pY7RBgKBKLDf77lUVKU9ICqMBNMLySY6i1NBriuUasyc9lj7vj+2oE301cLcBTKBAJOHT3Rl +n9BnEGgAGXDINAZvoBsRVGw9mmasvbiD3ljtK4a2gvL5XL0wPTuD25VbTdjHernAAAAAElFTkSu QmCC "
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="42.333332"
width="42.333332" />
<image
width="42.333332"
height="42.333332"
preserveAspectRatio="none"
style="image-rendering:optimizeSpeed"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVR42n1TS8uCUBC9/zMsFVxo UqGSRou2IqRCkWJFLvyf83EmRibza3HwPuaeeZyjeb1e1LYt9X1Pj8eD6rrmb9M0dL1eP9B1HZ3P Z6qqisqyJNu2ySA4z/MRh8PhYx/HMZ1OJwbuZH08HslxHDLIiAuBkEgggDO9B+l6vSbLssigVMmi AzWpQBNuNhtarVZk0NtcsG5j2g7WSZK8K7hcLl9Zpn0Dcib7IAjeM8BUoyiiLMuYFaVp4AzY7Xbk eR6FYch7vGEClPELi8WCvwh2XZelA9A/t4AZYJACyArcbjcOGoaBns8n3e939gA8o/1i/ut9u91y BiT4pY7RBgKBKLDf77lUVKU9ICqMBNMLySY6i1NBriuUasyc9lj7vj+2oE301cLcBTKBAJOHT3Rl +n9BnEGgAGXDINAZvoBsRVGw9mmasvbiD3ljtK4a2gvL5XL0wPTuD25VbTdjHernAAAAAElFTkSu QmCC "
id="image4853"
x="42.333336"
y="212.33337" />
<image
y="254.6667"
x="42.333336"
id="image4855"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVR42n1TS8uCUBC9/zMsFVxo UqGSRou2IqRCkWJFLvyf83EmRibza3HwPuaeeZyjeb1e1LYt9X1Pj8eD6rrmb9M0dL1eP9B1HZ3P Z6qqisqyJNu2ySA4z/MRh8PhYx/HMZ1OJwbuZH08HslxHDLIiAuBkEgggDO9B+l6vSbLssigVMmi AzWpQBNuNhtarVZk0NtcsG5j2g7WSZK8K7hcLl9Zpn0Dcib7IAjeM8BUoyiiLMuYFaVp4AzY7Xbk eR6FYch7vGEClPELi8WCvwh2XZelA9A/t4AZYJACyArcbjcOGoaBns8n3e939gA8o/1i/ut9u91y BiT4pY7RBgKBKLDf77lUVKU9ICqMBNMLySY6i1NBriuUasyc9lj7vj+2oE301cLcBTKBAJOHT3Rl +n9BnEGgAGXDINAZvoBsRVGw9mmasvbiD3ljtK4a2gvL5XL0wPTuD25VbTdjHernAAAAAElFTkSu QmCC "
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="42.333332"
width="42.333332" />
<image
width="42.333332"
height="42.333332"
preserveAspectRatio="none"
style="image-rendering:optimizeSpeed"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABWUlEQVR42n1TS8uCUBC9/zMsFVxo UqGSRou2IqRCkWJFLvyf83EmRibza3HwPuaeeZyjeb1e1LYt9X1Pj8eD6rrmb9M0dL1eP9B1HZ3P Z6qqisqyJNu2ySA4z/MRh8PhYx/HMZ1OJwbuZH08HslxHDLIiAuBkEgggDO9B+l6vSbLssigVMmi AzWpQBNuNhtarVZk0NtcsG5j2g7WSZK8K7hcLl9Zpn0Dcib7IAjeM8BUoyiiLMuYFaVp4AzY7Xbk eR6FYch7vGEClPELi8WCvwh2XZelA9A/t4AZYJACyArcbjcOGoaBns8n3e939gA8o/1i/ut9u91y BiT4pY7RBgKBKLDf77lUVKU9ICqMBNMLySY6i1NBriuUasyc9lj7vj+2oE301cLcBTKBAJOHT3Rl +n9BnEGgAGXDINAZvoBsRVGw9mmasvbiD3ljtK4a2gvL5XL0wPTuD25VbTdjHernAAAAAElFTkSu QmCC "
id="image4857"
x="-7.1054274e-015"
y="254.6667" />
</g>
<g
id="g751">
<image
width="84.666664"
height="84.666664"
preserveAspectRatio="none"
style="image-rendering:optimizeSpeed"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz AAAAvQAAAL0BHVrG+gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADxSURB VDiN7dLNSsNAFMXxf+JN+hFLGKGgUBBBRF/AvW/l0/gqPowIRdI0sZl8zEwSV4aCON2Ld/tb3XNO 8PryPAYE7IqKxTzCuR6A1lgIAtZqhc8lLzTvHzkqTciKA8e3zUrObjdel0hCAPalRqXJhHVjWC5i Trm0xjKMI1Xd8albZrFgXY9zA7NYOOUyjyPuri+JROisRa2W6NbgXE/TWiIJvS6lbtiXGgDXD9zf XPG2zQHojEWlidfDb1RpQnGop5Q7Y6fffS5ZUQGwKzUXaULVdNStQTcdxroptN9cnh4ffvR8vll7 d3Ds/zv4Ezv4AptmhMVYeNf6AAAAAElFTkSuQmCC "
id="image40"
x="0"
y="212.33337" />
<rect
y="291.70837"
x="58.208332"
height="5.2916665"
width="5.2916665"
id="rect43"
style="opacity:0.98000004;fill:#7f6950;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="249.37505"
x="58.208332"
height="5.2916665"
width="5.2916665"
id="rect43-8"
style="opacity:0.98000004;fill:#7f6950;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="286.41672"
x="52.916664"
height="5.2916665"
width="5.2916665"
id="rect60"
style="opacity:0.98000004;fill:#92785b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="244.08339"
x="52.916664"
height="5.2916665"
width="5.2916665"
id="rect60-0"
style="opacity:0.98000004;fill:#92785b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="249.37505"
x="15.875"
height="5.2916665"
width="5.2916665"
id="rect43-8-2"
style="opacity:0.98000004;fill:#7f6950;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="286.41672"
x="10.583331"
height="5.2916665"
width="5.2916665"
id="rect60-0-9"
style="opacity:0.98000004;fill:#92785b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="291.70837"
x="15.875"
height="5.2916665"
width="5.2916665"
id="rect43-3"
style="opacity:0.98000004;fill:#7f6950;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="254.6667"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect122"
style="opacity:0.98000004;fill:#b69672;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="244.08337"
x="10.583334"
height="5.2916665"
width="5.2916665"
id="rect124"
style="opacity:0.98000004;fill:#a38766;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="238.7917"
x="42.333332"
height="5.2916665"
width="5.2916665"
id="rect126"
style="opacity:0.98000004;fill:#92785b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="281.12503"
x="42.333332"
height="5.2916665"
width="5.2916665"
id="rect128"
style="opacity:0.98000004;fill:#92785b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="212.33337"
x="52.916664"
height="5.2916665"
width="5.2916665"
id="rect130"
style="opacity:0.98000004;fill:#c09e79;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="212.33337"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect132"
style="opacity:0.98000004;fill:#c09e79;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="244.08337"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect156"
style="opacity:0.98000004;fill:#92785b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="244.08337"
x="47.625"
height="5.2916665"
width="5.2916665"
id="rect158"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="281.12503"
x="47.625"
height="5.2916665"
width="5.2916665"
id="rect160"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="286.41672"
x="37.041668"
height="5.2916665"
width="5.2916665"
id="rect162"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="244.08337"
x="5.2916665"
height="5.2916665"
width="5.2916665"
id="rect164"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="238.7917"
x="37.041668"
height="5.2916665"
width="5.2916665"
id="rect166"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="291.70837"
x="47.625"
height="5.2916665"
width="5.2916665"
id="rect339"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="249.37505"
x="79.375"
height="5.2916665"
width="5.2916665"
id="rect339-9"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="259.95837"
x="79.375"
height="5.2916665"
width="5.2916665"
id="rect339-3"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="217.62505"
x="37.041668"
height="5.2916665"
width="5.2916665"
id="rect339-1"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="249.37503"
x="-8.8817842e-016"
height="5.2916665"
width="5.2916665"
id="rect339-4"
style="opacity:0.98000004;fill:#8a7256;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="270.54172"
x="47.625"
height="5.2916665"
width="5.2916665"
id="rect681"
style="opacity:0.98000004;fill:#846d53;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="259.95837"
x="5.2916665"
height="5.2916665"
width="5.2916665"
id="rect683"
style="opacity:0.98000004;fill:#a38766;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="222.9167"
x="52.916664"
height="5.2916665"
width="5.2916665"
id="rect685"
style="opacity:0.98000004;fill:#a38766;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="217.62503"
x="5.2916665"
height="5.2916665"
width="5.2916665"
id="rect689"
style="opacity:0.98000004;fill:#a38766;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="222.9167"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect691"
style="opacity:0.98000004;fill:#a38766;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="265.25003"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect693"
style="opacity:0.98000004;fill:#a38766;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="265.25003"
x="5.2916665"
height="5.2916665"
width="5.2916665"
id="rect695"
style="opacity:0.98000004;fill:#a38766;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
y="265.25003"
x="15.875"
height="5.2916665"
width="5.2916665"
id="rect697"
style="opacity:0.98000004;fill:#997e60;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<image
y="212.71135"
x="-115.8497"
id="image707"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gYJDBYkPynFtwAAAYdJREFUKM+FktFKlHEQxX/f14dY SHoh7aqgvUAi9Cg+QdQDBL1N9Aw+THdCa1vuUppEpi60M+dMF//Fq7C5GAbmnDnMnOmmx1sARdjp SjtUaadKrpTTTleoskgxAAd7O6kKO+1Qo1U2mivklFUOcTa77KHC/nQ+bwqT82+pe7QnX+dpyzU5 v0w5xdCGnV7dnF7dAMD0empYCgNw+eU7sDTPbJkh5LSB/SccPR/1Hy74V7x/SbhC9E3hV/BwZJGq NH1bdyE+Xj9EWJq0c6Xg+v0/has/pCtMH7ZUrv8Qho6UZXrLaS+9arw76t6+6O5xbw66V3vdagdX mCFcYQOHmwCLO5S83u+USCxuSXG80Q1dhZsPqlQttBq5uEWioZWkUFK1upLM0Pxf6zmZczK/GD0F WOtXl7mvgbTTzWn7cIPd0Xban2c/x+Ot9nwpn83udsbrKU9ny3zcfChS3htvpx2unfFmyu2XwrU7 WpdLrvHoUdphhhCT2Y80EiFk0oTIIoREmmy5qOIvirycu2t8lJoAAAAASUVORK5CYII= "
style="filter:url(#filter973);image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="84.666664"
width="84.666664" />
<rect
style="opacity:0.98000004;fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect753"
width="5.2916665"
height="5.2916665"
x="10.583333"
y="228.20837" />
<rect
style="opacity:0.98000004;fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect755"
width="5.2916665"
height="5.2916665"
x="15.875"
y="228.20837" />
<rect
style="opacity:0.98000004;fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect757"
width="5.2916665"
height="5.2916665"
x="21.166666"
y="228.20837" />
<rect
style="opacity:0.98000004;fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect759"
width="5.2916665"
height="5.2916665"
x="26.458332"
y="228.20837" />
<rect
style="opacity:0.98000004;fill:#4a4a4a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect761"
width="5.2916665"
height="5.2916665"
x="31.75"
y="228.20837" />
<rect
style="opacity:0.98000004;fill:#4a4a4a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect763"
width="5.2916665"
height="5.2916665"
x="37.041668"
y="228.20837" />
<rect
y="228.20836"
x="42.333332"
height="5.2916665"
width="5.2916665"
id="rect765"
style="opacity:0.98000004;fill:#474747;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="228.20836"
x="47.624996"
height="5.2916665"
width="5.2916665"
id="rect767"
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="228.20836"
x="58.208328"
height="5.2916665"
width="5.2916665"
id="rect769"
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="228.20836"
x="68.791664"
height="5.2916665"
width="5.2916665"
id="rect771"
style="opacity:0.98000004;fill:#444444;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect773"
width="5.2916665"
height="5.2916665"
x="63.5"
y="228.20836" />
<rect
y="228.20836"
x="52.916668"
height="5.2916665"
width="5.2916665"
id="rect775"
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="233.50003"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect777"
style="opacity:0.98000004;fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="233.50003"
x="15.875"
height="5.2916665"
width="5.2916665"
id="rect779"
style="opacity:0.98000004;fill:#5a5a5a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="233.50003"
x="21.166666"
height="5.2916665"
width="5.2916665"
id="rect781"
style="opacity:0.98000004;fill:#7c7c7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect783"
width="5.2916665"
height="5.2916665"
x="10.583333"
y="238.7917" />
<rect
style="opacity:0.98000004;fill:#5a5a5a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect785"
width="5.2916665"
height="5.2916665"
x="15.875"
y="238.7917" />
<rect
style="opacity:0.98000004;fill:#7c7c7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect787"
width="5.2916665"
height="5.2916665"
x="21.166666"
y="238.7917" />
<rect
y="244.08336"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect789"
style="opacity:0.98000004;fill:#424242;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="244.08336"
x="15.875"
height="5.2916665"
width="5.2916665"
id="rect791"
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="244.08336"
x="21.166666"
height="5.2916665"
width="5.2916665"
id="rect793"
style="opacity:0.98000004;fill:#7c7c7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect795"
width="5.2916665"
height="5.2916665"
x="10.583333"
y="249.37503" />
<rect
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect797"
width="5.2916665"
height="5.2916665"
x="15.875"
y="249.37503" />
<rect
style="opacity:0.98000004;fill:#7c7c7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect799"
width="5.2916665"
height="5.2916665"
x="21.166666"
y="249.37503" />
<rect
y="254.6667"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect801"
style="opacity:0.98000004;fill:#3b3b3b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="254.6667"
x="15.875"
height="5.2916665"
width="5.2916665"
id="rect803"
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="254.6667"
x="21.166666"
height="5.2916665"
width="5.2916665"
id="rect805"
style="opacity:0.98000004;fill:#7c7c7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#383838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect807"
width="5.2916665"
height="5.2916665"
x="10.583333"
y="259.95837" />
<rect
style="opacity:0.98000004;fill:#464646;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect809"
width="5.2916665"
height="5.2916665"
x="15.875"
y="259.95837" />
<rect
style="opacity:0.98000004;fill:#7c7c7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect811"
width="5.2916665"
height="5.2916665"
x="21.166666"
y="259.95837" />
<rect
y="265.25006"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect813"
style="opacity:0.98000004;fill:#383838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="265.25006"
x="15.875"
height="5.2916665"
width="5.2916665"
id="rect815"
style="opacity:0.98000004;fill:#5a5a5a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="265.25006"
x="21.166666"
height="5.2916665"
width="5.2916665"
id="rect817"
style="opacity:0.98000004;fill:#7c7c7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#343434;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect819"
width="5.2916665"
height="5.2916665"
x="10.583333"
y="270.54172" />
<rect
style="opacity:0.98000004;fill:#5a5a5a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect821"
width="5.2916665"
height="5.2916665"
x="15.875"
y="270.54172" />
<rect
style="opacity:0.98000004;fill:#7c7c7c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect823"
width="5.2916665"
height="5.2916665"
x="21.166666"
y="270.54172" />
<rect
y="275.83337"
x="10.583333"
height="5.2916665"
width="5.2916665"
id="rect825"
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="275.83337"
x="15.875"
height="5.2916665"
width="5.2916665"
id="rect827"
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
y="275.83337"
x="21.166666"
height="5.2916665"
width="5.2916665"
id="rect829"
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#2f2f2f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect839"
width="5.2916665"
height="5.2916665"
x="26.458334"
y="265.25006" />
<rect
y="270.54172"
x="26.458334"
height="5.2916665"
width="5.2916665"
id="rect841"
style="opacity:0.98000004;fill:#282828;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#343434;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect843"
width="5.2916665"
height="5.2916665"
x="26.458334"
y="275.83337" />
<rect
y="265.25006"
x="31.75"
height="5.2916665"
width="5.2916665"
id="rect845"
style="opacity:0.98000004;fill:#2d2d2d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#262626;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect847"
width="5.2916665"
height="5.2916665"
x="31.75"
y="270.54172" />
<rect
y="275.83337"
x="31.75"
height="5.2916665"
width="5.2916665"
id="rect849"
style="opacity:0.98000004;fill:#343434;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#2b2b2b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect851"
width="5.2916665"
height="5.2916665"
x="37.041664"
y="265.25006" />
<rect
y="270.54172"
x="37.041664"
height="5.2916665"
width="5.2916665"
id="rect853"
style="opacity:0.98000004;fill:#242424;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect855"
width="5.2916665"
height="5.2916665"
x="37.041664"
y="275.83337" />
<rect
y="265.25006"
x="42.333332"
height="5.2916665"
width="5.2916665"
id="rect857"
style="opacity:0.98000004;fill:#292929;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#222222;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect859"
width="5.2916665"
height="5.2916665"
x="42.333332"
y="270.54172" />
<rect
y="275.83337"
x="42.333332"
height="5.2916665"
width="5.2916665"
id="rect861"
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#272727;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect863"
width="5.2916665"
height="5.2916665"
x="47.625"
y="265.25006" />
<rect
y="270.54172"
x="47.625"
height="5.2916665"
width="5.2916665"
id="rect865"
style="opacity:0.98000004;fill:#1f1f1f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#343434;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect867"
width="5.2916665"
height="5.2916665"
x="47.625"
y="275.83337" />
<rect
y="265.25006"
x="52.916664"
height="5.2916665"
width="5.2916665"
id="rect869"
style="opacity:0.98000004;fill:#242424;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#1d1d1d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect871"
width="5.2916665"
height="5.2916665"
x="52.916664"
y="270.54172" />
<rect
y="275.83337"
x="52.916664"
height="5.2916665"
width="5.2916665"
id="rect873"
style="opacity:0.98000004;fill:#343434;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#222222;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect887"
width="5.2916665"
height="5.2916665"
x="58.208332"
y="265.25006" />
<rect
y="270.54172"
x="58.208332"
height="5.2916665"
width="5.2916665"
id="rect889"
style="opacity:0.98000004;fill:#1b1b1b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect891"
width="5.2916665"
height="5.2916665"
x="58.208332"
y="275.83337" />
<rect
y="265.25006"
x="63.5"
height="5.2916665"
width="5.2916665"
id="rect893"
style="opacity:0.98000004;fill:#202020;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#1a1a1a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect895"
width="5.2916665"
height="5.2916665"
x="63.5"
y="270.54172" />
<rect
y="275.83337"
x="63.5"
height="5.2916665"
width="5.2916665"
id="rect897"
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#383838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect899"
width="5.2916665"
height="5.2916665"
x="68.791672"
y="265.25006" />
<rect
y="270.54172"
x="68.791672"
height="5.2916665"
width="5.2916665"
id="rect901"
style="opacity:0.98000004;fill:#383838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect903"
width="5.2916665"
height="5.2916665"
x="68.791672"
y="275.83337" />
<rect
y="249.37506"
x="68.791672"
height="5.2916665"
width="5.2916665"
id="rect905"
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#383838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect907"
width="5.2916665"
height="5.2916665"
x="68.791672"
y="254.66672" />
<rect
y="259.95837"
x="68.791672"
height="5.2916665"
width="5.2916665"
id="rect909"
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#444444;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect911"
width="5.2916665"
height="5.2916665"
x="68.791672"
y="233.50003" />
<rect
y="238.79169"
x="68.791672"
height="5.2916665"
width="5.2916665"
id="rect913"
style="opacity:0.98000004;fill:#424242;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#3f3f3f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect915"
width="5.2916665"
height="5.2916665"
x="68.791672"
y="244.08334" />
<rect
style="opacity:0.98000004;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect917"
width="42.333332"
height="31.75"
x="26.458332"
y="233.50003" />
<rect
y="259.95837"
x="58.208332"
height="5.2916665"
width="5.2916665"
id="rect919"
style="opacity:0.98000004;fill:#292929;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#2b2b2b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect921"
width="5.2916665"
height="5.2916665"
x="52.916668"
y="259.95837" />
<rect
y="259.95837"
x="26.458334"
height="5.2916665"
width="5.2916665"
id="rect923"
style="opacity:0.98000004;fill:#363636;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)" />
<rect
style="opacity:0.98000004;fill:#343434;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.13229166;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter1066)"
id="rect925"
width="5.2916665"
height="5.2916665"
x="31.75"
y="259.95837" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 51 KiB

1001
misc/vector/dense_bricks.svg Normal file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 51 KiB

View file

@ -520,6 +520,7 @@ public enum ItemList implements IItemContainer {
Machine_Bronze_Compressor,
Machine_Bronze_AlloySmelter,
Machine_Bronze_BlastFurnace,
Machine_Bricked_BlastFurnace,
Machine_Steel_Boiler_Lava,
Machine_Steel_Boiler,
Machine_Steel_Furnace,
@ -538,7 +539,8 @@ public enum ItemList implements IItemContainer {
Casing_Stripes_A, Casing_Stripes_B, Casing_RadioactiveHazard, Casing_BioHazard, Casing_ExplosionHazard, Casing_FireHazard, Casing_AcidHazard, Casing_MagicHazard, Casing_FrostHazard, Casing_NoiseHazard, Casing_Grate, Casing_Vent, Casing_RadiationProof, Casing_Firebox_Bronze, Casing_Firebox_Steel, Casing_Firebox_TungstenSteel,
Casing_RobustTungstenSteel, Casing_CleanStainlessSteel, Casing_StableTitanium, Casing_Firebox_Titanium,
Hull_ULV, Hull_LV, Hull_MV, Hull_HV, Hull_EV, Hull_IV, Hull_LuV, Hull_ZPM, Hull_UV, Hull_MAX,
Casing_DenseBricks, /*DenseBrick, UnfiredDenseBrick,*/
Automation_Filter_ULV, Automation_Filter_LV, Automation_Filter_MV, Automation_Filter_HV, Automation_Filter_EV, Automation_Filter_IV, Automation_Filter_LuV, Automation_Filter_ZPM, Automation_Filter_UV, Automation_Filter_MAX,
Automation_TypeFilter_ULV, Automation_TypeFilter_LV, Automation_TypeFilter_MV, Automation_TypeFilter_HV, Automation_TypeFilter_EV, Automation_TypeFilter_IV, Automation_TypeFilter_LuV, Automation_TypeFilter_ZPM, Automation_TypeFilter_UV, Automation_TypeFilter_MAX,
Automation_ChestBuffer_ULV, Automation_ChestBuffer_LV, Automation_ChestBuffer_MV, Automation_ChestBuffer_HV, Automation_ChestBuffer_EV, Automation_ChestBuffer_IV, Automation_ChestBuffer_LuV, Automation_ChestBuffer_ZPM, Automation_ChestBuffer_UV, Automation_ChestBuffer_MAX,

View file

@ -36,8 +36,9 @@ public class Textures {
MACHINE_CASING_GEARBOX_BRONZE, MACHINE_CASING_GEARBOX_STEEL, MACHINE_CASING_GEARBOX_TITANIUM, MACHINE_CASING_GEARBOX_TUNGSTENSTEEL, MACHINE_CASING_DATA_DRIVE, MACHINE_CASING_CONTAINMENT_FIELD,
MACHINE_CASING_ASSEMBLER, MACHINE_CASING_PROCESSOR, MACHINE_CASING_STRIPES_A, MACHINE_CASING_STRIPES_B, MACHINE_CASING_RADIOACTIVEHAZARD, MACHINE_CASING_BIOHAZARD, MACHINE_CASING_EXPLOSIONHAZARD,
MACHINE_CASING_FIREHAZARD, MACHINE_CASING_ACIDHAZARD, MACHINE_CASING_MAGICHAZARD, MACHINE_CASING_FROSTHAZARD, MACHINE_CASING_NOISEHAZARD, MACHINE_CASING_GRATE, MACHINE_CASING_VENT,
MACHINE_CASING_RADIATIONPROOF, MACHINE_CASING_FIREBOX_BRONZE, MACHINE_CASING_FIREBOX_STEEL, MACHINE_CASING_FIREBOX_TUNGSTENSTEEL, MACHINE_CASING_ENGINE_INTAKE, MACHINE_COIL_CUPRONICKEL,
MACHINE_COIL_KANTHAL, MACHINE_COIL_NICHROME, MACHINE_COIL_TUNGSTENSTEEL, MACHINE_COIL_HSSG, MACHINE_COIL_NAQUADAH, MACHINE_COIL_NAQUADAHALLOY, BOILER_SOLAR, BOILER_FRONT,
MACHINE_CASING_RADIATIONPROOF, MACHINE_CASING_FIREBOX_BRONZE, MACHINE_CASING_FIREBOX_STEEL, MACHINE_CASING_FIREBOX_TUNGSTENSTEEL, MACHINE_CASING_ENGINE_INTAKE,
MACHINE_CASING_DENSEBRICKS, MACHINE_CASING_BRICKEDBLASTFURNACE_ACTIVE, MACHINE_CASING_BRICKEDBLASTFURNACE_INACTIVE,
MACHINE_COIL_CUPRONICKEL, MACHINE_COIL_KANTHAL, MACHINE_COIL_NICHROME, MACHINE_COIL_TUNGSTENSTEEL, MACHINE_COIL_HSSG, MACHINE_COIL_NAQUADAH, MACHINE_COIL_NAQUADAHALLOY, BOILER_SOLAR, BOILER_FRONT,
BOILER_FRONT_ACTIVE, BOILER_LAVA_FRONT, BOILER_LAVA_FRONT_ACTIVE, NAQUADAH_REACTOR_SOLID_BACK, NAQUADAH_REACTOR_SOLID_FRONT, NAQUADAH_REACTOR_SOLID_SIDE, NAQUADAH_REACTOR_SOLID_BOTTOM,
NAQUADAH_REACTOR_SOLID_TOP, NAQUADAH_REACTOR_SOLID_BACK_ACTIVE, NAQUADAH_REACTOR_SOLID_FRONT_ACTIVE, NAQUADAH_REACTOR_SOLID_SIDE_ACTIVE, NAQUADAH_REACTOR_SOLID_BOTTOM_ACTIVE,
NAQUADAH_REACTOR_SOLID_TOP_ACTIVE, NAQUADAH_REACTOR_FLUID_BACK, NAQUADAH_REACTOR_FLUID_FRONT, NAQUADAH_REACTOR_FLUID_SIDE, NAQUADAH_REACTOR_FLUID_BOTTOM, NAQUADAH_REACTOR_FLUID_TOP,

View file

@ -37,7 +37,8 @@ public class GT_Block_Casings4
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Titanium Turbine Casing");
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Tungstensteel Turbine Casing");
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Engine Intake Casing");
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Dense Bricks");
ItemList.Casing_RobustTungstenSteel.set(new ItemStack(this, 1, 0));
ItemList.Casing_CleanStainlessSteel.set(new ItemStack(this, 1, 1));
ItemList.Casing_StableTitanium.set(new ItemStack(this, 1, 2));
@ -50,6 +51,7 @@ public class GT_Block_Casings4
ItemList.Casing_Turbine2.set(new ItemStack(this, 1, 11));
ItemList.Casing_Turbine3.set(new ItemStack(this, 1, 12));
ItemList.Casing_EngineIntake.set(new ItemStack(this, 1, 13));
ItemList.Casing_DenseBricks.set(new ItemStack(this, 1, 15));
}
public IIcon getIcon(int aSide, int aMeta) {
@ -85,7 +87,7 @@ public class GT_Block_Casings4
case 14:
return Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon();
case 15:
return Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon();
return Textures.BlockIcons.MACHINE_CASING_DENSEBRICKS.getIcon();
}
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
}

View file

@ -0,0 +1,52 @@
package gregtech.common.tileentities.machines.multi;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import net.minecraft.block.Block;
public class GT_MetaTileEntity_BrickedBlastFurnace extends GT_MetaTileEntity_PrimitiveBlastFurnace{
private static final ITexture[] FACING_SIDE = {new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_DENSEBRICKS)};
private static final ITexture[] FACING_FRONT = {new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_BRICKEDBLASTFURNACE_INACTIVE)};
private static final ITexture[] FACING_ACTIVE = {new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_BRICKEDBLASTFURNACE_ACTIVE)};
public GT_MetaTileEntity_BrickedBlastFurnace(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
}
public GT_MetaTileEntity_BrickedBlastFurnace(String aName) {
super(aName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BrickedBlastFurnace(this.mName);
}
public String[] getDescription() {
return new String[]{
"Controller Block for the Bricked Blast Furnace",
"Useable for Steel and general Pyrometallurgy",
"Size(WxHxD): 3x4x3 (Hollow, with opening on top)",
"Built from 32 Bricks",
"Causes 50 Pollution per second"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
if (aSide == aFacing) {
return aActive ? FACING_ACTIVE : FACING_FRONT;
}
return FACING_SIDE;
}
@Override
protected boolean isCorrectCasingBlock(Block block) {
return true;
}
@Override
protected boolean isCorrectCasingMetaID(int metaID) {
return true;
}
}

View file

@ -1,48 +1,24 @@
package gregtech.common.tileentities.machines.multi;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.objects.XSTR;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Pollution;
import gregtech.common.gui.GT_Container_BronzeBlastFurnace;
import gregtech.common.gui.GT_GUIContainer_BronzeBlastFurnace;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.ChunkPosition;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraft.block.Block;
public class GT_MetaTileEntity_BronzeBlastFurnace
extends MetaTileEntity {
extends GT_MetaTileEntity_PrimitiveBlastFurnace {
private static final ITexture[] FACING_SIDE = {new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEPLATEDBRICKS)};
private static final ITexture[] FACING_FRONT = {new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBLASTFURNACE)};
private static final ITexture[] FACING_ACTIVE = {new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBLASTFURNACE_ACTIVE)};
public int mMaxProgresstime = 0;
public int mUpdate = 5;
public int mProgresstime = 0;
public boolean mMachine = false;
public ItemStack mOutputItem1;
public ItemStack mOutputItem2;
public GT_MetaTileEntity_BronzeBlastFurnace(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, 4);
super(aID, aName, aNameRegional);
}
public GT_MetaTileEntity_BronzeBlastFurnace(String aName) {
super(aName, 4);
super(aName);
}
public String[] getDescription() {
@ -61,288 +37,15 @@ public class GT_MetaTileEntity_BronzeBlastFurnace
return FACING_SIDE;
}
public boolean isSteampowered() {
return false;
}
@Override
protected boolean isCorrectCasingBlock(Block block) {
return block == GregTech_API.sBlockCasings1;
}
public boolean isElectric() {
return false;
}
@Override
protected boolean isCorrectCasingMetaID(int metaID) {
return metaID == 10;
}
public boolean isPneumatic() {
return false;
}
public boolean isEnetInput() {
return false;
}
public boolean isEnetOutput() {
return false;
}
public boolean isInputFacing(byte aSide) {
return false;
}
public boolean isOutputFacing(byte aSide) {
return false;
}
public boolean isTeleporterCompatible() {
return false;
}
public boolean isFacingValid(byte aFacing) {
return aFacing > 1;
}
public boolean isAccessAllowed(EntityPlayer aPlayer) {
return true;
}
public int getProgresstime() {
return this.mProgresstime;
}
public int maxProgresstime() {
return this.mMaxProgresstime;
}
public int increaseProgress(int aProgress) {
this.mProgresstime += aProgress;
return this.mMaxProgresstime - this.mProgresstime;
}
public boolean allowCoverOnSide(byte aSide, GT_ItemStack aCoverID) {
return (GregTech_API.getCoverBehavior(aCoverID.toStack()).isSimpleCover()) && (super.allowCoverOnSide(aSide, aCoverID));
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BronzeBlastFurnace(this.mName);
}
public void saveNBTData(NBTTagCompound aNBT) {
aNBT.setInteger("mProgresstime", this.mProgresstime);
aNBT.setInteger("mMaxProgresstime", this.mMaxProgresstime);
if (this.mOutputItem1 != null) {
NBTTagCompound tNBT = new NBTTagCompound();
this.mOutputItem1.writeToNBT(tNBT);
aNBT.setTag("mOutputItem1", tNBT);
}
if (this.mOutputItem2 != null) {
NBTTagCompound tNBT = new NBTTagCompound();
this.mOutputItem2.writeToNBT(tNBT);
aNBT.setTag("mOutputItem2", tNBT);
}
}
public void loadNBTData(NBTTagCompound aNBT) {
this.mUpdate = 5;
this.mProgresstime = aNBT.getInteger("mProgresstime");
this.mMaxProgresstime = aNBT.getInteger("mMaxProgresstime");
this.mOutputItem1 = GT_Utility.loadItem(aNBT, "mOutputItem1");
this.mOutputItem2 = GT_Utility.loadItem(aNBT, "mOutputItem2");
}
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) {
return true;
}
aBaseMetaTileEntity.openGUI(aPlayer);
return true;
}
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_Container_BronzeBlastFurnace(aPlayerInventory, aBaseMetaTileEntity);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BronzeBlastFurnace(aPlayerInventory, aBaseMetaTileEntity);
}
private boolean checkMachine() {
int xDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetX;
int zDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetZ;
for (int i = -1; i < 2; i++) {
for (int j = -1; j < 3; j++) {
for (int k = -1; k < 2; k++) {
if ((xDir + i != 0) || (j != 0) || (zDir + k != 0)) {
if ((i != 0) || (j == -1) || (k != 0)) {
if ((getBaseMetaTileEntity().getBlockOffset(xDir + i, j, zDir + k) != GregTech_API.sBlockCasings1) || (getBaseMetaTileEntity().getMetaIDOffset(xDir + i, j, zDir + k) != 10)) {
return false;
}
} else if ((!GT_Utility.arrayContains(getBaseMetaTileEntity().getBlockOffset(xDir + i, j, zDir + k), new Object[]{Blocks.lava, Blocks.flowing_lava, null})) && (!getBaseMetaTileEntity().getAirOffset(xDir + i, j, zDir + k))) {
return false;
}
}
}
}
}
return true;
}
public void onMachineBlockUpdate() {
this.mUpdate = 5;
}
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) {
if ((aBaseMetaTileEntity.isClientSide()) &&
(aBaseMetaTileEntity.isActive())) {
aBaseMetaTileEntity.getWorld().spawnParticle("largesmoke", aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1) + (new XSTR()).nextFloat(), aBaseMetaTileEntity.getOffsetY(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1) + (new XSTR()).nextFloat(), 0.0D, 0.3D, 0.0D);
}
if (aBaseMetaTileEntity.isServerSide()) {
if (this.mUpdate-- == 0) {
this.mMachine = checkMachine();
}
if (this.mMachine) {
if (this.mMaxProgresstime > 0) {
if (++this.mProgresstime >= this.mMaxProgresstime) {
addOutputProducts();
this.mOutputItem1 = null;
this.mOutputItem2 = null;
this.mProgresstime = 0;
this.mMaxProgresstime = 0;
GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "steel");
}
} else if (aBaseMetaTileEntity.isAllowedToWork()) {
checkRecipe();
}
}
if(this.mMaxProgresstime>0 && (aTimer % 20L == 0L)){
GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 50);
}
aBaseMetaTileEntity.setActive((this.mMaxProgresstime > 0) && (this.mMachine));
if (aBaseMetaTileEntity.isActive()) {
if (aBaseMetaTileEntity.getAir(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1))) {
aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1), Blocks.lava, 1, 2);
this.mUpdate = 1;
}
if (aBaseMetaTileEntity.getAir(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord() + 1, aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1))) {
aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord() + 1, aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1), Blocks.lava, 1, 2);
this.mUpdate = 1;
}
} else {
if (aBaseMetaTileEntity.getBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1)) == Blocks.lava) {
aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1), Blocks.air, 0, 2);
this.mUpdate = 1;
}
if (aBaseMetaTileEntity.getBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord() + 1, aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1)) == Blocks.lava) {
aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord() + 1, aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1), Blocks.air, 0, 2);
this.mUpdate = 1;
}
}
}
}
private void addOutputProducts() {
if (this.mOutputItem1 != null) {
if (this.mInventory[2] == null) {
this.mInventory[2] = GT_Utility.copy(new Object[]{this.mOutputItem1});
} else if (GT_Utility.areStacksEqual(this.mInventory[2], this.mOutputItem1)) {
this.mInventory[2].stackSize = Math.min(this.mOutputItem1.getMaxStackSize(), this.mOutputItem1.stackSize + this.mInventory[2].stackSize);
}
}
if (this.mOutputItem2 != null) {
if (this.mInventory[3] == null) {
this.mInventory[3] = GT_Utility.copy(new Object[]{this.mOutputItem2});
} else if (GT_Utility.areStacksEqual(this.mInventory[3], this.mOutputItem2)) {
this.mInventory[3].stackSize = Math.min(this.mOutputItem2.getMaxStackSize(), this.mOutputItem2.stackSize + this.mInventory[3].stackSize);
}
}
}
private boolean spaceForOutput(ItemStack aStack1, ItemStack aStack2) {
if (((this.mInventory[2] == null) || (aStack1 == null) || ((this.mInventory[2].stackSize + aStack1.stackSize <= this.mInventory[2].getMaxStackSize()) && (GT_Utility.areStacksEqual(this.mInventory[2], aStack1)))) && (
(this.mInventory[3] == null) || (aStack2 == null) || ((this.mInventory[3].stackSize + aStack2.stackSize <= this.mInventory[3].getMaxStackSize()) && (GT_Utility.areStacksEqual(this.mInventory[3], aStack2))))) {
return true;
}
return false;
}
private boolean checkRecipe() {
if (!this.mMachine) {
return false;
}
if ((this.mInventory[0] != null) && (this.mInventory[1] != null) && (this.mInventory[0].stackSize >= 1)) {
if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[0], "dustIron")) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[0], "ingotIron"))) {
if ((this.mInventory[1].getItem() == Items.coal) && (this.mInventory[1].stackSize >= 4) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 4);
this.mMaxProgresstime = 7200;
return true;
}
if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "fuelCoke")) && (this.mInventory[1].stackSize >= 2) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 2);
this.mMaxProgresstime = 4800;
return true;
}
if ((this.mInventory[0].stackSize >= 9) && ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCoal")) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCharcoal"))) && (this.mInventory[1].stackSize >= 4) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 9);
getBaseMetaTileEntity().decrStackSize(1, 4);
this.mMaxProgresstime = 64800;
return true;
}
} else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[0], "dustSteel")) {
if ((this.mInventory[1].getItem() == Items.coal) && (this.mInventory[1].stackSize >= 2) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 2);
this.mMaxProgresstime = 3600;
return true;
}
if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "fuelCoke")) && (this.mInventory[1].stackSize >= 1) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 2L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 1);
this.mMaxProgresstime = 2400;
return true;
}
if ((this.mInventory[0].stackSize >= 9) && ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCoal")) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCharcoal"))) && (this.mInventory[1].stackSize >= 2) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L)))) {
getBaseMetaTileEntity().decrStackSize(0, 9);
getBaseMetaTileEntity().decrStackSize(1, 2);
this.mMaxProgresstime = 32400;
return true;
}
} else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[0], "blockIron")) {
if ((this.mInventory[1].getItem() == Items.coal) && (this.mInventory[1].stackSize >= 36) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 36);
this.mMaxProgresstime = 64800;
return true;
}
if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "fuelCoke")) && (this.mInventory[1].stackSize >= 18) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 18);
this.mMaxProgresstime = 43200;
return true;
}
if (((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCoal")) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCharcoal"))) && (this.mInventory[1].stackSize >= 4) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 4);
this.mMaxProgresstime = 64800;
return true;
}
}
}
this.mOutputItem1 = null;
this.mOutputItem2 = null;
return false;
}
public boolean isGivingInformation() {
return false;
}
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return aIndex > 1;
}
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return !GT_Utility.areStacksEqual(aStack, this.mInventory[0]);
}
public byte getTileEntityBaseType() {
return 0;
}
}

View file

@ -0,0 +1,331 @@
package gregtech.common.tileentities.machines.multi;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.XSTR;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Pollution;
import gregtech.common.gui.GT_Container_BronzeBlastFurnace;
import gregtech.common.gui.GT_GUIContainer_BronzeBlastFurnace;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.ChunkPosition;
import net.minecraftforge.common.util.ForgeDirection;
public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace
extends MetaTileEntity {
public int mMaxProgresstime = 0;
public int mUpdate = 5;
public int mProgresstime = 0;
public boolean mMachine = false;
public ItemStack mOutputItem1;
public ItemStack mOutputItem2;
public GT_MetaTileEntity_PrimitiveBlastFurnace(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, 4);
}
public GT_MetaTileEntity_PrimitiveBlastFurnace(String aName) {
super(aName, 4);
}
public boolean isSteampowered() {
return false;
}
public boolean isElectric() {
return false;
}
public boolean isPneumatic() {
return false;
}
public boolean isEnetInput() {
return false;
}
public boolean isEnetOutput() {
return false;
}
public boolean isInputFacing(byte aSide) {
return false;
}
public boolean isOutputFacing(byte aSide) {
return false;
}
public boolean isTeleporterCompatible() {
return false;
}
public boolean isFacingValid(byte aFacing) {
return aFacing > 1;
}
public boolean isAccessAllowed(EntityPlayer aPlayer) {
return true;
}
public int getProgresstime() {
return this.mProgresstime;
}
public int maxProgresstime() {
return this.mMaxProgresstime;
}
public int increaseProgress(int aProgress) {
this.mProgresstime += aProgress;
return this.mMaxProgresstime - this.mProgresstime;
}
public boolean allowCoverOnSide(byte aSide, GT_ItemStack aCoverID) {
return (GregTech_API.getCoverBehavior(aCoverID.toStack()).isSimpleCover()) && (super.allowCoverOnSide(aSide, aCoverID));
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BronzeBlastFurnace(this.mName);
}
public void saveNBTData(NBTTagCompound aNBT) {
aNBT.setInteger("mProgresstime", this.mProgresstime);
aNBT.setInteger("mMaxProgresstime", this.mMaxProgresstime);
if (this.mOutputItem1 != null) {
NBTTagCompound tNBT = new NBTTagCompound();
this.mOutputItem1.writeToNBT(tNBT);
aNBT.setTag("mOutputItem1", tNBT);
}
if (this.mOutputItem2 != null) {
NBTTagCompound tNBT = new NBTTagCompound();
this.mOutputItem2.writeToNBT(tNBT);
aNBT.setTag("mOutputItem2", tNBT);
}
}
public void loadNBTData(NBTTagCompound aNBT) {
this.mUpdate = 5;
this.mProgresstime = aNBT.getInteger("mProgresstime");
this.mMaxProgresstime = aNBT.getInteger("mMaxProgresstime");
this.mOutputItem1 = GT_Utility.loadItem(aNBT, "mOutputItem1");
this.mOutputItem2 = GT_Utility.loadItem(aNBT, "mOutputItem2");
}
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) {
return true;
}
aBaseMetaTileEntity.openGUI(aPlayer);
return true;
}
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_Container_BronzeBlastFurnace(aPlayerInventory, aBaseMetaTileEntity);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BronzeBlastFurnace(aPlayerInventory, aBaseMetaTileEntity);
}
private boolean checkMachine() {
int xDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetX;
int zDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetZ;
for (int i = -1; i < 2; i++) {
for (int j = -1; j < 3; j++) {
for (int k = -1; k < 2; k++) {
if ((xDir + i != 0) || (j != 0) || (zDir + k != 0)) {
if ((i != 0) || (j == -1) || (k != 0)) {
if (!isCorrectCasingBlock(getBaseMetaTileEntity().getBlockOffset(xDir + i, j, zDir + k)) || !isCorrectCasingMetaID(getBaseMetaTileEntity().getMetaIDOffset(xDir + i, j, zDir + k))) {
return false;
}
} else if ((!GT_Utility.arrayContains(getBaseMetaTileEntity().getBlockOffset(xDir + i, j, zDir + k), new Object[]{Blocks.lava, Blocks.flowing_lava, null})) && (!getBaseMetaTileEntity().getAirOffset(xDir + i, j, zDir + k))) {
return false;
}
}
}
}
}
return true;
}
protected abstract boolean isCorrectCasingBlock(Block block);
protected abstract boolean isCorrectCasingMetaID(int metaID);
public void onMachineBlockUpdate() {
this.mUpdate = 5;
}
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) {
if ((aBaseMetaTileEntity.isClientSide()) &&
(aBaseMetaTileEntity.isActive())) {
aBaseMetaTileEntity.getWorld().spawnParticle("largesmoke", aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1) + (new XSTR()).nextFloat(), aBaseMetaTileEntity.getOffsetY(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1) + (new XSTR()).nextFloat(), 0.0D, 0.3D, 0.0D);
}
if (aBaseMetaTileEntity.isServerSide()) {
if (this.mUpdate-- == 0) {
this.mMachine = checkMachine();
}
if (this.mMachine) {
if (this.mMaxProgresstime > 0) {
if (++this.mProgresstime >= this.mMaxProgresstime) {
addOutputProducts();
this.mOutputItem1 = null;
this.mOutputItem2 = null;
this.mProgresstime = 0;
this.mMaxProgresstime = 0;
GT_Mod.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "steel");
}
} else if (aBaseMetaTileEntity.isAllowedToWork()) {
checkRecipe();
}
}
if(this.mMaxProgresstime>0 && (aTimer % 20L == 0L)){
GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 50);
}
aBaseMetaTileEntity.setActive((this.mMaxProgresstime > 0) && (this.mMachine));
if (aBaseMetaTileEntity.isActive()) {
if (aBaseMetaTileEntity.getAir(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1))) {
aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1), Blocks.lava, 1, 2);
this.mUpdate = 1;
}
if (aBaseMetaTileEntity.getAir(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord() + 1, aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1))) {
aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord() + 1, aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1), Blocks.lava, 1, 2);
this.mUpdate = 1;
}
} else {
if (aBaseMetaTileEntity.getBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1)) == Blocks.lava) {
aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord(), aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1), Blocks.air, 0, 2);
this.mUpdate = 1;
}
if (aBaseMetaTileEntity.getBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord() + 1, aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1)) == Blocks.lava) {
aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getOffsetX(aBaseMetaTileEntity.getBackFacing(), 1), aBaseMetaTileEntity.getYCoord() + 1, aBaseMetaTileEntity.getOffsetZ(aBaseMetaTileEntity.getBackFacing(), 1), Blocks.air, 0, 2);
this.mUpdate = 1;
}
}
}
}
private void addOutputProducts() {
if (this.mOutputItem1 != null) {
if (this.mInventory[2] == null) {
this.mInventory[2] = GT_Utility.copy(new Object[]{this.mOutputItem1});
} else if (GT_Utility.areStacksEqual(this.mInventory[2], this.mOutputItem1)) {
this.mInventory[2].stackSize = Math.min(this.mOutputItem1.getMaxStackSize(), this.mOutputItem1.stackSize + this.mInventory[2].stackSize);
}
}
if (this.mOutputItem2 != null) {
if (this.mInventory[3] == null) {
this.mInventory[3] = GT_Utility.copy(new Object[]{this.mOutputItem2});
} else if (GT_Utility.areStacksEqual(this.mInventory[3], this.mOutputItem2)) {
this.mInventory[3].stackSize = Math.min(this.mOutputItem2.getMaxStackSize(), this.mOutputItem2.stackSize + this.mInventory[3].stackSize);
}
}
}
private boolean spaceForOutput(ItemStack aStack1, ItemStack aStack2) {
if (((this.mInventory[2] == null) || (aStack1 == null) || ((this.mInventory[2].stackSize + aStack1.stackSize <= this.mInventory[2].getMaxStackSize()) && (GT_Utility.areStacksEqual(this.mInventory[2], aStack1)))) && (
(this.mInventory[3] == null) || (aStack2 == null) || ((this.mInventory[3].stackSize + aStack2.stackSize <= this.mInventory[3].getMaxStackSize()) && (GT_Utility.areStacksEqual(this.mInventory[3], aStack2))))) {
return true;
}
return false;
}
private boolean checkRecipe() {
if (!this.mMachine) {
return false;
}
if ((this.mInventory[0] != null) && (this.mInventory[1] != null) && (this.mInventory[0].stackSize >= 1)) {
if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[0], "dustIron")) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[0], "ingotIron"))) {
if ((this.mInventory[1].getItem() == Items.coal) && (this.mInventory[1].stackSize >= 4) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 4);
this.mMaxProgresstime = 7200;
return true;
}
if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "fuelCoke")) && (this.mInventory[1].stackSize >= 2) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 2);
this.mMaxProgresstime = 4800;
return true;
}
if ((this.mInventory[0].stackSize >= 9) && ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCoal")) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCharcoal"))) && (this.mInventory[1].stackSize >= 4) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 9);
getBaseMetaTileEntity().decrStackSize(1, 4);
this.mMaxProgresstime = 64800;
return true;
}
} else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[0], "dustSteel")) {
if ((this.mInventory[1].getItem() == Items.coal) && (this.mInventory[1].stackSize >= 2) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 2);
this.mMaxProgresstime = 3600;
return true;
}
if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "fuelCoke")) && (this.mInventory[1].stackSize >= 1) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 2L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 1);
this.mMaxProgresstime = 2400;
return true;
}
if ((this.mInventory[0].stackSize >= 9) && ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCoal")) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCharcoal"))) && (this.mInventory[1].stackSize >= 2) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 2L)))) {
getBaseMetaTileEntity().decrStackSize(0, 9);
getBaseMetaTileEntity().decrStackSize(1, 2);
this.mMaxProgresstime = 32400;
return true;
}
} else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[0], "blockIron")) {
if ((this.mInventory[1].getItem() == Items.coal) && (this.mInventory[1].stackSize >= 36) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 36);
this.mMaxProgresstime = 64800;
return true;
}
if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "fuelCoke")) && (this.mInventory[1].stackSize >= 18) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 18);
this.mMaxProgresstime = 43200;
return true;
}
if (((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCoal")) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[1], "blockCharcoal"))) && (this.mInventory[1].stackSize >= 4) && (spaceForOutput(this.mOutputItem1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 9L), this.mOutputItem2 = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 4L)))) {
getBaseMetaTileEntity().decrStackSize(0, 1);
getBaseMetaTileEntity().decrStackSize(1, 4);
this.mMaxProgresstime = 64800;
return true;
}
}
}
this.mOutputItem1 = null;
this.mOutputItem2 = null;
return false;
}
public boolean isGivingInformation() {
return false;
}
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return aIndex > 1;
}
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return !GT_Utility.areStacksEqual(aStack, this.mInventory[0]);
}
public byte getTileEntityBaseType() {
return 0;
}
}

View file

@ -385,6 +385,9 @@ public class GT_Loader_MetaTileEntities implements Runnable {
if (!Loader.isModLoaded("terrafirmacraft")) {
GT_ModHandler.addCraftingRecipe(ItemList.Machine_Bronze_BlastFurnace.get(1L, new Object[0]), bits, new Object[]{"PFP", "FwF", "PFP", 'P', OrePrefixes.plate.get(Materials.Bronze), 'F', OreDictNames.craftingFurnace});
}
ItemList.Machine_Bricked_BlastFurnace.set(new GT_MetaTileEntity_BrickedBlastFurnace(130, "multimachine.brickedblastfurnace", "Bricked Blast Furnace").getStackForm(1L));
ItemList.Machine_Bronze_Furnace.set(new GT_MetaTileEntity_Furnace_Bronze(103, "bronzemachine.furnace", "Steam Furnace").getStackForm(1L));
ItemList.Machine_Steel_Furnace.set(new GT_MetaTileEntity_Furnace_Steel(104, "steelmachine.furnace", "High Pressure Furnace").getStackForm(1L));
ItemList.Machine_Bronze_Macerator.set(new GT_MetaTileEntity_Macerator_Bronze(106, "bronzemachine.macerator", "Steam Macerator").getStackForm(1L));

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B