From 799142198ac070a1e3e8d04bdfe6558b0a8a6d2d Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Fri, 1 Nov 2013 23:51:10 -0400 Subject: [PATCH] Fixed ridiculous client updates when GUI is open, fancy active sorter rendering, sorter eject sound effect :) --- .../client/model/ModelLogisticalSorter.java | 15 ++++++++++- .../render/block/MachineRenderingHandler.java | 2 +- .../tileentity/RenderLogisticalSorter.java | 4 +-- .../mekanism/client/sound/SoundHandler.java | 4 +++ common/mekanism/common/IActiveState.java | 4 ++- .../mekanism/common/block/BlockMachine.java | 4 +-- .../tileentity/TileEntityBasicMachine.java | 24 ++++++++++++++++-- .../tileentity/TileEntityChargepad.java | 8 +++++- .../common/tileentity/TileEntityFactory.java | 24 ++++++++++++++++-- .../TileEntityLogisticalSorter.java | 16 ++++++++++-- .../TileEntityMetallurgicInfuser.java | 24 ++++++++++++++++-- .../mekanism/common/util/MekanismUtils.java | 10 +++++--- .../common/block/BlockGenerator.java | 2 +- .../tileentity/TileEntityGenerator.java | 8 +++++- .../tileentity/TileEntitySolarGenerator.java | 8 +++++- .../tileentity/TileEntityWindTurbine.java | 8 +++++- .../mekanism/render/LogisticalSorter.png | Bin 4092 -> 6831 bytes .../mekanism/render/LogisticalSorterOn.png | Bin 0 -> 6761 bytes resources/assets/mekanism/sound/etc/Click.ogg | Bin 0 -> 32410 bytes 19 files changed, 141 insertions(+), 24 deletions(-) create mode 100644 resources/assets/mekanism/render/LogisticalSorterOn.png create mode 100644 resources/assets/mekanism/sound/etc/Click.ogg diff --git a/common/mekanism/client/model/ModelLogisticalSorter.java b/common/mekanism/client/model/ModelLogisticalSorter.java index 835d52455..97c75743a 100644 --- a/common/mekanism/client/model/ModelLogisticalSorter.java +++ b/common/mekanism/client/model/ModelLogisticalSorter.java @@ -1,5 +1,6 @@ package mekanism.client.model; +import mekanism.client.render.MekanismRenderer; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; @@ -189,7 +190,7 @@ public class ModelLogisticalSorter extends ModelBase setRotation(DecorPlate, 0F, 0F, 0F); } - public void render(float size) + public void render(float size, boolean active) { LeftThing.render(size); RightThing.render(size); @@ -197,6 +198,12 @@ public class ModelLogisticalSorter extends ModelBase TopPlate.render(size); LeftPlate.render(size); RightPlate.render(size); + + if(active) + { + MekanismRenderer.glowOn(); + } + BR1Block1.render(size); BL1Block1.render(size); TL1Block1.render(size); @@ -205,6 +212,12 @@ public class ModelLogisticalSorter extends ModelBase BL1Block2.render(size); TL1Block2.render(size); TR1Block2.render(size); + + if(active) + { + MekanismRenderer.glowOff(); + } + PoleBR.render(size); PoleTL.render(size); PoleTR.render(size); diff --git a/common/mekanism/client/render/block/MachineRenderingHandler.java b/common/mekanism/client/render/block/MachineRenderingHandler.java index 8d7aad739..0b2b3df76 100644 --- a/common/mekanism/client/render/block/MachineRenderingHandler.java +++ b/common/mekanism/client/render/block/MachineRenderingHandler.java @@ -71,7 +71,7 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); GL11.glTranslatef(0.0F, -0.85F, -0.15F); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalSorter.png")); - logisticalSorter.render(0.0625F); + logisticalSorter.render(0.0625F, false); } else { MekanismRenderer.renderItem(renderer, metadata, block); diff --git a/common/mekanism/client/render/tileentity/RenderLogisticalSorter.java b/common/mekanism/client/render/tileentity/RenderLogisticalSorter.java index 11bedfa49..869a750ed 100644 --- a/common/mekanism/client/render/tileentity/RenderLogisticalSorter.java +++ b/common/mekanism/client/render/tileentity/RenderLogisticalSorter.java @@ -24,7 +24,7 @@ public class RenderLogisticalSorter extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); - bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalSorter.png")); + bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalSorter" + (tileEntity.isActive ? "On" : "") + ".png")); switch(tileEntity.facing) { @@ -47,7 +47,7 @@ public class RenderLogisticalSorter extends TileEntitySpecialRenderer } GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - model.render(0.0625F); + model.render(0.0625F, tileEntity.isActive); GL11.glPopMatrix(); } } diff --git a/common/mekanism/client/sound/SoundHandler.java b/common/mekanism/client/sound/SoundHandler.java index 7f435387a..148cd01e1 100644 --- a/common/mekanism/client/sound/SoundHandler.java +++ b/common/mekanism/client/sound/SoundHandler.java @@ -37,6 +37,8 @@ public class SoundHandler /** The current base volume Minecraft is using. */ public float masterVolume = 0; + public Minecraft mc = Minecraft.getMinecraft(); + /** * SoundHandler -- a class that handles all Sounds used by Mekanism. */ @@ -59,6 +61,8 @@ public class SoundHandler preloadSound(file.getName()); } } + + mc.sndManager.addSound("mekanism:etc/Click.ogg"); } private void preloadSound(String sound) diff --git a/common/mekanism/common/IActiveState.java b/common/mekanism/common/IActiveState.java index cb5ebcd00..13c8b0baf 100644 --- a/common/mekanism/common/IActiveState.java +++ b/common/mekanism/common/IActiveState.java @@ -23,5 +23,7 @@ public interface IActiveState * Whether or not this block has a visual effect when it is on it's active state. Used for rendering. * @return if the block has a visual effect in it's active state */ - public boolean hasVisual(); + public boolean renderUpdate(); + + public boolean lightUpdate(); } diff --git a/common/mekanism/common/block/BlockMachine.java b/common/mekanism/common/block/BlockMachine.java index 72f7bbb91..da92fd230 100644 --- a/common/mekanism/common/block/BlockMachine.java +++ b/common/mekanism/common/block/BlockMachine.java @@ -187,7 +187,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds public void randomDisplayTick(World world, int x, int y, int z, Random random) { TileEntityBasicBlock tileEntity = (TileEntityBasicBlock)world.getBlockTileEntity(x, y, z); - if(MekanismUtils.isActive(world, x, y, z) && !(tileEntity instanceof TileEntityChargepad)) + if(MekanismUtils.isActive(world, x, y, z) && !(tileEntity instanceof TileEntityChargepad) && !(tileEntity instanceof TileEntityLogisticalSorter)) { float xRandom = (float)x + 0.5F; float yRandom = (float)y + 0.0F + random.nextFloat() * 6.0F / 16.0F; @@ -225,7 +225,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds if(tileEntity instanceof IActiveState) { - if(((IActiveState)tileEntity).getActive() && ((IActiveState)tileEntity).hasVisual()) + if(((IActiveState)tileEntity).getActive() && ((IActiveState)tileEntity).lightUpdate()) { return 15; } diff --git a/common/mekanism/common/tileentity/TileEntityBasicMachine.java b/common/mekanism/common/tileentity/TileEntityBasicMachine.java index 09259b630..1811031f8 100644 --- a/common/mekanism/common/tileentity/TileEntityBasicMachine.java +++ b/common/mekanism/common/tileentity/TileEntityBasicMachine.java @@ -96,6 +96,16 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp if(worldObj.isRemote) { Mekanism.proxy.registerSound(this); + + if(updateDelay > 0) + { + updateDelay--; + + if(updateDelay == 0) + { + MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + } + } } if(!worldObj.isRemote) @@ -161,7 +171,11 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp sideConfig[i] = dataStream.readByte(); } - MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + if(updateDelay == 0) + { + updateDelay = Mekanism.UPDATE_DELAY; + MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + } } @Override @@ -377,7 +391,13 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp } @Override - public boolean hasVisual() + public boolean renderUpdate() + { + return true; + } + + @Override + public boolean lightUpdate() { return true; } diff --git a/common/mekanism/common/tileentity/TileEntityChargepad.java b/common/mekanism/common/tileentity/TileEntityChargepad.java index cb82e9c68..9abc230de 100644 --- a/common/mekanism/common/tileentity/TileEntityChargepad.java +++ b/common/mekanism/common/tileentity/TileEntityChargepad.java @@ -297,7 +297,13 @@ public class TileEntityChargepad extends TileEntityElectricBlock implements IAct } @Override - public boolean hasVisual() + public boolean renderUpdate() + { + return true; + } + + @Override + public boolean lightUpdate() { return true; } diff --git a/common/mekanism/common/tileentity/TileEntityFactory.java b/common/mekanism/common/tileentity/TileEntityFactory.java index d3af96606..d82fd4746 100644 --- a/common/mekanism/common/tileentity/TileEntityFactory.java +++ b/common/mekanism/common/tileentity/TileEntityFactory.java @@ -111,6 +111,16 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg if(worldObj.isRemote) { Mekanism.proxy.registerSound(this); + + if(updateDelay > 0) + { + updateDelay--; + + if(updateDelay == 0) + { + MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + } + } } if(!worldObj.isRemote) @@ -414,7 +424,11 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg sideConfig[i] = dataStream.readByte(); } - MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + if(updateDelay == 0) + { + updateDelay = Mekanism.UPDATE_DELAY; + MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + } } @Override @@ -721,7 +735,13 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IEnerg } @Override - public boolean hasVisual() + public boolean renderUpdate() + { + return true; + } + + @Override + public boolean lightUpdate() { return true; } diff --git a/common/mekanism/common/tileentity/TileEntityLogisticalSorter.java b/common/mekanism/common/tileentity/TileEntityLogisticalSorter.java index 87fdac450..21fc14896 100644 --- a/common/mekanism/common/tileentity/TileEntityLogisticalSorter.java +++ b/common/mekanism/common/tileentity/TileEntityLogisticalSorter.java @@ -61,7 +61,7 @@ public class TileEntityLogisticalSorter extends TileEntityElectricBlock implemen { delayTicks = Math.max(0, delayTicks-1); - if(delayTicks == 8) + if(delayTicks == 6) { setActive(false); } @@ -94,6 +94,7 @@ public class TileEntityLogisticalSorter extends TileEntityElectricBlock implemen if(TransporterUtils.insert(this, transporter, inInventory.itemStack, filterColor)) { inventory.setInventorySlotContents(inInventory.slotID, null); + setActive(true); } else { inventory.setInventorySlotContents(inInventory.slotID, inInventory.itemStack); @@ -361,6 +362,11 @@ public class TileEntityLogisticalSorter extends TileEntityElectricBlock implemen { PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTileEntity().setParams(Object3D.get(this), getNetworkedData(new ArrayList()))); + if(active) + { + worldObj.playSoundEffect(xCoord, yCoord, zCoord, "mekanism:etc.Click", 0.3F, 1); + } + clientActive = active; } } @@ -372,11 +378,17 @@ public class TileEntityLogisticalSorter extends TileEntityElectricBlock implemen } @Override - public boolean hasVisual() + public boolean renderUpdate() { return true; } + @Override + public boolean lightUpdate() + { + return false; + } + @Override protected EnumSet getConsumingSides() { diff --git a/common/mekanism/common/tileentity/TileEntityMetallurgicInfuser.java b/common/mekanism/common/tileentity/TileEntityMetallurgicInfuser.java index 0fbd3e8d4..446a2e957 100644 --- a/common/mekanism/common/tileentity/TileEntityMetallurgicInfuser.java +++ b/common/mekanism/common/tileentity/TileEntityMetallurgicInfuser.java @@ -105,6 +105,16 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem if(worldObj.isRemote) { Mekanism.proxy.registerSound(this); + + if(updateDelay > 0) + { + updateDelay--; + + if(updateDelay == 0) + { + MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + } + } } if(!worldObj.isRemote) @@ -409,7 +419,11 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem sideConfig[i] = dataStream.readByte(); } - MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + if(updateDelay == 0) + { + updateDelay = Mekanism.UPDATE_DELAY; + MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + } } @Override @@ -616,7 +630,13 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem } @Override - public boolean hasVisual() + public boolean renderUpdate() + { + return true; + } + + @Override + public boolean lightUpdate() { return true; } diff --git a/common/mekanism/common/util/MekanismUtils.java b/common/mekanism/common/util/MekanismUtils.java index c2a9beb0c..a9c699a0d 100644 --- a/common/mekanism/common/util/MekanismUtils.java +++ b/common/mekanism/common/util/MekanismUtils.java @@ -604,13 +604,15 @@ public final class MekanismUtils */ public static void updateBlock(World world, int x, int y, int z) { - if(world.getBlockTileEntity(x, y, z) instanceof IActiveState && !((IActiveState)world.getBlockTileEntity(x, y, z)).hasVisual()) + if(!(world.getBlockTileEntity(x, y, z) instanceof IActiveState) || ((IActiveState)world.getBlockTileEntity(x, y, z)).renderUpdate()) { - return; + world.markBlockForRenderUpdate(x, y, z); } - world.markBlockForRenderUpdate(x, y, z); - world.updateAllLightTypes(x, y, z); + if(!(world.getBlockTileEntity(x, y, z) instanceof IActiveState) || ((IActiveState)world.getBlockTileEntity(x, y, z)).lightUpdate()) + { + world.updateAllLightTypes(x, y, z); + } } /** diff --git a/common/mekanism/generators/common/block/BlockGenerator.java b/common/mekanism/generators/common/block/BlockGenerator.java index 5c45dca60..80ad4f76d 100644 --- a/common/mekanism/generators/common/block/BlockGenerator.java +++ b/common/mekanism/generators/common/block/BlockGenerator.java @@ -149,7 +149,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds if(tileEntity instanceof IActiveState && !(tileEntity instanceof TileEntitySolarGenerator)) { - if(((IActiveState)tileEntity).getActive() && ((IActiveState)tileEntity).hasVisual()) + if(((IActiveState)tileEntity).getActive() && ((IActiveState)tileEntity).lightUpdate()) { return 15; } diff --git a/common/mekanism/generators/common/tileentity/TileEntityGenerator.java b/common/mekanism/generators/common/tileentity/TileEntityGenerator.java index 9dda96aac..50c2a8164 100644 --- a/common/mekanism/generators/common/tileentity/TileEntityGenerator.java +++ b/common/mekanism/generators/common/tileentity/TileEntityGenerator.java @@ -390,7 +390,13 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem } @Override - public boolean hasVisual() + public boolean renderUpdate() + { + return true; + } + + @Override + public boolean lightUpdate() { return true; } diff --git a/common/mekanism/generators/common/tileentity/TileEntitySolarGenerator.java b/common/mekanism/generators/common/tileentity/TileEntitySolarGenerator.java index 25be0adb7..72be49bc3 100644 --- a/common/mekanism/generators/common/tileentity/TileEntitySolarGenerator.java +++ b/common/mekanism/generators/common/tileentity/TileEntitySolarGenerator.java @@ -175,7 +175,13 @@ public class TileEntitySolarGenerator extends TileEntityGenerator } @Override - public boolean hasVisual() + public boolean renderUpdate() + { + return false; + } + + @Override + public boolean lightUpdate() { return false; } diff --git a/common/mekanism/generators/common/tileentity/TileEntityWindTurbine.java b/common/mekanism/generators/common/tileentity/TileEntityWindTurbine.java index 5f3b6c383..152012f34 100644 --- a/common/mekanism/generators/common/tileentity/TileEntityWindTurbine.java +++ b/common/mekanism/generators/common/tileentity/TileEntityWindTurbine.java @@ -106,7 +106,13 @@ public class TileEntityWindTurbine extends TileEntityGenerator implements IBound } @Override - public boolean hasVisual() + public boolean renderUpdate() + { + return false; + } + + @Override + public boolean lightUpdate() { return false; } diff --git a/resources/assets/mekanism/render/LogisticalSorter.png b/resources/assets/mekanism/render/LogisticalSorter.png index 566db279ac6821dbfd9b9f63b9fa7142d6c32063..e784fcf3abf7c0dc633d64e8d026aa9f03818b04 100644 GIT binary patch literal 6831 zcmdUT`9D-|`1cq?BeG}g41-kmEX~MRvxaObSt4z=_*k-xJ(6WG#gr_Sk|bo`#wfdz z-5~oC##n}748wPNo?o8tpYWU?&g%89A`@WWQzt5FqZE1YwwD4&F0C2|C#Lxx+ zU}8K1qQR_;`(kx1!vKOkG%&C>H87C04)DA8(AyIL(BgS&KjSxP$FGy*XHzJElyo#s zeBNGWZ|hVqB3#eoW{&$3Fs z=KhAg#1sj<$h-D@uyWX(dAMZNQX!-F7q4RL+5JA^oY-@4FDYZ=*m6(0B`o>RK$4Ud z-uJ8+N{GsF{pYY(jX8hIsYB|+TGl^1qFX~6AYchF8})|w$v~&v6-y|REv^4N@oXu$ ziB-Faa8IfBjw`cZ7iP}hSENDeUPfhU=AD4wb4qCcT9p$n#hjqsb>}$8!#5x5J?glU zrZ4Q-;gXPJ)w`lw=H;$s^`>{CSg2^)UAkS~JQD<##yrSGdj8bldLXM{C;{07S6XHjopc_y zaj$ugH(oI`l(rO5a33i)Llj!)slI4yzN(=uquLe!^hfU<6)CGhUhk>U%jkv9_>^yu zW`%dxKOj2G9=CK?I3jJwnT{mfE7z4p?(-FvYZ7wS!RD>-R!)}F0Y31v=Z8?|C_7D7 zL3RRgOKb9xF6!K~>wV*!!n9xL3iIg$7zPw_nn(j3$&^72Bib87dn zHd6aYI4`fjBmbS$sbrr{jdI_Pn(tIXS%t!pj|~vv7WO>rZO>NlceW?eVpnc64auA# z`pw?#pRk#zc>iJTAf{hhwiVf>^K-C%uK)A#yW?WtPp+RJ!!w9S@j{4?Fw}X}1^PLZ z97>69@jUQmgA^U+{1TU;$a1-HvpHXe5MJhbhi~e+^Metue04cn%bxH>$kL0WrlW7# zBIW$`uHu-Y#pbPbw!L2*bg^c^z|)nFu2qLCY=Z9e5JGZ~t4)5Fw!{eDYOO7~v{)A~4{&gS-jwf8s52fe!!> zxN2&sXZM7Ol-rBG-F~*?eh10eO~phKTA|E~Jv%RS=Yk=5@Clzx203K8K1QLZ7beMG zVF-qfvTA53E$o)vizKOyO%0*L{r0gD#tqK)MV7g?lzQCfhW(oGz5SYte$A9oW`m8* z&CM%MlrL;tKc0=_+AE#$3|s1Xc?wD29hz=!)gyKkp)Emmw_y)9^ zmH130o-6q8X3GhVr&95j^Gsr5V(PDyAAEp?xcl41fYry!~VmHdhQhp*BVw1Q3lafoD1*zC6Q^LZTbY^`m`5+auAwvMSJvFelkG z7Q|$F0F?FvQe!`Mx>Lg7pjZdP1x)59(14Omk|0d8lgscx1?4yL9*bi4(d|894f z@U>(nV4qhJoDz#CSCYVYpvZW4O{0b-9(~22?sxI!lmBs9o}?Sm9A2R%x3JRX6c+rU ztI1WI)3i)po<)R-+yP`YWPGfR6KEh=PH_T&H{(ATfURh>@C^G#`w;snMpsY^6c}6)!fB)E z{o?hF+H*^bL!?BUkL{t}bflmNg1mdZ!is=iJ(&ubL1{gXlXDh|DOCdCJnqM8y;><< zdKs=${ucISG3LuIdp+tfn5aat+tzz zLR{>u8pF-UG-9R7u-5s+=R3>0=G0sI_~?#^ce(Lrt_5r3Cg_4_$eq$Q74*nIM(PAXWGwzi zPL1*Bj_W1>8(HUCZOh@2CVe|vT)MtZxB07Nv0re~qvxn*$!M7JNKtaTwf{m3v`&_+9q?D8{y`7&OYd4+gwK=}xt#%dZc&T%@#XF)H$*3bGKsCaGaDFPFR0QD~ zqUSyU3B1isTgrCzwc4nbZcpgF@oKMSbS_yHA_uVIS>c(Oo!L#*oW}AbXy5{VWNCqG zhQ~R@JQr+T>>r7s(#f-#cH~TCsZ!ey0fZv`wM|)G;JFiOs&^W`PXHjx%ICP6HR7k{ z>8_eYEL8v9=q>k{q`CL<*)9apu90P0I#x?MK(aK62WH^=jsqb=M}%qqZ~-B@#}7?r zukohfOoymZL`Os15bMp|D2esNU_u%xYMe?=H90;j&^rnN$bukzDcz$AN*ilbb<5kd z_PeqaDR?L?RSe=eS+K7z71qHLD#-o ziS*h$xX0=cd`RVJ60*Q&UK|=^Y9+PxIQY#l+Tpdh|6~g{CZ7GBWES#h>qqJS!>ZN} ze{QV>@SEEkwS=2iObP2*BXVbedT!dFnn-qh1wk76V=b#wWUVf*%(Z3uST+5+)_}4` zTVlxKNXyCb;pJ6;$=xEbH;QTNQmZ$*BYg|nnCXVs4&PC9${2~Q4g~!WnZ2F(T_QqI(*vlc z;#eqg-uDO;qXYga4phBU|E65aQ_6NPKxJzLvR|_ZRmsNW@jG>w`9;hp!@JR(1NUxh zqr)l=dw8vu8!JeDw*T>fY?A)HacOn2k8oB z*!DtuJ_|va`9MeswGGpa%!vG<{7?YIYE+;A;5N3I&;5o__gusNoWR;7DsMyIxbnON z7d~S*yI_HI1f|532}_VG!IDGBrtv|HgmI8u5IRdz2bVrHkDLflJLBQrlv1P^mb{x| zWLhGrd=cow6#d7-E`C_sGs$WVB&Y5tg0fTf8gf=Hf1B2FW`)zmV}7SssRcG}qUh2@ z2#yrV7jVtN$*Z*CjquyQhxSvm_w?Mrpb4Pl0k-ZrCY!%CAt|MxQXDv$7DidA^Dav* zE@C+vp&mPkhwae5afw&lG&x_NVr=GgLOq8|@w&BOi;NeX(HW`0Y_26f6Ozy?;9`(U z=hw_q8=W))s=^_7wS%*V|9VCoX6zgg_9@AZf^8knvtdZ8GVQ{>li00ttiy43)5 zIi8Ka+%OD&hat!3*hx*ge6uxn8JwHkTVI@bpAX5eAsij#ORUr9Xp;(Qjc_0S3HRjO z`3v>-3zNP>FLabO6v>p=MKhNyCs<;jJP+6bu$VTBTiv%qtab@hvt(@upGa(`@wuVC zCfY}>V>~i=xB@J>m>T6h$~#YAm8cay*zPT6%CKIP5nenYl}+o9tU2B5>ujR__fx|r zsM87ZcFh_!A|n9`j?oQg#kalu6Zmf9Tl$%p2W!qSSU`3i)RlD{HCyH^#J>~R%ek{dej=Hw35bx5D%4Tui=&=^CQUJ!NfRZ2j217s~Ns6SH*`CpnGLZuk2oWTVAr2 zlWfJdT?A(K@H?&7?b`2DQI4}|6Ma;SITr*V*QE21tC)LoEuX)*M%|(0O{86}&ZoG- zqlaIDp0W@>WV<|qd2&!;LEEdu8y4F{g6NM1R4R&lMe6Z92v8xzpOBg9QP(ID=8a9a zuncaVNC@lpGrNL2OXhCt_7U0ryDu>};9Yek?j3wQWgNDj!hJHP7X}wFWN;v}u$9}C*!x`W6 zezo3mLQ(&w<}~SMg&SSKXsl2wA4O~qJS2v2b&W;ZER)TRtJ92P;E&&O?V`2YYEN>g z>K`L1BX5=&2{B|8wuS0UEynoG6N`ZEguJA#r`CyXUO4%*pmZyD;#io?r1kxXAf45Z zU%u9;%c4}QdY;x{OL-;2O-hDw+#>l@Jy?rMamc{+#8N>Dg{bvNqRTiI&ke3(iSAwl zh0M>3it#z}j>6Y+w-(Q?S75Z3OEo{>IxhW2$833sGkkQhbhhJKfUddvjwV|pPj zr^o{Ngca|le=G^1-bUj2(c!Vh$|)%A^Bhx{-7)jYs@vq z$4OU4Ar1Ck9&W1J1Cqhvbk|(yKUfi%=U*j8%oTk ztZ5`_bcD_)Y1!|JX-e&mJM$h3`&^$wBC1pb!a&Yqe4ZV|?|SuVWo53el{K@S5-U>w z_XL@Z@3vSyCMRW7%>jr<<#3{YZJ*H%J36vbE2V zs>X>*1I6GNIsssbb+o8bJn(YPjaZaX4xRMajF+jlbb>JZlpA}ulu$3;+Ix=+Y0lliLhY^XhzX2MP2kEsD{?Tk;R)8(O9{Ow~OUGd)}Rouc} zHFUAGOh867Ue-^HR9>B@8fsGZm|d;V6=F(fs5KN1_D@65h0PZq&ykU|h-JXQ`3$C; z0gddoSx0|>Tm6|D8%H&p#O%M&y-pp$+D&BS#HpBZ1^fwupPNKp>P_u(zDQW*nTD4G z0%x=yxF(tAwHK7R9&KIy!SeJQUB!1$vRocmId#$wagD$)y2ncAGX@A>d~N?$PmPq^ zkjP6dI%`0;pB9!rkmLr98n^`m-4gFG&5G>^ZoaxA%=cr;yZLJe91Mzi%g}%I0iHE# zJ8i<`|4u*IsQ){mw8#;}8@)^YOI^ckzdgklr6&pgl87(d_{qzkNgkOT!bLW^VBeoW zJEdl;eGdtzVkDKdfv0pv60j5|4Ev8Q=zMs&QigS;yiRy3NwD#-l&H)C@S#%?`3@5S=@??AU8{th9PuVrvNLnF7^&od}g zaAUV94l})#;4SqV;=ll2K{C6Z;-&TD>3|gVPttJ|le@Q35e)nh?gu9j0QtWP!E~v` z#3NZrL=^1b&Y$WYibpr4!D>dkH& z7F=O=>%3o^h~4N<=Rm#uH%0pRpRwFi!W)>QvSeK?ZyxN(Im$|eF=#=V>o7P`c(CN- zXVgnC3v~FR3HI7NPi!PT-#(rz_?g2@uj5|%F%<G#RUrp5$-L1Qm!;crZ z=PfOB%z`0Y;!;vCw-{rU7ZMRy838AV#>jV~({|Upz%Uu5S0!F+O>41pPRwkUA`=UZ zYmZW(N5eRV{EEfX7@l3aIG~sJl;E@*V}yX+vPL8Y$2;us-D%^a!NDr++U5U~Z0sK# z>Tu4sLB>aW5Toxaz+|#6WkYO6eM$y|T8YN5E!;P~VJpT!JPj7TQti~r&DYh(l3@x} zgA}n^GG{u8OboL`voH(wSpAoUX4J06Rku{_9vYe&E`{bJE72`pS1prj_*7BsW@Z=cEs_y1~I^A(;;h0*o+$fsA)SF^ol) zwDKXRZocaZ^k=D4?LAypVyY3te4pvxQ5^N5^Hf;jktCRleB=y}Sle!ka-rW8w5BmY z@N3}p{i%b-w*kB>QkenVT8&@}PA;x}>Mxw98~{hEeLgiV_9#r?f4lo%zW@JRj2h2I Y$rr5Yg2i0#0~nX7k)`2ReYe>E0gSE*Pyhe` literal 4092 zcmeHKS6EZ&7CkA%gkmC~M1&+jXeuGJ&;tPii9qO`LCOeHq=_^kgn+1sG<8HNQdB@u z1`A>kK~d2`+R#Kr1XQXBNSAU?9G~yYeZ2F3-zneT`(Jylwa@=>PTR69L8&6)-PHCaOIJ^}y$18l7v>0lguCA`3p`od%simbwp-{B7wRI>I9UUEAU0ppr zJ$-$B0|Ns?LqjT+YGh<&Y-~)U(M(KCOifMA%*^O?y1BWzg@uK=IRjiwCiB371D2MS zR#sNl*48W*%f`mW&d$!>-rm8**~!Vt+1c6E)z!_-&E4JI!^7jRkDowk|E_->`0ozb zEUz^44@;Ci%VF#PdjSs1+vGvFP~i->qX4k|DgT1(R64)`gOX8n*C>ZD|EL(B$U}gw zPhe;iiA8rLL~D?=NNQ>p-%YduK**bEMstky`sz6qpU)6I^r!~#xRXlM*U&$`-}2e3 zH!n<}X=e&T{96Xvel%t;N%6$};D^6>Y&8{szm|Nv^z>xs#mUJRZ?8k|4urH52Lv;! zx)>zw!ZPjaT^jmfn-M)~yaq3->VsbR1-NIsKmHQYBYD_c=a1I5xw)FqqRGNh?Uokv z>i*WT&$X9}b2*iXM>LqVPzhM8y^GPt`J~Z$(PIIIw#=sWc&cA+h`@*KYevYIjdQ=9 z=H10r5I?@H4Y0~pdEz!Cxwtl|RO*r%1f{lDgI%D(I+EKFzd~P@9q-(h%4@ry>;U(zy8-alpKkhw`*m1RKz?begz4 zQlgW?enyuhDD~zgzEt>Qi8LBgt{)wNiT46h%Cy>4f8{4$Z@wfB zh^{1GA)*66Z%@hlDwTV08$&DjaHmA^oMK(dSLia+u6R0gL;fJ5x3Jjo0Vtc>)SUG^ zOiM4`LL1Ud4m6tNmFK+*E@h-c*{`HQQcJ!S3LgdgLHO` z0@Uds?>upV(p>$&KG{z{2VGB~@?h#pcgTf%^ z1fvjvo#d6UZw404woEEypobxJfy>04QXpjSqkn39t-a&pUV%1v7YLbVth__C?h@)i zSEX9jOOoa2$xrWm3JrU8@d*{G01g4d#v&?p+#{N7d@~ZMgZQXV*d1!&Ck*IlCO2ol zaXw+6y|_~SwVx!8BlE2I(xQ%GOWuUFOlf&ZA&WN>QkW=>S@;7No%LIB&$`9D5a4HP zecgo*ZuPviG$$@8YsOOMXNhL{;m5Y5A?olU(5T-dbr0o+$km+WENdvdqKNW&Yx(6) zAAB}gZgYiQ?_jZ`7Yhpa$5YA7CDoA!`8L|^4SMMnFFMKZl%I!CMnfvZds>gG*FAjL z(0H(->{O6&+Y967l52z@pQFEpU-2qB_vC9^L%r+I6egP|MK5#Zk?L$zJ6?TkkC2!# zk)}KP9gdc2HbQxO-APNXEQeeaJGb8Sh4+!#V4#@d(cjPz(_?3*g+Oww!znmi--2WI zFhq6m`|2hQnB*N@u7|A`C9Ezd;kFiaUFl2CAhLIj=ll9)@Dxd!-tC@sDlnMcm{<2S zHQ5f$pW^oDf13|4xW#7{DbV_@7sO8UKR)a1a78Sv&`C;KDlyvgou|ar4{oT&_5~t0+kjbojwoa-de*P(&Fw!Kj4=NIsSq-22yw@?2hnB zo&yHgKj=?1t@|}=o~<5-od@|sT9TXr9OxGZh=!m8ZBrT`<@t59YJCF}ZwU*8CY{v} z`n{{0Pf`QdCqfqI3xwZ4-}u|3l0TFM2+r@pN{fDMvj^GpO`55Ioptx+SxEU#GI@STzI5dV5RPAwNV+a(7QT@%eL+JG2+oiy9Opd z>+bemk8%06m~Q_)_{Jkz?NNdvB{_9HN6Z31h$>f}310ovWcmO_(~`WwA71OZHTyz$|Mi6Dh(lcGyXO`a=3CWd;nHyvuW17St% zh}w8jK+$JPE{|sh5(}t_oVu^iNVWzBacPMeoZzLD2{Vid-YFqIj+wYHgZzdYG`gWV z**Nf(-tOE%<*>N(J36P;1bm4E)kCm~{!Ow#Tc%;wAkIJa-jxzeZ8E|4SwQ*#Vewlh zBywG&zFenZA^!2*-Y|+xVQP;>aaKkBUeWA}dNZOO7q;%3Hz{G@(9)+bUHmEmYgG-pJKXMnxfb&=eGjggUE%bz{%Pft=llasLnE7Jp% zfb0Y7qJ~k797zaV*y3H-W)aMxkjruD2B1}T9p~R`cuJ5GDI#wVYf9$v+-$dz#opgF zyn*U$Zy8Go?dN4DAi7&8id1r~ITSs-$HvUK=lt$_slZgi8@zB8eu!;UA`chl1*B|- zJDN59zP0RIjlVoF8qm@FAh!cp(vClKl^abN3FsK*vce;E1Lhcw?o`TF6a_!^tCCn6;p?s+Rjh z(x=Y{VeZXg9?#|_L0*1g>xN2*_zs~{&T}4_9neC)jWv*R{iD|g^^xkv-tpwKFWs0W zdrcDlb!5bslZna9{u7c;q}=CHEqu5iOEQt8(TQmGCqI3Ui9I8+DlPP+0Cr}iOoE6 z+EBo^1E2a3GM1c^=|xrDi6+=3MpLF)=n>2vxS3ZraYszjN(8(m=JCE9k3FdY@XqgN zM`Cx*e%}$z)&B=;RtjI|w7#3b&kIAoK1=2l-WcLq?{MRAbk45D&PMgPX{ykMDY{+v zp_kDo4>qip?*m^?vTWOLJx>O7AMDx&{q){l3YmR0ID%mOKLjmn2G-Fgx0J7)I5oV< P|EXcpS!TCQyt)4Y#z3@% diff --git a/resources/assets/mekanism/render/LogisticalSorterOn.png b/resources/assets/mekanism/render/LogisticalSorterOn.png new file mode 100644 index 0000000000000000000000000000000000000000..039c46ecbc55c5ab78180f9769e71b2ad64642a0 GIT binary patch literal 6761 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 D$N=cd literal 0 HcmV?d00001 diff --git a/resources/assets/mekanism/sound/etc/Click.ogg b/resources/assets/mekanism/sound/etc/Click.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8f1721ed1d885c1ce277102b6a7ba2c1f10db855 GIT binary patch literal 32410 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 J4@?EP{vROwRmlJV literal 0 HcmV?d00001