From e3f28b5826a67a78e61e23e9df9eaacdde3e4359 Mon Sep 17 00:00:00 2001 From: asiekierka Date: Wed, 11 Mar 2015 22:07:02 +0100 Subject: [PATCH] project essence, part 1 --- api/buildcraft/api/filler/IFillerPattern.java | 2 + api/buildcraft/api/filler/package-info.java | 2 +- .../textures/blocks/architectBlock/back.png | Bin 0 -> 1257 bytes .../textures/blocks/architectBlock/bottom.png | Bin 0 -> 1320 bytes .../blocks/architectBlock/default.png | Bin 238 -> 0 bytes .../textures/blocks/architectBlock/front.png | Bin 203 -> 462 bytes .../blocks/architectBlock/led_green.png | Bin 0 -> 139 bytes .../blocks/architectBlock/led_red.png | Bin 0 -> 138 bytes .../textures/blocks/architectBlock/left.png | Bin 0 -> 1306 bytes .../textures/blocks/architectBlock/right.png | Bin 0 -> 1314 bytes .../textures/blocks/architectBlock/top.png | Bin 142 -> 1294 bytes .../textures/blocks/builderBlock/back.png | Bin 0 -> 1336 bytes .../textures/blocks/builderBlock/bottom.png | Bin 0 -> 1343 bytes .../textures/blocks/builderBlock/default.png | Bin 387 -> 0 bytes .../textures/blocks/builderBlock/front.png | Bin 363 -> 1353 bytes .../textures/blocks/builderBlock/side.png | Bin 0 -> 1308 bytes .../textures/blocks/builderBlock/top.png | Bin 305 -> 1373 bytes .../textures/blocks/builderBlock/top_on.png | Bin 0 -> 1394 bytes .../textures/blocks/fillerBlock/bottom.png | Bin 0 -> 1297 bytes .../textures/blocks/fillerBlock/default.png | Bin 359 -> 0 bytes .../textures/blocks/fillerBlock/front.png | Bin 0 -> 499 bytes .../blocks/fillerBlock/item_hatch.png | Bin 0 -> 1166 bytes .../textures/blocks/fillerBlock/led_green.png | Bin 0 -> 139 bytes .../textures/blocks/fillerBlock/led_red.png | Bin 0 -> 139 bytes .../textures/blocks/fillerBlock/side.png | Bin 0 -> 1278 bytes .../textures/blocks/fillerBlock/top.png | Bin 399 -> 1280 bytes .../textures/blocks/fillerBlock/top_off.png | Bin 396 -> 0 bytes .../textures/blocks/fillerBlockIcons/box.png | Bin 0 -> 171 bytes .../blocks/fillerBlockIcons/clear.png | Bin 0 -> 153 bytes .../blocks/fillerBlockIcons/cylinder.png | Bin 0 -> 169 bytes .../textures/blocks/fillerBlockIcons/fill.png | Bin 0 -> 153 bytes .../blocks/fillerBlockIcons/flatten.png | Bin 0 -> 161 bytes .../blocks/fillerBlockIcons/frame.png | Bin 0 -> 164 bytes .../blocks/fillerBlockIcons/horizon.png | Bin 0 -> 160 bytes .../blocks/fillerBlockIcons/pyramid.png | Bin 0 -> 173 bytes .../blocks/fillerBlockIcons/stairs.png | Bin 0 -> 158 bytes .../textures/blocks/libraryBlock/back.png | Bin 0 -> 1262 bytes .../textures/blocks/libraryBlock/bottom.png | Bin 0 -> 1265 bytes .../textures/blocks/libraryBlock/front.png | Bin 0 -> 1363 bytes .../textures/blocks/libraryBlock/left.png | Bin 0 -> 1314 bytes .../textures/blocks/libraryBlock/right.png | Bin 0 -> 1335 bytes .../textures/blocks/libraryBlock/side.png | Bin 339 -> 0 bytes .../textures/blocks/libraryBlock/top.png | Bin 0 -> 1238 bytes .../blocks/libraryBlock/topbottom.png | Bin 387 -> 0 bytes .../textures/blocks/engine/trunk_blue.png | Bin 189 -> 1539 bytes .../textures/blocks/engine/trunk_green.png | Bin 189 -> 1560 bytes .../textures/blocks/engine/trunk_red.png | Bin 189 -> 1908 bytes .../textures/blocks/engine/trunk_yellow.png | Bin 189 -> 1545 bytes .../textures/blocks/engineWood/base.png | Bin 355 -> 1303 bytes .../textures/blocks/engineWood/chamber.png | Bin 168 -> 1096 bytes .../blocks/laserBox/blockTransparentLaser.png | Bin 82 -> 0 bytes .../textures/items/diamondGearItem.png | Bin 635 -> 1747 bytes .../textures/items/goldGearItem.png | Bin 572 -> 1634 bytes .../textures/items/ironGearItem.png | Bin 471 -> 1635 bytes .../textures/items/stoneGearItem.png | Bin 657 -> 1878 bytes .../textures/items/woodenGearItem.png | Bin 443 -> 1794 bytes .../textures/blocks/engineCreative/base.png | Bin 824 -> 1273 bytes .../blocks/engineCreative/chamber.png | Bin 1029 -> 1144 bytes .../textures/blocks/engineCreative/trunk.png | Bin 1175 -> 1601 bytes .../textures/blocks/engineIron/base.png | Bin 419 -> 1426 bytes .../textures/blocks/engineIron/chamber.png | Bin 168 -> 1096 bytes .../textures/blocks/engineStone/base.png | Bin 270 -> 1423 bytes .../textures/blocks/engineStone/chamber.png | Bin 168 -> 1096 bytes .../textures/blocks/floodGateBlock/bottom.png | Bin 163 -> 1272 bytes .../textures/blocks/floodGateBlock/side.png | Bin 157 -> 1282 bytes .../textures/blocks/floodGateBlock/top.png | Bin 151 -> 1291 bytes .../textures/blocks/floodGateBlock/valve.png | Bin 0 -> 1156 bytes .../textures/blocks/machineBlock/back.png | Bin 0 -> 1436 bytes .../textures/blocks/machineBlock/bottom.png | Bin 0 -> 1342 bytes .../textures/blocks/machineBlock/default.png | Bin 223 -> 0 bytes .../textures/blocks/machineBlock/display.png | Bin 0 -> 195 bytes .../textures/blocks/machineBlock/drill.png | Bin 110 -> 315 bytes .../textures/blocks/machineBlock/front.png | Bin 364 -> 547 bytes .../blocks/machineBlock/item_hatch.png | Bin 0 -> 496 bytes .../blocks/machineBlock/led_green.png | Bin 0 -> 157 bytes .../textures/blocks/machineBlock/led_red.png | Bin 0 -> 150 bytes .../textures/blocks/machineBlock/side.png | Bin 0 -> 1311 bytes .../textures/blocks/machineBlock/top.png | Bin 260 -> 1280 bytes .../textures/blocks/miningWellBlock/back.png | Bin 229 -> 1275 bytes .../blocks/miningWellBlock/bottom.png | Bin 229 -> 1297 bytes .../textures/blocks/miningWellBlock/front.png | Bin 435 -> 487 bytes .../blocks/miningWellBlock/item_hatch.png | Bin 0 -> 496 bytes .../blocks/miningWellBlock/led_green.png | Bin 0 -> 139 bytes .../blocks/miningWellBlock/led_red.png | Bin 0 -> 139 bytes .../textures/blocks/miningWellBlock/side.png | Bin 271 -> 1328 bytes .../textures/blocks/miningWellBlock/top.png | Bin 224 -> 1313 bytes .../textures/blocks/pumpBlock/bottom.png | Bin 162 -> 1438 bytes .../textures/blocks/pumpBlock/led_green.png | Bin 0 -> 139 bytes .../textures/blocks/pumpBlock/led_red.png | Bin 0 -> 139 bytes .../textures/blocks/pumpBlock/side.png | Bin 282 -> 475 bytes .../textures/blocks/pumpBlock/top.png | Bin 224 -> 1282 bytes .../textures/blocks/pumpBlock/top_alt.png | Bin 0 -> 1311 bytes .../textures/blocks/pumpBlock/top_alt2.png | Bin 0 -> 1282 bytes common/buildcraft/BuildCraftCore.java | 3 +- .../buildcraft/builders/BlockArchitect.java | 23 ++++- common/buildcraft/builders/BlockFiller.java | 61 ++++++----- common/buildcraft/builders/TileArchitect.java | 21 ++++ common/buildcraft/builders/TileFiller.java | 11 ++ .../buildcraft/core/BlockBuildCraftLED.java | 63 ++++++++++++ .../core/builders/patterns/FillerPattern.java | 11 +- .../core/lib/block/BlockBuildCraft.java | 56 +++++++++-- .../core/lib/block/TileBuildCraft.java | 6 ++ .../core/lib/render/RenderBlockMultipass.java | 95 ++++++++++++++++++ .../core/lib/render/RenderUtils.java | 75 ++++++++++++++ common/buildcraft/core/lib/utils/Utils.java | 6 ++ .../core/proxy/CoreProxyClient.java | 3 + common/buildcraft/factory/BlockFloodGate.java | 63 ++++++++++-- .../buildcraft/factory/BlockLEDHatchBase.java | 79 +++++++++++++++ .../buildcraft/factory/BlockMiningWell.java | 25 +++-- common/buildcraft/factory/BlockPump.java | 25 ++++- common/buildcraft/factory/BlockQuarry.java | 19 ++-- common/buildcraft/factory/TileFloodGate.java | 56 +++++++++-- common/buildcraft/factory/TileMiningWell.java | 49 ++++++++- common/buildcraft/factory/TilePump.java | 30 +++++- common/buildcraft/factory/TileQuarry.java | 29 +++++- .../robotics/render/RenderRobot.java | 1 - .../transport/BlockGenericPipe.java | 5 +- .../transport/render/FacadeItemRenderer.java | 54 ++-------- .../transport/render/PipeItemRenderer.java | 35 +------ 119 files changed, 745 insertions(+), 163 deletions(-) create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/back.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/bottom.png delete mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/default.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/led_green.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/led_red.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/left.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/right.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/back.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/bottom.png delete mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/default.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/front.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/side.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/top.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/top_on.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/bottom.png delete mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/default.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/front.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/item_hatch.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/led_green.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/led_red.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/side.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/top.png delete mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/top_off.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/box.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/clear.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/cylinder.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/fill.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/flatten.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/frame.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/horizon.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/pyramid.png create mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/stairs.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/back.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/bottom.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/front.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/left.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/right.png delete mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/side.png create mode 100755 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/top.png delete mode 100644 buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/topbottom.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftcore/textures/blocks/engineWood/base.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftcore/textures/blocks/engineWood/chamber.png delete mode 100644 buildcraft_resources/assets/buildcraftcore/textures/blocks/laserBox/blockTransparentLaser.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineCreative/base.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineCreative/chamber.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineCreative/trunk.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineIron/base.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineIron/chamber.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineStone/base.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineStone/chamber.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/floodGateBlock/bottom.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/floodGateBlock/side.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/floodGateBlock/top.png create mode 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/floodGateBlock/valve.png create mode 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/back.png create mode 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/bottom.png delete mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/default.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/display.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/front.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/item_hatch.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/led_green.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/led_red.png create mode 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/side.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/back.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/bottom.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/front.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/item_hatch.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/led_green.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/led_red.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/side.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/top.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/bottom.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/led_green.png create mode 100644 buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/led_red.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/side.png mode change 100644 => 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/top.png create mode 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/top_alt.png create mode 100755 buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/top_alt2.png create mode 100644 common/buildcraft/core/BlockBuildCraftLED.java create mode 100644 common/buildcraft/core/lib/render/RenderBlockMultipass.java create mode 100644 common/buildcraft/factory/BlockLEDHatchBase.java diff --git a/api/buildcraft/api/filler/IFillerPattern.java b/api/buildcraft/api/filler/IFillerPattern.java index a732a474..fcb4f5ca 100644 --- a/api/buildcraft/api/filler/IFillerPattern.java +++ b/api/buildcraft/api/filler/IFillerPattern.java @@ -8,7 +8,9 @@ */ package buildcraft.api.filler; +import net.minecraft.util.IIcon; import buildcraft.api.statements.IStatement; public interface IFillerPattern extends IStatement { + IIcon getBlockOverlay(); } diff --git a/api/buildcraft/api/filler/package-info.java b/api/buildcraft/api/filler/package-info.java index f451c9af..cf48350c 100644 --- a/api/buildcraft/api/filler/package-info.java +++ b/api/buildcraft/api/filler/package-info.java @@ -6,7 +6,7 @@ * Please check the contents of the license, which should be located * as "LICENSE.API" in the BuildCraft source code distribution. */ -@API(apiVersion = "3.0", owner = "BuildCraftAPI|core", provides = "BuildCraftAPI|filler") +@API(apiVersion = "4.0", owner = "BuildCraftAPI|core", provides = "BuildCraftAPI|filler") package buildcraft.api.filler; import cpw.mods.fml.common.API; diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/back.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/back.png new file mode 100755 index 0000000000000000000000000000000000000000..c8032e067323a09a9706bc8db134acfd4e534f55 GIT binary patch literal 1257 zcmbVMZEVzJ9IwET>@E9XqM|XS#AFNWwY|1?ZFA?S*E{b5H^%Mo&M!i*eQsB`zN~%D zyKQI;1_%QT8XysT`@#ZhAZjEqKd2xHM9mB)BSVv2TqG*S#YD{_AMojRH~p~i!6xnV z_W%8U|L6bG1AVZsZvfOr867*>>+|Kw8w zH}oix(s#Ge03LCK90g4etk)nfCFi0W`(i^d$S|u%SV}n5fp5_`3G;9m^ z8P$SahEW1}x^xB8NvD^IEw3IZ6f&x+IusM2Dbw`twP@|Z4EWcL6|KGOhy$n$@a(dy zp?nlKHoz!$_ZIREkvGyd*FZ^8hZI{Yo4|r8B}$-^fNtm#%kV&_8HUt(4v-?lg~{&B{{u>0Cmikz+9Je1keu59i&#kXvj{wqH-bK&5Z7Z1G2CXr5+q44yign=kKpaNBFj-`q3DcfPklxch@}-rO`EoMN@sXQkJ#-Y9?l z*&6uW`J;Ph=hjT#mcGEKuHBF9lOG-1`$FQzpNE@rlatqS+WphBOFci#Qw(x!>w&Y$i)_TocpKVR3hYr*^Y?pRGYd;7Paue4l>$=`CLW1ZO@SB#dI z4$dv?6UK>bpt+z%rdlp{oa^;YPNaU_a$;h0f6p6|b>h|sH;?U^zjGXrO@BN$VXT#F zLVJEVxAjN_);{W9z5e%Uxcvd{`wzR%ynVUw^5aw9`0T1ytakeSleKeK_xnGeRJ>O? J`{b@Y{{S&=v1$^blwcTE9;g>XXspP+#f9kGbs+9U!*a_Pv9{_lD=iri^D252 z;(?^p3`0;-+IJ2^H-;7MRKpP~5`2c2^`uS8+1N746hdQ|ds8MQ$q8uTQP`|%9%8D0 zh`?3FLu_M%bTB2rxLV&~z^xq(VYwqAa|*F(Bks=dh#(0q3C|>3G?UMGh*@49&2!rn zfzO&)2@f&nR3zAl3%UVu*2a=DZ3noEvjLXj09cRPY2cs$P1!jT0G@I2z=_X41X44U z7#|Y-^IB--A>x*m;wdVfPTSHBn{G5yfa5rdwo`UHi7ZI7U9+SNshQPz1`(RFp{6WV z*YF&p6xCZT4}my;I{*t68URvZ8Ax(~ zagkA4age|%vCsu2V5c2I<={HJd6 zTc{Xw(}gZTi-kUd8fqQ`b;)~G^`Bx`K`+f0CWPxBZ>*eS4SP-#z3@JYogAuebH@mDa8v zTygH?=;k`py<+mi9Upk9o~H*&?hmec{6t^E{{5}HshUHl*1LMkZ=Wb!IaWKvTEnNx zK8X!oae%U~H~(2o%2%nP?73(`(F;|L@eL2Y{pF=Cm8VO$RQj}y6JY_Tj`ciPTKZl4 zyE7wM@y!9@%2c}4|LFGWk9)mMzPb>m$}zqxUA|3Qw~aPji=%hvq; c!`oO9*1dnmKG9S4YVO|^@HL2iwXf{?2YBz-qyPW_ literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/default.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/default.png deleted file mode 100755 index 4008864ff49989ea9e0f3d257c15e17039730a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}RDe&2E0F&G|Nqrv3eT<^o9OtCXO6FKn|^s>fBA^~<->B94#{3Qs_^uxfq+y0KcMOUo-U3d5|@(`4lwj+Fzja7 zl-0r@Y|JgZi9uW1ntc+vxQ3_ lzAbzj@spUqb)@ diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/front.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/front.png index b4d05ede2e7b7c1529456ce2f64173c81873c702..57f657795d66d977d95ffc1fdaccee6ed9293cd2 100755 GIT binary patch delta 447 zcmV;w0YLuC0nP)E8Gix*005AYXf^-<00v@9M??Vs0RI60puMM)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-yl3k)U&1+#ZV00047NklS(YLKz!-Bno#K`{ zHO7cYp6AS*0AOYj*>1N{_jo+|{eJAuxy51;QxOqG-MiX*U)S|FhB_EybSGwZ&goct z2qE$SNK_4=D1Qq4QOXcP0FcD_zYN}cV+;YX)_%eeLJ$!G@O(Z$VesB}k%&k{ilWeL zzX0??)d4^vB5m8|dHyPD+tymE|LZt}&^hQ40hrI{>-BoMTy8d-!{Lyo>E&|CvaG7A zG)-r-nL2d0cE8_uyPdUmwORpC^>8?>sw&H}+wFF}UN}1keN}_OfSH@7>GgUcgz0pu p8MN#7rfE88eZwLWp<~YX`T`@k0Khj)lmGw#002ovPDHLkV1l-H#Kiyr delta 186 zcmV;r07d`K1Iq!B8Gi!+001a04^sdD05(ueR7C&)0RR90W@cu0cXx@2iBM2bb#-+& zH~# diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/led_green.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/led_green.png new file mode 100644 index 0000000000000000000000000000000000000000..a615b10152b7a9509f5904919d91bcc0f140d436 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~GdGW#`i0A83xGlro-U3d7N?UFBv=zopr0E}lNx&QzG literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/led_red.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/led_red.png new file mode 100644 index 0000000000000000000000000000000000000000..258b7b460f813946547930b8055d59c1e2b2ce6c GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~GdGW#tl0hcLO>yLPZ!4!i_^&o60D08L=qbQmzDi@ cU$C7qMVG01*Va`Bfl3%WUHx3vIVCg!0AzC{Z2$lO literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/left.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/left.png new file mode 100755 index 0000000000000000000000000000000000000000..68fc7e3a4c295362932de59bc321d91d6601c01f GIT binary patch literal 1306 zcmbVMU2NM_6!tn$(b{N38>}!oxh{f?)v<44$FWJ8bxFzsO(|)%7Kx%d_Dy42+o|m= zKLlvYMl}X({1hJ0(4ag_l~!pW4Q)s*Q3?YAVh9jp18oCDRqbICgE4qO+_XvIq1pqM z?0fFL=R4o|^}epo`)q4&UxQ(oExaQbMeDlqds7Yi9(*zBM$2thsMqS&6IMnvAl4@9 zafpXiaR5f4DCdShfnE$-J*>oft=>q7AnB?@EbBP3Y6_t-%r4ZCqB(iK+Gb@QgDWkGtiUJOrQq^)?i`u3Yh5x#-qP7{!r63iB zrk*w=RF6b+6^wFseWJ1=@jP*73Cp`b3MRj66vppQT|4q1@}7hs`G13=0w14$k* z92uu&7YW=V3ppqPC+(`*Sqbj}?lvdO1Ol8J)gZ+1NDj7zT!3@2o;I4TV#AtgiJAnf z+zR5ZV7FfvD+CNETDlR_^`UAPbR~65H%SFNiM?X=tGkGJeUrk=YYwlMzXCaZ7u zhq{ILMi0&B?l_exo}4Z``s&`=wAB6h__nW@Uz)aFe9Nw#0N8K2UHzNA^ck_?M^9w^ zZ0#*wyVRN8ms+1CLJu8RU6Gg1u716}(6R7)zUiZ({&;D!hB@+qfBxEVkNdgrE{xg= zNAc`{oon2=^TU#T<12HmTTcu1C2XX@-#Gd7GgG6_f8#+X-py-A-f1Z|A1I{zO47x{ zbB~?A9DV7|+*3!@b4;Z1)M%z}JO#M{;TZKcN K!RhV&WB&kw2EqCO literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/right.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/right.png new file mode 100755 index 0000000000000000000000000000000000000000..3e8cde2e9789cbf340ba9d650bd8ddf6589b884b GIT binary patch literal 1314 zcmbVMZEO=|9KWrb8Pmq97+*s!H)24&-aYO0<<6C{zO1XPV`-agMn`tNd%7O$-F0`@ z^<|OBa34V8WFatwfH5jzpf!y#D!vR6aWlFPqC*q~^n(y|BqEw1iBGq6`eEUNm)t$i zbNB!Ke*f3o+R+{~*WX`{VVF78>W`q+Qoie|(es5JNhezFGXh;kR81IJUV~V(sKy~4 zlKEa3fxMXSpM;GVX6lz>T}D^9jT2Pa%9m}dIXR8c7}nU7OY=e>H1Ig=l@t##d-Nj$ zmqZWI=?K%|v=1hw)`AA3h4z?G=o46xXj+3e<~T$kLxab2a!S#;oQIg><V%sbT;?!bMj262bgK?<}D;4an*91IJHDgt#i zqY0=UiG~UoN36depCS-`l+ zI4#;q;N%_91$khj?G>J-@Gd~JPN$3Uxtyp50me&veJ!*PxE+j-Z4NLMY)H`!UJ+nL zTSD3kSo=+}oKJ(ip=vQzO;x&}BdHpyo>bGg&xfz-loV0T>Z{8Ynh)3yHE95fEt)Fh zb1CMeCFB|2kLqf2nR^XwfA5~(i*4=ox4m1ty=~)$;>`K<#GdoRtACu$R=rZn zdpAy)9vHiPyJcV|Ggy7_Vt&QMABEbH zNB$lk|G04U>`N$weWN>8PEH@Z^xl`H%Ld1L4otsUQ+M3bXQ{#8l5ag$#7x+xJN_De T{@xAQ@?R?yX!pP2?HT$9jegAG literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/top.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/architectBlock/top.png index 634fceae4780d5dd8dc8e4206d88172bf7cb43d9..75705012951c6254846a65ba50a9f3d643a2b8a8 100755 GIT binary patch literal 1294 zcmbVMZEVzJ94`U^m#|DBI2KHrZUiv)+UMHdUF#0q?)GxSJI>pM&6p+h+UK@rYoDX- zcDHdciW_kWIKbc+9RYFbP-kN1{9q6kVbP;D@V$0Fxl`vCqPIojgE!zR0`(XK~HJ1v`#s8CS? zk|AAghA}9so%=4pa)Ma7Pm4F&jp3&x1?eu?v2kVe6h;$7`OZvAR$8G=CSbE>_^F$p zoTErh^-~Q(m<^`_utlrwGGTpJB(8L|Dxym5+(DLSBut<~TP8Dln_)>AKefOs;kmQT zP~?J%-Rh?nooWn6$pA7TDYyh$VcmfAiY_4VA^?w*ZWeG1U>Uba10eBU33$ldLt!;j zO-iv~bxsSf{8Wo=rzD0+r_-)9=R#&P14L0|SU2N#)7XNxIt^RS(1ul-X9z+|F}0Mf zA%k=n99|+etX!aQ$e4_rVt|Wfblthvg0*GG;J;4 z3$>dH&PTE|55}>(zmQ{yy^(gC8cvGb7DP(B4h=gL^i%l6rE03g0RgHk0JJLbkQM>& zr4y{m(ZC}M&-&@tF4#;KG4)J=X1 z7o#&>>H@r2>LY02<}q=XTt?5nPY^4(P_QDN`A$9d)yu(XQP0>wZ}-SYue@~lk-3d0 zK09!@XU+B6njg{6T#YgO>b8L!R|f0bKd7I)Gyco8@6ye`U!3i~otfav(2k>&NGs)xQVF71ZL`_>;k72i}g zTDIlhr}cqVJwHV1lp*EyN8eddQ~3S!@!qrH?1m$I*7V$>|NJssFw|FASG0O;%Dd&( z8+W6lyNgzN&h+mc96frxc+mgERN-3xl`kHvymsO9T}<6;Z;dh+Z%ZrRYnt5tT*td- zZrm%FIx!=NL)A}j*z@4llYDl5q|fv1+}XGFL(}uw9Tmg+{?p^Ln}46VQ+MpA>nA6A zr@#5N?4o=BZ1IzG4-bDhcDZC%-7xAuG?JdVyY)PwZ~o)ATJFtD&L1jN6$uVi?mh4i DNY2c; delta 125 zcmeC<>SLTBQO3l~z`&3+SNs!@;tB8xaRt)<|NoDQ`VXX^WF_?g`L>=ejv*Y^lM@&i zFJ8DHAYjPq(PEo8;s5{loXv0kS34{c@izVT3F(xL(Y)qJ%n8nEwmY5jSMW-_vS&TD$7!WeE89ywGnT(Nv8)AG8IP?SA2b;9d z^ZcLx@ArT2@v4gQZJVFnj3CIiz+NE)*R14g+W^1)??oB7JY$vBS~Ysaii-w7N@cws zpaE5E03jgCZOvCf5rU*QE8$wJHuw@R>8f2!>ev%%45AUFs3Z{+rAA<(^`Jq~JlM>| zOBkxi9&Dd0NCsm*5LNcJ8=$7WA}qBxN}P<96r)869ula)648X(q?vregDvy&aGw+t z7`m)tHF~fWr)q;$s82Tl>ax3ViF8mX%h@Rx%~4bV>L4j6L6L-m!zqfVS)O9h)dz#t z3^~Gw1plfnc=BLT%Zl*?5s%01ai?838VHKxID&K#4hIf3aI;Ob#00LHc_{_~n3AEy zEJfGQB%@fbw^$wwdb$#V8Vd&3h&6LHQ7~mhLW~iVog`E>8P~G5X@$VQZmg?qhTCF* z2mw=XF(g=zNL~sIbN6^dNk!-lUuh_?C}NYKOD!tUtbpLb;Ei2YWZp@+fJ{;pF1u)e za}>?u^`z{?DMoYw7KoICbf$RL!?TRvO>qM2V@NMWmC;@w=@SGfqZpspFSt|KfM!~v zCV`Y~1=?Q4GLOabJ_CrBZiIEcDb)p4QQgwbs2)RoK6KYUMU(ZoxjR{*m4F3cD6K&D z8@h@vr7eUL7ad_3Qo>g8^8Za80i7a}ee$2a zNr_-HCbw%-01s<(1T;822Aq<@AKv~FLDCKegwk+gy5s#|U)P?jx5hNvmW=BDThoHO zxA3>SubIeKy~k%a^wr(C_1xU|lI?1K%{%2U&mLN`7V>|dyKuO0N9N#9{wX?Gz1_E~ zi@Neh>&5Fwo*J9&C_Y^9^zRQ2WS5O+MfP90Np8I`dH!KX@x=7!1=Vw}o@>8%G^UN_ z6!(ocFoSR2@5vZDjoOZVb|7c&Z`L_7{O#pSBJqaj&bz_+MbGYE7ngSS)E=Dt_!n(- zD1GPc>=wVx@#&7-jbqKzHAl)OUg*!y=M~ tmYLH_dnV52XXbPd6&xKN&icznBF9c{e7)1%`$_U&7AUI_M!a=h{{V=s)t>+W literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/bottom.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/bottom.png new file mode 100755 index 0000000000000000000000000000000000000000..0bbd84f8fc8a104c70205d8cf034b1e3bd4480e3 GIT binary patch literal 1343 zcmbVMZA{c=9ItG{iC~x}Zt}sEvP?+q_2t?gZ8+F@J;p_km*Wy~1GTizaUIv|*%t0# z$#_v1U>MG2YBC9nY$mb{7h`5JGReZGnYc`1Hi<4HvMq$Dn~oWcCT!0E$M%8vVNKfS z?f3irU!MQJ-Q}gPW~61MAqbM;EfM{2%uKw`roiu^cS9T;Hd&r3t5OeIG06akOVMiq z>eZw=;0Kb@wC`I`fFMupQv+32m2Zb2>zYkUU~F+M3fTx!P!x|!ay_unT2QA(oY)^D zqZq0xPHZRZBYjaf2&pB_2B>T<4am*)GOu7og=j%sfC3t@Bs8vtBc>2{Vhg$goF}#k z3|)X&^-gTjsVZMN>edZ_vNjf%Nt!|(yp3WRo}#v*G)dVBiX>ARtf)W`u~^I&v)go|j-Ys+CrFy0X&fSOvngUpaXez?Bo#zp%7z-X zR6T+w6s20d!E$2I)5Q?9sL!`795I&?1ye@Er6@t!NJ7&RaV?-t%Mbo_V@0$XXo>>D z4@|wmkl}p^>DHZ%0s%Pn;|`ly4`5*PBo(FF*7f5LyG~6z)%~3 zQf%lNx{zW)UBP^QQ05t4rg4XZ<8cQEL+9g=ccU#Qq{Hzr)Wc5l}j&&2UZ=gz(MX>-e&-KUR^fBe_2``5$V@0G1HO`Tib z`Q@$AmeHxz`@afv_6wJ1%<#JB4|Xu~`L`du`Qq9WYF1ZnPv=;6*5iBekJO&d)Gv3R z4y~Pg;|7;Lc6C<#Y-Vou@%)`e_b2J-(6JpaKVoj&Ig%boac=Ir`7q<9GS|`Zj`xO! z{w#3pI#NNsZ`G`BJGpscs!;SEK2Vr3h;o~(o-GZ3Us*5AE3NC=TPKg7ICZ6%KKWqJ zv9{iJHmkR~W%}3s*?5KM-srDyEbThbcXqJv;$TN!cXiR(Tds=dv^A3#Pi@_f`=>*} z54-cmZblz6-~Etz>3rMyxlsLOp97if+RI*@4b%+D!HlbRNsrFlK2;_$Y;?f(F+ C6WoOW literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/default.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/default.png deleted file mode 100644 index 78962788a4cf50e01d46d1bf10f8bdf4c69daab1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 zcmV-}0et?6P)f1Ha!X5PGK-I<|?cF%cycf^F8~Eu&&Au4UzZ&k}IpowY z z)iBS$8q2&F@Zmh)&@1cQH{H%D;Ls}-*aS2H004(cL_t&-83n-wf`R}50I<;_D%jn5 z9eSz%f0r8o0O+pE4~T>C5nA(E0pYIp3{kC~K%?8-gNN)1rs-k|EGw8~?IvIaQK!Cv zEgIGi=Z|@L~KhKb)g9tA9*Eje{1Nd!ZE#Pkiz5mV- hFosEfE#L+Kz#VPd2-kBL9S8sb002ovPDHLkV1gz;x}E?4 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/front.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/front.png old mode 100644 new mode 100755 index fadac260db5aaf7073230f2d2d3ec0534bd0bb7b..86e33ccdcfd7352d683b87bc35a4377eade77997 GIT binary patch literal 1353 zcmbVMTTC2P7#>UG5)#ZxOGK?W4vJuyoy%TlWTCK^vdRK3%f&=mXJ^i`Q`nhhW?&a; zT1!fm1d&2gQX*|76d$UfCQTC%t>UFpsy4=`w8T`KNHrB~s+90h&jO1+kUluc%(;Ev z_g~KcPiIBhuGEx=QV;}5^^`b$aMZ`&qb0lPe!-JZuR;!eQT9i`&QY6R$fO^7Q zJ@5feXl?ouJ7NGet77B!c#-XurqolGiJGQFJ!g+j~z|d8Q z)?mlhoT~L!pbl99sM%n~d6K43D`TL{CWfN&P@1HS1Vs`wgHsf1va*x~U4JlWO%Z~u z&*@&b1y^<~q-hbBAfnNzA!;Titz!Ut5j zS>fS*1hW!kn7g|hiUXlHY`G%BOW_)wGT$5qlIC&RF?eDSM1eI@W+0Fhg$rgAz!}P9 z#RH^Z#3>7B23EjPG-*ueY{sWuwj!(B;&xcbVv2H^Y^0HL78~6T8%;Z{MeYRGBdHoE z@gQMagtphYuDfzshXOcFR{XNun5cq^kgUmSNRFTm2bxnON`f3!bK^I(7O)d2Vha%5 ziX28)Q_PB+n70La#>DV6Znat%+-iZLGe*XW8);L3G@F7J3&~^aeBuA5j(|=P@jCfW z-6XbPF~+AGT>uvweFP-fJPPcRA@c1i1i44@IE(zT*{)u1cl%C#$EoE@9RtZ}b$uD- zQ{AzYn#|8%(=8&Ahqq1beq{fZoT0CDpK00IeWgU^*u2>y=SbZr|(ke(D+XaHC3nP1~R)^I=eHprIkUo?0l;3NHMF+y+69WvGdK6 z_mwSsb;;A&FXw(dT-|eJ;DD{?>@i>6_wQZ|W>vS3hkmBEzY=`r=ACnM(p$T3?W>qS z?;Ri2_1aIA&zW*={Pv0F8BFpO+{yLq$op|7Xx#sJ^wFw=w~gt?58HB<8>X)672A%A zgs`U6{C&*>NObI87VYUPKWH;3at NH;=2#Ia>T;`#+tt;8Oqq delta 347 zcmV-h0i^!P3hM%p8Gi!+001a04^sdD0HRP#R7C&)0RR90W@cva;5&DBcK`sw_2xnO z=|s}P9p=|D=h!pT!yY#`|J1}E^5Z`E=|s)G7|y>Mf1GNaB#i7y@Z5>PEJmRg@t^4eDvi&-OefK*fZeJE6|_d?EnA(gh@m}RCr!( zj71K`FboB4Cns-o7KF5uXBL)aET_boFgPM?OlO;=ig zhK9xD{6|x;*;D~(qlj)s6{8`$$jnYW4Fx&~-ClnH$H8a}Pr{iG&!gpvz&bRv+3xm- th3I;_Kb|kj2%vZL`NBUc@dpox2bHa+Sk3?d002ovPDHLkV1mJwueJaH diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/side.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/side.png new file mode 100755 index 0000000000000000000000000000000000000000..a7fed32f4675ea933d83cabcfce26cae5dceef7c GIT binary patch literal 1308 zcmbVMTWr&26n0yxP92~O(ucLIST5o+>e#>IIM_` z7^18ofwXny0VdcA)1>Yq)^2FxVbN5Grb&|~G3}+LjEjWeg|Wh>UDU1G{$d6vQlIhW7x4}kzj`vC~CypQ$qZV+I2*2z10ri=}1rX^|; zENd%ByM(2miWLF|6fNC|>3VOu3fjAMOEjt!*aYojlN?7&LK2VzG~)hMLDfUGjpm^B{&*_`*S7EHgbA&7XR`-S%r;%vMKCf9-#~_R`$m ziEFpH$n+q7?D*bQ%kCtHTF&M*POMoog+#LRJhi#c> zHjy1MzqQ{TpX@mUFWB2YSiKoLKl)_6Kri1l@F0HX{(U36FXd@`@8ZWVzP+zvl)dis z@3!|vC;Pt``~9_Xr9L-YIjdD4xOe+I?}h7MjehdvmhW2MnvI_}4Sd=BY$tYNeRd4v z@>SD#&ET!N&}W@@r!HSwTRn31#{wO*AD_CnrEz7=_a8kxx4HH6zptqKCqpYehgZFN zZoSYD{lnEdFxPQH#Ew=p3Xi-8ZSKhGk^QrW@{cwI&Of(x>MT};{r1KU;pd-TIa2&z Ng+pz@G5>*M{{Syq!DRpd literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/top.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/top.png old mode 100644 new mode 100755 index 2ed3d26a5db10ca9afe625fd9aa3133f21eb453d..fb719c180a3d055418ceffe4bacc1b067d0b7753 GIT binary patch literal 1373 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+mc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD#PU%0_}#n6BP2AO_EVu8M)o`HUDF34YC)x{-2sR(CaRb3oXS&*t9 zlvnY>E>qSVg}RenO9trn3tRivpW-LH&m}NUcFY%MX8A;`9&f5`8lvu z5Rj2yl3$#WU!dUZte_E|nU|7ZUaSd%Ho{v)VfSIQVm`is2%I;-gU~KYqaSW-r)icR|{lNf%qg%TscnCYLo#0k0ZGFFQ zs>_im``-U$Zx{8i`r-d~UFG`9+3NXX%b&*;zw0qx-0QaZiocKAWWVLg62~{b-gPoi zs3i9KvB!mbqLn6qhIOMy_O2SJO8{mv@vHU_tomX z_wt#%yi<%Lp9cNuJ0g&&uee}`i`o0S-B+@Zf-A{}!0ZQ1Vl_Z&?PwR+P}CoBzm=*gkY k61F;2sBE`v({u)AhPi_5vo1Hv9|aY7p00i_>zopr0Hx#V0{{R3 delta 289 zcmV++0p9-I3b6u^8Gi!+001a04^sdD0C-SLR7C&)09soA00960|Nr&oLEq0R@ZdYt z#2?PT8qK~K=-4yc%qQg4F!JL*_~}H~$0FCrBjVF7(!(D4=|s!B7U|kGf1H?>qYC_H}m8_^5Z?y!X5PGK!4}hGu_T9;Lt0Wlz1or z004AJL_t(|UTut54g(fvF%ba0Un6GFw2G1M#?B!-Md@HDJY!gmN>gM1k`tOgws-B`qci=*xzNW+1DkO9XN nbiQ0~CUA!y&l*<_zs-aX_&fv(oy^0}00000NkvXXu0mjf7l@8K diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/top_on.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/builderBlock/top_on.png new file mode 100755 index 0000000000000000000000000000000000000000..058fe06a3ddcd175dc3de12e7765f328ac2d0c54 GIT binary patch literal 1394 zcmbVMeM}Q)9BzSSP7yl;$+iSN&KTL^_3qm1wRfXB+QU(y2&EYfE`#gcTY5r!m6~2GG z3x)*V3YVFjm@{Mtejz_9fzoJ^n~PR+6b~<72IWL(RUiNq7K#LFf-)Vk!V|i*I*)Io zFf;*Cs;%&(QyynAWEUj>ne--v!wfiNru4Xppm2OCWWaDEiespOLU5cW%rs6yQxB|K zlXxHPVpdGqQdd^kuP7lJMZ@8+K5W#BQWc6*6oq02)L=kV1R~c56*htdJ7b064Xm!YZ#HM3xJ^FV63ouqUQykHsU70V>piR zCITQ7PM8rd#v2iwWKF;fSloaa6FM{T35>EC2{PACVm2JlBP)#9+k$F)ic39~OWP&DDx%~T#hOGF6#GR*l>K4|vfH8TG9k!|Vfp#^4NV5j z07+O2_!W{EfF@E*3p1Fv_&AE7I0IrflN4em)zB#;Wk!q!!i$**A4y^yJjLh#Z|YFh zDKuUu|EZhAmRgMQ>2w#Ui|IZBLA7}#wM)*mxBRZrXj>gjt~+v7*;-Kj`Ag{=+W2?o z>C7knSsQmhI@|VWPrvg)=~d^R{u9S8SG146@bR%D;|*tX3cH4Xy0I@@dxw|$2G6vW ztUnFOhrafIJ35wf%d%i|&z;hg7I0uFH1g@;%k-><+tT+nWZA)t5lf#!-&N?!&VlaD z?6UV)|M(lVv-e(XUHaX%FSdSpv>b^%(>Ri{-PLpJ>11!OM7LeI{cH3@-(MAD(QA7@ zvSiF#C|3LtyPuTu_MGO-(iY`Z@{#R-jwR=(_k>E$rFDFh>0EkgXy{(qL+kZ*wy)CG z{18Jkb1rU6TR3`i^n+xrlguh?a#R+ic6&=UHTBiLHlXXD(?0xRddJ9{&VnZgJGH6x z((74+^DlKVHY8??wRW6byqmGTy9ED2*zs2SuAdPtSh;`khF7lqQgZPSw(Tjg>3n1P zzP+DVTFwmh`w8f?C$4As2gv-b*&A;hzqaYh7Ut#x&&rPZmK}xTOY$4Lz1lvXao7IS z!_tGlAFe9j+1nU<^?>`-nxhw*b?@ms2fx$RbgoW)BPmrAjcT*y_0(|uFX+fCVh-CX G8~y=G)cz^} literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/bottom.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/bottom.png new file mode 100755 index 0000000000000000000000000000000000000000..e666e98bfede65d9d47133bfe785e5491068a9de GIT binary patch literal 1297 zcmbVMZA{!`94~WDBs&B}%nX>OB#tHPwNLMQy=$&8xWYKML&8qM;DlcL9M^Dtp)FoP zViv-pMB>CP^8<_9h?r#`&`%g4(+_@_x-G^KB<{i{A6(q#gl$IROQO#KhkhXY;FGk^ zOMk!L|Ns17I?~d--&6E-5r$!&Xp`8A=91h~xDCDE8A}Dww99E|cMcgzCnH%9t5b{w z#G{(j4O^k4^!I)R!x;8ZuNrT6+G7WK+0eXF4&!w-6R|NYTQjTNt6qU(jycwU@u(~M_3WX?|p%{il2-5D?9myqiyDG0BLR+>}(@_l_ z&nZd?qt6itF3hx6fRA>N5h4n)+1pFMC zpcNkp0ul>3C;^7{<#o2=*9UzJ9TMpX#{mEu{GmoP{0&?nSjW`|L@v*b>b4{4GR)gn zk?nPEr161VK4L-1F|4>@r1MqKk}@2_P8lX1iQv_3s;(FrdrvMy>lYTGrM?Q4M$6Ff zwGi{_7Ur3tLc;{BkP^+&Bopv6q~w!*WKiLP5C(&?k_-?VeC7X!jzUgRxjOkz-Q=t?F6+C?1m6pbb3*0f^6HgiPd4<EE)F^YWYH82kXv0`kd#eaO?DMrCr$3XXh6`x->tQ`$_vK>6uJ*T*9G=|tSkD9yeY)ST(;5+i;KF_}z%e)ux;XL2aE9%=d>)bce z!X4etDd5m68XDW{0001bNklZkK{$lU zVi`j?E>ECWE~QYYRd?VTO#y&G9lBAY3K&7JSen5ckT+Lr*aUzePN9{AprIXttiFfC z(Fqdg3#6SEzzy6x0Xzy(1$e%o`7X8rAL!=a7=8c%`~ivh2QgR~4$c4o002ovPDHLk FV1m4prUU>0 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/front.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/front.png new file mode 100755 index 0000000000000000000000000000000000000000..dd2e4b9a7602ca8cc777e5df0cafd200e8177e46 GIT binary patch literal 499 zcmV$X~Bla?VL9yRIXm?RHB< zyWI|e`ash(N+|%&IZ>A7dcFR>TPbz9T*h%s({voi!{LzUdDAq+IG@kQ;}Jkn6dV8u z>Nt+WMKd7&|2SaH>R8c@DB<2C!Gc)vRD8B002ovPDHLkV1k_I)aC#H literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/item_hatch.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/item_hatch.png new file mode 100755 index 0000000000000000000000000000000000000000..ea2ceea45927394d9901f2482dbba2c20ad80f3c GIT binary patch literal 1166 zcmbVMTWB0r7@nnAdkaPcF}0X+YP3S;a^|wLGi1$PCfls-reV9#AQp0V&e>$x%$(`W zi8~33Q53Bp^ihiRArC$Ztq-NGXcPnm5m72cA0jAyt&lue8jWX?-RMK;g99_?_I>~N zpZ_u!Cnrw!9Xfi50 zh!!q5Zg&!*tTo4dAcnN{5FKP^TLi( zQ?*IHOd`x1k|DZ^3V73!fT3Fe4D+f2G#MzeYKZ{Yx@m(f-+ct87NM41cPd>iw#o~$ zl!mq}cRC%Zqek%47dvZBhWDl&u^F9Z}OVh|tiS#WUdMqWrg67Z=-*d+5bFECGc zuHc8Y+OFXs?gom5Oio}Z14)s6KfTvBI;M5}uN!-!^Xw}IJ>_kEyvNd2}qyQiyL&u^8bW?09NE1O88rZ}TsEXFJ zvlm|lS*=nm8fDW|0T|Ou>X=^Eb;T(aOC`%Rd)#UeQy93or|mKAE?0jb*DgmGQW7-? znd?=-yAw`1v$LI~R6v1zKKXudFV#SzFce{WscKZkita&2VCC^*Y0-Vgh^8{EtjE6-S~s{@~H zZ65q+^wrG+kKe!d+r#e-CFi*xk1Rj*=e;j3uUfhBIP-0*zwd|B*A7o#zT_>R=hn5G zPdm4M{p+1aj;t*m{ob3Cri-1-i7N+(o<%FU4ehbQQihvFVdQ&MBb@08=O-H~;_u literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/side.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/side.png new file mode 100755 index 0000000000000000000000000000000000000000..836c5c4116e4204100167fd884cea78af8b41388 GIT binary patch literal 1278 zcmbVMZEVzJ9Pa=VLbf;+6TxJu9kQwP+NZtVUCYjKT<_rGZY;+I&JV=(+Go4E^<{16 z-E9)sSeBr1lZEhM1QKTi0%k0PiA1u+5RKfTXq--&i4k7_AriA>8WrQy?QZ&E;e$=u z=k5Rd{r=DYr3afDw^giJzXrpwir98BfyPSrUA+Q*Uq6)bp<$g9NjW=>7AGrN5DO_r z8safcYJ~|XDfx~ounxmkcBsjelZrP8vY~k-*T$36OoYa;y84_c$!*ZV)38<5gT&qU zCJ9_sg2ZkvPRGqK%&6PDEV#3)F)4So$-F|;Ka1Dp1Vo@gN5XSjyKW1)AhEzJpt-wE z5%_|M(-tHaol3=<@UUS)obzy`OfvxY^B%x?c>p%y3=LQc&=kXy00>^c0DO4yA&{D- zvZ#-0MGLj%}@+OA`8;a>yDHob-TL6AVOQVRMSxn z9d{X}w9)AV3FPVG6*My*Un17+VxUmSsGMX{z(Z4-=H6?;+IAA~UpJPuwv%}iQVD1q zotBL9(NbLkquAYF$TdXX2sFM^1$mS z)3m~pz$bCg4<*3RY>8(%ycqHEOo)kw{eA#I#LI_hKI&yeE*kQOnFwFP#&p|}bQzYk zRis_SM(&Fh!WNVq!%7-Pd#MVVGKOQ=8NhAcuWEiSH~ki#DNLQq7$ewE zbz|D&_ih>w>xI+Uz>eC{H^#fct=Ye8%$_6b%1>(N@AQ@LEgadf>w&8i^z;v(KQ{Mr z-Ijfu$4AbR2Y(3+teRGuE_F|yz5U0J-!zwf{KdO#m7}qt%KfW*v5m8rw;n&!Guf{X jM|V9Dzg<;-Z4g_D#ni9oZf&~6x__itq){B*+T8mO#gD>H literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/top.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/top.png old mode 100644 new mode 100755 index 88f285dafe71e2de884fce02c26824ec1d3899a4..493fef38d6ac4820d049991d9bf1b2e4aba1aae5 GIT binary patch literal 1280 zcmbVMZEVzJ9Phk9aM^;9s5wAaI$t(JuYG!NZM_@2UGK&jZ;ab5oFOuL?Q^@jwLRJ% zcei9_=w@J193W9a0}(M`jQA4w0Ykt9gD+9DC>fCn?29kKu*uXY3&yA0-Sor42b;9d z+yD3b{h$9!ceS^*)>f~q#xSflwq8h}@ecc4b{qPR?8*Aj;Itwst3%IN1<`<5NY>L3 zkEvoeOh8dCZTk!cFwC({Nv5n+{4rkARhMYnxQc2Hp)oA5u9y?09%$id*sW+mV(O#Q z1g^+IVv{#c$8%wrRo3?zu%oXnDfRV8oJ_21!UIJf5vb4-@uJ$RnS3!w%<=MQZf{cr zK4)U}1c`a4Qt@^?tQ!#by1b-BGXVEv=0kAW!G7pyuN71!B!C2MUFZDvCJ@xM)gM?R(8xn^pq;>&BwiX0nunR05iM z-jGl}GW8WOiruY+Y(wM?zrj#YQp8?Cm+~sqte6la(1}Y{WZn(DP^JMOWv>U49Ps$b zG%dSH;1j*j4@JPx?h4Oh_()3xaAAfE`~3ibh^Iy1*s#YN34ss4+ z_m-0*kt4f=$+MlK(zy@S*_l(Xnx_v9{c4n^99`dd)(rMv{$TCq@w+BQzno@wd*WmD zKh0k18vo>})vbSB54@BZz3|3?ADvb5*DoB)Kk-a#?@n>!$1{P+{ZQ#F5y$Ubo!!|w zG@U!LV>(|8n;pyR^5Nm*{crzq{<(%LN#{hjxN6q9>Yn$m)qL^(nT|Sk=-jEU{a23u zkXmx^^@d+w+?*cB(t{62&tGzGaU@O*@u9{?sy{tCw({b&!zT}MH}^gH+T8~q{kCV> zfy{4Bbu~@uD@)CH{~qoy#J+#|&D-C4@cF9GmyVse@7c+(4*#6&TrwQGf8SMF3!Ii+|4N0$Ro_m%<|(t%)A%f&M4K! zAcTa3u&}U}mX`SGMCaEs^yNV9-8jv@81v*mB7gYkL;31OO-)VH!yb5e zc+S2V^5Z?ryB7B6LiFT6)5ITcZf?}XAL!XMzrVlBych7{JOG3M-_R@S+coRlH`2l# z-OefC&@1bV{M7&e0Fy~XK~xwS1;GVE!$1%Kz}d}RnpAOUffjdn`~SO`0RRBc>!)XM z)$|*%xw9G}B6u^QT^n=|Wve7?4|icN=8OG=gF{#jBWp=Gg7$b2HA|iV#*_1l$aK3Ek|ag{b8<;ceEydwkTA@c9Lk?}*HVA6Slm dNAL##z&|D02!C*f{Ote$002ovPDHLkV1jo5!g2rr diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/top_off.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlock/top_off.png deleted file mode 100644 index 17bd903b751e1b1debf2190b4831033dea967e07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396 zcmV;70dxL|P)qX(xEaulS&c7Pn&M4f? zDA&j%%*@R4<37y17wz3R)y5!%goLoLu$GpV_~}IF*E00wK;qLa&Au4(*j%exl#=R)-4Khwk?Zf)bce!X4etDd5m6aKj`I0001!Nkl5CFj0&0U%_6&zZi zxVzi`|HTXd0JvT|I)n43+knlT-5wE{3GK^hfGArfVSBs|d$CyVCmbBYY8+Wh!ZEZb zqo`T(6fl`yTt?QbY=BwQ52BQt?7(e%*Aa_l&3ky5Jw73_J|_(G*A}9dw}kh310PXp qN%;JN>32kC!Vjz_zdif`0PqhNvj|5tV%N9;0000KUw qP83|%-x(y%vxjkUf=B=>1H-1tEF6)H8-D|JFnGH9xvXEak-aXL9cLh`|XAn5Jw{Vy#o z4PySUPq7qB;xRBZOf)bvYuh}L@p40TqDT+ZDh7rr>m)R?t~PE4n!w=c>gTe~DWM4f DNI)?l literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/fill.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/fill.png new file mode 100644 index 0000000000000000000000000000000000000000..e50d9a5e958438ed8020593d0272f29477f11867 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~GdI7!RJ48lLZFbEr;B5V#p&b(iBAm^C0vgkJNAF# r&-C;2T3;tGy28qwe?UWmHH49&CzypJ@pgOzPzQsjtDnm{r-UW|5@Rb1 literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/flatten.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/flatten.png new file mode 100644 index 0000000000000000000000000000000000000000..f3548edfa6f6544d2e03dacea6dc6ce6ecc02f7e GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)2#X*k?fyF0|9AQ~5BYapxg0-2Efg$8F%QE)UxBP)R89ZJ6T-G@yGywo)Wh^!T literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/frame.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/frame.png new file mode 100644 index 0000000000000000000000000000000000000000..d962b79803d0e2d65c4554623b6dbd085efb8f89 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)2#X*kD87QRd>Eak-aXL9c;#0#!3D^HX(7&j2 wqTssz&LHuC90qQ~E*~Es3Ack93p5!RbhffAYZTbj1k}jj>FVdQ&MBb@001Z|DgXcg literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/pyramid.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/fillerBlockIcons/pyramid.png new file mode 100644 index 0000000000000000000000000000000000000000..d1ab1ceb26eb37de74c57786ba209245d0201dc0 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~GdI7UIs0#+sX!qsPZ!4!i_^&o5}z6-O1S<9g8oIF z69w1xcLs?I}37IBaA|jb2ZXf(6ichz@>4$|6Hff)? z|L^zvKmV7GCcB^8Q2$sxhG82Lov{=eAM)S2d(ijjv0M-ho4k0hx6{gcdBuTPM6)sw zPZ&xcOhH8}4t@h$F>LLip6>N}}y(t~KPS zC?DA^H86_Z-GzKZa2 zED3@N4?|D^49(VfR>MbQtPqT_Y?O}+0K_>#5QFW4z(<%4j*kdJ4Vy4sPccu@XsUkb6L zuOiRUDhEO;AcHI?kQssFNg<;$q?qM6C}c7UALNKCUi-hHqmWaSUnl>mo7xsCMt{1} z1!%F-N6ex6KsG7mVTN)bpoWE^q!?oQU3jX6A<@ zO41|Vzg0T<^sW5(^@}ZCm9cdP$~S*$7#ZCB)Ri6Wrx*TwOF#F>|Nh;!H=g*oaqQrnJo;Mk%Q^Ey zye_%z&Y`LNp0|(uYL@$=bk2Tr^fPSn;J&GSvkmcMf1F4+eKmfzVS8z9<#MI;Gu&Nw zk^SKOM&V4y0(I|9_R&|?;g#w6t6!X+_}uL}b;0;<_{5D*hX>RL*W8EA&3-h|xi~rN P|A7+m?%28Z7hnDdecHA- literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/bottom.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/bottom.png new file mode 100755 index 0000000000000000000000000000000000000000..bfb73915e1e99a69b5bbf7ce883af9f3767b9bbb GIT binary patch literal 1265 zcmbVMTWs4@7bV=23dcT)or|gIQm2kx zluoKBVhlmqCfE?$idIk&)3oq1G!<=a83-m28V}W^Rv8Qs5}FWKQN;bYO$ray9sC+)}&U@XunW8{27^G+q-{1`-L8^)W;RFaO`rQOGIEsgwWIO?3+u zqcdIU0<>7^BdDR~F;SOXjNDPeu$sn5I213;XAa*oHcHopkAA;#O&0s)V{mQl@b8T;6#U?pl~>e(2cb?5TQJskQlyQ>|~-_Dmdp@sTSx?{_sG zf2nTU){ERsP4}(kk%2Fy=1tSt7r>4@rj=e{= z&c)s`40*@brO}_?TgMyn?VtYg+|JVPi-Gx6@7%f6Gbi6ZSHF43Jd2el%fjjKt5fSf zD_!=DHvH6f{lbUW2Hu~2w}u~kEq8Ey>I~cDYCX{O@YS(oq5kUP`RUXTf467ashYJI Y^~Y}`jU$h>I6t9CXDocCW8leu05d7GK>z>% literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/front.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/front.png new file mode 100755 index 0000000000000000000000000000000000000000..6753a5af7bfd0502dabcc45502521580226f23bc GIT binary patch literal 1363 zcmbVMeM}o=9KN}!TV-)9V>mR+<@OQKUGLt0-=$?KErp6j)?q*y3CG=AdV}kgyQ^&> zTNI`fHOx6-W;1NrmoA%&%S1^CX^30=L?nvaBp|SY3tNCi=MbNTLF27IxzOmnLQipX)ZmF_e^eJIRf{2|HDU5a99j`%X)Rw|s+4-3qFGVUG6@@PL+8lhDJ0V)g{5o!W59kF4vytFz`Y!etd zYob)!usNqnJw>QPlpt!<8gZ7?0n|)sfzdz#um#nTKu-XY&`~%5w82aR6FUE3s+z?4 zXs^>XucfYRm|szXG(m*JVQpBi6{RWyP!vUwIzp$zRSR5>1{5ZO2jmS&1}BtRi4Q8g z7(f$@Or;o7Y?$il+!chN$Fo2jkmm!XhKz_XK>}z=LJ$)7nzfb{FZ|byMXlxHXb=)! zD2pM9RrBH7kOZr-ySGrnQ1ym>TH@8DFf~q*4GA!yxScjkJ<)PJN9%zRawGsaXEZ>Z z0tPc)NpgA|m>458Lk8$beUfJ}yvt>FSac?*!<7R8!m6%_eJMU?$w5Op}v%o0ApiD5Y_k)gQ@JE6os z4>^}43g~QzX?_uT3uOX;v-ofyYhiH`7+9QvCIikg&}=f2dWO;gY#z`3-_Q}NQ$(Up z{!=%}EwvaE(}gZj7Yls^18Va~YL`%ZhX8^siMXBi;>Zts-i#G|Qnc#R1HWwQ&wp*3 z|Ko33M z+0{99XRzx+eOKFU`RYe^sj^4pvgT`0PlMN8HnIJ>mK@JN5oUXTH!l^LjVj9B4cs^*vN@X#eC5ZBy&@ z)jdPs|DL-1%*8ZK+ohg~3{G>gdNd^?Hu8+G;@5`TSG(Vj-Rdlu8U4+0xTmhGxjRml zRGjoKIi5M8(61LA@5@}%@nClQbDm>OjZHHaaAjxv^oIiillAKQln0J}b>X|8>p$q3 bSzUo>hWg4s+wo4~XNkCT3!Ue3DjNO)4%YQn literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/left.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/left.png new file mode 100755 index 0000000000000000000000000000000000000000..e7b7908bbc438224deac4c1e15a2693d04fbc481 GIT binary patch literal 1314 zcmbVMZEVzJ9Pc0^8=xa727E~^!2nsWeR}QPwb{Y8>j8(}cDo&JqAd2>XS=$)_SSaX zZRlZ^u_$9Y=Dt82m`IEw&J4qN5!l#fjDBFo1e0xvI2KvRG}9~#i^Sk_+iv<{;e$=u z=k5Rd{r=DYrSArccdg0Un1f;18sBa)h{oLXyK))&wjGN&(6GVsR#;_vm6ebTh!rY& z7~;N|R1JerQtE5JgZUV?yjBfWSQY-41X+*Sq_mAK8H*z{hUM=_#wEE1T6h>%tD2jb z`ns3ERmDw|bAH+%_rQp{yTO2E4aFh3p+@EvV#jtoKPe!B7_=lj8H;MBkaQDsyaJl1 zw4`*m#rvObcJPClnItAds7ajts z8A_E96n8FYp_QA6SXNx1s6--ROW19?QB47!=P8<@7=}a^q*G@}&O>nt~cJe|KnEbjL&5^Lr{pis!Dq!g!sjizF;^u6Y+O)Cihbz@0uGgKdk zR1lhaogt%qRBg(DQS2Trlr}`(2qlJ!k|IS#U9O8k&GLzE0-e|tRT1ofg9;4*sc!+Bi*c-cahaq$k321Oo*<7p;?^=YOh zX)?@ct4MnRD?St}cnm06x)IX#Xr>AR5#7?wh#tp19(+r=swsNH+?vkN{Dnnms0X03 z)6ir1T!;mA33-;5S>Tib>9DgdGVEeG(iN5&lCNS}=n97=&cPB3c;)|wjzUgR={osO z-DI{$8??~M;dpBd>ne{tN^ zJe2DFc3o=wsmYm*`qA!_O#@>EFMN0|ul4(h`qZV@u37zb{&Vl2xq0vE)cv;Bu&@2J zx@UuU^YQaT6Vvo+aqRkf(-%2$#}fYD`_B06DmK{BKQTDlHTgq#sBd$YbzxM^d!%EX zckQ$L{z&zfwA>zan1v z+UdYd+ixEi6?z7)Ressh_(s(6^!}Brw~c*vr17s6x3mlU?yy$r6Q`bv-iv&3X4}Ek bDjGX`cIwIXW5?c1|FwMHVzH~}^~QeyB@ovT literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/right.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/right.png new file mode 100755 index 0000000000000000000000000000000000000000..88dbf9804fa896052ec22b7e71462722343388aa GIT binary patch literal 1335 zcmbVMZA=?w951jB3yKgErx0Z4jp0PDcTaoQ_AafXv>=U?ky0EV270}FN-y;8%H5R~ z+*_E*LZ^#+iHnQk5|XLl)R-l6A=4?FNSbZg$XsA!zF>r99|#(=Akp{~DEfiygO}Vr zZ~x!#_kaE`*Wc9mVnKdMzR6@N@YQ<*Xe`RS8*|b3ts@Z|8j6kDR-;)B8wp;6Cby`D zAm)?#4j6#E*wZx*ohDOWmlSL@TKx^2pvq=GV`EOrF@!dmoZFKzUg(4d7J?m;;=<=g zzQQp{bm2Q0Kjn{kU_`3#)nIdPV^HYr6j%}8{sQJqa)>~N29G7>sG@U87rxBPp?PMT z#Ia=)qtk`2IMwQJ!aS-5F~-ag0%ZZ1oizi7W&xsGbU%7sS^BgTMM2%q{54LTmq=;%le=d`ul?!{JCUrxx zPE%!UImDc_jyz2XG_VVRuvuvb5pvKB;Rp#9f(_F&bc8}YV?*w*;KlzNIubcWX6ocW zb(7sf#h96{bpcwe^$}E1^Ju6`roa?x)SO*DuREBW+I{rO;lApk*B6`d{t_|;7B1yI zm5jXdZSuE@CkxB(JUZw8W$dqTy6D7o^jX?vZJBO!3G)wLyFdC3byi;bL*DTH4!v}2 z=C*QfVD@Hw&-q<%r?+-Z&==I(n+iAA49vFQiVt4@a9e6|_ti}cKgGUi|Mb9}Lzi*i z;}^>g4GmS#^pBsLjCPN__xX({Fz5NpG_m+)VXw1nI9-)){9s}}|2yl3mi>cyf1a)> z9XopW{^`EZ!PL+xrsU<}o2EC<-0IYdbAOmw*gwdA_Q+#f54@wLDs2VNZ0!5{V!W-# zaWbb})QV45)`MnbHMO<1=h!pr+csWu4RwwY<<&6HzZ%QD z7x3Ua@Zmhpz8NY`dgs?NNl8id=0We^I}B@3=-D*l(=Ff6DluD*%exlT#US?QLgCUZ z^yEL?ec9zQ=n+sr5I+&9i5ksl-cxlnw3;H2;H+K^2~1Q(0Z8gF;|13sF@6fg66hBsBaqoAAjQ2%_ns=%#4 l_s7$Vz@S(4{@|~w@dM5z2i&N8uY>>q002ovPDHLkV1oVeoW}qF diff --git a/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/top.png b/buildcraft_resources/assets/buildcraftbuilders/textures/blocks/libraryBlock/top.png new file mode 100755 index 0000000000000000000000000000000000000000..6dc4eb546b385ddd8f2954716a27d5f0a70e1d65 GIT binary patch literal 1238 zcmbVMTWB0r7#_5gvNlkSVk`{|6OmS&%bA_o-5Ih?XB-!Xg=z{|@ z=k|U7_n-eVZ}fI|HAOZ@2!d$J?oCud@0MeDc*0MY{65t0S5+4hod(h% znYGjbSb(Zg8=i*k1o7aoSuFXbd`{Mp#i${M2`mS*38K9ta8!K|`lJR2Ogl;4p1MMj zrjexfig_;Yq+r?HS$APyy}PK_2X)DyI<}MTfs74U&{xU88nQh(NK#97WjqhJS&CeO z_=8Dm*{M>#mrNlSk|HD0I>!StE-^q9BmkZvc@9Kbz_GkU10V}=8N|qyhr(*E(JvR2 z%!(FXC8@ISJ2J~wt5v2NWsp0-0!flsj%RtE#t7Q0*}fXkw%69Mpg>P|O~*HpO@DJ--0|bz@DmSFAaZEkF-dTpj15 zzpX*WvAe%e2*lpVJ+6t9q7ErYuUOFbvr3Y}CyZelaukTr-~gZvQGm1rggC8nMwA9I zRfKV<0-lRD?5xGl@O(;AVq8j0CjdwbiFiirjHbnm0y^VqNojDiw&$z14jbAg)?Vg{ znfr3(lnYfKxkZGA8dcC+Mn3Y&$RSfHa_e5xHc-{u7G`Mq!U}ZF1JKC0$Rd|QESqb{ z3!E;1xDM!8R7lWTLJ;YMrt`GaF9ra;t?W>&GDnBGN zo&94TKKIe%KaGAlY0VtDcev;EF8UpP`_Dg6&qww|W?uMf+t`lDM;CroN2kz-w{E`l zK0MdbI{4|W_3;a24t+fLWcH4AWAhiK@vEl~j@OA#URzLG?kw8Z$M>YzSEmf1Ha!X5PGK-I<|?cF%cycf^F8~Eu&&Au4UzZ&k}IpowY z z)iBS$8q2&F@Zmh)&@1cQH{H%D;Ls}-*aS2H004(cL_t&-83n-wf`R}50I<;_D%jn5 z9eSz%f0r8o0O+pE4~T>C5nA(E0pYIp3{kC~K%?8-gNN)1rs-k|EGw8~?IvIaQK!Cv zEgIGi=Z|@L~KhKb)g9tA9*Eje{1Nd!ZE#Pkiz5mV- hFosEfE#L+Kz#VPd2-kBL9S8sb002ovPDHLkV1gz;x}E?4 diff --git a/buildcraft_resources/assets/buildcraftcore/textures/blocks/engine/trunk_blue.png b/buildcraft_resources/assets/buildcraftcore/textures/blocks/engine/trunk_blue.png index 1981dbc1e5a2cbadf2c771a0b51b56a2e90075fe..d34a3c23ae3e1bc310c88d32c43d266148a2495f 100644 GIT binary patch literal 1539 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?_nZLn2Bde0{8v^K*7iAWdWaj57fJ{tG z$}cUkRRX#c;)UD-UthSvdBxCx0tT6WMPh-zp`L+$ZZ61QVAaJXL8%C5U{zflQdy9y zACy|0Us{w5jE^*Bm}X$u;kO8+5a=2!m;B_?+|;}hPZwJypom^dW{Q=Gftk6vn}LP1 znWLehp{t3bp_z%Ji>sxvo1wF_nSl#TuV-FyNn&1dDok%CLa#Yqy;jaesfi`|MIrh5 zIk4CZ$jC3rFV4s>P;d@5Q_u*{%uC5HFV+MFE!3r{MVV!(DQ-pixeDO0vC70^zlE!b zft#DNk&_G1>4vVx7UmW%ZZ06g+`!S%(M$=dHwBBop?ZyR>eUB2MjsThND&Pa0;V1i z6P|2=9C*S{%>$EaktaqCU^>AcGhB75bmHJ7TMXgIU%RTFEp z%aP+Bcy%H^F#qjZ_se;WlFBv?&eT9bt)&{Bo^Ljuog=6|>rudFN#7+uymF5fPg-4l zuJ(*Y)+{%^n?ir8KfhY)(4o=wCSB%uQ0P>RrEjLY`JbP4FhODSO`l69qU$#6Ox~pP zw*1}U`g=agzsh*e|Cn9#PsoSiw7|he9an|Qnxy^~k10zwwm;XCv3s>^o880tPd@rg zZ02%!#B+>yhD*X34G+c3M|KtbXtU=!<#nU|o3{iZoj0?2g&FUE_+^ySdnzu}^sN2?fn;)((zC`qurMxh)o!C3`UggTYj}EeStadT0 zym;z@)^S-yvmF&jo4E~SWW59JGkjk@yEsu~m)T9}DxhG1$g|vn#nHi0|5vGWPA#`t z;<}@&@A%_mwF_^4UG!LZzK>dBep6mRUfaLA``=sH*Ecwusj}zoWk7}O+51@~7+z`K VO;}YqKLJ!Md%F6$taD0e0s!otOQHY( delta 173 zcmV;e08;;h47~x67=Hu<0000`vtzda000$GOjJcPE+qf}{{Wr;0AT+pBpo*~CpIr7 z{x|oG0001ENkl&Tw%cm)Rl&W6L9$;6sJ!Jxh8?22?X6h&=-`41L2?^ b1#|)cK(!&?++aH>00000NkvXXu0mjf?WH=C diff --git a/buildcraft_resources/assets/buildcraftcore/textures/blocks/engine/trunk_green.png b/buildcraft_resources/assets/buildcraftcore/textures/blocks/engine/trunk_green.png index aee72d1d57f07ab8684e9308ef5a1345e03e1f71..a4ef07a4ebb2107700f6743a2d44b55d22054d6d 100644 GIT binary patch literal 1560 zcmaJ>3rrJt7{B3Uh=3sCYea6R5f$3&wUj=fYPl;=u{f`av_M7FRm7Ctz@Us(6meo!fFGkBee&!G!>r-cQOmZS>+tan(7KsKPA`DZ zXA{Yzv4oojDdu@bjiOGcQ|y$9X|@Q(R4NrJk)l$mNI;0VwG?l0i70ONmB<GC|CBMTvQN)`WpL>Mvs|<>G2(3j;(NcIrxAQrkxeW`oxWixe(;{v7XQx zT|Yd`yHp*nopN$`X+cJzJ<_i;w!GrUb2_HC;X--k+oxg@rfmwC9M+I>nGDi9pMu)C z(MC76JR&0XPR&=xGuW^DZlx?sC|z-BzI*%j)~1ycE1AfKKL!&sF1AeRE_FxMuF`lm z!!>jCbGBLUmc`A~f6;e^9=!YH=Sf@IOHa#h??UT56S^b>1E+Y8+M+T>y9mes$|nO`I9$d`{56lh9^{>Ry@nf%B~P5dR{W_n5d(o*_#$#QiFum;D>&~AB8p+nWK)Jmjt+{x}JR7)U6ZOHO^Lb z5B58w%6=~u!ksH^))=R6*)8L?(3G3EJ zZhm*h@vT?M6@@!N+WxiyZgGT*t*iG~W9?bu1AIwu+d$yfSp%SJRqNHq%_}Dr4ZgQe zkZ{tkWwq$gH@A8ka*n24Z=@qzZ6VwC_4c=Uql#yhbzxN*bHh(WYc=yU_+JYjxjQ|1 n9rN8W(Nrz;?>D++!}#gY)7^ue?SU0LeE({_E}dvh%HQ-i62MF+ delta 173 zcmV;e08;;$47~x67=Hu<0000`vtzda000$GOjJcPE+qhe0AA++MXCTOBpo*~CpIr7 zJ*`Q?0001ENkl&Tw%cm)Rl&W6L9$;6sJ!Jxh8?22?X6h&=-`41L2?^ b1#|)cK(!&?++aH>00000NkvXXu0mjf=$Sa4 diff --git a/buildcraft_resources/assets/buildcraftcore/textures/blocks/engine/trunk_red.png b/buildcraft_resources/assets/buildcraftcore/textures/blocks/engine/trunk_red.png index 457cbf4914d0f1e12788418356b67e5f9a3640e7..7443fc7d523de39031dc3dad03a2a8269ce79c50 100644 GIT binary patch literal 1908 zcmaJ?X;c$e6rKpmB3f4>0y+#!MJ1C71V{uVBm{y&LWqc1EioBQgk)l7fMF4lMJ&Y? z6*p+raCWl=;_=t`~v(=g;l41?6@C^i82EGKnxMJ!5y8_-Q^tuNI7eJup4mA=qw zb|^Dc$46D_;AA}-ksKydB*!W^N@%$s=tFWT2O5-+gQO--i*rd|Xv{B{+8eK72poeD zvA)nhqM|}2ARp7CAe+Hgc{R=Mvw9hSUlkiQA+0r^Y&b zZscw1Yk4jb@MPq}-qo#Pt^P9#hny|Ko_=EKdT!_X1&fE~4wXH`{7Xj~bJFbkSGAhm zDAs`fD-HQ%OY4#B&k`)0#Rnbt?E`o3sXB^p?COnHRXjn0{NMg^F=?t(){OepkxL(i zxDNQ-_L+lW-AtL&X*Z`Kj>$*T_phZozd&1!ylZo$+W zg$An*x(+&E_pP6Ehy{MfX;L+N-)o#yrqzs&9K_!`yon=X?sc_qslk?pbOYLLuEnAQ zOK!Wx=64!Ia6Knj;u6-fG@;wR?(VbLBJr8&)!wTPEdIIkPrqxmx-H)?*oS6*yS3!y z^q7uQxf03#gbg08bLezB-f6xz3mN&VX0_fu zzbnBeuQ9LgV{uP_wSnH^aQ@XG{4ld8d=mS@q3<#-p6d7>4o-YVzUA;o@dv@H)KNe0=4C-?s=u&izfS-H5^KjzDcs0U2%i{Wy^~I zNm+wdpIzkFX8QY-Y^QVa%EDEKYWaC@7AK|lizhv{jX!b<@~tj_HN(TI+Fz&cb>~C8(r4H3(lZJgDC@%B~v%Eu2#${v)jq>S^ue5O&Tw%cm)Rl&W6L9$;6sJ!Jxh8?22?X6h&=-`41L2?^ b1#|)cK(!&?++aH>00000NkvXXu0mjf4b3>g diff --git a/buildcraft_resources/assets/buildcraftcore/textures/blocks/engine/trunk_yellow.png b/buildcraft_resources/assets/buildcraftcore/textures/blocks/engine/trunk_yellow.png index 40e2106b981a69d81d20da3353b750edbe5f88eb..a0e79d9598da61dda4605786d41acd3aecb55809 100644 GIT binary patch literal 1545 zcmaJ>3rrJt7{39-#{^&976-E1*@Y6N*Xs*!biSE$z!cEo25JH-GB;n~Mr1l*igVi)LAS(tm-|1y{C?l}`yRPK zM%v7%(Ql0g03gaV3$yV14E_U0M)K>f&zG*`w@IAA#$_@2oCjwKKfXsjb2 zwP41fSo}=`6>yvjg<+4!BlgI|4C{mul}ZImq_9+)$RiTnKAOY5iL`slum_BA+gZ}Z zkqixnJmPswA*X?OrB73!TxRn#$FzH>P<+W?FYba7u>_{5P+o&*H)kQ9%XlH$ZS}bb z*h09OLe|drBY(;;nXlc;1BHOR8Wdyfg%m+^CQJkI7O{hLpfZ_CuG1-$dZiXY5QAK6 z&?jM-N@`GO<(N{g8s?g4H;2=9Vwg)l=PF*xMfEI!a|~-`m<7Y#%P3$t#$CX;Kz)`H z6lIgNgYmc%LZuy2O0eW2!eL|?3LLBrO1>a|vOz8}8ud~g#!E*GvgD*>%!q}SB#Bn5 zRYF5t#|!cv;>!M)3-e;&P-Fkq=wTB-J)z^XvE?t%2A`n$X=nMd9*94+1^~i7GGSV) z_iA@`)4Ui&aO$&}>h+rii*b?T!lKNs*4_;R;ZIiScAi|S4L*wPNj;g6@anc>$Lh+e zobrj2H_6UUN;*72>J?vZ?OI!}=}ZysD=)vbC9$rpy^V>`iFS80v5mWq21RSSQ?uKe z_sh*hN=cI|S+KtG=9jm8^mX6pxgAfex$O$|P1%$Fceet;ceaP;teNrPVSVhVO(K&$ zx|vFD6*XO~3iO%cngy!8fH2LOyUG;NuzH06GFL=3UbSslA)UB>=bsbMu+EJGEy+N$SUEV!>O<>5t#8ifaweQQD68L^K1+6f7b#es*I<`@#CW3*d-~ zC}-~#Tf!Nnx9F>gu5k_Yyu2|MVHhiV{rKIZKhsA#jEl#tYYEnVzvueL@X;EMFe@p?aCx8@bjW5Rx@JDyGO!Y%D)( z*j9FD;@D-;XV1T4pblC{aN2S#asvzt7$4X_y+9 zThuEJR{nTzvYlF2789@v$s2Eu71ut>Ngv4H@4vQN<~AnurTKT<|Lu5PLALG#n_F_@(p`DCsip9{buBj^e*^R4wjVOEH(E!v{O5HY cS_Ibu5BsY}5hH(D9{M?(3~5-E?!y)T0F|v$?*IS* delta 173 zcmV;e08;;n47~x67=Hu<0000`vtzda000$GOjJcPE+zj(0RP_r|A7D~Bpo*~CpIr7 zdtDvm0001ENkl&Tw%cm)Rl&W6L9$;6sJ!Jxh8?22?X6h&=-`41L2?^ b1#|)cK(!&?++aH>00000NkvXXu0mjf=1)3e diff --git a/buildcraft_resources/assets/buildcraftcore/textures/blocks/engineWood/base.png b/buildcraft_resources/assets/buildcraftcore/textures/blocks/engineWood/base.png old mode 100644 new mode 100755 index 47d4c88b8eeac0039658eafcb4a7f8bee1a161ea..b32e7d539c344377f732df6f85cfa6792ab7fd2a GIT binary patch literal 1303 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!2~3A|G&Hpq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1+hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo~drKfsvttxuu?= zsfnebp^k!)fuXU!p@F`UrLLi&m5I5Pp_u{{C;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i@#0$9vzP@mS^NOJX1q?F%io^naLp=li++2{qz^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$0fMFwMZQ!*3BtA<#8eF8Rr&xv6<2o-VdZKoPx^%oHnAM;8-kHvU~3oO<y28KXOr4zUfxHJ@ri-qB`+ws3n?@VC`*sbRQ(WaQ&a#mD^Q%h1CSziM zp!Y-e5R=Z!(;hEg)GGHwb^cwaFDxql%F>M|j-9sc%{g&-)gP;S%uh03xxP9PdJ@Rn zRlQ)=;)Chp4t1^N+lzn>VCwsJTYvM>t1lhywKTW(vzDp)ul{tin&D=^dBIaR8J<`A zRn>eG-cetb`gAqtgL&_FzL%b7vwr&W_*;VPu`}M6H@=_x{43YyygBdxPtU)9FUIV* x-0G0hy5z6}&8+qEK>Y^o}rSZb%seGb5rh zuq~aEy-KZBRcjqP&kZSKVnyaLG8-+Op+G`*A2W}g=Y~{qV#dy$ywK7aIrX)3C-s!M zA!Q8L#{spaQ%qYZcRy>#HaDb>h%g(km>o-}K1Cka$X~6|-0A(_ZP)_wIu`e`-EDwS lzm5elZujq3_#fWhz5$B*4<)-uP>KKm002ovPDHLkV1gjdiroMJ diff --git a/buildcraft_resources/assets/buildcraftcore/textures/blocks/engineWood/chamber.png b/buildcraft_resources/assets/buildcraftcore/textures/blocks/engineWood/chamber.png old mode 100644 new mode 100755 index 616afbaf51dc0384a9df0af3614154feaaeccc9e..b129460a8ffabb4a57b9ec1b9aaeb2277075517f GIT binary patch literal 1096 zcmaJ=Pe>F|7@ra{B`+CSd1xGq6xyA6tLr+G+on6a?LsTIE+`$MaptL`&b)Ev>5d)@ zM2w&aq7H!xX$Qd)x|Aqpc&kGfK_w5Rd5BViiaZ3;o7GhhZ4YL?_viQfec$`O@7=De zy_}bODwm?Dyl6y>6MKn#^x;F~Kk~S5fS8jw)QIa*Gfqk-q^cFv1nH?CrXPaf{6a=^XneCt&V|8>8 znUMCny)K#a0NTg9fw!Co;5_Z&Kp6`-*2B915XyZ5sGxTSL%f+vvk(`~jDM2`X4IJ8igDU-rA7dx&D zA!tGgBQt?eM>>mjtq3El6&Z9eNS8FIx`L8cX$l^T2~pj`k}kuj=x2z4TU8YySXo`} z^M<)#MKu5*R9*wbN)eQSa1E&7YJ8zIS447`26dd~Dtlazk?VAVW)ROJG}UgXgiWN; zsT&Jw##ln3jCwmD-xJ@bwWf{J151(I(!)&Wmj|1L zM{9ep%>_%IoA0CV9z|9UI8Q4zA{A}3%Tu4F`GT$S$+5dbKjQ1-`LkPNcb*l@uMF1x z;ir#Z^%uRE`S{yH4+(q{Vr delta 152 zcmX@Xv4U}eL_G^L0|P_A=H%@_N;JSH#MRtT-B?exIn^p7K+jBH)l^^2LSJ?9ycRp4 z0zXd|#}JFt$q5Qv8(Nm_+OeyFgPrXYgK~!eiy%|VtOHC+F%B)vGs6PbH7t;pa7biP zG+>xKY0-p9LRt$O)->F_5pd&%#8iU>3D(642N)Oc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`ZfR!ZY~p0>Y+&MMXy|I}=w@l*v4~Pj*wm=R%;iu*SQ+p9GS$BS3+z-qx?w&4=Ar-fL zg0p=>+(rI9ySH0s^@fJ>g|EGoS0o5B?TgrIYR4oZf5gov7*wC2Rny)G)CH3@w8~1UIgK6x^QcQ04e&Kn^cJVW9vhy;USSMw({%=#L z-%x3K)S+rqpRc#w(e&=F39sgL+^CD1+RtJp#-%)|U3h!g#h%J;gWBt6m7X%;BFk?G z9_Kg}VU$w8bFR@|?uYk+G!2_pA6=~#BYIl1IE_#13(p;$0;Q1Lz_K{KvRlE08h`kH z{`~21HcV?~bVsxNxkEA9O&3c~cN9ws%T2ivG~sH=6tCwsJo%4UY|MGzgj_B#v1*uA zm^Y{E&tco31x2E=%6~Iv8~1wNg~l7K-4QTvlq{k*{@RcIa$`-MN7xHGb4 zwfC)%IDKhzK}8UwmsS3QgL|zVRJg=sn$%9bp1$sY{yZ5OnHL9HLJx0kyuM*p)Q3mA z?@RJ8xnAd|`}A?afrm$aUa_g!Z^7!=^&lpj`@NHa%E{mN|8?G7x3WNMmXDO7F2|=A zFErLnV2zkoqix^+<&k+_;@*v;PuXTHAtI4-JKt*UB2ru3Iqe+uFMgIqpnyy!?ya#ZEUV zuYHvwqVgic{NJ&azpB2x{n>caYfrLTm)W|astJ4cx21(oD;BAm3#HgGCuEws9zdi~p_pPN#muZeJ# z*d-@rz5IV!!);6d8h&;&`~|WT@6y zpwV2U(|Ek>m4DO!bhPD7mBvMoz-Y1IS*F)^z3yeE)o8BXT%OKSnaDnkyL!6oEpwzE zWtK{ey+nt$RGG;tcBCtMsU>iqOpU%fhqe}FlvkwGH-oYrY?%N|dq$PS0aAegH)a4e zWG#TNCv~O(IcNYqYydN4A$FwE0E?Ue000DZQchC<0DmJRuU%k?0002TNkl&K%_DxB$IcRwBqv7Wr%4i#B#mMQ7fF(T>0vVu{$qbO00000NkvXX Hu0mjfDJ@mp diff --git a/buildcraft_resources/assets/buildcraftcore/textures/items/goldGearItem.png b/buildcraft_resources/assets/buildcraftcore/textures/items/goldGearItem.png index e34f363c782f606a7fbf9e9ccef11f72f0c559eb..b1b9d26d0eedfb6fd46c6469a4864df3f8d2c610 100644 GIT binary patch literal 1634 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`?quXv4~Pj*wm=R%;iu*SQ+p9GS?7rqyk%fuy5{NP7*cU7 zWOAm*lt7WT`T4(mwAyAm@f-@e-Q%ULJ<)82*pe6F7o7q{SVVPiHHltbe@fn&Lr}MC zg(#QWzl@1t8yCsvM$GKcO<5Y&_N4vtir~e|tJj|kVAs39_j~pE>ieJX73*?}91?Kv zjaYLdr^I9X{O#Y1mo5xF`+MQj)o1r5S5Etv&U@a~DSd(dk~VSi=7p2JKkpS{+{&8p zwar;4TIT$hDFze&ChZSbVt-lSS~q3BqnJ0Sntj&8^7+uBi=O;@3(JZ zSLyAWc6hDOk<6ay@$x}WZwD_~$dtLOt)tkZS4ME6WdBo6|elc9fh-4+@uCy8pSbZDWU$rS^E)X@bA6r=|31j&U(AGk z-+G@-`Bn7f$w9-5lfUd)7^L~~n|JtSme$)U_OIK$4ssq54Z41F^__Q_dt0)v*u408 z=EzU(&cd&5)k*?yR7FC%-}Uc!JY8FK{fC~oX4%DFC+=mPJ|UR6IbuGmuu(Bbna!iq zudTXP-EB+x_JtwRuHg93jCHG3*X+oaPV}4gcYo({{$!ph>mGY$O`7=g;kSm3mr6sd z;#OVy_BUVYm(GOqV*j;l%~6Evsk6uK#*H zQzEnK!F}7_ixF&B-MudqCd@XEia#gT^Jbd+jAw@W0Y}%JWu8&*b->1(b4ozz;f-4i zg;pdSDVV)^X~903d*<5P>-mj2ua?VrC;LjT{-J$8M>j;8z zq{dLMyKvmRVE&7#LcB=Dt1S2wa7z$KhKs}qiOp*m;$fbTA61qSde1w1j5G<(IBe9xZDhv2o4_J)7U6o>Y?yb zjOk)T$`GP4BET>Y&UA#-h|pLqMCd4-BG@^YE34*%zVQ-G=5 zoqh&F8Hg0Yuf*7X*w`52BA~*g3LXi(B!bBZ<-b07B zQD(Nk^mM>PS=P3z+Be=k<4Ra$jm$n*WxA49Nq#YBe@mgLgub@K-k$IFs>zBy-IZtE z^i{#BwVGhl=*rzidU-P@W(?l1kOl8qj7GY)mSY{z7iC#8&eI=mm_DoO6SJw;3F+OP z+-B-&tc893XPvd}xixRE?UP~M(SfdCoxH}CW+7SUyws=UtVYF`=O1ykXIgKzmu$UIU{_J?uFE_e5P+~@Q8K7QZt z?Mq2coENq@j7Fo)OH#=-)EFLo=FFzvACCNmPy?M*=t(VMCY^{4rAbVL0R@sQNG7U5 z5mWxwA5amEHp`6Z^rT+BPG}@73?ztQxGYwRO{0n8T~@@HgOY#&&BSmq=x@IO0+>k* zrg79vwN-{@VXAF5RJ$!%XWW)!6qvyHI6&kQQUVr~L;#m17q<&tVsKJdNX>)W5C}{{ z$Q&^^<&<8X0>}s(3UC;)F-9f~16(cxW^=e)cs0Oc!YqhM-P{8EFLg@fs{3y z$t={!mD9GUl^Dz-NvjZooK7dh8OtDSnGh@x2!a|cRt$xRvFGC?;)=oTQ6U96YB$<2 zD~S;}5L84AL>?&yDNm0AQxhVUdt$c9meg5=5xW1a=Y$t1ZLq`ojrm`NxR$oM>g zRLSMan2J~!mawE!1y{i5$rUoGOu`9iyoxL5DR~Mhk0)a>c`&Sq6~KHppCe(iIc$N9 zDPV=TNw}Rva3dPBi&1u`x!l)sg)$q8kc3S~5V@fWNXa5d!k$G~0hyKytVqLf6XCS4 z3?9!^v~tvjIZ%_*Mp%H!{0gyG*q1W@EAA<->Hp*mqMU((#qqCV32jjo7@WQ=eQNQt zc~G3{7#r0Zdu6u+G}=sel3b#54d}FM*JdM;n`@S={xacrNlITrJs7rJY+euEk{x&< z4HRZo{jq3qZygq~G~$i>%T_Jcov$liqA&NPtnm-^ZyXo;y>+auX* zwnuYPWi=Y3qNAhtupO=E&Xsg@h*4yJeLZ}qzrV;(U+nb?T1sr*{RMH*0t|wn!ofZA7G3w1K3x>U=R;yWKqod7D)v9HYHPYIhfxr&BZ+twx2Z0afL@n+4^Xb#% zj|;YMpXK$u=u7_g{P_~F!2S8vtBIt;aqZ~}t+ruhd{rJv>Qw8FYxr?-70aGHdD64x z`MrsWC4RrZt*tFwG1uPr>7K)ye9;FaNoH8B;XPH=>*+a7Zuk7E>grxNkDivA%085t zk&*DdvG>so?3e3`YMBE zVK-U6dG@Wuyss`)ZfZHeE6-egQEzzBUOJcA__oXGOyibYu0Gi6D_JWGcQgAMw#=AK X1Nph;!G;EU@VB3&NS2?GX6*hOLY98) delta 456 zcmV;(0XP2R4A%pY8Gi!+001a04^sdD0L)NKR7Gn)f7XBheTax(dUr)+U$nr#sI|4R z$H&9l+orR#wZXr_&&^$RbA*SHKdCyEbb>Z9dM`3GM0P-rJ;XGR ziAdmlW6d#6(8qPGaKjs8#(2dW<_eQ33!UN&2^21Q!EBcaZt) zk@GHO0c(aB;UZY4SKeg;xivG~-Ajk;9GpI_AMnt~?LkHS8w+tnobhr^?~Y~dFLM-Fi5qgkN<0000c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`kBtHuNWFoz#!AFNG#Ad)HBe}%?0@jth%@)C>7xhtg4GcDhpEegHnt0 zON)|$@sXws(+mtd{1$-}0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij||KvxT{( zlbe~Dvw^Fzp`oLZlas5NrG>eRtFx1{qbbY`Y`gLD2*8txIZAW?5>ATTyO0Qv}Q!yH_r_2h4G8o-U3d6}Mz2zs{eWDsgQ6 z^W2v|W6s{1Ta}U=R+h0~?p*KY1%^&0AM`oiaI*>c&-i)rv*OI|PmV4!^1eNtQ5@Zz zdCEG4eO)uw;`a~Qe?K(kdGrDi50(E%KR#CXSbX!q)|J^aX3RM7_;{$vY~O;lVccFzg`Vs0 zX*_%|P;08!QKmj+2|kA2+!2 zej(p(UVRz9poe)02?APXJ2u}|6PsW8R;Ot(@Tq&mgu%hzuK z%MUZo4C-B|sK4#B^_Ghn2U6;oUY2mh-sNNYW2!Y-`+#Svk748CYrc;=O%ItyKK${c zT4k!A^6ZlfLi7&5|DHT|uJb|x6DeJzn>v$?xj3`WJ>4|nbgD)5JDHd7Ua@fg;9qpE zP2)*XkIm!7dE2FPr-Q^Gtrx%aC9Uns ztI~^~vr^mbGR+RZEm|10_R!(DP{T(j-8F4u{2yO?lRIS_*NJ>l&Ku^%)p9Anj;;5( z&K$E}Zjn15YhwAX2?-lmR)47y{`U5@s4CYw4u@pz(-j*wb%p!SQ))Vz^6gswk8hvM zw_JUcxcPRV&XbL^BAWjOyHv%NpaW%*U5*{6jsGH&bKdaGVTbbHH+$Cv%>(q7(Cu%6l_Q2OcU^ZA|9C$CCq z%zIw=b+>lT2`fRNpBLNTZ{`hs&@Nwp=+Ggi7M&L*Rb~GflRlbmjEqQab!z<2D#1{3 Wcv94V-T(VRHJzucpUXO@geCy7s_er6 delta 643 zcmV-}0(||}4v__r8Gi!+001a04^sdD0gO;gR7Gn)f7XBhCOWMfNTUH||98#6H| zK0Gx{O4Ri5y4lqAR#6`K2K$1gOZZ2yu21ID;Y5^ZGU@LZfa+Icw%{YI89G$ ze|?6QluTV)bAN<}K21t%fPPkMX*p0*COR%~iTQczE2WLPfrvpD)w?%Y5)KL26R$RQvd*Y5)uaXq)LAP006E@L_t&-89l+VO~X(W zK+${c=Qw=3iJ(G}D5wz)OE4D=5)ErmutDmKkdg@^k_Ly!*zoOwb7Zy<&P)Pba4vMT zrXMLWm3(7VWm&<6Jpr{#vwo#^1SI`xHF;d60}(^gM)@t0-{8HI(+(cYx@erVKzmBs zMdOU@%IzAd9-Vw%n!OSHG)`JSZWRLdH_q-<2%zyF6tLNKugmPEuAd=*4eYNScp@v9 dt;^w^*&pjHB-j3zPev=Tr8xzsfXQiW_b2~k!;1d<@yV2BZ@3hgFYAVRWXvp|3WR1Ud> z!L)Wz5$jd8o&_AiIyfp&Q5msSK{-YQQBf4R6i~WB(Ed@nv%9}z-h1Eo{l2%eIpRQn zv)T5uDHMuXz#6`U94!owsR{XB)IW}pgB>9VB{pCYL;`}N6dwg9LxBJl5{XJsM3ESK z1NEX%jA%+}C=n|97M5cwI%2@kbt(`@+UrZzG(f4~(n35$ z43WkUjZ&^j!qE*$fl_%=wA@oc<9P#KI+zqtp#%cxR55BTtmD!qbYXIC*am691cZp@ z(mo{>DiQ;J7>)uSbe6lE0YLzVLx3G@UO9m69*$kWr)puuFilL&WhqMAT-?rN>mlmZ{s%5kNJ zP-1Gppoqw@ID$(fGyPP8O7mG(t(`n3^1whHq5&Z~!%)%`P$c?)s7m!2ttBMrmwf+I zSSwA`pr8cRVsW^fY+QtsA(RI8!%>95a4CkxOr4@Q3L`LW6s7_EHgEvf5T#myC1}5y zz>7q1fLco+YB?If=h8?8x>BitR|xnVh~+8pW3Yt~Bw%@R7z{s%0r@foJ}j0GYl_Rq zwn+CFrk`y~E_$`>8Xv@oGMjtF^af4URPjXDFCsp zn(LNl-IKdzZl9}-N43R(Ud3TP&g(~e;$pkr?KE8<>wQh%zhv&LwzSG{@9?mKMum(0 z-bkF2@4OD_zrSqH9%g7v;{KJ*1)_jlC-)TT#bBo)ZkZryVS~Km7iaa3WVpx}wwE1mAE&Odkz2l~*S@*^)wxHv-_ZhU zldFnz-5ST%6^gB_%VW%{c5QZON5{|DH;cQjcHz&h%0ghqcQJ}?INPMxvQKoPa%Psl zu#)-4oJR~~w+(^p#xfl`ENAlSu2$WZ^y=!AJ@y?D;}$0Amg58G!dvcpBd! zRC#gp@RpLlx0)3byI((qGkK2P-TfhP15f6w^BfMBjkUdB{$w7je2ZgeUH^v;yq&!i z+_Kb4bSM6NNL0m$+nfU*a<^Bf(Dt*RC8Ig%L_|*gAe|jiV;p~`BK1(U@%+YN-X>}f z)o#z}yTbA`#ag$*vc{+*710?(YEZ8YYPEAud$h`_y!vKeDaDAAKxB>%+BMY~{z?IY LK>iuuA9nl$aO2YZ delta 428 zcmV;d0aN~h4!Z-88Gi!+001a04^sdD0MbxQR7Gn)f7XBhmWXn$qKu4H5N&fc|rwWD*$gW0Aeo$VlM+;je>ysibw!O<d&n`QP|URi9Hn11n>{* WcN_#4hD!hd0000|6H_V+Po~;1Ffc1+hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo~drKfsvttxuu?= zsfnebp^k!)fuXU!p@F`UrLLi&m5I5Pp_u{{C;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i@#0$9vzP@mS^NOJX1q?F%io^naLp=li++2{qz^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$0fMFwMZQ!*3BtA<#8eF8Rr&xv6<2o-VdZKoPx^%oHnA3v)w9Q%hH8 zGfO8!Lst_gb7Ny?Q#VUzOA8ANXLDniUeCPZlEl2^RG8jOgkBfCdaay`QWHz^i$e1A zb6~L-kda@KU!0L&px_*Arl1j?nU|7ZUaScUTBu7?i!#enQ{0O3a}~g0W0i@;eltU3 zM`LF*S7#$96QJ9TEnS>kfQ~kBa&&PvaddT4g6d7d;%}&4H=KI)fsWA!MJ!T8!-RmT z2gHOYTObFX@Kf`Esl5o8tmXXrG8q^cb3I)gLn>~)33tpoY#=a2)NyhG&%(VdznboS z?zs1>@t?x^ljb~s-QzEKS7|<(bgA1j%fsiY&t{I53olMH70lpo=18tiD@#4<8hc&q zsnJGpo3qasHOYx_M>21Fce`xw{rfy@^^ZPRoO$3rHBI8fyjTC4Ocnd}?===*a(ZR6 zZwKR(bn$ZE&7oOKrnIk5^^{?YuW4EFd;hAB7Cd$G)ePMJ>>oD2K4dF!^!;MyQ-KV= z7ZS4<)xZ0>@Ak(Zd&?T8@NR8e*1vdDc5+2cA@iw=j*(F<%O1XTN&eZyW+1xQxo%0b zK-L`~*LH8~npvI;*gB(3-^q16`d-MFuyNI@tDJm7v73H8Vhh-ORxRYg!}=dh$}Q@Z z5~~)@?0ec>o)8)O;;ZF}2kxOCE#|8IcNG2?pTBF}6)BJR0=H9VKVAB9KkuF`x_m#k zA8v@+W7>A%QvpM)tpA+uN9y)YuCL_3MybZ#bTFI1o5BpDN@_U`7_L`)`!CYjITchG NdAj)63u*`mEiEmK3kyaD25bljJp~0;2M2-*3Q-3KGcz+?2M1*c2zdz!R0juh2?;hf zHiilc9v&VU85wX132q4qD=RB0DJe8GG#nfpO9logC@4Y&1%EX)H9iFeeF_Sh3=DM% z31|oiKLrINBO{&+3{M6Ij|&S}2M2Nq35p8~J3Bi(JUlBaC4>qJUkC^`HZd`o zEG#T5E-gd_1v57_Jv}{51_q!E41Wp=RR;%51qCW9DpCgr8y*~@3=E_V4UP*7K0ZEX z2nbvU2U-UQIe$4hmkbOr1Ozw*1vv!;GXw-T1Oz(;1ug^xF$4r5B_d-82&fGWsSOP# zC?_WDIp;tD=Q~Q1qB}; zA0QwgH#av$1qC|<1WX17R|f}B1_n9>1uO&vVF(CL27d;o4Gmid2S5e}RR#t%1O%O4 zUk3mH0d`45K~#8N?a@QeWI+_i;aj>i+P2-VZQCB(_Gh2{*;G22)ujKsXY)%{j_}Wy z$wccpl~RH+b<=bUnj4_LW%zQ%W1b(Ze)RUB`GG{pj%bVa56!lvghZja0VKu|PUTcg z3fN7ox_{8zKwp$|2Zv_yLvsUIET?9&)~;naO_T^s zK=Z%QlF94e&Qf-1epzJ!0?iGq#3k}!Sy$BNMUhNS`0|av*|%Cti8DR_|?el q>?OmyCyySCKfM^#!vC@1hWiWj*LW{eGyS3f00008U}fi7AzZCsS=07?>3^Ln2Bde0{8v^K*7iAWdWaj57fJ{tG z$}cUkRRX#c;)UD-xUqS~&|m@vn0`fKfxe-h0mw@*g}%P{mFDKcRTq~8r6Sym)!^cg z%7Rq=pw#00(xPNw#HA^NtSYc_E=o--$uA1Y&(DE{Vn9ZINq%ugeu09svw}u=W?o8u zd9fx~xv#I4XI^nhVqS8pr;Du;&;Y&6%oHnUV+%JkXJZ3rGe<*1Lst_gS2H6w6DI>V zH%mhoH*;f{UYGpj(%jU%5}4i;gkD3OdO;~6w*Y9fOKMSOS!#+~QGTuh*vD3xINf68 ziqkx(-V~f}F>=GHS0CsYeNen2#WPF@n0P=;c&Y_*;ORa!5181CfT>z}(yb6+j(F?o z;uunK>&hmuqlszHBn{?JmDL#h+~Yf2Ky>vKD(}xIQ=fp#IkHc25s2 zx>p)&bbj;ESG%^=UiiK5rA@?-jdH&ZMt-l2K3gc0D#7-bso{9?ZL@49=Rfy(r=@!G zE}Hn+=Ir`aUVV=}DsS{R3cB;P^&C!)zq0SWn6q44aA@=i#)cK8v1{cNYHGs+RR zc`@$$DC7Ci`+wAFW(GXB93>Md-iAUbDhpY6_Z5ic9WJtHSUD-`-nre&x7Z`cxz%Pi zdnXa`zLIyNx&wnMRzy2-#=Z`;s|N8p-uQPxA z{pa8Amb2^4GIwmUdB6J0j~~B2=lk~`|N8#@w|}1f@%^`-fBEtAuhOso`0?}iUw-@X z@co~^{?f8n(`}j>U#9rALCBT1DZBRM*eMxHIQPQP6;V4HM5fs+ebs5VRuFAO*0$F2 z1jiPJ^?!Tgj)Hm2ym{m6SKL|RdpteSJKXYZV(>R*RDjzFi8+eh_x-3jYhL(UJP>jT z&AC=;#%PUwnNj!c6y?eqVY!~cFP~&R_*2Nk#@BT1aBh@KUZf`B;F-h&uIy}cH;A}d zR07*qoM6N<$f@~xo!2kdN diff --git a/buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineCreative/trunk.png b/buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineCreative/trunk.png old mode 100644 new mode 100755 index e41bd073e8eee18f40836a65a03d1d69cd8baac2..fbf7fc7b4060a1150d8dd60847273fe13e927e86 GIT binary patch literal 1601 zcmaJ>3sBQ`7!MB_%0qnJ5T=X8?Es-^Qd-)K7TTu8ifDx@b?T1N1}L>jY~xyx%?DG4 z?gT*`H>UVF4%|H4hD9BC4(DTlh#PZE94huUCh7pI!VqOCf^K)tLhrUXp^0KiYV5KChAIOYSry_ogj-VZ-ww%N2?Lno8zv{h@y0g0YW!$GAaGsFVN zAhc1$dL~Mfr~+lA83%c6UZjqLz+kkH4fCReFdP9Q9GDBi90(Cc!Y~>Yjlz6z{9!TC z%=&aR2~&*6Vs0W+j5OL98u%ZnZfbB_7k1#Y4v0t8`U+6EDbb^m5k|fzkdh z@wMheW9m&?>>K`F-Bf>DL;h&)-+L&6mwTbd@oC$S-u=_g2t5;~2gcL{>f(HNOLV?B zTBwWb#1&6IFRN&DyrbN?2=J)l_HsNnFI(n0sj{H7yDZqbOO-C2)eKdJQ2vLf#&>h} zdQDzz^c;Nh`<2tS(f;nV5z)wn-Y+Z4&zrqV<-2`ThuXwE8%^841eYO~5~ z=Z4}rB9Cfu-^vPgewe@fKt!HHa4%?ILu-EO)l_>Q)&}s!q3(Gly@6T5b*tGvjcyCR zKP(PjP*5$M`a{Ad|L*saXAF98-wXs`lIG#9DDhNzwdpw>uBfl-0o0n%v|=G{rpLtPq*swzTlY`c*ojnMJ&`U zrdqT0#5U)VfTXhCZOF$ue!{VMb=s^=(>w202mExM*l{m>e}0v5$iCd&nQ|)vsFbb= zavbn_y}2mhQntzCXWwdU@+XQzXTtpXa|?Z-5uY08)5y77fv$aDNFOzfp6)N(^V@LY nK|iZw#SGPdUaIy{{3bU*UVOOY!RTAJT|afDdD=8&QOG_mq zATKH*As-zkBq2OJJR>0U*RkyP=kc1fM7jVghzOCWG}Qs1r2^yE{rPYo+cx$;uFuQDQ%Hbd zo}xq(5&mV`h)9x7DE8MM|Ni?rO+V)QKmWS!E&xP~L_4Jj5JF-Vg_Kn-xSyZ@{?B!q z{;}Tw`rrL+^Pw>6AdqbV*F8v@wy0 zN~aPNZev@gWqiJk;MV52xMZn0Mph;o&rXOym7X5|RYKBBp7Hz!T)>ZCuy$ z=hw&Acz<5cAD^FJ<8VEHJlsCVeLg>YwIKo)gdhNjO2gxE?56Q}dc2I?IvyV%|BQJa zr_;-6?B{Vg1=>mz0MV!j0>J5G9QWtP)9Ezs$MfUE$7#&h^UKHSVa)US<0b%_B2mC3 z01yI~dAY93ynA_B)_FM|ckjz|Sf<^}aoHV~%YRV>MIn(EVp)g{yuXim8khH%bsP@k z<^6IQ({8-Kyzj<+H~##WhOz?2PD2P02mvnha(F)Pr{lUzhx1|D9hUw6d|c;sx$Mrz z3n2JS2&o8!@J&?7dii}hZ1c3Pzvp#3?&kIPv~I`aZvFi{ZR>@^1WW-0V!A7s2<)e^ z9)GvPyr0IjZqM_yAJeq$=lL-9yKO!Y)j-I1gizHQc&Zkrb(x=+d77qWUYB*A*JVE~ z(>hJdG%fQ)gGne63tI#d0`wSTx{l@7wvEFy&fB((X&TEm#&$i9^JXLs5h^4Y1%;0A z`Yu&q}y1kD1xPN{9%y%bgY$;;}BN9R+bl?f;04Ul)N*aqK z7?n~jp2VQgNLQkmB#Aa1S_}Y4LZHDY1^69foAV35lKm`DTfPab5 zG14svAy9;b5Kv>(s1PevDh2^H4FRZxh=wBg9U-BCGMFUBwuwoiNg^Nu5Q3l-p@bwt zkfb$qQ+6~-8$u93ib9j_3Qb{&5+cz^1QiTMEhth^6+qh%n;M1& diff --git a/buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineIron/base.png b/buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineIron/base.png old mode 100644 new mode 100755 index 55a51b9f8978cbacd7696e9ee03ea05a31605ca4..b86082b5f4a2dcd2e9736156bbb603ed771f67f5 GIT binary patch literal 1426 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!2~3A|G&Hpq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~;1Ffc1+hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo~drKfsvttxuu?= zsfnebp^k!)fuXU!p@F`UrLLi&m5I5Pp_u{{C;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i@#0$9vzP@mS^NOJX1q?F%io^naLp=li++2{qz^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$0fMFwMZQ!*3BtA<#8eF8Rr&xv6<2o-VdZKoPx^%oHmlOGjrHXG;TT zGfPK9Lst_EM@u71Lvu?vb8}NS69XrhUeCPZlEl2^RG8jOxLyl4yn3yii&7Iy@{2<9 z^K)Ra7m$%(l3$#WU!dR|Y^I2vGtwh!l@3&+p6n-{*T^Ky|ogZjk9eZ95o7}mJ+@+a3M_v;>U zf6sVYBl?kawKb!yl9~Md_uqT>&TZ&k|A<9zdbiQ3r0|N%)Ag#wGM5EU4H5TO`S474 zdM%&4ZNtHYgx!l2Eh3T*Ox$`yrB6?8n#HAn#F`pW^?(&?H~nh!IP?AE6@J4Lzka-6 z+^~AK)^>KC#bs)C_uevob>ovaXYghGw@1OYb@djH?V*bIZg?{cSDV zv<(NR9SAq%URh+qzj~kj>v9b{orViP?XL5jtgiiB|G>LOW4_L}8hKfL-e)s^d4At{ zC1BUF{F!`ObM0IGr=4EPSrgFvkHaonM{MiA;Q8CK_RV5Iz^uLhSS1+PwfmRN^OZRS PDkVK#{an^LB{Ts5ppy=u delta 404 zcmV;F0c-w}3!?*&8Gi!+005OkjFM+H^ENLf>+9sCezc?$;rvj&(F}%(CqB&>gwvq$jHRR z#L>~w*x1(86xw*MGFD1pr#ed`D+bsD=Kf8)8E}2SML^ta+Ua|z-3|Z%!zT&AX}1H+aTs2P7~>F`opL+S2~-B*23CPi zyB#Q;y+?#bE`Qu9w*wn#oJJtXGh5x~Y3m@*hB`Zq)Htb diff --git a/buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineIron/chamber.png b/buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineIron/chamber.png old mode 100644 new mode 100755 index 616afbaf51dc0384a9df0af3614154feaaeccc9e..9f0d12b7d2616ae27e128e087495f9185a981064 GIT binary patch literal 1096 zcmaJ=O=#0l9FGpv4R>+k)E&$+#0_lI*R|^sS8JD4Td-r+!ionmOWwMyOI}P~*Q|#L zV@w1^5j_aoz>kCA2YAu3Q3u}K!OLI{J*d-zs6$ZEgD`yQ*3N@9koW%Y@%#P$pYK9< z*Rk4~y)_g?)yAS?g6v1gPjA~o)?1S!V`STdBPo0m_2HakLMp7FUP#9@DGd`)Qijhy zhaD7E)u<*@I2Aw6%Sdxe4#sV324PcFN60oLIRi1>3)89|WWLVMF|?`#nI3=K6E_6d zuSWAGJeluG%K41UDNN`v-C^@YK!aGKZEaAucss}xb$Mbt*DOO9AvhCc)`CjKyJ-QL zkoLR%F4^M+bbxaMzmEgpAno;lRu*_zFXsY)_XT*+Mz4Pi@n$N0d_p|B?u(p)Oh3j3 z&$78(&Yf#@BQwncj^kL5m-TvG1mUuVbu8H~-D)Z+h|rQv)xav!X-84&MOhqVNTh2i zXhvC9x7N!<3dY)!!2-9(NvQ;k$Nvx2v@+Vl3AhpOKZUL2umRZwv{2TRN#pvO99IS} zm{7vVOd>Q`s$zFP!pQ1J1}zA5bC0SkC}*`4;qf>h(=9CNGK`5qh6uP-RpEs;pXd#E z1feYq0Eqa)5dpLZT73~O;6z^}P~wV6&T3G{C9bl;6)SR`Nze@9S%juK1eK#E(&%Ew zyjnSya7Dd!u2MOc&Wc=?1j9Og{j1NVD>6KeS)N*QD9=6A$*`Mbs^_oZN%A5JF)^I9 zUwwI5sCnkuIsUG$di2)v^8V?WcDv!UxpnJ-z|Fwh54|h<#+ITrE!&v0AFust*wK|g z^-O4fV7`dW--s@6D!wgeiM9>Qy`Fh5E!3~xo4$K#;#=a&y}G&8yBF`*FT5M?{>{zq zIuUGqRCx2#dir5tJGFBDb>V7ShTKBp@zC_{#m|dBz7ISMeOj72H}xwMx;;USjN8?l f%laF}o$F7iDryQ`K6E>o4LSF*NSFAq^UUZUoOx!m delta 152 zcmX@Xv4U}eL_G^L0|P_A=H%@_N;JSH#MRtT-B?exIn^p7K+jBH)l^^2LSJ?9ycRp4 z0zXd|#}JFt$q5Qv8(Nm_+OeyFgPrXYgK~!eiy%|VtOHC+F%B)vGs6PbH7t;pa7biP zG+>xKY0-p9LRt$O)->F_5pd&%#8iU>3D(642N)O|6H_V+Po~;1Ffc1+hD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo~drKfsvttxuu?= zsfnebp^k!)fuXU!p@F`UrLLi&m5I5Pp_u{{C;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i@#0$9vzP@mS^NOJX1q?F%io^naLp=li++2{qz^aQ&f>IIAz^b}9q_QAY zKPa_0zqBYB7$0fMFwMZQ!*3BtA<#8eF8Rr&xv6<2o-VdZKoPx^%oHmlH!~MkQxgkk zGfPK9Lst_E16MZ}QwvKs6E|}w6Ej1YUeCPZlEl2^RG8jOgkE#Jdaay`QWHz^i$e1A zb6~L-kda@KU!0L&px_*Arl1j?nU|7ZUaScUTBu7?i!#enQ{0O3a}~g0W0i@;eltU3 zM`LF*S7#$96QJ9TEnS>kEG(Q2oE%-8O&nd_l%RT3u=pFQ*A1s$eV}9XK@p1-(J&!k z>H#s~$ri|gC;ZerU}`S{CTq6^!iyLfn3z3X978H@y_s&kn#oY0^=@iyVq)U*-h_qq z$NxX%56jjS-SXk=*ShP>&L_IA>!bwU&}>tbJ8SvbBgts?*{u6HkuSurz5aUn>+iqw zR64hx;Ck)&qi(-^I72m0`(d}mg?96!*IxTrab&)q`seAVm)^|j`d+k?=V<#UPv`vy z{N8N8n|D*%?`>K1nFo$KW(U6g-g{u-j~BWv6OYENH=ln#KH=Eo!o->{VoJpYN^-q! zk<(UQ%-=4((V+Y2Bh7jL{N%rVHegB&TOImP(XTs{!LR<+<{mqIYnbau(Jk3PD40$*?X z{^25PiIwbk7o`J>8y)U#sjS$fH}_h8-u0>Bj9;6xKR7h+2@6Onl+#yTcKoorxWn4J z%(v$-*8;xX&5SMA+*GiOIF_k+_JiZ$DBi%M5au-tp~Nn&$* zZSJZTa>zjB^D`2$L4$)CR8u;kVZ_Ff*(c WD1F$R`&I%}M0&dVxvXt4TybRCr$P(J>B!KoAAc1uw9(U}CvDU~C6hgQeP76Qf74 zM^9k5gXcA1el^ljSUAmVCjTchX1YmBrrfcIYGD@073<7HwRe!rZ?DU>u}~-Mh$waf zb;2o7$?YC~NeGd-6Q~oGL^(Ac>V&%DB0dD_gqqwjv;y^^R#|n3cMo;N)^X&sKwYuu z5A?K9S8RqK2-FGG|9~ts(@ipT7BZ$uKb?L|^E30GH#46r6?WO2`~Uy|07*qoM6N<$ Ef^uJIQ2+n{ diff --git a/buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineStone/chamber.png b/buildcraft_resources/assets/buildcraftenergy/textures/blocks/engineStone/chamber.png old mode 100644 new mode 100755 index 616afbaf51dc0384a9df0af3614154feaaeccc9e..9780c4d8e106a6fc6e5a090dfc2d9bba5e0d737d GIT binary patch literal 1096 zcmaJ=O=#0l9FGqC81ACt*A8Y8QNbp8-TINZTDxSm1zT!Yuy_#D!26O1aZSEktA*kp<7`}9C=fN7td;jH})x|X8$LQEH6mu^OwuP??JTGt}Xu|SGXSrY8l z6D1pVl+ro1)T;^_6Fo?`x*`!UAXaGCIAuDb8)3@2BC)+|j-ksC+#6w*g36~dw1jL( z2iSm5<^6yT2`mV-2mtJ-{XA&q0MGda9{^%YNCZK8`D2JTTk90Fa(vkrIYpRmj4hGl zip3&ZY-W+&#Q{MOINs0s{XT;5IfEuvT%YOeswl|NQElDAIx=ZbQ7NE)9AQYLODPyu zRn~Nt%R~ysxr)UBmiJPs08^>|Lk**fc5oK1#QRTSCpTz8E(;yhZ>ywnox40&mMGa! z!N|@bbgELtOgF;F=|&bUN%Y=hx~ZX}v#$(KrNpG^V8v8nQjRc0fYo(PltN)X2KbN^ zi~#`JTiU`gJ}w3QARKR#rFOZ(m66(SKoeKE+6p&Zlj}`_VG++VwDkd~#cgEJ<%~tW zb}WIKddpm`b}Ye~T#f|8d42t>&y_1OJf2ydT5_n)Jv7O%+hnS5!RaybB1V&PEa$$P ze>++~&Tk%?*|h%bo!QylBhSNb;|Y81+C8D$q3OB8!p?J3iTZu(n7&U}e>HAQmyVB1 zdmq_vlCQ5PW>=NpmbWB=J!9{me^e&6ElG??)ueL e{T1WhwP#cvH4H8vxSQ*bdiTlpwEVd3%}{%3>$ delta 152 zcmX@Xv4U}eL_G^L0|P_A=H%@_N;JSH#MRtT-B?exIn^p7K+jBH)l^^2LSJ?9ycRp4 z0zXd|#}JFt$q5Qv8(Nm_+OeyFgPrXYgK~!eiy%|VtOHC+F%B)vGs6PbH7t;pa7biP zG+>xKY0-p9LRt$O)->F_5pd&%#8iU>3D(642N)On&!ru7z14NDb1My-2}``*J#EkKUUql2 z?czJcIA7*Qf&`tIxqIGz zzu*7m`TwuKz3pz_k~K>Rg777pr4$}(y!Xb1_&Ye158`39+tlT5HnVO?wh<9k%?u(F zx|~BPB&(I)k5HH(uIts(U2a#hRa8u!kv$Ak)-B8?i15a;B`XEwk{OiKj0pAf+wW4O zrbehvA;~4J7|LtSeKy+M*OpfL3JO%IjSXbDEMfs2xiVSSdkjY`N2qCC5zoDCmLjJi zZXrU=IMtPGCu63KNP!V(h4TY41Q{Uk5P&+;&w&67IMxqo07O0{f*?8jP}rKSX2p~g zpS6Wo5i0MxmdLWDQi&-A7}L(N07A%ee%9}&F@km~hAWq8!>O$*NXSua&2lxAg*}}KLAR30Ibp+@O%zTUTb3;rFdVDvUR={?$4#Ms-Iy2cq$?I;Q^+xkwu0{? zTU#aL++Ev{2gKfp_u3l16uCz-m7ju>2cU_E^&F6(5S6&bcwFLwRc^v?T-i`i)wbr@p5b!W zON4u_Y$J#TwVZwj~Bb6H6t&Tsdo+?dY}9HN@U>sV)xM0(cR&J+NY_jHIqk+`O_b8 z*5dVvo5AS*r9St?b+24r)G>DC$72KG^A+*@xk|jDF!t-#VYa{7+LXI*(ef1}xM9u7 zQR zcdT8Rc;@n@vjTbX@!Ab5T7THHiTU)yi7&SuXmEZX-kU$ZbAoTFJHB(c^4aLVPo`RX zdEwk^$=`0eHQBLp%UwI*1MJ|1htIs}D<%HqD`%fN*!@t;#KqCjxBPQIJ$v=hRa4`g bk1ZfxWiI9R9C@V0`xhme+N8sc_doFu9)Gu) delta 147 zcmeytxtMW+L_G^L0|Ud`yN`l^6n}tEh^v>E*O@bCPH*t{@$mtQF}P?H07-vO7srr_ zxYV-;IS&}{IA83)%(|yBP@Lld`-b=67-nnjey;d6NUb?cE%w%5gp0=0mUUql0 zT>}Xj3uc-iPB1utUK#*>t>puIF2JonxJVMYT(w8W{Wvov+BwW0FQG zP=`@W>VtLwgPtygpc=8*60v42CJLsE$cY9)xk*A*ow(+;EjteWbz@m=D=}mMA`UEl z(3D_3Qgvl8%-!t`If~F5zQt5vQN(^hmj+d!*-;^Y!5g=%$h?R00-2;JT=p^m=P1U9 zCrR0ZQ>^F(J|I#w=_&Ipix(m+$B|@+sjkjr$P$>3&2#K26DvI zRdhbZyt0gWe@fyQPNH$2kL7S53q$8ToDcWVOp^36DV8NAY!NU2-_#M%DZ=TK|MX2+ z1e?*>E=>VEEX@(n;P9AmN_t$wJc3kgiVDF*?z{f6kB{zte08|?7F+rGihI6)ZPL~8 z<=JQHBfC=TC+{5j=C@BCd;f#+ed)VqJY1pg`5ATm+@I{l>DijP+^w7W(@(zraP)y0 z?);0@`dzJf;O&;Ze=+uiiT!UvnQ z&)e_!`@cN@e~)x^?%vSQ+<;-&hFC{9fyPGrUAGE-j}GU&XxM5-ddzMuW0nOSVr`O^ zhImX7vM>P!sZ#tD1~6=OQBL-lJ@LnRQBz!kjd58@0kJVGu*)h4Vjnc|G|b9skeL7A zV*;0@Ad&LK>3AUob8<(&4!iq1lVX3L$VtSmhw*^LBLM}P0&XdJ)!?llv8cdlTxqye|0N9B$G;mXZrWlR{fMn5;@Z>@Dx=pmtAGIOVhIy;5d$=8H!;@gdmNIY6=#q8m)DOFf>G6E|{{W z;Pozjd(aW%|(1567tu%G1V{yRfKih zGO}IcM()VvLpl^pO;2iCzFq}gInC6JoL0a?A>5ggRY@xw57{@g6mS^o^3za?>Y9Qt zrkIykFz?TZ9LtFe>GOFx(&t5?b8gN@x*0Z2d)SQEON&H}Fa6)tQOGIEu9N@NO??X$ zqdi^j0<>7}BdDV0(NULtHh1qK40F)2a9h&)&P;HxJV!UqZFaoS_#t-4TDzTlcgGH5 z`|P%Ze>yhJu4}xYR+=k;FVx4Tx+gyG{eA4`z~oz#N8w+;Hes(GJMC;f(AGG5roVR! zJ+{y^aBlvY!_}4x!~2FKE!jO&Yu2Co>g3h;<5L}f@7^3)Gd(*_D+sRysWbh?^-j2vnhqoR9XgBTh1AM`tW7{#kMnW|F`46(d)4%9eL*up`pPOBcqRuj8sPN zo@R&EHl<(tuqMn7Bfq~)e-A6${ia)?7#P!UXGhSX^K;G#M{ysiFCFSzbK#sGgi(?2! zbaH|NgPWrxqru_GfD0^#3`E$BV^|swu&y{1;o<3dF`}U{P~wOIixG<>k7Ej34A(M= jb+U;Hhq!hu6<}akI*~Jf$0lbdpm7YIu6{1-oD!M<)>0{H diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/floodGateBlock/valve.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/floodGateBlock/valve.png new file mode 100755 index 0000000000000000000000000000000000000000..57fc818217f8accf886749f4d8ca3394a8367250 GIT binary patch literal 1156 zcmbVMZ)ntJ7*Fl2T3V?6B1*^7RI!ESk~eorF0r?Az1-O=UR%zCUWMXv$$M?qCU2U& z_0oz8V~S(nbPNV7j)8(u1S#x`_-~U>`?Ne6Tf%pH1NnaRdQ~UGZk#US!>Eiax(BJGiAs>p z+WHvGL*1O2x(B-{s(#8U6mc==@J~XoCNdNwVMoW znF(fC%<(xl1;?$vSq~nb9Vi&H6NX|kJ)h9sfl3V65bJbcPddIDB$ze3Dw&7d97C@` z@I-=HcdD2hqEpC&v=|XtgBJiTD-j^Z6aYS^1s+5>z;lAa0-(lZ6-adTVThV%mestL zscMl`f*HryRXMIwsYEK#2=c}_pePE*3!EUZ1i|_<4%P$K@jGf3H0T?i8Q)R!cDCBw|{o8U-RWc>q{bj6qfbF_|s#W|Rez zEp#I>Z55u~IT=WE=o<73@1U`^X1+Es4y zy<9crK^-HnfY4;E3WmlJM*cW*=~RmD9JU-2Rs62-hSmetpl2O}X2wG{y_RCt+C)BH zHk6oR2&^ni3M)$_bS0|DY*dJqcrjL%B;H`EeDnXNjw4QSVV(S^ZfaYk7{lpC7m&q9 zA3=vSk4L&B`^B@{r1L|ChFY6$g%H7uP%rGg=~62yVCpV G=l=kC;(Brb literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/back.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/back.png new file mode 100755 index 0000000000000000000000000000000000000000..4197922f8fc3e205fe6e25c1c1610cfe5b683d53 GIT binary patch literal 1436 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+mc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD#PU%0_}#n6BP2AO_EVu8M)o`HUDF34YC)x{-2sR(CaRb3oXS&*t9 zlv840IFC4U8?4Obks;EzFdl`cudaI(?v{^g-zaDc!(?fQb>rgy#Yv z2cC~o^MIMB2$)MA97vnWz`%IW)5S5Q;#Nt}Za*eRk-4=S_ppQrT!>I$aZYONR1>RX zn>+P?Lej#{PP4MIe@v}YIhS@W{Kn4X($snIM?$4;f9=_-X_4j+9;;P9J9BPl@w+>c z>tggK|9oI^ZXVl-e${!;U2A6gxCyX$Xjbb;hPLcP1^^ro-*>UgMdOdz{;!r~uioZ0m)q16A^+Rv))z zj+r5q=*x5e8JFzmLw<(}*X^6^G(+pHW&2I`;=-C&JiG6IJ|yz}| wKi=5s!W7-KBuF#CXlBcT>#r3bdN(jK{IdAJKzT<{1gO09boFyt=akR{02!MJZvX%Q literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/bottom.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/bottom.png new file mode 100755 index 0000000000000000000000000000000000000000..47202a415c7e235c6e3011a4517a264dbd8a8567 GIT binary patch literal 1342 zcmbVMe@qi+7(SS8z#wx8E@PSQJT%kE_3mqXZSU5ir7h58Em*3MOf#={U*S^juHGHA zfHRRWrrQK%G2-Snw`i0^SPV-R^$#WmsSY9x3KVs255 zK-@3$^)Li^v1QLFbYj?3d!%rkQ5SfF6I9v6r)^A0IgZd6=G>Bu^Fj<7cm&o{{;~rImIAdZ+fi?r&&YA#YWdSI`%`~u3fTqkW2>@rcbHIi#J_J(J z#3&c?mM?0dm5XRFj5tS8iA2Jbu$WY>o&qe(QnZ;en@MCr>Me@FCrL#w&MXvGx8C&$#4c8zOJGDosL3;TyfG&?G~}@OxbZIx&fo$XNgbMH&E7WUP>6 zfz?h%XwgCf8_z&H0R_4uM{fchz ziU2d(64GA8x}S*UJR0N;RSTR3OPlk>*POm zli5PWn4T_m0a`5e5mZp~XsAo{4rKzvvIM`^9ZufZ*%Rw(-@2;9_jKWv&msqY&9$!m zas1$?TXVo%@&4We-Luinua7CO7P>4G6WvAk;*JmY-AOwC{Hty1j|ZFH8zO!8o!9T5 zmToU{cz%X{dZ?qG#C0Fz3d5{s@#=2Uz1|Q!JqG*?ahDt z<}lV5xWnha_Hek1{Ulg&_2e$1Z|;>hn=kBa?7Z9jY@7M`$!n&{Zy)A$&E1F&X7!I4 z-0Yemdlhh$9WRu}XF3Om8~aCc);w;$G?}}tM=O{dc&0CMal_Tpl=I_jFTB69-Z=Nu zm62`h-E$UyR*A0s)9PW@4}x?GOr3Y z-pBB4DOnrR?^4fbrqOwY_N7!ASHr_)Iy9Rltk3z*%Zb_LcbU<5dn8Wk+Il&KPtGoy22NUL%#59_v=7w7^THBr} Z>K{d1uHLyV;EDhM002ovPDHLkV1g)LV!HqU diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/display.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/display.png new file mode 100644 index 0000000000000000000000000000000000000000..b7cc00964bbf5604049f488692a4d392c128b9d9 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~GnW{X_`3JYGJ!$?o-U3d7N_4%+$h*!z{Bjybu&2i z7mw<0gAz*%5BHhxpIlyTxWRH?-`?+^=cyjNtH`Nhcx*;ow61s6$+WgJHD7LdsdcVm kIyqCBN#*-}v;W16+zN`FVdQ&MBb@0EfFkD*ylh literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/drill.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/drill.png index 73bd64e973f2627fe6e7d58b7f55afcea393b17b..d1c04c337212f6a8cbe704ad7d1e6835a030631e 100644 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8U)v6XN>6fy2kg=l}oz z^JFLd0}3)GdAqwXrE%A!06FX>p1!W^_qe4+WTZrdX8r~W>3h03hHzX@PGDfX#&A)9 z%~4!IQHe?UK+FafrjE7^Yz&-mkp(Oq3=D3Z9Hx1eB7s1yswJ)wB`Jv|saDBFsX&Us z$iUD<*U(7Uz$nDP(#pup%E(09z|hLTAZJ!^9g2qB{FKbJN~i`yT_f`lBLgcV3!ol| VhX0Z0Q-K;7JYD@<);T3K0RZX-PD=m) delta 92 zcmdnZls7>ljFFjvfkD+aR|!b51^9%x{%_#$@$t#O{y76EqU`D77{VdTdax15;W)6N s(N)MnB0azP!6{v#2)78&qol`;+0LnofMF0Q* diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/front.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/front.png old mode 100644 new mode 100755 index 140735da8b6b4d77f7055cf80c0621de7ffa4644..0729cfb661d3f8af1400a030f9c1927ce3fe5152 GIT binary patch delta 533 zcmV+w0_y$j0;2?w8Gix*005AYXf^-<00v@9M??Vs0RI60puMM)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-yl3J?u4X8saW00057Nklu4;3}-&h z|8r(Uk|gl&5<)ODGYcW!T_Iuz5y#`Pl#+-Lk%-{KYU*j4A`wX`uh*-qB4V3s=seE> zfQUM7>-YOal%^>&e{^sm!!QJZ4k9ArVzG##h?(O!Zn&Z-f*>f0!uS2-E}N ztCRu&ktE4%HmmEpO-m`AzH>OA&&bS<)>^~wFIsE)=YMOX!R5Qwnty$69Nv=r{Pt<{ zqyC>NrQDRne!rhgCinY23_~I+%hL0_wz_P2o`+$0JRV~bZ0Q~@FW@gdR(bCe=OG`^kOib3+*3{J0)6>(}*VowC z*iB7MQc_ZhiHT59P<3^6tE;PSZf?ZH#Cdsne0+RxaB#i7y?=y+gicOQg@uJtQBl>^ z)y8n}B>(^bsYygZR2b7m%{x-VKomsLzCF*Dj7>m7!2VZ96$TX_m!;7(q0a^m0*FUy z^l8YH)ATTE^b!(;kP-VLVG@MU+}f&UK}1M4`{F5zgb)+8_FV{hI1I^UDT?Befl@l( zba=F(#2A;GhgF#GYip%v;Cp}Bj;tr|TY2XC)T1*@u>9594sT1`W`M1_xi808ntng( u{rcHWSyTHlr!O7ZwKsd)yMq(<>ih#Kfl@(A&%#^)0000weUDt@ngbjjD}M}B&yvoZY@)Ox*UHk)xc9GFZd0E7^T zbP0l+XkKCATOH literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/side.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/side.png new file mode 100755 index 0000000000000000000000000000000000000000..ff1572cebd7c3b2d41fe33458e7b02d738ad0740 GIT binary patch literal 1311 zcmbVMZEO=|9KW#;b#tWR7aRiTjSm`ky?d^AZST@=80>WhAYGOnUhB%10NYJO-I{mQl!AtI* zx8Lvge|i4@+Z%3pvZAcA48yRBV7(YYqpk4Xy9RytzuD+Js4KntwdX`*3fn#uB&#bfU#%PBw}Njr#6$6;$6_fW3WTfyu|h6 zCkR}Ty+jKaqC-hP>{RM|4cOG%5RLbC#d(>it-(DR0STzklJJb0&`crYB^GrBG%svZ z1ilEdy1c}aQ>~#e?$-^7b9Ro5(+t2}yd7{X4?s1}(7-_fnqqho0D*N0z=gRp z>M0|R?xVe`NJhE4yP*OQc_TC$3c3_2A?opz3N;TXyGcJ;GxwxhHW9=+WN-o;rj-^3(#VvkD!K{$3R`OZu9o%FswujioR&(Qg&$faDSWa)VKFnY|GN~;DL+zvdeuh zBudHL+ZSy0qcs~U``-F#qIM(D$0~nz?>46oE!;UW`&;wE#^K>Rp8g--JFFa>K6B%X z?-CbMoA@KQ_x=7i8%i-VfgRUw{Z&16ApP;K(MkGPb@|chgM;d<&nE7;*_`xjmY({4 zaO=QplaB<48rQw^O}p*&(m${KFurBx*Q)GXOU=v2PV5?;cw)Ny=EC|{rIXjz9$J4o z*EqFvXJ6{s!A;$J&Xr&K6waON`h4#CzEf-1P*ZR2OKHP>&QH$vJ=~Z(Tk^+8_hin$ zKlw%?_FY+ws+55&G{P4@n^n< zlMf!=a%=5;K0ME!d@=7HXdFC!BRe+B50s8HKmPR4XCvkFEPep)&A03+!OCyvKa`EJ Qi-liSFwh{5Y-{WP2W(!}AOHXW literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/top.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/machineBlock/top.png index 66ae9f46778a12452975fd218939b9c759b8a6ba..ed5b9f1427a6bb7a142c5af4ae4ab2d63c556ac1 100644 GIT binary patch literal 1280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+mc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD#PU%0_}#n6BP2AO_EVu8M)o`HUDF34YC)x{-2sR(CaRb3oXS&*t9 zlvw;IWm2**QVo82cNPd0}EENP~ ziq z0CM2@C^Zk5d5VC!B!NqIo&8|ZXX1NN z`Ni*h@z;;m$+-XgWHUWz+l?i&o=Y;OobO*z8r$qSsUtD);AfkMQ&TfTE0tCX$z*i6 zw|*#C-1woCH`RfeU%u42Yh~@4Z&!OX9)w8VNl%piEh#O&@g2|UO$UPIEn1K7ji35p z>9Yvd*^4yZOo>iv$S`Qpa=Us@GLAWDeXEtDrZv}zr5B}czgw_tzUAM^S#!l^dtJ%q zn3eX$PM*gucP3l$hJRhP<(_wEEaP0I*2{Q`?cxEswuk2yybK9t?Q&F^u%c>W(5Es7 oi^lb@t-glv-~RRE{V(AJ2LI2@*Z*eR7Y3C{p00i_>zopr0D6JHr~m)} delta 243 zcmV1b9G9d6n1dFwL5Rg{~wrr^-MeiHb)MyuCh3GoV zywrNv!vHvlm5A7B6b%C%;@qFbaxa{y5!d-XRNxTg6>|da7+s9!ijSf-P~g;|ufX1JalLeBS^7002ovPDHLkV1jG|WPShu diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/back.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/back.png old mode 100644 new mode 100755 index 6d240be0329d349246d3039153f001fccfedae4f..e81b79743d7958c95299c8e2b9ef8e8c8e112a8c GIT binary patch literal 1275 zcmbVMZEVzJ9PfsTqLXQ&(P^}He7FUA?bGY^uH7ADUhmi$Z(DAcZ1};@YoFVdyS7K$ z(-ieb?Yz;tBJOVaWvMJ-UqAEci`3^n5KOBrMH6-uTN83IBl8N;v>6XL0wU0$E#Z!q)h)pZ5=*=SnwPdI z0$(z*GeKh6sjgT%9x_abd);1ArWt_ycsKB}JOG<;h6WxA&=kXy00^v4032R^2&85z zDIqRK%35d@B+|B>6DX=sD7XtAw_$cufaiINW+;Xskp*e>=(gmLx>a9c5TPZTYR*;- z9WOCTNh5Cu3FPVW6|`I|wnD61xR7b-LWq~c{E$ph9$ zCTYb(0#5QmACv$?dn!Du;dzGVJYv`z@`4BeVb(8-5uW42beIo|OjxX7qq=2Fx(qAY zD$*`v*?VGzkO?K*FcXH6tyDpK+OQ2PZRGG!2zPa=x?&WphEj%>FDyb+-3671X=wOT zhy`^OdBFKoUSBFna!KA#vK%XuJj-*W-={Dv?~!<3_7i2i@_$1|A*ZNPo&2Y6DqE-+ zOVgDuK#P?=f;ws*6Lrb?hdSmktO}2c%?W2}@1e|FeOqex&Kz*<|0C4@#@OM)?dl&R zwbai;FKq8kHEGA*&p)r8$(|Y>E?xw`2gZBXPtdQvHt^m{AE{FT_4q4Cz8u-eJByF) z7(0EM?E7K#vrqR3ZD()YXhacu1z0`8% zlZLfs;Qn{k+?3bPe|%%Y#RZ-f=dMh%{k>D8!Pw#SWW&vg=D+@)`3)cB4%VMIIpe>* z|C#K_#cBN1jk}wp+m6iNH#t04_v?kp%imyMz4^tayWf4F9v^ZIxvFRUkwY7zkI(Nq i*L?l!gZtX59>4|=;%k+>6DBEk~VT3*o-|Wira??DV$#OwKrcH6XH+s>jxq9d9(4JboHb_p?TA#Pq!2n#_)gMTnFbD7@(4*G-ahfUh= z_B`+Ne($9RtE-;NT9dy9!?3JKg;;~e-1NKp9`rr*R?>%tJSSY|Y%>y0O0pnUsu*#I zM>MG()<8*VX}SVSFl=R$8mn{aqLqSdXdWqz@wl3a*ceu_$u%Xp0Xldb)~kAunC-tn z;HnZNwtJ&=)C|F-TG493ZLL)?xwS#&6=Ksfc!?_@0~&NB+|?R&TX2KKyj=m!)7un* z&qJJsAhF<7U9=hx85YF79xo}=48Z-o2Y5LifMT4X0ZRdzVt5h&f%6N%hc7+^QnQqV zP$QNvYN1t-NIH%wP*f_F@}yXgVbxQB=Xr`|D25>sg0x$7M{-Hs-k7l}(@_l_ zPg|7YMza$nkf#e*(9CFb$*^uO1`36YawU@j9-7j$^u6ZMwo?QDbz@ny9cwWmRRe9K z*^*H{5*ssQ6uY|%rGdyBVT+}rq)3gTAvbGKcOqhtKqnqWRRk7zp+W;dDqaqfJmCCf zoK{#8_#`j%LkTc6o3XPTKTzro^DGZSUKD*0=E_QGG3+ZXD`UiRv5aLh+=y;Fk}kuH zwu-bDx%6GRLdb%WV^}f6Xv|bWb<%JQJ877BD1<-0UDXvMWj~S5(87g9XsLUkQf?U< zJ|AL1T}B@G0tv4_5hs0dK0tClP9}Md_mKg=!f-q*@w^-$7WvBm4IPD?qSAHppSsCx zp<+x=m%0Egmih?lsCg{ZB?SXVKf$mSzKB>FbH8uwnd$DNb6?LftJjGu{^~q=Z|kWi ze?67e)xNG>e8b(pH(9)E=y=i5xz>wM_c!zw55ITk`oQdo>Ej*ZgX6dN<#g=cd1H8r z8DaPASYQ9C#$Fse@P}Knx8%=}>BDS5+R$}>_O9f~-W!|MwtZvym%s}x&wlpO)Xg#7 ze^w}LI{fzM(@Juy8wy!L~c7YpVlF3;rt_EBwZ_f7YUSNhLA z)%Dfffk!3^yp^Mc+}2~+-L)@Io&IiZz}))i(3j628Tva>9UF#+nwy$O)<->GhadRy zOkd8sz-+vh9rgcw53z-O*{rJkjAC!gJ-7kqRBgL-|B6vHefw%x5f*1e6utClZu3^#B*i4 GJN^M%6v~+Z delta 212 zcmV;_04x8I3grQi8Gir(0026epuGS90IW$wK~xyi1;J5j1W^bCK#w2DcMcGC5K%;$ zrg2!pW0{ks%7Sv$=P;j~U|52P=WZSJ@9UCXUyS#z{;ESiUDoHmS9vCZeZSnI&yC;` zwaC|H`rNUns->=;%k+>6DBEk~VT3*o-|Wira??DV$#OwKrcH6XH+s>jm1Lp&f8Gix*005AYXf^-<00v@9M??Vs0RI60puMM)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-yl3kDq>C;El_0004WNkle5L5{*O478oL;eZfd zK)~nV*2nM!_zL9{t>8hh^t27hZUA|?P}jOqJcMDjdWi-Umi+`RW9k^n&8_e8W>tp;d}(HNuqfVS4Y zB@t1KakJR~z;?SGqty~3T5Htm+Jsyw7n4&1GwNXveyglfvO{Y_4uIoBYQ{BDy zkH^D%U)Oclb+g&5>pB2P0H7>O01y%9-1&TV&S}Ouce~x3bJy#2ko^ZluM~ndhZ8pd O0000f&(F`w%F5Bv(az4!%*@Qt z(9qb}*v-w&*4Eb2($d%0*VEI})YQ}iJ_7*`0pa1{)z#J6+1cac&tfbD9lOy$WAH z?b-R_;_~V`IV4BAnRK3VUv*>*OhXr!Pouo_*(ZRY+1H!*?QVZ^M1;y@_r2b4wkHcm zP?!IsCj~Sd{*K-aT;1w!JcNlI`lTp1o7aOP#Ykl!1s!2weUDt@ngbjjD}M}B&yvoZY@)Ox*UHk)xc9GFZd0E7^T z)q4#+TLXq*EcEHZFXHY1DIX!p0($Ccir8U zcJn0y5+XRVDWSQzV93qgR!Q*K;uIOCaMa=SYXr9}q z2z=JWXm=5FPPGIZaF41%oG~+`KwALrV9kKBu>h>cEi|xFfTk=g2>@qvaKMhwKLk?K z#5OME_0Maem5YcOMuMZLR4QdoSpP+!5reryHuUTu|2*H2dSkzh%cP1be zg1Va21eA}q$~+jw?$$y%L*xxtuSqB=eB7%FNf|0e!0RH=iCL6H&I%YP(g2VmV}m3M zYz{I)i&hfYc?LQl4=l7b&$AdF0KdoLWc(fm_yO?QSc}8YT77OeV`mt*m&s!Tif-_V z0Q1@s(w@iqZi(eQ8srUC3#)28Uj+>@)ll`An!r6C+|(>7qMFjHa~Ybuuor65b}0Ha zRmNvS%t?#M+nsHUqb)+(Bdn9O*=+*J+E_d3bchxkYvoy1a1!%)@&AU7LQYY+I{8oC zfEEjV1Qpag8tRgjH%kQ!yR9kUtqrHYcs{gQ*+s8-aoV)Lq~NYQ_Qiko zopgsgc0Y0GO4*@psqv<@r@GG`c@Il2ul}y!4Xk3x*}-x_eE+8h>LV*BCLPzGs`~S< zXMcAst$0m;ZYx>6_wcvNMjD#NrM?e$ymf!Y<@&+pLPG|gi|#mHH+1DxVYFc8g#5~n zJ>}o8I)B`I?+?dbzPbA2rq3tV3{>gas=qf6AKg-xo>u;N`(nH4Qepp^-I)xPS@w>+ zrML9%3$fM_I{UTMSHw*9eK~B}o5c=a-PApK@>2YzwI3x?V^yiKUD>Je^3Tqf_Y^)! zkI)yo2k#u~cy+Y7@p8+~u8xu;o&A&Dr%%6I@%qoMvBUe*xTFN+S=OL+1c0E*Vfk7-QC^Z z-rn5Y+=GLI%dk&MN=nq!)KO7Uii(QSwpD_Hf=Nk9%CAn<)z#C})9H9hr~m)}i%CR5 zRCr!ZjSFf-F$@DolAYvzw*UK|wSls1g%J!!5{Q~LoN_{pq<8+NwxH;y%451yD-{$_ zJP0+UXhPD-YS|?0wAAq}l{E;UdOMDNTOWtAnD5v1IM4IXr_lBJf*n3D@|6l5P{^U)m%E(2Ng55&!@I07*qoM6N<$ Ef(;XYOaK4? diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/top.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/miningWellBlock/top.png old mode 100644 new mode 100755 index 874b116f60eba154259d04abe99e8c37477dfd59..46d1efed9536feb7ce4fa70bb4a559d7a8c229e4 GIT binary patch literal 1313 zcmbVMZA{!`952J@T!xv8ZVZU&3W?6xYoEK8qa7zZuE%!5F}&RgbKAvU`y5xfzR(u$ z0OMr7pxeNWm@PUZ5I-m~*+z78BVlo0h?+?Z5vR;-kuMmWTtXJJZ$1Yc`ho0&ZQAFh zzu*7&fBr9hx1oM_!G@v@7={%D_6Q*~ZpuFE*P-``lZkRPY_t7M_C7ssr$iHCURjSp zJfMorFa$-pz4cpIiDCJzO1Q~x3fA$Gt~$gl#*tPH#Ky47s4GAb<^6mZa#s%Fo%gtqJu{MU^&(N?(KfK&)t zdYdVse8fw0WE8vm3uS@G8-A~;prnXNL6_Q8sM!I*L!d7XS&?}cV4+L{K*}rwNe(b> zGDgcT5|oQ9bVCt1X;;q9T6}+bHOsL+bff44KjWqS)n38n;+Ptrm-DkZZa}kaQIlX! zTS3|@T;{%9-e*G5*3Gc4Cv#QMkkD=2O6Uge^Wjf5Dw?dPtR2}5Egx8brt%7uYfN3m zmqN@dYsfLq{Q}sBE45r*3jv zs2H=;)hSC{b@ASxSN^K# zotV9_&}kGtcx;Mk|G4`J@BUNq{aeNt{vLaEe4%#7fn>l-eNmu5_x19rB-S1u5{>9Ms7w>3=!>=EJM)aYX(Oc3i zF@0)qo=<<6e>J3()H^)Yfl&AMH>f?KL6E-b6`Ar?$fEEk@-|zU)kj1 zMRkgaoQ+_`f4Gawo-Vo*{pENxZ`wVk6u}=x>t+sqKT95RY`r_+nS1=g&gAvylB1Cb zWO^oM^8#lsCWpI%#owJ*pFB!5Y$UpbpN_rXcPU>BZuJj-@Hw}0;_zfYmXFPQNc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD#PU%0_}#n6BP2AO_EVu8M)o`HUDF34YC)x{-2sR(CaRb3oXS&*t9 zlvXy$ANi~>Vf z6ALFpV^>3Cb2D=j7gr-kXP92kyyB9?yyR4v-I+kUp?Xd6>a}t%N=+=uFAB-e&w-_a zfQ4h(YiwkaWMFENW@cuPtOV7cLT=FM10AIgN+(F^1||edj36dF z7XUf%e3Y68%sfTFT;g+D>Ink_<6%!1$B>F!IYGYOOo1YED?iU!Cg`Yfm{IiZ)>Q@u z0$wUji?#-Ac`5(J`48*PtoRpRw^-POSZ4lLbay?{`oR73%aUcqM&egu3SNyK_ zecZ+vJ??t(=X)+@+=)B0zsLJ{VUuE@h^3wHWfe~+9TBd`X{J)W0@W2^-L8r=eRi$m z<~;wo;KtiBNt-vzFKb?SaAH%>fxDvWo=%5no`1fl34XS?&{Oeb1%!h zicKozw2{+lB9xeTN@6fKPUP}$Ex8?qR zDwt?C`{2nGBMCW;+HLo~ZwZT-TIlrRWQvod#8qLwc1``Hf*ki1S7c6qd%+^M*?IEo z@>y(bJ}QlOC*1t{^84f0YD<3o{kQ*99g75mkg34Wa98&upc2#5)z4*}Q$iB}*#7{S delta 146 zcmV;D0B!%C3!(v#7=Hu<0002(-QrRJ000kAOjJe8%*;$oOv|uON=izCe*n-x;%@)| z08U9nK~xAG1;IfP0zeD|uxy7n^l*TGQQ+X}pd{h_+51(Pps<=E29HCJ<8e;Ln{U;(1sZU< cFI1Fr>mdKI;Vst07dB{N&o-= literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/led_red.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/led_red.png new file mode 100644 index 0000000000000000000000000000000000000000..afbf1782659b642f9e80fe02b9590364673425e4 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP~GdHI`@14Z9D?lL$PZ!4!i_^&o5_J#u&%ImU7HGib c#(0u}fjN_@y5#}C5Ks++r>mdKI;Vst0FV_UJpcdz literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/side.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/side.png old mode 100644 new mode 100755 index 17c06ada112928ac33790a809d90a09ddcd65ae5..43b1fe8cdd82e3224ea1e2e685b7942fdf91e1d7 GIT binary patch delta 460 zcmV;-0W$DF>b>!45TO(Dqz7# z$8HIfC-f`*LI!8)4~qOCbH^-3kkLyX6L`<$z>o(+5!r!;;D09NAVcKo?nqkIbq#+* zDaFjptdx2vA)-OV)oP`+CL%;6B6y0NZ`&4$NNat&-6V^Mb6iIEeGdRcgz{M|7DTk& zZsn8*!YXH3mXqP*@wi^E|8?>lm&?Uuj<#)?`57cL@ZQVS5RpuSnGc6U2*Ejbyr4RtL){-iUB7`6&Q%Vos#&Kk3 z1c3Yfj)+PrLC*(2M_X$rONf|KV&;j%cfw?DbB&u+JQ`~Hc!n&TG$;ON<_2US%70000NQhW>y%>B#x3gi`jf+8j8 z0co}%yUjcYm?=kU7C?F@yORr8MJi8VDcoSIfX1kO{TKk?0vWfv9I&@MnBxat%4~hVgnwf@*h&gXoIT}D27IT0zq@EK+`)>hN8VBO_7X%)3nI?M4Cq{4+hmN zH6zBQwu%he+_mOF-l40(iE>s3WZ^RBugO?)rOQtfQ1H*|*0Sta2R81AVGzV0Qrg4>H0WQ$2 z4^LC77pHld13nXW)jk3SY#s}C$#whPNd&3c9+iR#_h%;_J$`6UgR*(U3$MC0p2FQ{-Z}Z= zVso!sn-@4aJS-R)87i}Aj>2j{fX-7j~7d!J4` z`_mXGq)whnC3bA;FVsGncvPxuoni4~o>Ve*`~KG9)?=QphF+ecXOYo>iwcKzCs zooo7W!zT})96eBX=Djob{I}#kF6)=|3(XJnbsa7BL-UWn;chJ*`mp`r`j_T=Tjs*W k)RE~2A6)!pI{UbuLMBh&+3sw+zEu7zMI-Ifc&K;iAB7gV2LJ#7 delta 207 zcmV;=05Jc83g7{d8Gi!+001a04^sdD069=hR7K3p%w}e0H8L`HcXt5)004vl)YQ}f zI{?4Gzp${dmX?+P|Nn%9giTFN04V@?czC9!rY0mLZfqrSp*5{)2*F;Soq*2chB?O z{eQpT|Mhltw6ChFe5?{dkg9N7Fbdb2!d>wIeC~TQ<$=qiPN>t_U?iNZWC5gEG2#FX zYf=(Kfu!_hz63r5ab?t4r_&i(E6RpONCg`rrV9l`jGR@&ZA-If161M;VG{Ntz-V0jFt^<3-wo7B38{SxQ2T z23w0-@Z`r*j$?`>nayU2EK3+xlB5MeASs4q7#v#QcAxG@Ib65vOAJ9^%a&?7s-dF= zMk#LeI(`g#Iv0XwMk4dXx?M~ZOc|MzOp+!jQqu}?&05<|6#VPPg4TAd&je%?*ha4< z!+Ip@OJJD0`wJBep*P|>ONB*|dV+@Bs{!2!2mKiQLMW;tva}m06iwrbn*+E&b37iW z6c(pFk{j?qq8W-U@hpUI4Y6z}*wPyCz!K0QPGDKqOL1&7!|+}Y!Vl4x;TU$xFwsB&ZQQ8pijlQf6e=_qa1dDPHlVaxhKA0j zSX38~_a`H&yFgkGflbU?j(x=#(rauPB>Jwc2u6PCSIw|aPj%-qX({Y~WU#I>E?y~AJK zUK4XoB@b@;?p)i}A3hr!0W%-q0@&CgUE57BI{AC|#NqUn^-td1 z%vVixADukfl%G1X_}2?{KfQBc3LV;Ey);0)Hx+%nV&?O*oh)(V!|J<<^0RalKX(1V z$oU^XnjUYsbZ|IPzT$4*QuDR9U!6IfUze;sUG1Z~#;323o;p*FMb0(uK7PD%JA&(% zFW&OiUVS6q#i3_zz4Gp}-~X{`&+2Dds_MG0jH)MGXML_a%3pi7mMuoEJ-lRctl`^^ P!Y?ZvY7gdHy0-rVWCX|b literal 0 HcmV?d00001 diff --git a/buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/top_alt2.png b/buildcraft_resources/assets/buildcraftfactory/textures/blocks/pumpBlock/top_alt2.png new file mode 100755 index 0000000000000000000000000000000000000000..41f27e23a49d5b0fa4ac3f67dbaa99d030bf0684 GIT binary patch literal 1282 zcmbVMZD<>19KWtAQY}`Lt<_Pk7sYn;axb~N^p2#p$+cTnlh!P-Iw*R%d(zyJd+FV! zNh+0DHByRh?t{Ad!MXW{+F8ZS&{E+78{ zLscb+?PQ~5)C_~Px^2t?JH}!Oc`PII3f9$$1_}Z+paDlh3tCpUg+dTpu`9s2yG>x| z3dG3-vDKgkqXTHzumH+>SzIP*3ib0|ie-3;YDa03@(~nC&^%620^=7b4y`;G^kyk3 zAuje-e8E)^OFND!5JWzo_vU?G!x|^hWdP1oj2};u ziVvqai3NTjQ8ekR+F6e;LhYGQHy`GBnxcA`4xZz}VV0rUZk`jxP?a0eZAa2&Q1z`s z-xY4hHMv6A0+M4`3B$-%t6(5)IEI}zOf(!uTX(9uV&v^M_l8yz7J;RX0;Sh7G;~E` zL0!jvM@r@yUZ!!spW|^q2UF*LydU?`Op;`o6vvS=R^coES2_X)MYwhHpSr1T!D4i$ zYh3^rYkdTC*gO{Ol7-z*o=1?Hdm>_YqHr<0fBfl*dv89~)JPv}xK#ID=*aK|dEtYH zOMh*A+=sUOaOYzEUZys4TjsT^7q^~$z5VRR(`~PGPPNPj7sekfKliHIaNVB)Pib-a zz@@3fGq?WwZu@~J^88D0z7fjSEZ-eD*?e^3g~{^skt^E||9xew`2Fvrv)kXw553sc zZwH)c-`;cO<@s~9yYN!P+_*G!VkCP!c0r#U|Kon=<;6Ds(auKC^`{&6y}xJnox+wG ze;~bO#&i4J{KUv+YVn}9%lh$~o8EgM`FXVe%e%ht;&q4k$9j+TT^b=BN}WTwldGmH{*|4Nabn0Pew(8ND_6TIXA literal 0 HcmV?d00001 diff --git a/common/buildcraft/BuildCraftCore.java b/common/buildcraft/BuildCraftCore.java index 91fa67db..f8acf044 100644 --- a/common/buildcraft/BuildCraftCore.java +++ b/common/buildcraft/BuildCraftCore.java @@ -172,6 +172,7 @@ public class BuildCraftCore extends BuildCraftMod { @SideOnly(Side.CLIENT) public static IIconProvider iconProvider; public static int blockByEntityModel; + public static int multipassModel; public static int legacyPipeModel; public static int markerModel; public static ITriggerExternal triggerMachineActive = new TriggerMachine(true); @@ -451,7 +452,7 @@ public class BuildCraftCore extends BuildCraftMod { BuildCraftCore.redLaserTexture = event.map.registerIcon("buildcraftcore:laserBox/blockRedLaser"); BuildCraftCore.blueLaserTexture = event.map.registerIcon("buildcraftcore:laserBox/blockBlueLaser"); BuildCraftCore.stripesLaserTexture = event.map.registerIcon("buildcraftcore:laserBox/blockStripesLaser"); - BuildCraftCore.transparentTexture = event.map.registerIcon("buildcraftcore:laserBox/blockTransparentLaser"); + BuildCraftCore.transparentTexture = event.map.registerIcon("buildcraftcore:misc/transparent"); } } diff --git a/common/buildcraft/builders/BlockArchitect.java b/common/buildcraft/builders/BlockArchitect.java index 837f1566..842cf934 100644 --- a/common/buildcraft/builders/BlockArchitect.java +++ b/common/buildcraft/builders/BlockArchitect.java @@ -8,23 +8,32 @@ */ package buildcraft.builders; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import buildcraft.BuildCraftBuilders; +import buildcraft.BuildCraftCore; +import buildcraft.core.BlockBuildCraftLED; import buildcraft.core.lib.block.BlockBuildCraft; import buildcraft.core.BCCreativeTab; import buildcraft.core.GuiIds; +import buildcraft.core.lib.utils.ResourceUtils; +import buildcraft.factory.TilePump; + +public class BlockArchitect extends BlockBuildCraftLED { + private IIcon[] led; -public class BlockArchitect extends BlockBuildCraft { public BlockArchitect() { - super(Material.iron, BCCreativeTab.get("main")); + super(Material.iron); setRotatable(true); } @@ -63,6 +72,16 @@ public class BlockArchitect extends BlockBuildCraft { return false; } + @Override + public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { + if (renderPass < 1) { + return -1; + } else { + TileArchitect tile = (TileArchitect) access.getTileEntity(x, y, z); + return tile.getIconGlowLevel(renderPass); + } + } + @Override public int getLightValue(IBlockAccess world, int x, int y, int z) { return 1; diff --git a/common/buildcraft/builders/BlockFiller.java b/common/buildcraft/builders/BlockFiller.java index f3219f00..e1f01b6a 100644 --- a/common/buildcraft/builders/BlockFiller.java +++ b/common/buildcraft/builders/BlockFiller.java @@ -26,19 +26,21 @@ import net.minecraftforge.common.util.ForgeDirection; import buildcraft.BuildCraftBuilders; import buildcraft.api.events.BlockInteractionEvent; import buildcraft.api.filler.IFillerPattern; +import buildcraft.core.BlockBuildCraftLED; import buildcraft.core.lib.block.BlockBuildCraft; import buildcraft.core.BCCreativeTab; import buildcraft.core.GuiIds; import buildcraft.core.lib.utils.Utils; +import buildcraft.factory.TileMiningWell; -public class BlockFiller extends BlockBuildCraft { - private IIcon textureTopOff; - +public class BlockFiller extends BlockBuildCraftLED { public BlockFiller() { super(Material.iron); setHardness(5F); setCreativeTab(BCCreativeTab.get("main")); + setRotatable(true); + setPassCount(4); } @Override @@ -59,23 +61,13 @@ public class BlockFiller extends BlockBuildCraft { } @Override - @SideOnly(Side.CLIENT) - public IIcon getIconAbsolute(IBlockAccess world, int x, int y, int z, int side, int metadata) { - TileEntity tile = world.getTileEntity(x, y, z); - if (tile != null && tile instanceof TileFiller) { - TileFiller filler = (TileFiller) tile; - if (side != 1) { - if (filler.currentPattern != null) { - return filler.currentPattern.getIcon(); - } - } else { - if (!filler.hasWork()) { - return textureTopOff; - } - } + public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { + if (renderPass == 0 || renderPass == 3) { + return -1; + } else { + TileFiller tile = (TileFiller) access.getTileEntity(x, y, z); + return tile.getIconGlowLevel(renderPass); } - - return super.getIconAbsolute(side, metadata); } @Override @@ -83,13 +75,6 @@ public class BlockFiller extends BlockBuildCraft { return new TileFiller(); } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - super.registerBlockIcons(register); - textureTopOff = register.registerIcon("buildcraftbuilders:fillerBlock/top_off"); - } - @Override public boolean renderAsNormalBlock() { return false; @@ -104,4 +89,28 @@ public class BlockFiller extends BlockBuildCraft { public int getLightValue(IBlockAccess world, int x, int y, int z) { return 1; } + + @Override + public IIcon getIconAbsolute(IBlockAccess access, int x, int y, int z, int side, int meta) { + if (renderPass < 3) { + return super.getIconAbsolute(access, x, y, z, side, meta); + } else { + if (side == 2) { + TileEntity tile = access.getTileEntity(x, y, z); + if (tile instanceof TileFiller && ((TileFiller) tile).currentPattern != null) { + return ((TileFiller) tile).currentPattern.getBlockOverlay(); + } + } + return null; + } + } + + @Override + public IIcon getIconAbsolute(int side, int meta) { + if (renderPass < 3) { + return super.getIconAbsolute(side, meta); + } else { + return null; + } + } } diff --git a/common/buildcraft/builders/TileArchitect.java b/common/buildcraft/builders/TileArchitect.java index 8aecdf03..98c38ca7 100644 --- a/common/buildcraft/builders/TileArchitect.java +++ b/common/buildcraft/builders/TileArchitect.java @@ -59,6 +59,7 @@ public class TileArchitect extends TileBuildCraft implements IInventory, IBoxPro private SimpleInventory inv = new SimpleInventory(2, "Architect", 1); private RecursiveBlueprintReader reader; + private boolean isProcessing; public TileArchitect() { box.kind = Kind.BLUE_STRIPES; @@ -74,6 +75,8 @@ public class TileArchitect extends TileBuildCraft implements IInventory, IBoxPro if (reader.isDone()) { reader = null; + isProcessing = false; + sendNetworkUpdate(); } } } @@ -208,6 +211,7 @@ public class TileArchitect extends TileBuildCraft implements IInventory, IBoxPro box.writeData(stream); NetworkUtils.writeUTF(stream, name); readConfiguration.writeData(stream); + stream.writeBoolean(reader != null); stream.writeShort(subLasers.size()); for (LaserData ld: subLasers) { ld.writeData(stream); @@ -219,6 +223,12 @@ public class TileArchitect extends TileBuildCraft implements IInventory, IBoxPro box.readData(stream); name = NetworkUtils.readUTF(stream); readConfiguration.readData(stream); + boolean newIsProcessing = stream.readBoolean(); + if (newIsProcessing != isProcessing) { + isProcessing = newIsProcessing; + worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord, yCoord, zCoord); + } + int size = stream.readUnsignedShort(); subLasers.clear(); for (int i = 0; i < size; i++) { @@ -239,6 +249,7 @@ public class TileArchitect extends TileBuildCraft implements IInventory, IBoxPro } reader = new RecursiveBlueprintReader(this); + sendNetworkUpdate(); } public int getComputingProgressScaled(int scale) { @@ -336,4 +347,14 @@ public class TileArchitect extends TileBuildCraft implements IInventory, IBoxPro subLasers.add(laser); } + + public int getIconGlowLevel(int renderPass) { + if (renderPass == 1) { // Red LED + return isProcessing ? 15 : 0; + } else if (renderPass == 2) { // Green LED + return box != null && box.isInitialized() ? 15 : 0; + } else { + return -1; + } + } } \ No newline at end of file diff --git a/common/buildcraft/builders/TileFiller.java b/common/buildcraft/builders/TileFiller.java index e90fcc9b..b64cfda5 100644 --- a/common/buildcraft/builders/TileFiller.java +++ b/common/buildcraft/builders/TileFiller.java @@ -304,6 +304,7 @@ public class TileFiller extends TileAbstractBuilder implements IHasWork, IContro box.writeData(data); data.writeBoolean(done); NetworkUtils.writeUTF(data, currentPattern.getUniqueTag()); + NBTTagCompound parameterData = new NBTTagCompound(); writeParametersToNBT(parameterData); NetworkUtils.writeNBT(data, parameterData); @@ -400,4 +401,14 @@ public class TileFiller extends TileAbstractBuilder implements IHasWork, IContro } })); } + + public int getIconGlowLevel(int renderPass) { + if (renderPass == 1) { // Red LED + return done ? 15 : 0; + } else if (renderPass == 2) { // Green LED + return 0; + } else { + return -1; + } + } } diff --git a/common/buildcraft/core/BlockBuildCraftLED.java b/common/buildcraft/core/BlockBuildCraftLED.java new file mode 100644 index 00000000..515852d3 --- /dev/null +++ b/common/buildcraft/core/BlockBuildCraftLED.java @@ -0,0 +1,63 @@ +package buildcraft.core; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; +import buildcraft.BuildCraftCore; +import buildcraft.api.transport.IPipeTile; +import buildcraft.core.lib.block.BlockBuildCraft; +import buildcraft.core.lib.utils.ResourceUtils; +import buildcraft.core.lib.utils.Utils; + +public abstract class BlockBuildCraftLED extends BlockBuildCraft { + private IIcon[] led; + + protected BlockBuildCraftLED(Material material) { + super(material); + setPassCount(3); + } + + @Override + public void registerBlockIcons(IIconRegister register) { + super.registerBlockIcons(register); + String base = ResourceUtils.getObjectPrefix(Block.blockRegistry.getNameForObject(this)); + led = new IIcon[] { + register.registerIcon(base + "/led_red"), + register.registerIcon(base + "/led_green") + }; + } + + @Override + public IIcon getIconAbsolute(IBlockAccess access, int x, int y, int z, int side, int meta) { + if (renderPass == 0) { + return super.getIconAbsolute(access, x, y, z, side, meta); + } else { + if (isRotatable()) { + return side == 2 ? led[renderPass - 1] : null; + } else { + return side >= 2 ? led[renderPass - 1] : null; + } + } + } + + @Override + public IIcon getIconAbsolute(int side, int meta) { + if (renderPass == 0) { + return super.getIconAbsolute(side, meta); + } else { + if (isRotatable()) { + return side == 2 ? led[renderPass - 1] : null; + } else { + return side >= 2 ? led[renderPass - 1] : null; + } + } + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } +} diff --git a/common/buildcraft/core/builders/patterns/FillerPattern.java b/common/buildcraft/core/builders/patterns/FillerPattern.java index 01cc5de7..124deb32 100644 --- a/common/buildcraft/core/builders/patterns/FillerPattern.java +++ b/common/buildcraft/core/builders/patterns/FillerPattern.java @@ -16,6 +16,7 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import cpw.mods.fml.common.Loader; import buildcraft.api.blueprints.SchematicMask; import buildcraft.api.filler.IFillerPattern; import buildcraft.api.statements.IStatement; @@ -32,7 +33,7 @@ public abstract class FillerPattern implements IFillerPattern { public static final Map patterns = new TreeMap(); private final String tag; - private IIcon icon; + private IIcon icon, blockIcon; public FillerPattern(String tag) { this.tag = tag; @@ -62,6 +63,9 @@ public abstract class FillerPattern implements IFillerPattern { @Override public void registerIcons(IIconRegister iconRegister) { icon = iconRegister.registerIcon("buildcraftcore:fillerPatterns/" + tag); + if (Loader.isModLoaded("BuildCraft|Builders")) { + blockIcon = iconRegister.registerIcon("buildcraftbuilders:fillerBlockIcons/" + tag); + } } @Override @@ -69,6 +73,11 @@ public abstract class FillerPattern implements IFillerPattern { return icon; } + @Override + public IIcon getBlockOverlay() { + return blockIcon; + } + @Override public int maxParameters() { return 0; diff --git a/common/buildcraft/core/lib/block/BlockBuildCraft.java b/common/buildcraft/core/lib/block/BlockBuildCraft.java index 0454403f..dbca662a 100644 --- a/common/buildcraft/core/lib/block/BlockBuildCraft.java +++ b/common/buildcraft/core/lib/block/BlockBuildCraft.java @@ -13,7 +13,6 @@ import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; @@ -30,6 +29,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraftforge.common.util.ForgeDirection; +import buildcraft.BuildCraftCore; import buildcraft.api.events.BlockInteractionEvent; import buildcraft.api.events.BlockPlacedDownEvent; import buildcraft.api.tiles.IHasWork; @@ -44,6 +44,9 @@ public abstract class BlockBuildCraft extends BlockContainer { protected static boolean keepInventory = false; protected final Random rand = new Random(); + protected int renderPass; + + protected int maxPasses = 1; private static final int[][] SIDE_TEXTURING_LOCATIONS = new int[][] { {2, 3, 5, 4}, @@ -71,6 +74,10 @@ public abstract class BlockBuildCraft extends BlockContainer { this.rotatable = rotatable; } + public void setPassCount(int maxPasses) { + this.maxPasses = maxPasses; + } + @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack) { super.onBlockPlacedBy(world, x, y, z, entity, stack); @@ -93,7 +100,7 @@ public abstract class BlockBuildCraft extends BlockContainer { BlockInteractionEvent event = new BlockInteractionEvent(entityplayer, this); FMLCommonHandler.instance().bus().post(event); if (event.isCanceled()) { - return false; + return true; } if (isRotatable()) { @@ -182,17 +189,19 @@ public abstract class BlockBuildCraft extends BlockContainer { @Override @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess access, int x, int y, int z, int side) { + IIcon icon; int metadata = access.getBlockMetadata(x, y, z); if (isRotatable()) { if (side < 2) { - return getIconAbsolute(access, x, y, z, side, metadata & 8); + icon = getIconAbsolute(access, x, y, z, side, metadata & 8); + } else { + int front = metadata >= 2 && metadata <= 5 ? metadata : 3; + icon = getIconAbsolute(access, x, y, z, SIDE_TEXTURING_LOCATIONS[(front - 2) % 4][(side - 2) % 4], metadata & 8); } - - int front = metadata >= 2 && metadata <= 5 ? metadata : 3; - return getIconAbsolute(access, x, y, z, SIDE_TEXTURING_LOCATIONS[(front - 2) % 4][(side - 2) % 4], metadata & 8); } else { - return getIconAbsolute(access, x, y, z, side, metadata); + icon = getIconAbsolute(access, x, y, z, side, metadata); } + return icon != null ? icon : BuildCraftCore.transparentTexture; } @Override @@ -247,4 +256,37 @@ public abstract class BlockBuildCraft extends BlockContainer { registerIconsForMeta(i, iconBlockNames[i], register); } } + + @Override + public boolean canRenderInPass(int pass) { + if (pass >= maxPasses) { + renderPass = 0; + return false; + } else { + renderPass = pass; + return true; + } + } + + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return maxPasses > 1 ? 1 : 0; + } + + @Override + public int getRenderType() { + return maxPasses > 1 ? BuildCraftCore.multipassModel : 0; + } + + public int getCurrentRenderPass() { + return renderPass; + } + + public int getIconGlowLevel() { + return -1; + } + + public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { + return getIconGlowLevel(); + } } diff --git a/common/buildcraft/core/lib/block/TileBuildCraft.java b/common/buildcraft/core/lib/block/TileBuildCraft.java index db4ecbe9..2880a43d 100644 --- a/common/buildcraft/core/lib/block/TileBuildCraft.java +++ b/common/buildcraft/core/lib/block/TileBuildCraft.java @@ -49,6 +49,7 @@ public abstract class TileBuildCraft extends TileEntity implements IEnergyHandle private RFBattery battery; private int receivedTick, extractedTick; + private long worldTimeEnergyReceive; public String getOwner() { return owner; @@ -158,6 +159,10 @@ public abstract class TileBuildCraft extends TileEntity implements IEnergyHandle } } + protected int getTicksSinceEnergyReceived() { + return (int) (worldObj.getTotalWorldTime() - worldTimeEnergyReceive); + } + @Override public int hashCode() { @@ -181,6 +186,7 @@ public abstract class TileBuildCraft extends TileEntity implements IEnergyHandle int received = battery.receiveEnergy(maxReceive - receivedTick, simulate); if (!simulate) { receivedTick += received; + worldTimeEnergyReceive = worldObj.getTotalWorldTime(); } return received; } else { diff --git a/common/buildcraft/core/lib/render/RenderBlockMultipass.java b/common/buildcraft/core/lib/render/RenderBlockMultipass.java new file mode 100644 index 00000000..bcf6609b --- /dev/null +++ b/common/buildcraft/core/lib/render/RenderBlockMultipass.java @@ -0,0 +1,95 @@ +package buildcraft.core.lib.render; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import buildcraft.BuildCraftCore; +import buildcraft.core.lib.block.BlockBuildCraft; + +public class RenderBlockMultipass implements ISimpleBlockRenderingHandler { + @Override + public void renderInventoryBlock(Block block, int meta, int modelId, RenderBlocks renderer) { + BlockBuildCraft bcBlock = (BlockBuildCraft) block; + int pass = 0; + while (bcBlock.canRenderInPass(pass)) { + renderPassInventory(pass, bcBlock, meta, renderer); + pass++; + } + } + + private void renderPassInventory(int pass, BlockBuildCraft block, int meta, RenderBlocks renderer) { + if (block.getIconGlowLevel() >= 0) { + Tessellator.instance.setBrightness(block.getIconGlowLevel() << 4); + RenderUtils.drawBlockItem(renderer, Tessellator.instance, block, meta); + } else { + RenderUtils.drawBlockItem(renderer, Tessellator.instance, block, meta); + } + } + + private void renderPassWorld(int pass, BlockBuildCraft block, int meta, RenderBlocks renderer, IBlockAccess world, int x, int y, int z) { + if (block.getIconGlowLevel(world, x, y, z) >= 0) { + Tessellator.instance.setBrightness(block.getIconGlowLevel(world, x, y, z) << 4); + Tessellator.instance.setColorOpaque_F(1.0F, 1.0F, 1.0F); + IIcon icon; + + icon = block.getIcon(world, x, y, z, 0); + if (icon != null && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y - 1, z, 0))) { + renderer.renderFaceYNeg(block, x, y, z, icon); + } + icon = block.getIcon(world, x, y, z, 1); + if (icon != null && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y + 1, z, 1))) { + renderer.renderFaceYPos(block, x, y, z, icon); + } + icon = block.getIcon(world, x, y, z, 2); + if (icon != null && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y, z - 1, 2))) { + renderer.renderFaceZNeg(block, x, y, z, icon); + } + icon = block.getIcon(world, x, y, z, 3); + if (icon != null && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y, z + 1, 3))) { + renderer.renderFaceZPos(block, x, y, z, icon); + } + icon = block.getIcon(world, x, y, z, 4); + if (icon != null && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x - 1, y, z, 4))) { + renderer.renderFaceXNeg(block, x, y, z, icon); + } + icon = block.getIcon(world, x, y, z, 5); + if (icon != null && (renderer.renderAllFaces || block.shouldSideBeRendered(world, x + 1, y, z, 5))) { + renderer.renderFaceXPos(block, x, y, z, icon); + } + } else { + renderer.renderStandardBlockWithColorMultiplier(block, x, y, z, 1.0f, 1.0f, 1.0f); + } + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + BlockBuildCraft bcBlock = (BlockBuildCraft) block; + int meta = world.getBlockMetadata(x, y, z); + + if (bcBlock.getCurrentRenderPass() > 0) { + int pass = bcBlock.getCurrentRenderPass(); + while (bcBlock.canRenderInPass(pass)) { + renderPassWorld(pass, bcBlock, meta, renderer, world, x, y, z); + pass++; + } + } else { + if (bcBlock.canRenderInPass(0)) { + renderPassWorld(0, bcBlock, meta, renderer, world, x, y, z); + } + } + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return BuildCraftCore.multipassModel; + } +} diff --git a/common/buildcraft/core/lib/render/RenderUtils.java b/common/buildcraft/core/lib/render/RenderUtils.java index 213515eb..d2aa9575 100644 --- a/common/buildcraft/core/lib/render/RenderUtils.java +++ b/common/buildcraft/core/lib/render/RenderUtils.java @@ -9,6 +9,11 @@ package buildcraft.core.lib.render; import org.lwjgl.opengl.GL11; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import buildcraft.transport.PipeIconProvider; public final class RenderUtils { @@ -24,4 +29,74 @@ public final class RenderUtils { float blue = (color & 255) / 255.0F; GL11.glColor4f(red, green, blue, 1.0F); } + + public static void drawBlockItem(RenderBlocks render, Tessellator tessellator, Block block, IIcon icon) { + if (icon == null) { + return; + } + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1F, 0.0F); + render.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, icon); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + render.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, icon); + tessellator.setNormal(0.0F, 0.0F, -1F); + render.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, icon); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + render.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, icon); + tessellator.setNormal(-1F, 0.0F, 0.0F); + render.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, icon); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + render.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, icon); + tessellator.draw(); + } + + public static void drawBlockItem(RenderBlocks render, Tessellator tessellator, Block block, int decodedMeta) { + tessellator.startDrawingQuads(); + IIcon icon = tryGetBlockIcon(block, 0, decodedMeta); + if (icon != null) { + tessellator.setNormal(0.0F, -1F, 0.0F); + render.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, icon); + } + icon = tryGetBlockIcon(block, 1, decodedMeta); + if (icon != null) { + tessellator.setNormal(0.0F, 1F, 0.0F); + render.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, icon); + } + icon = tryGetBlockIcon(block, 2, decodedMeta); + if (icon != null) { + tessellator.setNormal(0.0F, 0.0F, -1F); + render.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, icon); + } + icon = tryGetBlockIcon(block, 3, decodedMeta); + if (icon != null) { + tessellator.setNormal(0.0F, 0.0F, 1F); + render.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, icon); + } + icon = tryGetBlockIcon(block, 4, decodedMeta); + if (icon != null) { + tessellator.setNormal(-1F, 0.0F, 0.0F); + render.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, icon); + } + icon = tryGetBlockIcon(block, 5, decodedMeta); + if (icon != null) { + tessellator.setNormal(1F, 0.0F, 0.0F); + render.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, icon); + } + tessellator.draw(); + } + + public static IIcon tryGetBlockIcon(Block block, int side, int decodedMeta) { + IIcon icon = null; + + try { + icon = block.getIcon(side, decodedMeta); + } catch (Throwable t) { + try { + icon = block.getBlockTextureFromSide(side); + } catch (Throwable ignored) { + } + } + + return icon; + } } diff --git a/common/buildcraft/core/lib/utils/Utils.java b/common/buildcraft/core/lib/utils/Utils.java index f0cce6b7..962b87aa 100644 --- a/common/buildcraft/core/lib/utils/Utils.java +++ b/common/buildcraft/core/lib/utils/Utils.java @@ -26,6 +26,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; +import net.minecraft.world.IWorldAccess; import net.minecraft.world.World; import cpw.mods.fml.common.network.internal.FMLProxyPacket; @@ -386,6 +387,11 @@ public final class Utils { } + public static boolean isPipeConnected(IBlockAccess access, int x, int y, int z, ForgeDirection dir, IPipeTile.PipeType type) { + TileEntity tile = access.getTileEntity(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + return tile instanceof IPipeTile && ((IPipeTile) tile).getPipeType() == type && ((IPipeTile) tile).isPipeConnected(dir.getOpposite()); + } + public static int[] createSlotArray(int first, int count) { int[] slots = new int[count]; for (int k = first; k < first + count; k++) { diff --git a/common/buildcraft/core/proxy/CoreProxyClient.java b/common/buildcraft/core/proxy/CoreProxyClient.java index 3dc21952..9341b7f4 100644 --- a/common/buildcraft/core/proxy/CoreProxyClient.java +++ b/common/buildcraft/core/proxy/CoreProxyClient.java @@ -32,6 +32,7 @@ import buildcraft.core.lib.EntityBlock; import buildcraft.core.LaserKind; import buildcraft.core.lib.engines.RenderEngine; import buildcraft.core.lib.engines.TileEngineBase; +import buildcraft.core.lib.render.RenderBlockMultipass; import buildcraft.core.lib.render.RenderEntityBlock; import buildcraft.core.render.RenderingEntityBlocks; import buildcraft.core.render.RenderingMarkers; @@ -84,10 +85,12 @@ public class CoreProxyClient extends CoreProxy { BuildCraftCore.blockByEntityModel = RenderingRegistry.getNextAvailableRenderId(); BuildCraftCore.legacyPipeModel = RenderingRegistry.getNextAvailableRenderId(); BuildCraftCore.markerModel = RenderingRegistry.getNextAvailableRenderId(); + BuildCraftCore.multipassModel = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(new RenderingEntityBlocks()); RenderingRegistry.registerBlockHandler(BuildCraftCore.legacyPipeModel, new RenderingEntityBlocks()); RenderingRegistry.registerBlockHandler(new RenderingMarkers()); + RenderingRegistry.registerBlockHandler(BuildCraftCore.multipassModel, new RenderBlockMultipass()); //TODO Update me to grab differing trunk textures ClientRegistry.bindTileEntitySpecialRenderer(TileEngineBase.class, new RenderEngine()); diff --git a/common/buildcraft/factory/BlockFloodGate.java b/common/buildcraft/factory/BlockFloodGate.java index 8ad3a686..8a727c22 100644 --- a/common/buildcraft/factory/BlockFloodGate.java +++ b/common/buildcraft/factory/BlockFloodGate.java @@ -15,18 +15,23 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.common.util.ForgeDirection; import buildcraft.api.tools.IToolWrench; import buildcraft.core.lib.block.BlockBuildCraft; import buildcraft.core.lib.utils.Utils; public class BlockFloodGate extends BlockBuildCraft { + private IIcon valve, transparent; + public BlockFloodGate() { super(Material.iron); + setPassCount(2); } @Override @@ -35,26 +40,30 @@ public class BlockFloodGate extends BlockBuildCraft { } @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityplayer, int par6, float par7, float par8, float par9) { - if (super.onBlockActivated(world, i, j, k, entityplayer, par6, par7, par8, par9)) { + public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityplayer, int side, float par7, float par8, float par9) { + if (super.onBlockActivated(world, i, j, k, entityplayer, side, par7, par8, par9)) { return true; } + // Drop through if the player is sneaking + if (entityplayer.isSneaking()) { + return false; + } + TileEntity tile = world.getTileEntity(i, j, k); if (tile instanceof TileFloodGate) { TileFloodGate floodGate = (TileFloodGate) tile; - - // Drop through if the player is sneaking - if (entityplayer.isSneaking()) { - return false; - } - - // Restart the quarry if its a wrench + // Restart the flood gate if it's a wrench Item equipped = entityplayer.getCurrentEquippedItem() != null ? entityplayer.getCurrentEquippedItem().getItem() : null; if (equipped instanceof IToolWrench && ((IToolWrench) equipped).canWrench(entityplayer, i, j, k)) { + System.out.println("pre=" + side); + if (side == 1) { + floodGate.rebuildQueue(); + } else { + floodGate.switchSide(ForgeDirection.getOrientation(side)); + } - floodGate.rebuildQueue(); ((IToolWrench) equipped).wrenchUsed(entityplayer, i, j, k); return true; } @@ -71,4 +80,38 @@ public class BlockFloodGate extends BlockBuildCraft { ((TileFloodGate) tile).onNeighborBlockChange(block); } } + + @Override + public void registerBlockIcons(IIconRegister register) { + super.registerBlockIcons(register); + valve = register.registerIcon("buildcraftfactory:floodGateBlock/valve"); + transparent = register.registerIcon("buildcraftcore:misc/transparent"); + } + + @Override + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + if (renderPass == 1) { + if (side != 1) { + TileEntity tile = world.getTileEntity(x, y, z); + if (tile instanceof TileFloodGate) { + return ((TileFloodGate) tile).isSideBlocked(side) ? transparent : valve; + } + } + return transparent; + } else { + return super.getIcon(world, x, y, z, side); + } + } + + @Override + public IIcon getIcon(int side, int metadata) { + if (renderPass == 1) { + if (side == 1) { + return null; + } + return valve; + } else { + return super.getIcon(side, metadata); + } + } } diff --git a/common/buildcraft/factory/BlockLEDHatchBase.java b/common/buildcraft/factory/BlockLEDHatchBase.java new file mode 100644 index 00000000..8b3738de --- /dev/null +++ b/common/buildcraft/factory/BlockLEDHatchBase.java @@ -0,0 +1,79 @@ +package buildcraft.factory; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; +import buildcraft.BuildCraftCore; +import buildcraft.api.transport.IPipeTile; +import buildcraft.core.lib.block.BlockBuildCraft; +import buildcraft.core.lib.utils.ResourceUtils; +import buildcraft.core.lib.utils.Utils; + +public abstract class BlockLEDHatchBase extends BlockBuildCraft { + private IIcon[] led; + private IIcon itemHatch; + + protected BlockLEDHatchBase(Material material) { + super(material); + + setRotatable(true); + setPassCount(4); + } + + @Override + public int getLightValue(IBlockAccess world, int x, int y, int z) { + return 1; + } + + @Override + public void registerBlockIcons(IIconRegister register) { + super.registerBlockIcons(register); + String base = ResourceUtils.getObjectPrefix(Block.blockRegistry.getNameForObject(this)); + led = new IIcon[] { + register.registerIcon(base + "/led_red"), + register.registerIcon(base + "/led_green") + }; + itemHatch = register.registerIcon(base + "/item_hatch"); + } + + @Override + public IIcon getIcon(IBlockAccess access, int x, int y, int z, int side) { + // The quarry's pipe connection method has no idea about "sides". + if (renderPass == 1) { + return Utils.isPipeConnected(access, x, y, z, ForgeDirection.getOrientation(side), IPipeTile.PipeType.ITEM) ? itemHatch : BuildCraftCore.transparentTexture; + } else { + return super.getIcon(access, x, y, z, side); + } + } + + @Override + public IIcon getIconAbsolute(IBlockAccess access, int x, int y, int z, int side, int meta) { + if (renderPass == 0) { + return super.getIconAbsolute(access, x, y, z, side, meta); + } else if (renderPass == 1) { + return null; + } else { + return side == 2 ? led[renderPass - 2] : null; + } + } + + @Override + public IIcon getIconAbsolute(int side, int meta) { + if (renderPass == 0) { + return super.getIconAbsolute(side, meta); + } else if (renderPass == 1) { + return side == 1 ? itemHatch : null; + } else { + return side == 2 ? led[renderPass - 2] : null; + } + } + + @Override + public boolean renderAsNormalBlock() + { + return false; + } +} diff --git a/common/buildcraft/factory/BlockMiningWell.java b/common/buildcraft/factory/BlockMiningWell.java index 290fa17c..41790501 100644 --- a/common/buildcraft/factory/BlockMiningWell.java +++ b/common/buildcraft/factory/BlockMiningWell.java @@ -10,30 +10,19 @@ package buildcraft.factory; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraftforge.common.util.ForgeDirection; - import buildcraft.BuildCraftFactory; -import buildcraft.core.lib.block.BlockBuildCraft; -import buildcraft.core.lib.utils.Utils; -public class BlockMiningWell extends BlockBuildCraft { +public class BlockMiningWell extends BlockLEDHatchBase { public BlockMiningWell() { super(Material.ground); setHardness(5F); setResistance(10F); setStepSound(soundTypeStone); - setRotatable(true); } @Override @@ -56,4 +45,14 @@ public class BlockMiningWell extends BlockBuildCraft { public TileEntity createNewTileEntity(World world, int metadata) { return new TileMiningWell(); } + + @Override + public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { + if (renderPass < 2) { + return -1; + } else { + TileMiningWell tile = (TileMiningWell) access.getTileEntity(x, y, z); + return tile.getIconGlowLevel(renderPass); + } + } } diff --git a/common/buildcraft/factory/BlockPump.java b/common/buildcraft/factory/BlockPump.java index 65abbdb7..5d095cf1 100644 --- a/common/buildcraft/factory/BlockPump.java +++ b/common/buildcraft/factory/BlockPump.java @@ -15,16 +15,24 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraftforge.common.util.ForgeDirection; +import buildcraft.BuildCraftCore; import buildcraft.api.tools.IToolWrench; +import buildcraft.api.transport.IPipeTile; +import buildcraft.core.BlockBuildCraftLED; import buildcraft.core.lib.block.BlockBuildCraft; +import buildcraft.core.lib.utils.ResourceUtils; import buildcraft.core.lib.utils.Utils; -public class BlockPump extends BlockBuildCraft { +public class BlockPump extends BlockBuildCraftLED { + private IIcon[] led; + public BlockPump() { super(Material.iron); } @@ -72,4 +80,19 @@ public class BlockPump extends BlockBuildCraft { ((TilePump) tile).onNeighborBlockChange(block); } } + + @Override + public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { + if (renderPass < 1) { + return -1; + } else { + TilePump tile = (TilePump) access.getTileEntity(x, y, z); + return tile.getIconGlowLevel(renderPass); + } + } + + @Override + public int getLightValue(IBlockAccess world, int x, int y, int z) { + return 1; + } } diff --git a/common/buildcraft/factory/BlockQuarry.java b/common/buildcraft/factory/BlockQuarry.java index e64619d1..7ddf3836 100644 --- a/common/buildcraft/factory/BlockQuarry.java +++ b/common/buildcraft/factory/BlockQuarry.java @@ -12,34 +12,26 @@ import java.util.ArrayList; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import net.minecraftforge.common.util.ForgeDirection; import buildcraft.BuildCraftFactory; import buildcraft.api.tools.IToolWrench; -import buildcraft.core.lib.block.BlockBuildCraft; -import buildcraft.core.lib.utils.Utils; -public class BlockQuarry extends BlockBuildCraft { +public class BlockQuarry extends BlockLEDHatchBase { public BlockQuarry() { super(Material.iron); setHardness(10F); setResistance(10F); setStepSound(soundTypeAnvil); - setRotatable(true); } @Override @@ -159,7 +151,12 @@ public class BlockQuarry extends BlockBuildCraft { } @Override - public int getLightValue(IBlockAccess world, int x, int y, int z) { - return 1; + public int getIconGlowLevel(IBlockAccess access, int x, int y, int z) { + if (renderPass < 2) { + return -1; + } else { + TileQuarry tile = (TileQuarry) access.getTileEntity(x, y, z); + return tile.getIconGlowLevel(renderPass); + } } } diff --git a/common/buildcraft/factory/TileFloodGate.java b/common/buildcraft/factory/TileFloodGate.java index 1a7e3709..c8fefa44 100644 --- a/common/buildcraft/factory/TileFloodGate.java +++ b/common/buildcraft/factory/TileFloodGate.java @@ -14,6 +14,7 @@ import java.util.LinkedList; import java.util.Set; import java.util.TreeMap; +import io.netty.buffer.ByteBuf; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; @@ -28,6 +29,7 @@ import net.minecraftforge.fluids.IFluidHandler; import buildcraft.api.core.BlockIndex; import buildcraft.api.core.BuildCraftAPI; +import buildcraft.core.LaserData; import buildcraft.core.lib.block.TileBuildCraft; import buildcraft.core.lib.fluids.Tank; import buildcraft.core.lib.fluids.TankUtils; @@ -35,7 +37,6 @@ import buildcraft.core.lib.utils.BlockUtils; import buildcraft.core.lib.utils.Utils; public class TileFloodGate extends TileBuildCraft implements IFluidHandler { - public static final int[] REBUILD_DELAY = new int[8]; public static final int MAX_LIQUID = FluidContainerRegistry.BUCKET_VOLUME * 2; private final TreeMap> pumpLayerQueues = new TreeMap>(); @@ -45,6 +46,7 @@ public class TileFloodGate extends TileBuildCraft implements IFluidHandler { private int rebuildDelay; private int tick = Utils.RANDOM.nextInt(); private boolean powered = false; + private boolean[] blockedSides = new boolean[6]; static { REBUILD_DELAY[0] = 128; @@ -189,11 +191,12 @@ public class TileFloodGate extends TileBuildCraft implements IFluidHandler { if (tank.getFluidType() == null) { return; } - queueForFilling(x, y - 1, z); - queueForFilling(x + 1, y, z); - queueForFilling(x - 1, y, z); - queueForFilling(x, y, z + 1); - queueForFilling(x, y, z - 1); + for (int i = 0; i < 6; i++) { + if (i != 1 && !blockedSides[i]) { + ForgeDirection dir = ForgeDirection.getOrientation(i); + queueForFilling(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + } + } } public void queueForFilling(int x, int y, int z) { @@ -236,6 +239,9 @@ public class TileFloodGate extends TileBuildCraft implements IFluidHandler { tank.readFromNBT(data); rebuildDelay = data.getByte("rebuildDelay"); powered = data.getBoolean("powered"); + for (int i = 0; i < 6; i++) { + blockedSides[i] = data.getBoolean("blocked[" + i + "]"); + } } @Override @@ -244,6 +250,40 @@ public class TileFloodGate extends TileBuildCraft implements IFluidHandler { tank.writeToNBT(data); data.setByte("rebuildDelay", (byte) rebuildDelay); data.setBoolean("powered", powered); + for (int i = 0; i < 6; i++) { + if (blockedSides[i]) { + data.setBoolean("blocked[" + i + "]", true); + } + } + } + + // TODO: fit in single byte + @Override + public void readData(ByteBuf stream) { + for (int i = 0; i < 6; i++) { + blockedSides[i] = stream.readBoolean(); + System.out.println("Rsides=" + i + "=" + blockedSides[i]); + } + } + + @Override + public void writeData(ByteBuf stream) { + for (int i = 0; i < 6; i++) { + System.out.println("Wsides=" + i + "=" + blockedSides[i]); + stream.writeBoolean(blockedSides[i]); + } + } + + public void switchSide(ForgeDirection side) { + System.out.println("Csides=" + side.ordinal() + "=" + blockedSides[side.ordinal()]); + if (side.ordinal() != 1) { + blockedSides[side.ordinal()] = !blockedSides[side.ordinal()]; + System.out.println("Ssides=" + side.ordinal() + "=" + blockedSides[side.ordinal()]); + + rebuildQueue(); + sendNetworkUpdate(); + worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord, yCoord, zCoord); + } } @Override @@ -287,4 +327,8 @@ public class TileFloodGate extends TileBuildCraft implements IFluidHandler { public FluidTankInfo[] getTankInfo(ForgeDirection from) { return new FluidTankInfo[]{tank.getInfo()}; } + + public boolean isSideBlocked(int side) { + return blockedSides[side]; + } } diff --git a/common/buildcraft/factory/TileMiningWell.java b/common/buildcraft/factory/TileMiningWell.java index 968a369c..9a183dff 100644 --- a/common/buildcraft/factory/TileMiningWell.java +++ b/common/buildcraft/factory/TileMiningWell.java @@ -8,12 +8,15 @@ */ package buildcraft.factory; +import io.netty.buffer.ByteBuf; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import buildcraft.BuildCraftCore; import buildcraft.BuildCraftFactory; import buildcraft.api.blueprints.BuilderAPI; +import buildcraft.api.core.SafeTimeTracker; import buildcraft.api.tiles.IControllable; import buildcraft.api.tiles.IHasWork; import buildcraft.api.transport.IPipeConnection; @@ -24,8 +27,12 @@ import buildcraft.core.lib.utils.BlockMiner; import buildcraft.core.lib.utils.BlockUtils; public class TileMiningWell extends TileBuildCraft implements IHasWork, IPipeConnection, IControllable { - boolean isDigging = true; + private boolean isDigging = true; private BlockMiner miner; + private int ledState; + private int ticksSinceAction = 9001; + + private SafeTimeTracker updateTracker = new SafeTimeTracker(BuildCraftCore.updateFactor); public TileMiningWell() { super(); @@ -44,6 +51,12 @@ public class TileMiningWell extends TileBuildCraft implements IHasWork, IPipeCon return; } + if (updateTracker.markTimeIfDelay(worldObj)) { + sendNetworkUpdate(); + } + + ticksSinceAction++; + if (mode == Mode.Off) { if (miner != null) { miner.invalidate(); @@ -74,6 +87,7 @@ public class TileMiningWell extends TileBuildCraft implements IHasWork, IPipeCon } if (world.isAirBlock(xCoord, depth, zCoord) || world.getBlock(xCoord, depth, zCoord).isReplaceable(world, xCoord, depth, zCoord)) { + ticksSinceAction = 0; if (getBattery().getEnergyStored() >= BuilderAPI.BUILD_ENERGY) { getBattery().useEnergy(BuilderAPI.BUILD_ENERGY, BuilderAPI.BUILD_ENERGY, false); world.setBlock(xCoord, depth, zCoord, BuildCraftFactory.plainPipeBlock); @@ -85,6 +99,7 @@ public class TileMiningWell extends TileBuildCraft implements IHasWork, IPipeCon if (miner != null) { isDigging = true; + ticksSinceAction = 0; int usedEnergy = miner.acceptEnergy(getBattery().getEnergyStored()); getBattery().useEnergy(usedEnergy, usedEnergy, false); @@ -109,6 +124,35 @@ public class TileMiningWell extends TileBuildCraft implements IHasWork, IPipeCon } } + @Override + public void writeData(ByteBuf stream) { + super.writeData(stream); + + ledState = (ticksSinceAction < 2 ? 16 : 0) | (getBattery().getEnergyStored() * 15 / getBattery().getMaxEnergyStored()); + stream.writeByte(ledState); + } + + @Override + public void readData(ByteBuf stream) { + super.readData(stream); + + int newLedState = stream.readUnsignedByte(); + if (newLedState != ledState) { + ledState = newLedState; + worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord, yCoord, zCoord); + } + } + + public int getIconGlowLevel(int renderPass) { + if (renderPass == 2) { // Red LED + return ledState & 15; + } else if (renderPass == 3) { // Green LED + return (ledState >> 4) > 0 ? 15 : 0; + } else { + return -1; + } + } + @Override public boolean hasWork() { return isDigging; @@ -117,6 +161,9 @@ public class TileMiningWell extends TileBuildCraft implements IHasWork, IPipeCon @Override public ConnectOverride overridePipeConnection(IPipeTile.PipeType type, ForgeDirection with) { + if (with.ordinal() == worldObj.getBlockMetadata(xCoord, yCoord, zCoord)) { + return ConnectOverride.DISCONNECT; + } return type == IPipeTile.PipeType.ITEM ? ConnectOverride.CONNECT : ConnectOverride.DEFAULT; } diff --git a/common/buildcraft/factory/TilePump.java b/common/buildcraft/factory/TilePump.java index 134a9a95..7f837d3e 100644 --- a/common/buildcraft/factory/TilePump.java +++ b/common/buildcraft/factory/TilePump.java @@ -57,10 +57,15 @@ public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler, private int aimY = 0; private SafeTimeTracker timer = new SafeTimeTracker(REBUID_DELAY); - private int tick = Utils.RANDOM.nextInt(); + private int tick = Utils.RANDOM.nextInt(32); + private int tickPumped = tick - 20; private int numFluidBlocksFound = 0; private boolean powered = false; + private int ledState; + // tick % 16 => min. 16 ticks per network update + private SafeTimeTracker updateTracker = new SafeTimeTracker(Math.max(16, BuildCraftCore.updateFactor)); + public TilePump() { super(); this.setBattery(new RFBattery(1000, 150, 0)); @@ -81,6 +86,10 @@ public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler, return; } + if (updateTracker.markTimeIfDelay(worldObj)) { + sendNetworkUpdate(); + } + pushToConsumers(); if (powered) { @@ -116,6 +125,7 @@ public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler, } tank.fill(fluidToPump, true); + tickPumped = tick; } } } else { @@ -377,6 +387,8 @@ public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler, buf.writeShort(aimY); buf.writeFloat((float) tubeY); buf.writeBoolean(powered); + ledState = ((tick - tickPumped) < 48 ? 16 : 0) | (getBattery().getEnergyStored() * 15 / getBattery().getMaxEnergyStored()); + buf.writeByte(ledState); } @Override @@ -385,6 +397,12 @@ public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler, tubeY = data.readFloat(); powered = data.readBoolean(); + int newLedState = data.readUnsignedByte(); + if (newLedState != ledState) { + ledState = newLedState; + worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord, yCoord, zCoord); + } + setTubePosition(); } @@ -457,4 +475,14 @@ public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler, public boolean canConnectRedstoneEngine(ForgeDirection side) { return true; } + + public int getIconGlowLevel(int renderPass) { + if (renderPass == 1) { // Red LED + return ledState & 15; + } else if (renderPass == 2) { // Green LED + return (ledState >> 4) > 0 ? 15 : 0; + } else { + return -1; + } + } } diff --git a/common/buildcraft/factory/TileQuarry.java b/common/buildcraft/factory/TileQuarry.java index 639eddc1..43882cc0 100644 --- a/common/buildcraft/factory/TileQuarry.java +++ b/common/buildcraft/factory/TileQuarry.java @@ -23,6 +23,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; import net.minecraft.world.ChunkCoordIntPair; @@ -33,6 +34,7 @@ import net.minecraftforge.common.ForgeChunkManager.Type; import net.minecraftforge.common.util.FakePlayer; import net.minecraftforge.common.util.ForgeDirection; +import buildcraft.BuildCraftCore; import buildcraft.BuildCraftFactory; import buildcraft.api.blueprints.BuilderAPI; import buildcraft.api.core.BuildCraftAPI; @@ -82,7 +84,7 @@ public class TileQuarry extends TileAbstractBuilder implements IHasWork, ISidedI private boolean movingVertically; private double headTrajectory; - private SafeTimeTracker updateTracker = new SafeTimeTracker(10); + private SafeTimeTracker updateTracker = new SafeTimeTracker(BuildCraftCore.updateFactor); private BptBuilderBase builder; @@ -97,6 +99,8 @@ public class TileQuarry extends TileAbstractBuilder implements IHasWork, ISidedI private BlockMiner miner; + private int ledState; + public TileQuarry () { box.kind = Kind.STRIPES; this.setBattery(new RFBattery((int) (2 * 64 * BuilderAPI.BREAK_ENERGY * BuildCraftFactory.miningMultiplier), (int) (1000 * BuildCraftFactory.miningMultiplier), 0)); @@ -512,7 +516,7 @@ public class TileQuarry extends TileAbstractBuilder implements IHasWork, ISidedI @Override public boolean hasWork() { - return mode != Mode.Off && stage != Stage.DONE; + return stage != Stage.DONE; } private void setBoundaries(boolean useDefaultI) { @@ -631,6 +635,9 @@ public class TileQuarry extends TileAbstractBuilder implements IHasWork, ISidedI flags |= movingHorizontally ? 0x10 : 0; flags |= movingVertically ? 0x20 : 0; stream.writeByte(flags); + + ledState = (hasWork() && mode != Mode.Off && getTicksSinceEnergyReceived() < 12 ? 16 : 0) | (getBattery().getEnergyStored() * 15 / getBattery().getMaxEnergyStored()); + stream.writeByte(ledState); } @Override @@ -649,6 +656,11 @@ public class TileQuarry extends TileAbstractBuilder implements IHasWork, ISidedI stage = Stage.values()[flags & 0x07]; movingHorizontally = (flags & 0x10) != 0; movingVertically = (flags & 0x20) != 0; + int newLedState = stream.readUnsignedByte(); + if (newLedState != ledState) { + ledState = newLedState; + worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord, yCoord, zCoord); + } createUtilsIfNeeded(); @@ -845,6 +857,16 @@ public class TileQuarry extends TileAbstractBuilder implements IHasWork, ISidedI } } + public int getIconGlowLevel(int renderPass) { + if (renderPass == 2) { // Red LED + return ledState & 15; + } else if (renderPass == 3) { // Green LED + return (ledState >> 4) > 0 ? 15 : 0; + } else { + return -1; + } + } + @Override public boolean hasCustomInventoryName() { return false; @@ -887,6 +909,9 @@ public class TileQuarry extends TileAbstractBuilder implements IHasWork, ISidedI @Override public ConnectOverride overridePipeConnection(IPipeTile.PipeType type, ForgeDirection with) { + if (with.ordinal() == worldObj.getBlockMetadata(xCoord, yCoord, zCoord)) { + return ConnectOverride.DISCONNECT; + } return type == IPipeTile.PipeType.ITEM ? ConnectOverride.CONNECT : ConnectOverride.DEFAULT; } } diff --git a/common/buildcraft/robotics/render/RenderRobot.java b/common/buildcraft/robotics/render/RenderRobot.java index c61097d3..e7ac8878 100644 --- a/common/buildcraft/robotics/render/RenderRobot.java +++ b/common/buildcraft/robotics/render/RenderRobot.java @@ -233,7 +233,6 @@ public class RenderRobot extends Render implements IItemRenderer { box.render(factor); GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glPopMatrix(); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lastBrightnessX, lastBrightnessY); diff --git a/common/buildcraft/transport/BlockGenericPipe.java b/common/buildcraft/transport/BlockGenericPipe.java index f89a3d24..ba076a55 100644 --- a/common/buildcraft/transport/BlockGenericPipe.java +++ b/common/buildcraft/transport/BlockGenericPipe.java @@ -578,10 +578,7 @@ public class BlockGenericPipe extends BlockBuildCraft { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float xOffset, float yOffset, float zOffset) { - super.onBlockActivated(world, x, y, z, player, side, xOffset, yOffset, zOffset); - BlockInteractionEvent event = new BlockInteractionEvent(player, this); - FMLCommonHandler.instance().bus().post(event); - if (event.isCanceled()) { + if (super.onBlockActivated(world, x, y, z, player, side, xOffset, yOffset, zOffset)) { return true; } diff --git a/common/buildcraft/transport/render/FacadeItemRenderer.java b/common/buildcraft/transport/render/FacadeItemRenderer.java index 92bc8bf4..9aad21e0 100644 --- a/common/buildcraft/transport/render/FacadeItemRenderer.java +++ b/common/buildcraft/transport/render/FacadeItemRenderer.java @@ -35,31 +35,14 @@ public class FacadeItemRenderer implements IItemRenderer { private int renderState = 0; - private void drawCube(Tessellator tessellator, RenderBlocks render, Block block, int decodedMeta) { - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1F, 0.0F); - render.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, tryGetBlockIcon(block, 0, decodedMeta)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - render.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, tryGetBlockIcon(block, 1, decodedMeta)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1F); - render.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, tryGetBlockIcon(block, 2, decodedMeta)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - render.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, tryGetBlockIcon(block, 3, decodedMeta)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1F, 0.0F, 0.0F); - render.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, tryGetBlockIcon(block, 4, decodedMeta)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - render.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, tryGetBlockIcon(block, 5, decodedMeta)); - tessellator.draw(); + private IIcon tryGetBlockIcon(Block block, int side, int decodedMeta) { + IIcon icon = RenderUtils.tryGetBlockIcon(block, side, decodedMeta); + + if (icon == null) { + icon = PipeIconProvider.TYPE.TransparentFacade.getIcon(); + } + + return icon; } private void drawHollowCube(Tessellator tessellator, RenderBlocks render, Block block, int decodedMeta) { @@ -174,7 +157,7 @@ public class FacadeItemRenderer implements IItemRenderer { } else { render.setRenderBounds(0F, 0F, 1 - TransportConstants.FACADE_THICKNESS, 1F, 1F, 1F); GL11.glTranslatef(translateX, translateY, translateZ); - drawCube(tessellator, render, block, decodedMeta); + RenderUtils.drawBlockItem(render, tessellator, block, decodedMeta); } // Disable blending @@ -225,25 +208,6 @@ public class FacadeItemRenderer implements IItemRenderer { block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } - private IIcon tryGetBlockIcon(Block block, int side, int decodedMeta) { - IIcon icon = null; - - try { - icon = block.getIcon(side, decodedMeta); - } catch (Throwable t) { - try { - icon = block.getBlockTextureFromSide(side); - } catch (Throwable ignored) { - } - } finally { - if (icon == null) { - icon = PipeIconProvider.TYPE.TransparentFacade.getIcon(); - } - } - - return icon; - } - @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { switch (type) { diff --git a/common/buildcraft/transport/render/PipeItemRenderer.java b/common/buildcraft/transport/render/PipeItemRenderer.java index 81ca2ff3..452850da 100644 --- a/common/buildcraft/transport/render/PipeItemRenderer.java +++ b/common/buildcraft/transport/render/PipeItemRenderer.java @@ -22,6 +22,7 @@ import net.minecraftforge.client.IItemRenderer; import buildcraft.BuildCraftTransport; import buildcraft.core.CoreConstants; +import buildcraft.core.lib.render.RenderUtils; import buildcraft.core.lib.utils.ColorUtils; import buildcraft.transport.PipeIconProvider; @@ -49,7 +50,8 @@ public class PipeItemRenderer implements IItemRenderer { block.setBlockBoundsForItemRender(); render.setRenderBoundsFromBlock(block); - drawBlock(render, tessellator, block, icon, translateX, translateY, translateZ); + GL11.glTranslatef(translateX, translateY, translateZ); + RenderUtils.drawBlockItem(render, tessellator, block, icon); block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); GL11.glColor3ub((byte) 255, (byte) 255, (byte) 255); GL11.glPopMatrix(); @@ -66,40 +68,13 @@ public class PipeItemRenderer implements IItemRenderer { block.setBlockBoundsForItemRender(); render.setRenderBoundsFromBlock(block); - drawBlock(render, tessellator, block, icon, translateX, translateY, translateZ); + GL11.glTranslatef(translateX, translateY, translateZ); + RenderUtils.drawBlockItem(render, tessellator, block, icon); GL11.glTranslatef(0.5F, 0.5F, 0.5F); block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); GL11.glPopAttrib(); // nicely leave the rendering how it was } - - private void drawBlock(RenderBlocks render, Tessellator tessellator, Block block, IIcon icon, float translateX, float translateY, float translateZ) { - GL11.glTranslatef(translateX, translateY, translateZ); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1F, 0.0F); - render.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, icon); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - render.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, icon); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1F); - render.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, icon); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - render.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, icon); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1F, 0.0F, 0.0F); - render.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, icon); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - render.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, icon); - tessellator.draw(); - } /** * IItemRenderer implementation *