From f16047c2ad77b2cc74ff384649062385b43249b2 Mon Sep 17 00:00:00 2001 From: Rseifert Date: Sun, 23 Sep 2012 05:59:20 -0400 Subject: [PATCH] add liquid types to pumps fixed textures for some pipe types and pump will pump any liquid with a block id linked too it. Which is oil,lava,water only ;/ also i moved some package around was getting hard to sort sh** out --- src/common/aa/DevProxy.java | 2 +- src/common/basicpipes/BasicPipesMain.java | 8 +- src/common/basicpipes/PipeProxy.java | 2 +- .../basicpipes/pipes/api/IHeatConsumer.java | 22 --- src/common/basicpipes/pipes/api/Liquid.java | 12 ++ .../{pipes => pumps}/BlockMachine.java | 10 +- src/common/basicpipes/pumps/ItemMachine.java | 125 ++++++++++++++++++ .../{pipes => pumps}/TileEntityCondenser.java | 2 +- .../{pipes => pumps}/TileEntityPump.java | 47 +++++-- src/minecraft/basicpipes/PipeClientProxy.java | 2 +- src/minecraft/basicpipes/RenderPipe.java | 3 + src/minecraft/basicpipes/RenderPump.java | 24 +++- src/minecraft/textures/CopperWire.png | Bin 3196 -> 0 bytes src/minecraft/textures/YellowPiston.png | Bin 1051 -> 0 bytes src/minecraft/textures/pipes/SixLavaPipe.png | Bin 0 -> 796 bytes src/minecraft/textures/pipes/SixOilPipe.png | Bin 0 -> 782 bytes src/minecraft/textures/pipes/SixWaterPipe.png | Bin 0 -> 791 bytes src/minecraft/textures/pumps/LavaPump.png | Bin 0 -> 740 bytes src/minecraft/textures/pumps/OilPump.png | Bin 0 -> 727 bytes src/minecraft/textures/pumps/Pump.png | Bin 0 -> 735 bytes .../{Pump.png => pumps/WaterPump.png} | Bin 21 files changed, 206 insertions(+), 53 deletions(-) delete mode 100644 src/common/basicpipes/pipes/api/IHeatConsumer.java rename src/common/basicpipes/{pipes => pumps}/BlockMachine.java (89%) create mode 100644 src/common/basicpipes/pumps/ItemMachine.java rename src/common/basicpipes/{pipes => pumps}/TileEntityCondenser.java (99%) rename src/common/basicpipes/{pipes => pumps}/TileEntityPump.java (68%) delete mode 100644 src/minecraft/textures/CopperWire.png delete mode 100644 src/minecraft/textures/YellowPiston.png create mode 100644 src/minecraft/textures/pipes/SixLavaPipe.png create mode 100644 src/minecraft/textures/pipes/SixOilPipe.png create mode 100644 src/minecraft/textures/pipes/SixWaterPipe.png create mode 100644 src/minecraft/textures/pumps/LavaPump.png create mode 100644 src/minecraft/textures/pumps/OilPump.png create mode 100644 src/minecraft/textures/pumps/Pump.png rename src/minecraft/textures/{Pump.png => pumps/WaterPump.png} (100%) diff --git a/src/common/aa/DevProxy.java b/src/common/aa/DevProxy.java index 12df3e46..80d12498 100644 --- a/src/common/aa/DevProxy.java +++ b/src/common/aa/DevProxy.java @@ -6,7 +6,7 @@ import net.minecraft.src.World; import net.minecraftforge.client.MinecraftForgeClient; import basicpipes.BasicPipesMain; import basicpipes.pipes.TileEntityPipe; -import basicpipes.pipes.TileEntityPump; +import basicpipes.pumps.TileEntityPump; import cpw.mods.fml.common.Side; import cpw.mods.fml.common.asm.SideOnly; import cpw.mods.fml.common.network.IGuiHandler; diff --git a/src/common/basicpipes/BasicPipesMain.java b/src/common/basicpipes/BasicPipesMain.java index bd0b9f50..3063e8e3 100644 --- a/src/common/basicpipes/BasicPipesMain.java +++ b/src/common/basicpipes/BasicPipesMain.java @@ -2,12 +2,12 @@ package basicpipes; import java.io.File; import basicpipes.pipes.BlockPipe; -import basicpipes.pipes.BlockMachine; import basicpipes.pipes.ItemGuage; import basicpipes.pipes.ItemParts; import basicpipes.pipes.ItemPipe; -import basicpipes.pipes.TileEntityPump; import basicpipes.pipes.api.Liquid; +import basicpipes.pumps.BlockMachine; +import basicpipes.pumps.TileEntityPump; import net.minecraft.client.Minecraft; import net.minecraft.src.Block; @@ -41,7 +41,7 @@ public class BasicPipesMain{ public static int pipeID = configurationProperties(); private static int partID; private static int ppipeID; - private static int machineID; + public static int machineID; private static int toolID; public static Block pipe = new BlockPipe(pipeID).setBlockName("pipe"); public static Block machine = new BlockMachine(machineID).setBlockName("pump"); @@ -68,7 +68,7 @@ public class BasicPipesMain{ { proxy.preInit(); GameRegistry.registerBlock(pipe); - GameRegistry.registerBlock(machine); + GameRegistry.registerBlock(machine,basicpipes.pumps.ItemMachine.class); } @Init public void load(FMLInitializationEvent evt) diff --git a/src/common/basicpipes/PipeProxy.java b/src/common/basicpipes/PipeProxy.java index 69ad27f9..b82d9883 100644 --- a/src/common/basicpipes/PipeProxy.java +++ b/src/common/basicpipes/PipeProxy.java @@ -1,7 +1,7 @@ package basicpipes; import basicpipes.pipes.TileEntityPipe; -import basicpipes.pipes.TileEntityPump; +import basicpipes.pumps.TileEntityPump; import net.minecraft.src.EntityPlayer; import net.minecraft.src.TileEntity; import net.minecraft.src.World; diff --git a/src/common/basicpipes/pipes/api/IHeatConsumer.java b/src/common/basicpipes/pipes/api/IHeatConsumer.java deleted file mode 100644 index 1c5a29e3..00000000 --- a/src/common/basicpipes/pipes/api/IHeatConsumer.java +++ /dev/null @@ -1,22 +0,0 @@ -package basicpipes.pipes.api; - -/** - * The IHeatConsumer interface is an interface that must be applied to all tile entities that can receive heat joules. - * @author Darkguardsman code sourced from Calclavia - * - */ -public interface IHeatConsumer -{ - /** - * onRecieveSteam is called whenever a Steam transmitter sends a packet of electricity to the consumer (which is this block). - * @param vol - The amount of steam this block received - * @param side - The side of the block in which the electricity came from. - * @return vol - The amount of rejected steam to be sent to back - */ - public float onReceiveHeat(float jouls, int side); - - /** - * @return Return the stored electricity in this consumer. Called by conductors to spread electricity to this unit. - */ - public float getStoredHeat(); -} \ No newline at end of file diff --git a/src/common/basicpipes/pipes/api/Liquid.java b/src/common/basicpipes/pipes/api/Liquid.java index 705b5840..e8c6f5f5 100644 --- a/src/common/basicpipes/pipes/api/Liquid.java +++ b/src/common/basicpipes/pipes/api/Liquid.java @@ -1,5 +1,6 @@ package basicpipes.pipes.api; + import universalelectricity.basiccomponents.BasicComponents; import net.minecraft.src.Block; import net.minecraftforge.common.ForgeDirection; @@ -48,4 +49,15 @@ private Liquid(String name,boolean flame,boolean gas,int block, int Moving) } return DEFUALT; } +public static Liquid getLiquidByBlock(int bBlock) { + for(int i = 0; i < Liquid.values().length;i++) + { + Liquid selected = Liquid.getLiquid(i); + if(bBlock == selected.Still) + { + return selected; + } + } + return Liquid.DEFUALT; +} } diff --git a/src/common/basicpipes/pipes/BlockMachine.java b/src/common/basicpipes/pumps/BlockMachine.java similarity index 89% rename from src/common/basicpipes/pipes/BlockMachine.java rename to src/common/basicpipes/pumps/BlockMachine.java index 94b9c4fe..b37d5f2a 100644 --- a/src/common/basicpipes/pipes/BlockMachine.java +++ b/src/common/basicpipes/pumps/BlockMachine.java @@ -1,4 +1,4 @@ -package basicpipes.pipes; +package basicpipes.pumps; import java.util.ArrayList; import net.minecraft.src.*; @@ -48,14 +48,8 @@ public class BlockMachine extends BlockContainer //Per tick public int conductorCapacity() { - return 10; + return 1; } - public void addCreativeItems(ArrayList itemList) - { - - itemList.add(new ItemStack(this, 1,0)); - } - @Override public TileEntity createNewTileEntity(World var1,int meta) { // TODO Auto-generated method stub diff --git a/src/common/basicpipes/pumps/ItemMachine.java b/src/common/basicpipes/pumps/ItemMachine.java new file mode 100644 index 00000000..a8b37a81 --- /dev/null +++ b/src/common/basicpipes/pumps/ItemMachine.java @@ -0,0 +1,125 @@ +package basicpipes.pumps; + +import java.util.List; + +import basicpipes.BasicPipesMain; + +import net.minecraft.src.Block; +import net.minecraft.src.CreativeTabs; +import net.minecraft.src.EntityPlayer; +import net.minecraft.src.Item; +import net.minecraft.src.ItemBlock; +import net.minecraft.src.ItemStack; +import net.minecraft.src.MathHelper; +import net.minecraft.src.TileEntity; +import net.minecraft.src.World; + +public class ItemMachine extends ItemBlock +{ + int index = 26; + private int spawnID; + + public ItemMachine(int id) + { + super(id); + this.setMaxDamage(0); + this.setHasSubtypes(true); + this.setIconIndex(10); + this.setItemName("Machine"); + this.setTabToDisplayOn(CreativeTabs.tabRedstone); + } + @Override + public int getIconFromDamage(int par1) + { + + return par1+index; + } + @Override + public String getItemNameIS(ItemStack itemstack) + { + return itemstack.getItemDamage() == 0 ? "Pump" :"Condenser"; + } + @Override + public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) + { + + par3List.add(new ItemStack(this, 1, 0)); + + } + public String getTextureFile() { + return BasicPipesMain.textureFile+"/Items.png"; + } + @Override + public String getItemName() + { + return "Machines"; + } + @Override + public boolean tryPlaceIntoWorld(ItemStack itemStack, EntityPlayer player, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) + { + int blockID = par3World.getBlockId(par4, par5, par6); + spawnID = BasicPipesMain.machineID; + if (blockID == Block.snow.blockID) + { + par7 = 1; + } + else if (blockID != Block.vine.blockID && blockID != Block.tallGrass.blockID && blockID != Block.deadBush.blockID) + { + if (par7 == 0) + { + --par5; + } + + if (par7 == 1) + { + ++par5; + } + + if (par7 == 2) + { + --par6; + } + + if (par7 == 3) + { + ++par6; + } + + if (par7 == 4) + { + --par4; + } + + if (par7 == 5) + { + ++par4; + } + } + + if (BasicPipesMain.pipe.canPlaceBlockAt(par3World,par4,par5,par6)) + { + Block var9 = Block.blocksList[this.spawnID]; + par3World.editingBlocks = true; + int angle = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if (par3World.setBlockAndMetadataWithNotify(par4, par5, par6, var9.blockID,angle+itemStack.getItemDamage())) + { + if (par3World.getBlockId(par4, par5, par6) == var9.blockID) + { + + Block.blocksList[this.spawnID].onBlockAdded(par3World, par4, par5, par6); + Block.blocksList[this.spawnID].onBlockPlacedBy(par3World, par4, par5, par6, player); + TileEntity blockEntity = par3World.getBlockTileEntity(par4, par5, par6); + + } + + --itemStack.stackSize; + par3World.editingBlocks = false; + return true; + } + } + par3World.editingBlocks = false; + return false; + } + + +} \ No newline at end of file diff --git a/src/common/basicpipes/pipes/TileEntityCondenser.java b/src/common/basicpipes/pumps/TileEntityCondenser.java similarity index 99% rename from src/common/basicpipes/pipes/TileEntityCondenser.java rename to src/common/basicpipes/pumps/TileEntityCondenser.java index 0d042c99..951d8758 100644 --- a/src/common/basicpipes/pipes/TileEntityCondenser.java +++ b/src/common/basicpipes/pumps/TileEntityCondenser.java @@ -1,4 +1,4 @@ -package basicpipes.pipes; +package basicpipes.pumps; import basicpipes.pipes.api.ILiquidProducer; import basicpipes.pipes.api.Liquid; diff --git a/src/common/basicpipes/pipes/TileEntityPump.java b/src/common/basicpipes/pumps/TileEntityPump.java similarity index 68% rename from src/common/basicpipes/pipes/TileEntityPump.java rename to src/common/basicpipes/pumps/TileEntityPump.java index 4c211851..f639e95a 100644 --- a/src/common/basicpipes/pipes/TileEntityPump.java +++ b/src/common/basicpipes/pumps/TileEntityPump.java @@ -1,4 +1,4 @@ -package basicpipes.pipes; +package basicpipes.pumps; import basicpipes.TradeHelper; import basicpipes.pipes.api.ILiquidProducer; @@ -13,8 +13,9 @@ public class TileEntityPump extends TileEntityElectricUnit implements ILiquidPro int dCount = 0; float eStored = 0; float eMax = 2000; - int wStored = 0; + int lStored = 0; int wMax = 10; + public Liquid type = Liquid.DEFUALT; public TileEntity[] sList = {null,null,null,null,null,null}; private int count = 0; @Override @@ -35,6 +36,12 @@ public class TileEntityPump extends TileEntityElectricUnit implements ILiquidPro public void onUpdate(float watts, float voltage, ForgeDirection side) { super.onUpdate(watts, voltage, side); sList = TradeHelper.getSourounding(this); + int bBlock = worldObj.getBlockId(xCoord, yCoord -1, zCoord); + Liquid bellow = Liquid.getLiquidByBlock(bBlock); + if(bellow != null && this.lStored <= 0) + { + this.type = bellow; + } if(!worldObj.isRemote) { count++; @@ -43,11 +50,11 @@ public class TileEntityPump extends TileEntityElectricUnit implements ILiquidPro float rejectedElectricity = (float) Math.max((this.eStored + watts) - this.eMax, 0.0); this.eStored = (float) Math.max(this.eStored + watts - rejectedElectricity, 0.0); } - int bBlock = worldObj.getBlockId(xCoord, yCoord -1, zCoord); - if(bBlock == Block.waterStill.blockID && this.eStored > 500 && this.wStored < this.wMax && count>=2) + + if(bBlock == type.Still && this.eStored > 200 && this.lStored < this.wMax && count>=2) { - eStored -= 500; - wStored += 1; + eStored -= 200; + lStored += 1; worldObj.setBlockAndMetadataWithNotify(xCoord, yCoord-1, zCoord, 0, 0); count = 0; } @@ -80,10 +87,10 @@ public class TileEntityPump extends TileEntityElectricUnit implements ILiquidPro @Override public int onProduceLiquid(Liquid type, int maxVol, ForgeDirection side) { - if(type == Liquid.WATER && wStored > 0) + if(type == this.type && lStored > 0) { - int tradeW = Math.min(maxVol, wStored); - wStored -= tradeW; + int tradeW = Math.min(maxVol, lStored); + lStored -= tradeW; return tradeW; } return 0; @@ -91,7 +98,17 @@ public class TileEntityPump extends TileEntityElectricUnit implements ILiquidPro @Override public boolean canProduceLiquid(Liquid type, ForgeDirection side) { - if(type == Liquid.WATER && side != ForgeDirection.DOWN) + int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); + int facing = 0; + switch(meta) + { + case 0: facing = 2;break; + case 1: facing = 5;break; + case 2: facing = 3;break; + case 3: facing = 4;break; + } + + if(type == this.type && side != ForgeDirection.DOWN && side != ForgeDirection.UP && side != ForgeDirection.getOrientation(facing).getOpposite()) { return true; } @@ -103,13 +120,21 @@ public class TileEntityPump extends TileEntityElectricUnit implements ILiquidPro if(type == Liquid.WATER) { return 32; + }else + if(type == Liquid.LAVA) + { + return 10; + }else + if(type == this.type) + { + return 50; } return 0; } @Override public boolean canProducePresure(Liquid type, ForgeDirection side) { - if(type == Liquid.WATER) + if(type == this.type) { return true; } diff --git a/src/minecraft/basicpipes/PipeClientProxy.java b/src/minecraft/basicpipes/PipeClientProxy.java index 9fb72e9c..22c433af 100644 --- a/src/minecraft/basicpipes/PipeClientProxy.java +++ b/src/minecraft/basicpipes/PipeClientProxy.java @@ -3,7 +3,7 @@ package basicpipes; import steampower.SteamPowerMain; import basicpipes.PipeProxy; import basicpipes.pipes.TileEntityPipe; -import basicpipes.pipes.TileEntityPump; +import basicpipes.pumps.TileEntityPump; import net.minecraftforge.client.MinecraftForgeClient; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.registry.GameRegistry; diff --git a/src/minecraft/basicpipes/RenderPipe.java b/src/minecraft/basicpipes/RenderPipe.java index f97a0f54..bfd0c678 100644 --- a/src/minecraft/basicpipes/RenderPipe.java +++ b/src/minecraft/basicpipes/RenderPipe.java @@ -57,6 +57,9 @@ public class RenderPipe extends TileEntitySpecialRenderer switch(type.ordinal()) { case 0: bindTextureByName(BasicPipesMain.textureFile+"/pipes/SixSteamPipe.png");break; + case 1: bindTextureByName(BasicPipesMain.textureFile+"/pipes/SixWaterPipe.png");break; + case 2: bindTextureByName(BasicPipesMain.textureFile+"/pipes/SixLavaPipe.png");break; + case 3: bindTextureByName(BasicPipesMain.textureFile+"/pipes/SixOilPipe.png");break; default:bindTextureByName(BasicPipesMain.textureFile+"/pipes/DefaultPipe.png"); break; } if(tileEntity.connectedBlocks[0] != null) SixPipe.renderBottom(); diff --git a/src/minecraft/basicpipes/RenderPump.java b/src/minecraft/basicpipes/RenderPump.java index dd652020..ca21ba12 100644 --- a/src/minecraft/basicpipes/RenderPump.java +++ b/src/minecraft/basicpipes/RenderPump.java @@ -6,7 +6,8 @@ import net.minecraft.src.TileEntitySpecialRenderer; import org.lwjgl.opengl.GL11; import basicpipes.pipes.TileEntityPipe; -import basicpipes.pipes.TileEntityPump; +import basicpipes.pipes.api.Liquid; +import basicpipes.pumps.TileEntityPump; public class RenderPump extends TileEntitySpecialRenderer @@ -21,12 +22,27 @@ public class RenderPump extends TileEntitySpecialRenderer public void renderAModelAt(TileEntityPump tileEntity, double d, double d1, double d2, float f) { - - bindTextureByName(BasicPipesMain.textureFile+"/Pump.png"); + Liquid type = tileEntity.type; + int meta = tileEntity.worldObj.getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); + switch(type.ordinal()) + { + default: bindTextureByName("/textures/pumps/Pump.png");break; + //case 0://steam + case 1:bindTextureByName("/textures/pumps/WaterPump.png");break;//water + case 2:bindTextureByName("/textures/pumps/LavaPump.png");break;//lava + case 3:bindTextureByName("/textures/pumps/OilPump.png");break;//oil + //case 4://fuel + } GL11.glPushMatrix(); GL11.glTranslatef((float) d + 0.5F, (float) d1 + 1.5F, (float) d2 + 0.5F); GL11.glScalef(1.0F, -1F, -1F); - + switch(meta) + { + case 1:GL11.glRotatef(0f, 0f, 1f, 0f);break; + case 2:GL11.glRotatef(90f, 0f, 1f, 0f);break; + case 3:GL11.glRotatef(180f, 0f, 1f, 0f);break; + case 0:GL11.glRotatef(270f, 0f, 1f, 0f);break; + } model.renderMain(0.0625F); model.renderC1(0.0625F); model.renderC2(0.0625F); diff --git a/src/minecraft/textures/CopperWire.png b/src/minecraft/textures/CopperWire.png deleted file mode 100644 index 5f4bb528d01814f47003ede29cf06b68de001a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3196 zcmV-?41@EDP)004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( zX+uL$P-t&-Z*ypGa3D!TLm+T+Z)Rz1WdHz3$DNjUR8-d%htIutdZEoQ0#b(FyTAa_ zdy`&8VVD_UC<6{NG_fI~0ue<-nj%P0#DLLIBvwSR5EN9f2P6n6F&ITuEN@2Ei>|D^ z_ww@lRz|vC zuzLs)$;-`!o*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zBIT!&C1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$@wQAMN5qJ)hzm2h zoGcOF60t^#FqJFfH{#e-4l@G)6iI9sa9D{VHW4w29}?su;^hF~NC{tY+*d5%WDCTX za!E_i;d2ub1#}&jF5T4HnnCyEWTkKf0>c0%E1Ah>(_PY1)0w;+02c53Su*0<(nUqK zG_|(0G&D0Z{i;y^b@OjZ+}lNZ8Th$p5Uu}MTtq^NHl*T1?CO*}7&0ztZsv2j*bmJyf3G7=Z`5B*PvzoDiKdLpOAxi2$L0#SX*@cY z_n(^h55xYX#km%V()bZjV~l{*bt*u9?FT3d5g^g~#a;iSZ@&02Abxq_DwB(I|L-^b zXThc7C4-yrInE_0gw7K3GZ**7&k~>k0Z0NWkO#^@9q0fwx1%qj zZ=)yBuQ3=54Wo^*!gyjLF-e%Um=erBOdIALW)L%unZshS@>qSW9o8Sq#0s#5*edK% z>{;v(b^`kbN5rY%%y90wC>#%$kE_5P!JWYk;U;klcqzOl-UjcFXXA75rT9jCH~u<) z0>40zCTJ7v2qAyk54cquI@7b&LHdZ`+zlTss6bJ7%PQ)z$cROu4wBhpu-r)01) zS~6}jY?%U?gEALn#wiFzo#H}aQ8rT=DHkadR18&{>P1bW7E`~Y4p3)hWn`DhhRJ5j z*2tcg9i<^OEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-LhL+6BEtPYWVlfKTBusSTASKKb%HuWJzl+By+?gkLq)?+BTu761 zjmyXF)a;mc^>(B7bo*HQ1NNg1st!zt28YLv>W*y3CdWx9U8f|cqfXDAO`Q48?auQq zHZJR2&bcD49Ip>EY~kKEPV6Wm+eXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^ zTY0bZ?)4%01p8F`JoeS|<@=<@RE7GY07EYX@lwd>4oW|Yi!o+Su@M`;WuSK z8LKk71XR(_RKHM1xJ5XYX`fk>`6eqY>qNG6HZQwBM=xi4&Sb88?zd}EYguc1@>KIS z<&CX#T35dwS|7K*XM_5Nf(;WJJvJWRMA($P>8E^?{IdL4o5MGE7bq2MEEwP7v8AO@ zqL5!WvekBL-8R%V?zVyL=G&{be=K4bT`e{#t|)$A!YaA?jp;X)-+bB;zhj`(vULAW z%ue3U;av{94wp%n<(7@__S@Z2PA@Mif3+uO&y|X06?J#oSi8M;ejj_^(0<4Lt#wLu#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%o zZ=0JGnu?n~9O4}sJsfnnx7n(>`H13?(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8N zo_-(u{qS+0<2@%BCt82d{Gqm;(q7a7b>wu+b|!X?c13m#p7cK1({0<`{-e>4hfb-U zsyQuty7Ua;Ou?B?XLHZaol8GAb3Wnxcu!2v{R_`T4=x`(GvqLI{-*2AOSimk zUAw*F_TX^n@STz9kDQ z$NC=!KfXWC8h`dn#xL(D3Z9UkR7|Q&Hcy#Notk!^zVUSB(}`#4&lYA1f0h2V_PNgU zAAWQEt$#LRcH#y9#i!p(Udq2b^lI6wp1FXzN3T;~FU%Lck$-deE#qz9yYP3D3t8{6 z?<+s(e(3(_^YOu_)K8!O1p}D#{JO;G(*OVf32;bRa{vGi!T3_dTf3C{3Lmhbt6KN zr^ia28sEG9d2qdNk+P}laC|ri)hS3FfX}%cw6*y9gO`SI{>Loz200ZGu0MjwmB+QlQH1?Pzx9+`kV?h)_O7k zVjaNOZZZIxb}L|@=yTtLaP^}A067me1P12+>ZKMiP}I4)|MmHSdlr^n6aZL}bV|G5 zqmR0?uJnBg>K>t@!;Ru?zinFDyUbH|g$k*t|3c7erMBJYd<8dFxVsccjmO=k!27lm zo1arM9In0ulSROEgx$rrUStaZ6E{O`^fjOW5Q<8<+9?dk_2xpwT^JAwN$AVeKR=;- ig|t)N0U^=M(bfh2XR}B$G=L!h0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m?d01m?e$8V@)00007bV*G`2iyq* z6(Spfw^cj<00WyzL_t(|+U;7;YZE~f{$_U@2sAYmPyGX|RFNL^svz|wxp?#7sYsf7 zuoOb^P!NI$O(_;ZTeJu9Q0T1`Pl}-6Ne?0(inL%aDTPuhtx3AsWIV*(ZqofVJKfn$ zvk#Wtnf>0Q^L6IUn{PwFXt@k10<@QFAP{JZAEzg8Rv<}9G#V91QWBKbjCYmFrtw_J z=8fm4Z`U00W~@k){5VysTPT;;jeDiCXb;+{7UjGXKNF>hN;vc_$(Sk2z z^GKyGA}sSofId(^cvjy?5}>NP7K5w+0Ax9NVhNb>`m>G)5Zd(jodh-Q5VhJLbJ-bmDXdBuSX#xlFam-eP|(JEc2NA(_EE!g6Hu*gF`osZgy$x}Pi-G1JU0P6 z`+5}c+ywB{_EErd6Tnm3M*$yigQ6?JAZ@>TjV!VScP zJUNvdV76z=V@+A>?t*38$#{Ijss|!H12#4uP^UUzaBzux1`xMD+-X2OzFu%UJ1?ly z_IMggKr&BN0N6NaUhUIbe>S(>-aEzhS`V17!0G_6_UhpR*Lzm8(;H5`6ppI(_m7y! zIR4pCZ!e&#JK_nrKkuB?-QKfWU*E03i=0R&!PsIGTnYmK{Xi%H+?b^JG)IiP-uL;3 z^YrEQ*Nyd%=J!x!OMtDz2=zpOUw<-MrAeTlM=TKNT-L5PSNeI-vwB*y`O$3`v+w8 VQjG~4b)EnK002ovPDHLkV1iC8=0^Yk diff --git a/src/minecraft/textures/pipes/SixLavaPipe.png b/src/minecraft/textures/pipes/SixLavaPipe.png new file mode 100644 index 0000000000000000000000000000000000000000..85fc2dc80b585e8a39ad38f6b75190a9f28dcf1e GIT binary patch literal 796 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 VQv-q^vG)J~002ovPDHLkV1fs?P%8ic literal 0 HcmV?d00001 diff --git a/src/minecraft/textures/pumps/LavaPump.png b/src/minecraft/textures/pumps/LavaPump.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d9b0ab09d4fcd5793e0cf1b43052327da070a5 GIT binary patch literal 740 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sBugD~Uq{1qucLG}_)Usv`!oZ=j2!ddRWHZU+SrFgnHhE&{o zd&e;Ewt)ykz$%Viq8z(YUkR`~eYkXY)n+O={m4g%<>0EN z4VyAQ?e(1Y@_^v}6aPIAhR#^AF27uH(Xz^QNq^@4{_1??z3I{O%jH8)9C79Qeja@!mYhG%QO>t7WMX4vT7FgtYa7xA1~>3g?)5h-|a@PwI%-&H;ahK}6Y z^1adbW8cSgehN9^ zX@h_hM}N5f!;i00KUErWHPo^DTdExvWMFhy$@t;#`R$R%=Ol`5_;PLiD}`L~-;;L! zi@iHf{@%;t^OHY_7@T=>`+D(ehO3P#6N-5n9v0l)H*YqJ7oTe5BnOMtf(dVUXFEGwLwyaeZdi!19dyN#Bzu?LDONW?Ogl%;uAGZfO-Q^0?2= zdR;?tYu%)}Uzbf*&vd#`vbyEgx2>KZ?fP#oUotK;tT;>IT#mrdG}C^unK&g#BTo=pC#)yY$LghW1J;9y{3U}9iAV42Qn z82K|Ob!Py>ku~4-L&cmKR#rFsEGSu?99)$vo1nS;ob)`a=hvr~^L?lhi|4AV{%u?JH*mv~x`0pymo5Kp z-+td-eK?y-mg(7+dx?^FYa4A36!6xcGi80wkYdL&ax$7BMI-_^~-&wLx-lplyl-~C0-@iid{=NRo{(WWm z|F`EZf1+^hec@>=ld2hH%CG-@ztMBSlK>$N&X(1$7}X{@>+b!gav?3?C}V=L2Y&;@ zf?Es*_qX#U$Sx=_YtBkH_TY1P3z7n9(5i0ed=lWj-j;KVWJn>y4W3KP3JfdE7|wiO z%N)V3G3V@pTQ_+oF$Yuwr6#d>F#&@U1L(bx6}*;P^LJ|LB#@k^tDnm{r-UW|pP)2G literal 0 HcmV?d00001 diff --git a/src/minecraft/textures/pumps/Pump.png b/src/minecraft/textures/pumps/Pump.png new file mode 100644 index 0000000000000000000000000000000000000000..dd4712087f17d30c5dd42f286ccf1cde0f48d0d0 GIT binary patch literal 735 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sBugD~Uq{1qucLG}_)Usv`!oZ=j2raQdqeHj>-;yqm)Ln>~) zy>l?@wt)mgLgkdZY^m!nh+M9|zp(Ym1^2fLTi?o->8st;?m3jVyFy($dD1bxqD3C} z%Zp@|F1eQf^1te2EuWC<<+&XzGViUDs88Qq*Y#`fvWm*ubxvyQihihX+x;wf{_fbT z^MB>U-ru^B>BpUYEL~w|JAa8RXAqjf6n6jL*WJ>CRs_ z1{MbKNVa2o?~{V{)Fv^@czx37;Zy`{wNz@We&z`()a7s-0& ztUGvHF)=3)4z`+Z^tI9o)c+cu-KUAdg0WAOxOK4ikI`t@-Z;13}M_<`I007K<-!XB9jX=AXUIqh-P{ zr5Y5vN7)*x?prmKHk`T1W5jxcXA*Nj83T}F@nTwdLh!)_X|raP##*y{;}sVe0^Uh7 z3NVOBGrX#O&2Wv;DBbvkNP@8kpTkW?ASI;1$pTDY=)hw0e>qK;?GG1*cYvfkUHx3v IIVCg!00Z7KVE_OC literal 0 HcmV?d00001 diff --git a/src/minecraft/textures/Pump.png b/src/minecraft/textures/pumps/WaterPump.png similarity index 100% rename from src/minecraft/textures/Pump.png rename to src/minecraft/textures/pumps/WaterPump.png