From 327c78d0a6020e276bfdc2e9114834aea2185d42 Mon Sep 17 00:00:00 2001 From: Calclavia Date: Sun, 16 Feb 2014 22:57:41 +0800 Subject: [PATCH] Added new pipe texture, model messed up --- .../mechanical/fluid/pipe/ModelPipe.java | 395 ++++++++---------- .../mechanical/fluid/pipe/RenderPipe.java | 57 +-- .../assets/resonantinduction/models/pipe.png | Bin 0 -> 1191 bytes .../resonantinduction/models/pipe/bronze.png | Bin 820 -> 0 bytes .../resonantinduction/models/pipe/copper.png | Bin 820 -> 0 bytes .../resonantinduction/models/pipe/glass.png | Bin 843 -> 0 bytes .../resonantinduction/models/pipe/gold.png | Bin 829 -> 0 bytes .../resonantinduction/models/pipe/hell.png | Bin 828 -> 0 bytes .../resonantinduction/models/pipe/iron.png | Bin 808 -> 0 bytes .../models/pipe/obsidian.png | Bin 829 -> 0 bytes .../resonantinduction/models/pipe/pipe.png | Bin 5094 -> 0 bytes .../resonantinduction/models/pipe/steel.png | Bin 810 -> 0 bytes .../resonantinduction/models/pipe/stone.png | Bin 479 -> 0 bytes .../resonantinduction/models/pipe/tin.png | Bin 829 -> 0 bytes .../resonantinduction/models/pipe/wood.png | Bin 2020 -> 0 bytes 15 files changed, 189 insertions(+), 263 deletions(-) create mode 100644 src/main/resources/assets/resonantinduction/models/pipe.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/bronze.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/copper.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/glass.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/gold.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/hell.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/iron.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/obsidian.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/pipe.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/steel.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/stone.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/tin.png delete mode 100644 src/main/resources/assets/resonantinduction/models/pipe/wood.png diff --git a/mechanical/src/main/java/resonantinduction/mechanical/fluid/pipe/ModelPipe.java b/mechanical/src/main/java/resonantinduction/mechanical/fluid/pipe/ModelPipe.java index 3ce7ebd4..226c5e19 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/fluid/pipe/ModelPipe.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/fluid/pipe/ModelPipe.java @@ -1,13 +1,11 @@ -// Date: 9/20/2012 12:00:21 AM -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - package resonantinduction.mechanical.fluid.pipe; +import org.lwjgl.opengl.GL11; + +import calclavia.lib.render.RenderUtility; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; +import net.minecraftforge.common.ForgeDirection; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -15,233 +13,186 @@ import cpw.mods.fml.relauncher.SideOnly; public class ModelPipe extends ModelBase { // fields - ModelRenderer Mid; - ModelRenderer RightPipe; - ModelRenderer RightInter; - ModelRenderer RightConnect; - ModelRenderer LeftInter; - ModelRenderer LeftPipe; - ModelRenderer LeftConnect; - ModelRenderer TopInter; - ModelRenderer TopPipe; - ModelRenderer TopConnect; - ModelRenderer BottomPipe; - ModelRenderer BottomInter; - ModelRenderer BottomConnect; - ModelRenderer BackPipe; - ModelRenderer BackInter; - ModelRenderer BackConnect; - ModelRenderer FrontInter; - ModelRenderer FrontPipe; - ModelRenderer FrontConnect; + ModelRenderer Body; + ModelRenderer Deco1; + ModelRenderer Deco4; + ModelRenderer Deco2; + ModelRenderer Deco3; + ModelRenderer Deco5; + ModelRenderer Deco6; + ModelRenderer Deco7; + ModelRenderer Deco8; + ModelRenderer Deco9; + ModelRenderer Body2; + ModelRenderer Deco11; + ModelRenderer Deco12; + ModelRenderer Deco13; + ModelRenderer Deco14; + ModelRenderer Deco15; + ModelRenderer Deco16; public ModelPipe() { - textureWidth = 128; + textureWidth = 64; textureHeight = 32; - Mid = new ModelRenderer(this, 50, 13); - Mid.addBox(-3F, -3F, -3F, 6, 6, 6); - Mid.setRotationPoint(0F, 16F, 0F); - Mid.setTextureSize(128, 32); - Mid.mirror = true; - setRotation(Mid, 0F, 0F, 0F); - RightPipe = new ModelRenderer(this, 25, 0); - RightPipe.addBox(0F, -3F, -3F, 4, 6, 6); - RightPipe.setRotationPoint(3F, 16F, 0F); - RightPipe.setTextureSize(128, 32); - RightPipe.mirror = true; - setRotation(RightPipe, 0F, 0F, 0F); - RightInter = new ModelRenderer(this, 98, 0); - RightInter.addBox(0F, -4F, -4F, 1, 8, 8); - RightInter.setRotationPoint(2F, 16F, 0F); - RightInter.setTextureSize(128, 32); - RightInter.mirror = true; - setRotation(RightInter, 0F, 0F, 0F); - RightConnect = new ModelRenderer(this, 98, 0); - RightConnect.addBox(0F, -4F, -4F, 1, 8, 8); - RightConnect.setRotationPoint(7F, 16F, 0F); - RightConnect.setTextureSize(128, 32); - RightConnect.mirror = true; - setRotation(RightConnect, 0F, 0F, 0F); - LeftInter = new ModelRenderer(this, 98, 0); - LeftInter.addBox(-1F, -4F, -4F, 1, 8, 8); - LeftInter.setRotationPoint(-2F, 16F, 0F); - LeftInter.setTextureSize(128, 32); - LeftInter.mirror = true; - setRotation(LeftInter, 0F, 0F, 0F); - LeftPipe = new ModelRenderer(this, 25, 0); - LeftPipe.addBox(-4F, -3F, -3F, 4, 6, 6); - LeftPipe.setRotationPoint(-3F, 16F, 0F); - LeftPipe.setTextureSize(128, 32); - LeftPipe.mirror = true; - setRotation(LeftPipe, 0F, 0F, 0F); - LeftConnect = new ModelRenderer(this, 98, 0); - LeftConnect.addBox(-1F, -4F, -4F, 1, 8, 8); - LeftConnect.setRotationPoint(-7F, 16F, 0F); - LeftConnect.setTextureSize(128, 32); - LeftConnect.mirror = true; - setRotation(LeftConnect, 0F, 0F, 0F); - TopInter = new ModelRenderer(this, 77, 17); - TopInter.addBox(-4F, -1F, -4F, 8, 1, 8); - TopInter.setRotationPoint(0F, 14F, 0F); - TopInter.setTextureSize(128, 32); - TopInter.mirror = true; - setRotation(TopInter, 0F, 0F, 0F); - TopPipe = new ModelRenderer(this, 50, 0); - TopPipe.addBox(-3F, -4F, -3F, 6, 4, 6); - TopPipe.setRotationPoint(0F, 13F, 0F); - TopPipe.setTextureSize(128, 32); - TopPipe.mirror = true; - setRotation(TopPipe, 0F, 0F, 0F); - TopConnect = new ModelRenderer(this, 77, 17); - TopConnect.addBox(-4F, -1F, -4F, 8, 1, 8); - TopConnect.setRotationPoint(0F, 9F, 0F); - TopConnect.setTextureSize(128, 32); - TopConnect.mirror = true; - setRotation(TopConnect, 0F, 0F, 0F); - BottomPipe = new ModelRenderer(this, 50, 0); - BottomPipe.addBox(-3F, 0F, -3F, 6, 4, 6); - BottomPipe.setRotationPoint(0F, 19F, 0F); - BottomPipe.setTextureSize(128, 32); - BottomPipe.mirror = true; - setRotation(BottomPipe, 0F, 0F, 0F); - BottomInter = new ModelRenderer(this, 77, 17); - BottomInter.addBox(-4F, 0F, -4F, 8, 1, 8); - BottomInter.setRotationPoint(0F, 18F, 0F); - BottomInter.setTextureSize(128, 32); - BottomInter.mirror = true; - setRotation(BottomInter, 0F, 0F, 0F); - BottomConnect = new ModelRenderer(this, 77, 17); - BottomConnect.addBox(-4F, 0F, -4F, 8, 1, 8); - BottomConnect.setRotationPoint(0F, 23F, 0F); - BottomConnect.setTextureSize(128, 32); - BottomConnect.mirror = true; - setRotation(BottomConnect, 0F, 0F, 0F); - BackPipe = new ModelRenderer(this, 0, 0); - BackPipe.addBox(-3F, -3F, 0F, 6, 6, 4); - BackPipe.setRotationPoint(0F, 16F, 3F); - BackPipe.setTextureSize(128, 32); - BackPipe.mirror = true; - setRotation(BackPipe, 0F, 0F, 0F); - BackInter = new ModelRenderer(this, 0, 23); - BackInter.addBox(-4F, -4F, 0F, 8, 8, 1); - BackInter.setRotationPoint(0F, 16F, 2F); - BackInter.setTextureSize(128, 32); - BackInter.mirror = true; - setRotation(BackInter, 0F, 0F, 0F); - BackConnect = new ModelRenderer(this, 0, 23); - BackConnect.addBox(-4F, -4F, 0F, 8, 8, 1); - BackConnect.setRotationPoint(0F, 16F, 7F); - BackConnect.setTextureSize(128, 32); - BackConnect.mirror = true; - setRotation(BackConnect, 0F, 0F, 0F); - FrontInter = new ModelRenderer(this, 0, 23); - FrontInter.addBox(-4F, -4F, -1F, 8, 8, 1); - FrontInter.setRotationPoint(0F, 16F, -2F); - FrontInter.setTextureSize(128, 32); - FrontInter.mirror = true; - setRotation(FrontInter, 0F, 0F, 0F); - FrontPipe = new ModelRenderer(this, 0, 0); - FrontPipe.addBox(-3F, -3F, -4F, 6, 6, 4); - FrontPipe.setRotationPoint(0F, 16F, -3F); - FrontPipe.setTextureSize(128, 32); - FrontPipe.mirror = true; - setRotation(FrontPipe, 0F, 0F, 0F); - FrontConnect = new ModelRenderer(this, 0, 23); - FrontConnect.addBox(-4F, -4F, -1F, 8, 8, 1); - FrontConnect.setRotationPoint(0F, 16F, -7F); - FrontConnect.setTextureSize(128, 32); - FrontConnect.mirror = true; - setRotation(FrontConnect, 0F, 0F, 0F); + Body = new ModelRenderer(this, 0, 0); + Body.addBox(0F, 0F, 0F, 5, 5, 16); + Body.setRotationPoint(-2F, 17F, -8F); + Body.setTextureSize(64, 32); + Body.mirror = true; + setRotation(Body, 0F, 0F, 0F); + Deco1 = new ModelRenderer(this, 42, 0); + Deco1.addBox(0F, 0F, 0F, 5, 1, 1); + Deco1.setRotationPoint(-2F, 16.5F, 0F); + Deco1.setTextureSize(64, 32); + Deco1.mirror = true; + setRotation(Deco1, 0F, 0F, 0F); + Deco4 = new ModelRenderer(this, 42, 0); + Deco4.addBox(0F, 0F, 0F, 5, 1, 1); + Deco4.setRotationPoint(-2F, 21.5F, 4F); + Deco4.setTextureSize(64, 32); + Deco4.mirror = true; + setRotation(Deco4, 0F, 0F, 0F); + Deco2 = new ModelRenderer(this, 42, 2); + Deco2.addBox(0F, 0F, 0F, 6, 1, 1); + Deco2.setRotationPoint(-1.5F, 16.5F, 4F); + Deco2.setTextureSize(64, 32); + Deco2.mirror = true; + setRotation(Deco2, 0F, 0F, 1.570796F); + Deco3 = new ModelRenderer(this, 42, 2); + Deco3.addBox(0F, 0F, 0F, 6, 1, 1); + Deco3.setRotationPoint(3.5F, 16.5F, 4F); + Deco3.setTextureSize(64, 32); + Deco3.mirror = true; + setRotation(Deco3, 0F, 0F, 1.570796F); + Deco5 = new ModelRenderer(this, 42, 0); + Deco5.addBox(0F, 0F, 0F, 5, 1, 1); + Deco5.setRotationPoint(-2F, 16.5F, 4F); + Deco5.setTextureSize(64, 32); + Deco5.mirror = true; + setRotation(Deco5, 0F, 0F, 0F); + Deco6 = new ModelRenderer(this, 42, 0); + Deco6.addBox(0F, 0F, 0F, 5, 1, 1); + Deco6.setRotationPoint(-2F, 21.5F, 0F); + Deco6.setTextureSize(64, 32); + Deco6.mirror = true; + setRotation(Deco6, 0F, 0F, 0F); + Deco7 = new ModelRenderer(this, 42, 2); + Deco7.addBox(0F, 0F, -5F, 6, 1, 1); + Deco7.setRotationPoint(-1.5F, 16.5F, 5F); + Deco7.setTextureSize(64, 32); + Deco7.mirror = true; + setRotation(Deco7, 0F, 0F, 1.570796F); + Deco8 = new ModelRenderer(this, 42, 2); + Deco8.addBox(0F, 0F, 0F, 6, 1, 1); + Deco8.setRotationPoint(3.5F, 16.5F, 0F); + Deco8.setTextureSize(64, 32); + Deco8.mirror = true; + setRotation(Deco8, 0F, 0F, 1.570796F); + Deco9 = new ModelRenderer(this, 42, 0); + Deco9.addBox(0F, 0F, 0F, 5, 1, 1); + Deco9.setRotationPoint(-2F, 16.5F, -4F); + Deco9.setTextureSize(64, 32); + Deco9.mirror = true; + setRotation(Deco9, 0F, 0F, 0F); + Body2 = new ModelRenderer(this, 42, 0); + Body2.addBox(0F, 0F, 0F, 5, 1, 1); + Body2.setRotationPoint(-2F, 21.5F, -4F); + Body2.setTextureSize(64, 32); + Body2.mirror = true; + setRotation(Body2, 0F, 0F, 0F); + Deco11 = new ModelRenderer(this, 42, 2); + Deco11.addBox(0F, 0F, -5F, 6, 1, 1); + Deco11.setRotationPoint(-1.5F, 16.5F, 1F); + Deco11.setTextureSize(64, 32); + Deco11.mirror = true; + setRotation(Deco11, 0F, 0F, 1.570796F); + Deco12 = new ModelRenderer(this, 42, 2); + Deco12.addBox(0F, 0F, 0F, 6, 1, 1); + Deco12.setRotationPoint(3.5F, 16.5F, -4F); + Deco12.setTextureSize(64, 32); + Deco12.mirror = true; + setRotation(Deco12, 0F, 0F, 1.570796F); + Deco13 = new ModelRenderer(this, 42, 0); + Deco13.addBox(0F, 0F, 0F, 5, 1, 1); + Deco13.setRotationPoint(-2F, 16.5F, -8F); + Deco13.setTextureSize(64, 32); + Deco13.mirror = true; + setRotation(Deco13, 0F, 0F, 0F); + Deco14 = new ModelRenderer(this, 42, 0); + Deco14.addBox(0F, 0F, 0F, 5, 1, 1); + Deco14.setRotationPoint(-2F, 21.5F, -8F); + Deco14.setTextureSize(64, 32); + Deco14.mirror = true; + setRotation(Deco14, 0F, 0F, 0F); + Deco15 = new ModelRenderer(this, 42, 2); + Deco15.addBox(0F, 0F, -5F, 6, 1, 1); + Deco15.setRotationPoint(-1.5F, 16.5F, -3F); + Deco15.setTextureSize(64, 32); + Deco15.mirror = true; + setRotation(Deco15, 0F, 0F, 1.570796F); + Deco16 = new ModelRenderer(this, 42, 2); + Deco16.addBox(0F, 0F, -4F, 6, 1, 1); + Deco16.setRotationPoint(3.5F, 16.5F, -4F); + Deco16.setTextureSize(64, 32); + Deco16.mirror = true; + setRotation(Deco16, 0F, 0F, 1.570796F); } - public void render(boolean[] side) + public void render(float f5) { - if (side[0]) + Body.render(f5); + Deco1.render(f5); + Deco4.render(f5); + Deco2.render(f5); + Deco3.render(f5); + Deco5.render(f5); + Deco6.render(f5); + Deco7.render(f5); + Deco8.render(f5); + Deco9.render(f5); + Body2.render(f5); + Deco11.render(f5); + Deco12.render(f5); + Deco13.render(f5); + Deco14.render(f5); + Deco15.render(f5); + Deco16.render(f5); + } + + public void render(byte side) + { + float f5 = 0.0625f; + + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - renderBottom(); + if (RenderUtility.canRenderSide(side, dir)) + { + GL11.glPushMatrix(); + RenderUtility.rotateBlockBasedOnDirection(dir); + Deco1.render(f5); + Deco4.render(f5); + Deco2.render(f5); + Deco3.render(f5); + Deco5.render(f5); + Deco6.render(f5); + Deco7.render(f5); + Deco8.render(f5); + Deco9.render(f5); + Deco11.render(f5); + Deco12.render(f5); + Deco13.render(f5); + Deco14.render(f5); + Deco15.render(f5); + Deco16.render(f5); + GL11.glPopMatrix(); + + } } - if (side[1]) - { - renderTop(); - } - if (side[3]) - { - renderFront(); - } - if (side[2]) - { - renderBack(); - } - if (side[5]) - { - renderRight(); - } - if (side[4]) - { - renderLeft(); - } - renderMiddle(); - } - public void renderAll() - { - this.renderMiddle(); - this.renderBottom(); - this.renderTop(); - this.renderLeft(); - this.renderRight(); - this.renderBack(); - this.renderFront(); - - } - - public void renderMiddle() - { - Mid.render(0.0625F); - } - - public void renderBottom() - { - BottomPipe.render(0.0625F); - BottomConnect.render(0.0625F); - BottomInter.render(0.0625F); - } - - public void renderTop() - { - TopPipe.render(0.0625F); - TopConnect.render(0.0625F); - TopInter.render(0.0625F); - } - - public void renderLeft() - { - LeftPipe.render(0.0625F); - LeftConnect.render(0.0625F); - LeftInter.render(0.0625F); - } - - public void renderRight() - { - RightPipe.render(0.0625F); - RightConnect.render(0.0625F); - RightInter.render(0.0625F); - } - - public void renderBack() - { - BackPipe.render(0.0625F); - BackConnect.render(0.0625F); - BackInter.render(0.0625F); - } - - public void renderFront() - { - FrontPipe.render(0.0625F); - FrontConnect.render(0.0625F); - FrontInter.render(0.0625F); + Body.render(f5); + Body2.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) diff --git a/mechanical/src/main/java/resonantinduction/mechanical/fluid/pipe/RenderPipe.java b/mechanical/src/main/java/resonantinduction/mechanical/fluid/pipe/RenderPipe.java index c6fe29df..7b599fba 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/fluid/pipe/RenderPipe.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/fluid/pipe/RenderPipe.java @@ -21,7 +21,7 @@ public class RenderPipe public static ModelPipe MODEL_PIPE = new ModelPipe(); public static ModelOpenTrough MODEL_TROUGH_PIPE = new ModelOpenTrough(); private static HashMap TEXTURES = new HashMap(); - public static ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "pipe/iron.png"); + public static ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "pipe.png"); public void render(PartPipe part, double x, double y, double z, float f) { @@ -30,60 +30,35 @@ public class RenderPipe GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); FMLClientHandler.instance().getClient().renderEngine.bindTexture(getTexture(material)); - render(material, part.getAllCurrentConnections()); + MODEL_PIPE.render(part.getAllCurrentConnections()); GL11.glPopMatrix(); } public static ResourceLocation getTexture(EnumPipeMaterial material) { - if (material != null) - { - if (!TEXTURES.containsKey(material)) - { - TEXTURES.put(material, new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "pipe/" + material.matName + ".png")); - } + /* + * if (material != null) + * { + * if (!TEXTURES.containsKey(material)) + * { + * TEXTURES.put(material, new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + + * "pipe/" + material.matName + ".png")); + * } + * return TEXTURES.get(material); + * } + */ - return TEXTURES.get(material); - } return TEXTURE; } - public static void render(EnumPipeMaterial mat, byte side) - { - if (RenderUtility.canRenderSide(side, ForgeDirection.DOWN)) - { - MODEL_PIPE.renderBottom(); - } - if (RenderUtility.canRenderSide(side, ForgeDirection.UP)) - { - MODEL_PIPE.renderTop(); - } - if (RenderUtility.canRenderSide(side, ForgeDirection.NORTH)) - { - MODEL_PIPE.renderBack(); - } - if (RenderUtility.canRenderSide(side, ForgeDirection.SOUTH)) - { - MODEL_PIPE.renderFront(); - } - if (RenderUtility.canRenderSide(side, ForgeDirection.WEST)) - { - MODEL_PIPE.renderLeft(); - } - if (RenderUtility.canRenderSide(side, ForgeDirection.EAST)) - { - MODEL_PIPE.renderRight(); - } - - MODEL_PIPE.renderMiddle(); - } - public static void render(int meta, byte sides) { if (meta < EnumPipeMaterial.values().length) { + RenderUtility.enableBlending(); FMLClientHandler.instance().getClient().renderEngine.bindTexture(getTexture(EnumPipeMaterial.values()[meta])); - render(EnumPipeMaterial.values()[meta], sides); + MODEL_PIPE.render(sides); + RenderUtility.disableBlending(); } } } \ No newline at end of file diff --git a/src/main/resources/assets/resonantinduction/models/pipe.png b/src/main/resources/assets/resonantinduction/models/pipe.png new file mode 100644 index 0000000000000000000000000000000000000000..8adb608a637c5402dea822b5059c6c4e3a14fc0b GIT binary patch literal 1191 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!3HERU8}DLQY`6?zK#qG8~eHcB(eheoCO|{ z#S9F5hd`K7RKu$QC@59p8c`CQpH@FNs9B7iV zr;B4qMcmujk$I0DcwCAnS-S6gZr;6F{ao2`%L8+Ko7FckD7`pgV$gSJhg?9$)*}~m zH_e`;^E@T@-TU{;r%#`rx%sA#xVZS`-@kvCl$V>w#>VQ^D`g3LJADtlwW>*YA>~udn|+A@t3mw^;_3=g*&ip5;ds5Sm~j?8|0qH4<9D33+tKg>CL(z zb${Q=^JQY5*UW@HlJ?&MsXTRGV`WFsDXkT^T5n%XTr;I;YU#1|lDXmWX0KMiS*`!k z+^0y>ZkhdVA#VdMVTZDZWu*}t*VKhsX~(I`1g;FZCTJG*c2hX($=rD%9}WMmRGGFQ z^exbtA6gEX+HUV~d0n->Hs`gJ|7km4zF!`~>bEnc>pyO+O*}UFPGFGW(|(2!km`)B zn|^u9<;LC2`uytItohqF2D%<#=M1;^=kjk@^4^H?%)A%7%)GP~Z83hly6oY#lEx#t zv9~>~Qr81L=qv7VCn!nt?HwJU#cN+Od8U^3PwJ|8_ViZVR_^V~xK&ESlOk`1?k>pQ zI}6hIGb8-ITe`vf@T-^kvqt zcb6W^c0Sd<0M)fS@7<54DB~m&;tY zbvUYbXO>Uxx#z6$?eb+WcJ+VJTaX0ytIYoA%9ScJ+-?6kHeFqJWEE4$n?q|?E_(1*J8qxCy^G!| zty5R#)}3B||8x3Fd4&rvUuJqPHVpZ4^>NRJZ;hcxPi~rI$JX#bVH>C0z4Z*2HtDm6 zAK$!pO70D{j42;g6ECOE5xiy>5VUh$U)~x%&388@GOfP4D&d)(S?n>%#J9}G^FxiT zemZw8DB@Mm*uo<8u{7`9>OWwW%udk|j^-z$$BB@nfS^On1-*LwtB^3-rlRuxQHw{*>tJK+htdyEg=V)yGi*zfmm z!XsnO1U{WhbzgU0OM*D;1K?cOqAp~B$l>gTe~DWM4fQ42RW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/resonantinduction/models/pipe/bronze.png b/src/main/resources/assets/resonantinduction/models/pipe/bronze.png deleted file mode 100644 index b10e7382dbeb866c2b7ce2ca63440c503efd0bdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 820 zcmV-41Izr0P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00N{*L_t(|UhSH{iWET*#(QS>ZWm7!6BDyL z3~N z@91M12k3RMhE+{ciZ!lo-BDJ{gd$}Pu=2lv(3lU3-!xn{=s5tf`ShR4db`WG&%$}+#2RRpk}B)fnt@2mb`PwfoP z>SRNMV>|~iHrTtcxb}>9@&z|!Ry$6TB_I|lmH_U8ZXIa(FfJVXzOohpl#p5g<~k0a z_xSA>_37E6y8Y^hI=X*Z-Fbby$Xr%jQIA#$pltHZeZ33jF2qcP>o<#A0HJA(05~ST ziYpiYiU78mx-Wj#;kqm|O#qd<0C*U)3GE|$a$}#>0b;7xL>yo< diff --git a/src/main/resources/assets/resonantinduction/models/pipe/copper.png b/src/main/resources/assets/resonantinduction/models/pipe/copper.png deleted file mode 100644 index 6bd0cac59af8f7a5221f050edd8744ea5fff9392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 820 zcmV-41Izr0P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00N{*L_t(|UhSH_Zqz^!$Jf3~?jQ(6K^nRs zN(zv85E>8<0CW)z4N{sQrH&8{NYoS*)I0-%h7u9c&_G2RNbZZ9mFKiK+Vy$Qv%6<| ze$r^|k{k^AKm;dO)cisAceXU}hb0byzpw#Iz z1oS>QuP-m!=zy52m=Km^0uVNX9MTKgx|qLz_vE^6g=S#Q05G?khPeC)h~Vq5VX+s6 z7mqV-0uR~YBef_3IXHM@KV6*+V{+y0Q+57h-`WoqhE1eZz}my?12Wsg*FTHBxX`g{ zToK3>eBjTg<6>)>vOZjerOS_Cw&A?~O(RMM2$8aBKM*7uM9csj{*X&UZh`q+tE>V# zP7dnkG@)56Wq><-m$gx--*sF{Y-tZtIZfw4RXQ*B_|7 zzooaSAE3v<99A|+DdxDkb%(8%2}Q~pVClbr(3m%h8RW~!scz{$0KVDeTxGrOh2Q7q z))hg_-~*fj@Xc0H1%S+^V>KC_Dd^gjRWS2RCnN3aZ4XtJ`PHlpqeJMk7yr+ghn#JddPc#j?)?e(7&b8VgOG) zS`0Wpylu@C0MG#VE&(a7dx;fj7o1ZBs{m34pF(Q_yf$BdRk%e_7G%y3R9h>6RG31b yL8KyyS?swG0dyQ$1#}z{K*wPdfTaH>qSSwkw49!kPUq(U0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00O&7L_t(|UhSH{ixe>w$KTBE-5#FJ6&`{J zf~at6ah>4e|8OAwC~URTRuF6jTeUg=0TGLhE9OJ0)tS8W=MG&h2U;Y<2=gaQe<` z*(-;apMQzM_#xTdKbS27eQ@{u3E4VIkqo2q{@q8|xPHs%M;C@kq8G@ez8cvF;_gR=~k@R}K*%a_|@4l!{?mQPYq1$c8 zA*S>bVhTWf`!V?_gP2pmY%6#?9KdLJD2%Ok2h#S6XzO-FKMn^l&uNSS78OIN;3G>R zfDoty&68EoHW~eaq_sM;y9{no5rhmr;!^-F*9QqI0Aey8!f0>^=-QT5DD#X*17T~e zu0fKxtyx(B*+h8?NYXa6JL|Brc3cD-3%03`kgc=6F+KK}bMTpb@KtR%QKo=U#Fzqn zFX*zMl#hO~?Yd>n0x%F;0O~xB=exLd3En>5h8xemz?%o>;O2{O)5sG2F_6wWKo4;8A%S_RYpDglD3sn=q+@}D%sA^&AN3ah< z%7!z*V(>md!>Nq`Os}S~gaGe)Dk1Rs;cacE07MUf=`$}EY-0%(Xd6DK2(JQ&8GIdm zO+f$6)t(pMqL>$CpC72!RsgY3g`fvf7fHy)o(&d2!{MiZhQk7AINk)n>A#8q`~_=r Vwm|z}0L}ma002ovPDHLkV1kjrdJg~q diff --git a/src/main/resources/assets/resonantinduction/models/pipe/gold.png b/src/main/resources/assets/resonantinduction/models/pipe/gold.png deleted file mode 100644 index b6461dbf8d8a0e7e63c5bdad75b23121517fd4dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 829 zcmV-D1H$}?P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00ON^L_t(|UhSH{Z`3dp$6xNQcZC8Kq8lSZ zEG#Vi1xzf61=PQQt{M$!YMb4}T$#6JatO2O764RG$St#N5Z&{G2 z=X84xRYhHAGWbAm4`ut3`R7Zt0x%2=Rin@KufV~bqkKP_sMI3WmBrd4;{zkx?(1WD z6&9ZY2(kvCZ1CUHU$V4Jkq^_t(qvzNf=bij{cFrK<_86!4`S)|)zW_W zdEuKhyS)K)dK;pw+Y$XfbXepx$_v&NL!iM&qV$hs>9+viWE*A^ zRnRt{o?FYHd8RaFE52OpsnfNNbr1)!MECNLeJ0J=6s6%~1A)3LC1`~q>0J3#p`SIQp`1JG^Jb3vH-tAq7hp&F5BbUfK>d`0x%|@2=NX_fJ*Q=K+9=N z1Tf7S*Ij^-g7>1Hv1Rp9{ynWZpMVs-<7yAS;ax(8=sYO>(+VKs;QxodCQxm2wObN0 z3aoAfSS0~OB0F&UAeLRnfCbQUco)!eSO6`DP5>PK*ARezwPl0J5kk_N00000NkvXX Hu0mjfQuA(! diff --git a/src/main/resources/assets/resonantinduction/models/pipe/hell.png b/src/main/resources/assets/resonantinduction/models/pipe/hell.png deleted file mode 100644 index 9feeb8d92a2a099941885eb72882924155000682..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 828 zcmV-C1H=4@P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00OK@L_t(|UhSIAYTG~%$4CB%L!CZ{QO_E+VS|WXlBu(FQaY$EI?9rM|IOPMq77^Y(N}oBSOT~(vZ%640KLy( zX(%h|HZ1{Be0snu08L`nahMF}pJ4QGwK|R>DymUzS=2hI80c(ou7Alhw^S(rCp7?D z@{x~UWGBnX(Z1|0g9%L^gl>ER3Mx7BK6}$~;{c|1Z-WvClXP*|muGVdcQ1zHC%0p` z_;hU2dl9%&eZc{8@#z2=0qnn@Z{hB~Ws4nkT=zP}mjDFZaaP5s z0Ivd|CxNrc7^ahZG1%=5pwpY*P3kzJz78jl7u3rH*A;`KD6| zb+;DdHj^tY0*A>*I0ayJeG;4sfQV-kn2zrOL+f0HoM$#2i?Qz3HbjwS%^Czyh?iYJ z)agNQFogd0jz~5h*r#)Z#sKE}nq?IY{p z05t>?Ne6QL?){_vLXv2%y$*KLu1VtP3_x0QoflUexpvXdKRd5K=k80ZI{e0WGI74xqd9 zY!_@lfQ&o6VP|F9XG_K3)I&E z>LdV9q=ld+amk?^7JE8^09sDi1+<(XfR@82fMEX{2*4wS-Gf2|H^C|Z0000lU diff --git a/src/main/resources/assets/resonantinduction/models/pipe/iron.png b/src/main/resources/assets/resonantinduction/models/pipe/iron.png deleted file mode 100644 index a408ad4c000328c50347f65c7e893c419f0e6690..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmV+@1K0eCP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00NjvL_t(|UhSH{kJB&|$DOp--f=J>CUi4m zx#eamrtWMY{s6>w@DH5YzX7oz{(u{9VnpiJ{s}Ayi48F^F`&EtqR+~!T+2?K z_mM0oPl=!7_sz58Hd${F8RPL-*2CdY*2rWsk+sc^_Z7kQo-%DCW$&%x(+7HgDEpUY zb#OpTE`{++GyyR6Acb^-r7Y_G*Kf~c%^U{C3;=VxS`eEZ0TFzE{3bi|!)!K_g`pvt zPN&;NAO(ZLAUoQnN`_H6={*w9o?jUK=)y3G)CF97s6HUGz5etoI}3|Gc2r{t1X%-6 zcKF}jpX_LtJRi1&rOl3DwxR5Q-3XEae57pM4+KdMB4z*zyH62Nw_T(?{t9S0DX5#W zFo#7l8jZG7!1>=Vvi|nqg{%?XZo3XJrJoQ}06^`>3IJKJ7GgQS72w*IRWS3cmUC(A^o~W66kD^h0QM8*DpFZ4Nd#`Zt88>)TTTYZIAQUmC0Lpak0{Vj*O3^KA7Jz}+0#Mt4<9Cwg(XRj-dCx`t#_ns6^6zPl z5dfeMT-D&)o+V_8HbLp1Q~)u9ucNOCux~}}u7u12waox^5Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00ON^L_t(|UhSH_j?^#^$0ym{+Y?7a0Syub zCmw(|fd<429NiT(9GtE~d^Hq^h9{t)fR&XtayY53$2>{{lr>u`QNGgD0 zkZP36`3x5Gb7dTjr;v{)s!i<(y$=Ua)oF?WHWfoG=OdjEKn(1G`a~79trmYF8|_@$ zg9f*u2x2-P;S@l~{2);UU|22Zu$Y~ziFQR56M2@4nX-*`b_<7w<*XurdXnq{vV08V z=^jjWuPSF_!M3?ZjBUDit+@9}u=52!WL5`Gk|iJ(DV6~4gsu(~^08lRhaOpr07^(L z0DB$B_Z|HC4&P4h!h`oe;Pc@fc=+KA2dD37##RZSZ1U-$P95ej2(caE`(<$ppl!BB z02~uv#jS&h2%yU}J@~1^cbfVpfXZC}PO4pm?IWj7whN`~9$JKcA?E-C2R~WX93WLn z;aYn`cL6S{#>Jh0*5v@4e^1*Q0U*>7O`Y!=3%A2V;Y<=)1(4GD6q=8i-xg~3C1w=p zYy{|%08(KKfjW_jB<6O{g$Q8a$Sz>uhyVr-n*b#I_Yr`9Npg77Jf{2m00000NkvXX Hu0mjfE3Ij- diff --git a/src/main/resources/assets/resonantinduction/models/pipe/pipe.png b/src/main/resources/assets/resonantinduction/models/pipe/pipe.png deleted file mode 100644 index 9576758d69727c4405d50c09db31266415aeb2c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5094 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 M>$6rglxM>K00qp#;{X5v diff --git a/src/main/resources/assets/resonantinduction/models/pipe/steel.png b/src/main/resources/assets/resonantinduction/models/pipe/steel.png deleted file mode 100644 index c371da0962c74a1312fa7cb2ad950f1473f57cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 810 zcmV+_1J(SAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00NpxL_t(|UhSH_PUAoj$Jb6E=%ArH2}P-B zxNE41?iru~fkaIOZ@^1%*HB-95C!$Mmr&mWAR#3Y(!B!Yi_FRsEi13%jmNvOJwIu+ z>yeZ3?))?R5eL&5BBI;v%DUBR$r|bPda^dz+wHcjZ9rd(SmwKtv_5pQ_{;;nAC%7* zMzwQ5Olb;}FWv;etOg;Z7c9%7e*W%aN7hU+h|K^nx2pv)*%1&y^ZY)#%7?*VAPYl7 z(C_!>i$DsR&1Tg4OqL9z^7QwgI6FU#^`i?TPNZqTwTJ2hGTZ6xYjounee4Ri2&4)= zaPVV4YJDcjhiPGHvLl#nD4&1TaFPM?NZGm{2$CK|%m5VjJhz6_0<(Em-UU>g5Y$as zm|_uhI-U6x@c;2r)?bf)${Nw_ru%@n^y6X*0I2=M`N#vGQ^5QvcrqG_@#sw&YxRZ* z>ua*D+X4MP=s=QFA05mp23NrcRzd(SP&=9?tAK4feiuP)eQvku+_EBY8GL|J05;!RM+6l)t>GT2a{jn@F$ z8k^g*d%su*pGgOgYQ^y~1-Qb;6hOV8TLh+j@C$9*BWo5w488@R&g1ZX-}b(XKiB)> z_~uzWT20!kMKMD0POASQYUlz3h@}@Kbpcwch2ER{O0IN*a zgP%pDofe8FfW%z@460g~^5N`-ki6jxupE32P;p8l0R3-iEG~dwJr);GzIa=jDFDy| zV7mp>G4;h&piNLt5u^g}8GIdmO@Pm4YflTcD3XFq`GRU`1>g%+2zn58k+@v!nP34_ o9Nq;~92P*uArkjA5L~c#`DCC7dx@v7EBjq;DRxFy zH@goXfTsF;x;TbZ#J#;_$auhj=fH-NKas2vzk6EO9A~L1`|cNU|Na6ghU*MF*bbO7 qtYa+TZOCSbVSX?wgf%1_W><<_XYu%(SF;8f+6Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf00v@9M??Vs0RI60 zpuMM)00007bV*G`2iyr42skM+$PSDE00ON^L_t(|UhSGaj}tKvhP_Gda&QzN%9D^N z=xDAcf`**#=(T#68uWC9R2gC2wzEOjY<{{7K`u7&L&`}_OjItSpwWsRClCV8uz z(P)&n&cV-7yNSA@?otkrjmKkF0oWYVB*GLqe)mh=xqE2rhl&c5R9`UnDE0x7?eXzR zeifIH0*I0Wa5*11dU7LgU8JlJTViRmBOoX!oX@{$M2P^d;ob+@4>*ZBv10x8~cNy>J4^uo7w?-A1JtNl2RzVY1A?0GNDKr0WSO(5SrpZF@oHGeqPgS0BpWUzy^8ro)_(rR!0zj6FnVL^e6?AQjDj0bd^QpG=clT75`Q@x4fNGNL z07M%X;!r(&^Id&-c1t~a`(x#~EWe`}trCD~@=g2wGVm}6C_2LR zm&GlB(6mMX91~y0=T}cf0GmwHgP$r~mxXN;Kbbez@* z0J3*ei2?lTvBZG$#oN{_0RVM??-r0^8%r!l+u&RxSOt*M`4pNH;IsMKUEvl*nUgtR zP;IRMQc)BFbs`l>%w*4o2%zK0E}-Lx06Gqv03`fxBTD@TB&f7kdnKJB00000NkvXX Hu0mjf=^}5W diff --git a/src/main/resources/assets/resonantinduction/models/pipe/wood.png b/src/main/resources/assets/resonantinduction/models/pipe/wood.png deleted file mode 100644 index ee7d2af46f6359ed3aebe5762f03c86e7cf0c98d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2020 zcmds&`8V5%8pgk|FBM}cidLJHT37G6zuX`0KXA|aJnwVf^PKmb=eIY@-OW)#Oi>H~012nd z_8!NM|0WTk!_ ztnW&xPjKmVgtK@+c?WM;jx=TgH8g}f;tJKug&h;oL zZTY9l`<{?3i;{29p~AJpxnqQg+U1XJe}o0JoA|U>yOus-J5?|q8HEr`|M1@AB}ba! zraN#W3p~2{kok}j@_b(LJscvQj^eaXdTCH@tDM?{OimZv{|CZ_%N0)UH*QdNUIxh1 zI#t>Z#xJy^6Uj#BYZvF;^}?UN4`CZ`%rOy~`I`Yld5*4T2K~JY@XC$2MBenZqdTkV zcO$<@vswI@1=Jpkg!w`4Jy}HZ$B(T;i6P zO*sS@*0;^U6_@+w2`k=f^FuF&f*tr z!)WUt#)livN!4?5+$kDVaj=>Ob@hqDJDMuqTr!*4F|!lN=Dyl5EA&t$0s(2w2ie5A zEObQC``P;9?f5drNeo=~ZMVK|nv7?E%xy{ICTrPImXzTr9ZQ!V+ky~fBsu~^_*F*D zbza!fb!J{odDCzZPxeO5CRrKXUO%$Em%Fa7%7${Kqk@oZzi$1%;)ig0k0n4AMA1VM zo`vo4%%U8uFN>qtss6h$U&SP5S2pb2b&gOj5H=@dhZNp@90ofDMGQT>>>{6~6S-o41 zI`xz_egtKlMFff1pd0Nw$>A5zM95Tz9MzdRDeGAff(yf4Y~tgK{L}Kmi{Qn;WkM6? zf0p!ty|&f;jp#Wq z(z4>s4cB}egtoxL>kbMhw%b*kF3Mp%0Azws$lD0 zeBxi~3}>*MrtylU>B$d0n@VkO#e!FoO$az#HSe$dUJG+|ZFl?WDXE-2YA7VjZjWhQ zy4s$^(NY=M(NI>s%Wuy)f{~=`m27qwk=0fR+R8)L(OfxX@PM9Dc)&!j8g?W$U)k!Z z`BW?r4acvF-|I;zOZtNPBw_P4R+CkEVF<_G*X%-1eUBk|UL9pv_Fw}2ChdDhm2>*T z&dEIB6k_?7;H{3eMPcl@zd;2E-~K(9r1Jaa?B*z*0kV?oi%qAfYjO8}I+ZK=4g*rD zdd>&~>}pkG*b%V=YmaNX@?7E)?^os#bAQVvPwmcF7jP|1dT0#ijv z9jGw0@K=PHyp1^^S}$Vxt)D)!=u8D}7k>I#LRa~6^A;~UFIjiY>NM>514xu!@Ki^xI-W^(v-qy6B~qX&0|7mh9%9`4(bWu8Wz`);#7&y(SXXzLFVouE${&BL&`&bS(80)JnAYIEvBb6TIKEJSckfQl1- z;G*p&CI`rxZs${5tUH&cpF`1wCic9DthgZ#EL7D?dK!9bDE*qNvFs z0_L4MCjBI?PWlPBgZ~#5!tP)PV8Q19oDT|HFoB>$D(lu6@8dTOI9+nHueI|_{TGwX BxP|}#