From d652bdb0b05a254ef9e6e580496c5bfc415566cc Mon Sep 17 00:00:00 2001 From: SquidDev Date: Sat, 6 May 2017 14:59:30 +0100 Subject: [PATCH] Convert turtle rendering to use tinting This uses Minecraft's colour tinting system in order to change the colour of turtle models. This removes the need to have 16 models and textures for each colour, reducing texture atlas space and hopefully memory consumption. See #145 --- .../client/proxy/CCTurtleProxyClient.java | 35 +++++-- .../render/TileEntityTurtleRenderer.java | 97 ++++++------------ .../client/render/TurtleMultiModel.java | 28 ++--- .../models/block/turtle_black.json | 6 -- .../models/block/turtle_blue.json | 6 -- .../models/block/turtle_brown.json | 6 -- .../models/block/turtle_cyan.json | 6 -- .../models/block/turtle_green.json | 6 -- .../models/block/turtle_grey.json | 6 -- .../models/block/turtle_lightBlue.json | 6 -- .../models/block/turtle_lightGrey.json | 6 -- .../models/block/turtle_lime.json | 6 -- .../models/block/turtle_magenta.json | 6 -- .../models/block/turtle_orange.json | 6 -- .../models/block/turtle_pink.json | 6 -- .../models/block/turtle_purple.json | 6 -- .../models/block/turtle_red.json | 6 -- .../models/block/turtle_white.json | 50 ++++++++- .../models/block/turtle_yellow.json | 6 -- .../models/item/turtle_black.json | 3 - .../models/item/turtle_blue.json | 3 - .../models/item/turtle_brown.json | 3 - .../models/item/turtle_cyan.json | 3 - .../models/item/turtle_green.json | 3 - .../models/item/turtle_grey.json | 3 - .../models/item/turtle_lightBlue.json | 3 - .../models/item/turtle_lightGrey.json | 3 - .../models/item/turtle_lime.json | 3 - .../models/item/turtle_magenta.json | 3 - .../models/item/turtle_orange.json | 3 - .../models/item/turtle_pink.json | 3 - .../models/item/turtle_purple.json | 3 - .../computercraft/models/item/turtle_red.json | 3 - .../models/item/turtle_yellow.json | 3 - .../textures/blocks/turtle_black.png | Bin 1416 -> 0 bytes .../textures/blocks/turtle_blue.png | Bin 2064 -> 0 bytes .../textures/blocks/turtle_brown.png | Bin 1911 -> 0 bytes .../textures/blocks/turtle_cyan.png | Bin 2027 -> 0 bytes .../textures/blocks/turtle_green.png | Bin 1980 -> 0 bytes .../textures/blocks/turtle_grey.png | Bin 1541 -> 0 bytes .../textures/blocks/turtle_lightBlue.png | Bin 2038 -> 0 bytes .../textures/blocks/turtle_lightGrey.png | Bin 1680 -> 0 bytes .../textures/blocks/turtle_lime.png | Bin 1971 -> 0 bytes .../textures/blocks/turtle_magenta.png | Bin 2057 -> 0 bytes .../textures/blocks/turtle_orange.png | Bin 2114 -> 0 bytes .../textures/blocks/turtle_pink.png | Bin 2073 -> 0 bytes .../textures/blocks/turtle_purple.png | Bin 2047 -> 0 bytes .../textures/blocks/turtle_red.png | Bin 1882 -> 0 bytes .../textures/blocks/turtle_white.png | Bin 1793 -> 2606 bytes .../textures/blocks/turtle_yellow.png | Bin 1930 -> 0 bytes 50 files changed, 121 insertions(+), 224 deletions(-) delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_black.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_blue.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_brown.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_cyan.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_green.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_grey.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_lightBlue.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_lightGrey.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_lime.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_magenta.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_orange.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_pink.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_purple.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_red.json delete mode 100644 src/main/resources/assets/computercraft/models/block/turtle_yellow.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_black.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_blue.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_brown.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_cyan.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_green.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_grey.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_lightBlue.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_lightGrey.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_lime.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_magenta.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_orange.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_pink.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_purple.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_red.json delete mode 100644 src/main/resources/assets/computercraft/models/item/turtle_yellow.json delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_black.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_blue.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_brown.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_cyan.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_green.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_grey.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_lightBlue.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_lightGrey.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_lime.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_magenta.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_orange.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_pink.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_purple.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_red.png delete mode 100644 src/main/resources/assets/computercraft/textures/blocks/turtle_yellow.png diff --git a/src/main/java/dan200/computercraft/client/proxy/CCTurtleProxyClient.java b/src/main/java/dan200/computercraft/client/proxy/CCTurtleProxyClient.java index cc6ce9f4e..9a1e686a0 100644 --- a/src/main/java/dan200/computercraft/client/proxy/CCTurtleProxyClient.java +++ b/src/main/java/dan200/computercraft/client/proxy/CCTurtleProxyClient.java @@ -13,16 +13,19 @@ import dan200.computercraft.client.render.TurtleSmartItemModel; import dan200.computercraft.shared.proxy.CCTurtleProxyCommon; import dan200.computercraft.shared.turtle.blocks.TileTurtle; import dan200.computercraft.shared.turtle.core.TurtleBrain; +import dan200.computercraft.shared.turtle.items.ItemTurtleBase; +import dan200.computercraft.shared.util.Colour; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemMeshDefinition; +import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.block.model.ModelBakery; import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.resources.IResourceManager; import net.minecraft.client.resources.SimpleReloadableResourceManager; -import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -32,12 +35,9 @@ import net.minecraftforge.client.model.IModel; import net.minecraftforge.client.model.ModelLoaderRegistry; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.client.registry.ClientRegistry; -import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; -import java.io.IOException; - public class CCTurtleProxyClient extends CCTurtleProxyCommon { public CCTurtleProxyClient() @@ -65,16 +65,19 @@ public class CCTurtleProxyClient extends CCTurtleProxyCommon String[] turtleModelNames = new String[] { "turtle_dynamic", "CC-Turtle", "CC-TurtleAdvanced", - "turtle_black", "turtle_red", "turtle_green", "turtle_brown", - "turtle_blue", "turtle_purple", "turtle_cyan", "turtle_lightGrey", - "turtle_grey", "turtle_pink", "turtle_lime", "turtle_yellow", - "turtle_lightBlue", "turtle_magenta", "turtle_orange", "turtle_white", + "turtle_white", "turtle_elf_overlay" }; registerItemModel( ComputerCraft.Blocks.turtle, turtleMeshDefinition, turtleModelNames ); registerItemModel( ComputerCraft.Blocks.turtleExpanded, turtleMeshDefinition, turtleModelNames ); registerItemModel( ComputerCraft.Blocks.turtleAdvanced, turtleMeshDefinition, turtleModelNames ); + // Setup turtle colours + Minecraft.getMinecraft().getItemColors().registerItemColorHandler( + new TurtleItemColour(), + ComputerCraft.Blocks.turtle, ComputerCraft.Blocks.turtleExpanded, ComputerCraft.Blocks.turtleAdvanced + ); + // Setup renderers ClientRegistry.bindTileEntitySpecialRenderer( TileTurtle.class, new TileEntityTurtleRenderer() ); @@ -181,4 +184,20 @@ public class CCTurtleProxyClient extends CCTurtleProxyCommon ); } } + + private static class TurtleItemColour implements IItemColor + { + @Override + public int getColorFromItemstack( ItemStack stack, int tintIndex ) + { + if( tintIndex == 0 ) + { + ItemTurtleBase turtle = (ItemTurtleBase) stack.getItem(); + Colour colour = turtle.getColour( stack ); + if( colour != null ) return colour.getHex(); + } + + return 0xFFFFFF; + } + } } diff --git a/src/main/java/dan200/computercraft/client/render/TileEntityTurtleRenderer.java b/src/main/java/dan200/computercraft/client/render/TileEntityTurtleRenderer.java index af374f41e..5983f59b4 100644 --- a/src/main/java/dan200/computercraft/client/render/TileEntityTurtleRenderer.java +++ b/src/main/java/dan200/computercraft/client/render/TileEntityTurtleRenderer.java @@ -22,47 +22,33 @@ import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.block.model.ModelManager; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.entity.Entity; -import net.minecraft.util.*; -import net.minecraft.util.math.*; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; import net.minecraftforge.client.ForgeHooksClient; +import net.minecraftforge.client.model.pipeline.LightUtil; import org.apache.commons.lang3.tuple.Pair; import org.lwjgl.opengl.GL11; import javax.vecmath.Matrix4f; -import java.util.Iterator; import java.util.List; public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer { private static ModelResourceLocation NORMAL_TURTLE_MODEL = new ModelResourceLocation( "computercraft:CC-Turtle", "inventory" ); private static ModelResourceLocation ADVANCED_TURTLE_MODEL = new ModelResourceLocation( "computercraft:CC-TurtleAdvanced", "inventory" ); - private static ModelResourceLocation[] COLOUR_TURTLE_MODELS = new ModelResourceLocation[] { - new ModelResourceLocation( "computercraft:turtle_black", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_red", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_green", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_brown", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_blue", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_purple", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_cyan", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_lightGrey", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_grey", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_pink", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_lime", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_yellow", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_lightBlue", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_magenta", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_orange", "inventory" ), - new ModelResourceLocation( "computercraft:turtle_white", "inventory" ), - }; + private static ModelResourceLocation COLOUR_TURTLE_MODEL = new ModelResourceLocation( "computercraft:turtle_white", "inventory" ); private static ModelResourceLocation BEGINNER_TURTLE_MODEL = new ModelResourceLocation( "computercraftedu:CC-TurtleJunior", "inventory" ); private static ModelResourceLocation[] BEGINNER_TURTLE_COLOUR_MODELS = new ModelResourceLocation[] { new ModelResourceLocation( "computercraftedu:turtleJunior_black", "inventory" ), @@ -115,38 +101,11 @@ public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer quads, int[] tints ) { - int color = 0xFFFFFFFF; - Iterator it = quads.iterator(); VertexBuffer buffer = tessellator.getBuffer(); VertexFormat format = DefaultVertexFormats.ITEM; buffer.begin( GL11.GL_QUADS, format ); - while( it.hasNext() ) + for (BakedQuad quad : quads) { - BakedQuad quad = (BakedQuad)it.next(); VertexFormat quadFormat = quad.getFormat(); if( quadFormat != format ) { @@ -322,7 +279,15 @@ public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer= 0 && index < tints.length ) colour = tints[ index ] | 0xFF000000; + } + + LightUtil.renderQuadColor( buffer, quad, colour ); } tessellator.draw(); } diff --git a/src/main/java/dan200/computercraft/client/render/TurtleMultiModel.java b/src/main/java/dan200/computercraft/client/render/TurtleMultiModel.java index 57538bb5f..f61dbba3a 100644 --- a/src/main/java/dan200/computercraft/client/render/TurtleMultiModel.java +++ b/src/main/java/dan200/computercraft/client/render/TurtleMultiModel.java @@ -1,21 +1,18 @@ package dan200.computercraft.client.render; import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.block.model.*; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.block.model.IBakedModel; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.client.renderer.block.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.client.renderer.vertex.VertexFormatElement; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; -import net.minecraft.world.World; import javax.vecmath.Matrix4f; import javax.vecmath.Point3f; import java.util.ArrayList; -import java.util.Dictionary; import java.util.List; public class TurtleMultiModel implements IBakedModel @@ -49,7 +46,7 @@ public class TurtleMultiModel implements IBakedModel { if( m_faceQuads[ side.ordinal() ] == null ) { - List quads = new ArrayList(); + ArrayList quads = new ArrayList(); if( m_overlayModel != null ) { quads.addAll( m_overlayModel.getQuads( state, side, rand ) ); @@ -62,6 +59,7 @@ public class TurtleMultiModel implements IBakedModel { quads.addAll( transformQuads( m_rightUpgradeModel.getQuads( state, side, rand ), m_rightUpgradeTransform ) ); } + quads.trimToSize(); m_faceQuads[ side.ordinal() ] = quads; } return m_faceQuads[ side.ordinal() ]; @@ -70,20 +68,22 @@ public class TurtleMultiModel implements IBakedModel { if( m_generalQuads == null ) { - m_generalQuads = new ArrayList(); - m_generalQuads.addAll( m_baseModel.getQuads( state, side, rand ) ); + ArrayList quads = new ArrayList(); + quads.addAll( m_baseModel.getQuads( state, side, rand ) ); if( m_overlayModel != null ) { - m_generalQuads.addAll( m_overlayModel.getQuads( state, side, rand ) ); + quads.addAll( m_overlayModel.getQuads( state, side, rand ) ); } if( m_leftUpgradeModel != null ) { - m_generalQuads.addAll( transformQuads( m_leftUpgradeModel.getQuads( state, side, rand ), m_leftUpgradeTransform ) ); + quads.addAll( transformQuads( m_leftUpgradeModel.getQuads( state, side, rand ), m_leftUpgradeTransform ) ); } if( m_rightUpgradeModel != null ) { - m_generalQuads.addAll( transformQuads( m_rightUpgradeModel.getQuads( state, side, rand ), m_rightUpgradeTransform ) ); + quads.addAll( transformQuads( m_rightUpgradeModel.getQuads( state, side, rand ), m_rightUpgradeTransform ) ); } + quads.trimToSize(); + m_generalQuads = quads; } return m_generalQuads; } @@ -147,7 +147,7 @@ public class TurtleMultiModel implements IBakedModel { int[] vertexData = quad.getVertexData().clone(); int offset = 0; - BakedQuad copy = new BakedQuad( vertexData, quad.getTintIndex(), quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad.getFormat() ); + BakedQuad copy = new BakedQuad( vertexData, -1, quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad.getFormat() ); VertexFormat format = copy.getFormat(); for( int i=0; it1B^!uvqN!Kitpzyx*^L-amYP`26t62{?B~PZy>O0DvCa z2X%g%v>opPZ|6(o9|PL}U-mtN0@ORI=%_B(ZgdiTut@;0+i=Gqprq`;b_q#F`+GyC z_h|ERwDP)h5D;%{j= zWb#LLKMfe4(r(`{I83Jg2M&GM&gHM zu~_W0J~qZ+GI=~6lle}iO8+F_&#$J%#EdGGLxc9aG~n>C@NfiNaIQM?<)nIT&1IMR zac*wzmW_g?R7ONZK)hcOy6}8<5hXK5V9aC_EF=Y4(Z(TwA-6=Gb7^xuc@QMWW6j1li%6Wg6*%AN~L$DKkF^k zD=Q;|gN{y4nM?`b4RPa5nO``{we`^4gC6!ciA0t#-)(JWaNm!rKcv~sD^=&fqkRO;Uk4-zr_i130h-;HJgQng||wq`0cnlYvP}k*NYg8*#StgGvW&& zI;k4;0`5NaBsa`>`&iJ5ko4dCFakLrT7U`}mmxgHqYg-jkqa>MK2S0xle=p52$7x0 zN6-!ukzluQOg<~dEthZ5;E1^gZ*HSvM>Z=&HvFT2x28g(Dz4ssF6#BA#@y; z>(xdgk_iM`VL7%_EsJZRJ758v9_nu^PYLZOFTCK$5Rd zYBpQ$YwjtKK`b$VoWJhn5|IDt*Bf$?CMwinIb5 z{YS1+z2m(E;Yo3{<}OxX6}v9-E#OLB^j*HBvuf$-4QU*kj~>>#x8ffeI_87;8{unM zf~SFdmlI#443lKfrV>I`%h=^t#;xxYNc$cwRx9dFZ3k58{jLKct>9wIIb*W!8j46; zT}^=xsIBM?*$ayt)xF6U1*CUEQHeHp_k1_#I`oM%&EasmL3j;knnmLmKTN3hkF#Hs z>&Vm484jg!_OO0H(8+F>! diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_blue.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_blue.png deleted file mode 100644 index 13b4b78d4759d0f2dc7edb60f1f8beb7467779a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2064 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 diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_cyan.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_cyan.png deleted file mode 100644 index af25d879ce7411ccdc5f5518a09702f7eedbbb16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2027 zcmchY`#%#58^$+>RO8h;jF_;LCvAB>M9yTawSz-gL^&0Y?P)YQW+N5V8y!%Y)5s%_ zL*&$yIrb`T)$oSZ4W$3W2eqe005wYK85t! z@|0iNzHRGvIRt;$vTY$46cVucYl~aUA8nBxQK$SU003yuF9890`Py4hEe4HqRTHQy z0kn*#`gS3>bZr%pcF%>k93m+1K0FgT(#UoiBEDTj^UF>UPpngDl*xtAqjf zX&|xNP11Lo9k{J|9SSTlV(l7SF_k(gX};b;QzB#&HGN|4ouE(WUE-Spu=l9gk0}wkwCG zVu!g)%5NGLg9bt?ojJL0Tx65e*Z2{Vqinakq}9OI3vBY3-LJi*d%VuXX*2DzZif-(k>_* zu5R9yh>c+-H0qjJ>!(p=kMYZOfP}Jf*3deE?|5KhX_1HH_8#$DF?OMbeDnolykAz8SVV5WIYqrc0K<(+Fl zD(mDPZ`m03PWVZcXFijnYh4G&PfM+BZRr}ID3RE#C$?w$NfJZ3)|9Pv$A*o$S9r5{ zgiH(I?j3olm}t-;1>3#X;rU02{G1Ix=tH62X19x`Y}PZ{+I|x6FJ-cl{vCoKVLGF6 zb!Yp0)dz@D7jgrF0&(h5no&($Uwit|@@TWz5LRML;QZA*VaEss)HGsD$>R_-+vrOy zyaU33{EgH8r;4|kcfUzM(4?}P+`mj5+uQ|pAuRQgI)84E&Zb;_oz=}BcrEIK(iXe5 z>NeYw6qT9W!=Lu^_7=zbs7>9;Q}^lLt>1LDOPt;s%N4b7YiH{v**lnVMv-whzF!Fp zKlNNKN^gpl#?)%`Z_N!}6t=is3Q5VK$EnRKvMBS5=Zm)UHWFB&jiQ-qwUEZZPNiM; z$*b8J8Mpi>+3p&S@t&1B;OO{sD;*#oT((za(bHx(Z~>W`wm}Mxp@55SzRSC~KhF-o zr*ubaD9|nLz-XF53lb{A#6e-EkKJ)yPU&%gYKDnFEAH#FN0yUqKX9kb8OO672{JXk zdBL}#)uD=timC4M3a4d!!%3QnQDIget?Cv)D`f0z4a(H41)*#GE;;)6yJ?PFt4)YnLgFt#x71W{eo z6L3VhJkX}W74^r-7h!x-Ni`)4HCIE4QA;b+Se5;ZONFe}ij zWL}lT%DhLjfvG&V-*Sge5!60@wmgSlcesq5g~4I%{)pIBiUKa~45%0VxiL#hB}gq0 z%^e97rFWmc1f>4=V3s5T6r>edqDqfPG=+a0BTnncspIYCiG>O0^UD`JEes(?1m^JE zOuiO^5OY)233C4`C`eRyuattGVLnYvBIXi}AW!IcFUAUc`4#g}(ed2SR15h{hS%r# zCbE{VqDG|D!p~BTfgCK?=l;sFz05lw;~Su%k&NP*)BsT~mKsYUSFqlV@rah{=cPTXplP z3RkOg1mbj7M^7|wQa>!SZuVCea{G?w;plT~Wf>y|=Nx+A(8kxj7oJeDZ-;uLYJ=Z} zGi@r-O#Ns`y8~ynrDqD1Wf)VS`n(VS6H7Mb*roPPK!V=h+2`*Pa(uwEOS`bXM{dJW zZ7@zjmXJ{LHJ~fk~S2ptzVKXaMWPW#5(AJauKg=9fp-g3r#;ELvul|ZdyW){GCxfp4 E52)D0mjD0& diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_green.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_green.png deleted file mode 100644 index 3cd361f256b6dbb4f9f8c7d909308ccbbccfd29b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1980 zcmcJQ`#;kQ1INF!90{$5m0O{c%8}`)CC)~Yo?LPXW1363Cu8M0V_SLXAgx?lLrJ;C zqFv|-8%`X{y%mMB^W-wxvB|Jz!_gn{ygskb=kt2KfBgLN$?@_yr?tai2LJ$CF3wKg zTTTAq?LTehYx~Q6TlG_@+c_s-^M@XDY6`cAI?g#D0RS{~ei#Ill<93jwL};9vuXlO z6=3&qo=G)-i@3Nro%T%~UnmpALs8J4cGg5P#?{9{&jJROSD4!GQimvyY;@FGnVCjI zyT2d)j`D@Iru--?K}$8(Z>N}rg(}-$arA;5|JWSe*Em$j1UaPr~wu*SVf^IgquEgggKH&_ zlws?m-&+ke<=6Q6khVqqH|QGLA@`FOZQ8?l-dhzQm)1xQ677?sj{|?L4zY3;nvK(L z9BTDLIxyxibW92eAlR2On_HJwu-KK+vgNhzC0QX|@>+@(34SguGcG7LVE5aS2+Gtef$_jl_(+MBCkO)YJ}YZ7}>=$|r4; z`Q!c&VlQV8B-nJ?sd;!Zvma@xxJM55N5rJa{tm1+h-!NrYkBe6s$^z72SFQOux~j* zGICf#!2<^S%H#UNe`zFg_vPi!&`%Qp|M~QQq@`KyyU4(4LW6E@i@Rr&h!_5(O;jUx zeC66_#VXFq%1Tcq*9*c~_v;0dpm~t$T?QL%{uO@IisaYPEVDk7Q}z24&aQqY=hn5N zue@T!ozKi$+1ZYJ3^|?A*0?EOec*+Z=M*02fZ<-VD0Y?Sg3`3`^H+q|g`h+WucQkb zE2l$Cb21GQP|6WOlU?$cH^20YG-~DXLf%pCQdlF%0f%nGTfZQ6=V0$jIJ{XGA)P zH(FhWWuSt z-L6Hj3vFf8)umT-g}-^Rmm*0tnq|K!qTZ^I(By6X&XF80Z%Bi#-fufN$swSm4`AmQ zNScmr-aREcvbU1MPgvTxP={6xh|qZj27~=Ei&8WmoiY{cu!&mg~)$bcsKc*$Gw*C_*cF zD^v0$VECH96PH(rCp)*lr75F0U^72ZH26*BLWpyia)lvY1(>HY^o9bSiv4u2h0_aj zOKg1NQiL9VOTdX{0_8*dOIeZPn{jrcppIn#`!k}5&+LS&&RvA;s;AX)5Csh1S>2l% zCb;9LI@k}+j0p|BXAbuj9Z{-S97sylpQ?H& zFMS#MY&Kqy+jCFi)_j*L3TaEdhwA*#F30Wr|L?(ns8r)BGOD@w9pzg;3%H#1aB6V8 Gbn_p{Y{HEI diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_grey.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_grey.png deleted file mode 100644 index 9f641e698c6342f4f4e8b1e11562f8d126977cae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1541 zcmb`H`#aMM9LK*oA-*|Ij~bC{MP*b*#c{u1GM;23ml7s(YwnjBPjsA!t|~P)mr%wM z*|cyvbBRsla>itf8BQ)UD|1=x@IRc-`+2`#&-4D_^ZD&_%Ny>Zq^Pb40DzL4tK)@j zX76~9+;-BfLm1nTyXxWM2uOECY^!;&-6&jl^-ll*P-VxvfTwu1?NUC`&C^MqyH^HK z)Am9%V*x<+zMG@n#Z>kZ-o=OKzTcUA+B{G1$qG8TsVe_~G|SJ$CXO(fa`N&Z7j$dau|)q0lEK<9vR2K+KQ;W3E|H@j*@ww^i@u<)t8?Lc{#&6|t#6Ay9V&eWIl$I8R6-Z1q!&S0aten`N0|e<9oldB=i?2s4 z&@%)NZy^t9Q7j@w^$iWxMXcyEM)?)F1Ql(;+FFY`MCW3FJ)g)>%|>9`g1vI%BA?Qz z)b+>J>!vP{YQ%#-AR^z-!s4uz(l{EgA2l3x01G*4c==O`wQWavURe?;9-^}h1_lK^ z?_>7&mz0cu|DIHh#{%Jt6|U;|f!*u)o@DFuzqdM93Nec_GgV8Crgd}98kteMu)ls0 z3Nd$k7W{2OVywbrtaG3$4j@m?KKC+o9(0|CPy{)`* zFhN^STuLI59+m~nKa;(ll@*7|LN-k+HwWGH?!m^hVZKqvwq|LgwkehbeKGp$hKG@@ zrKLM9q|iABk0YN1kPZ$Gl_V=)^_K)u0uO~+apV{H_J+%=fI(AKKd5Dyuvm@0OGx$tYdNYt%5Z_LN@cA!XBL4B;^e39x*@ z_~!9`A9$d8<+@*qNiU7ls9{srSB=Tb%bO?~7KjAP%m2Ir1~aX*?VCxj4C_<{v$Oh* z)2gbf9#$bsKiEyhI3soAG6KP%TPozaOkhN7dT5Ee^Dd`!36TyG7k||#JnVVmnT_vX zwId=#Gf}*|4{qB!+U4#Kn6}G9Z67&j(D&3-c4w*@k6g_yBA>Hv&WBjELlM^=V>ny( zTEJU|3>6byYf$E^#8?2sd?%{>S7nE~kt9NLS*(*uo$9F(Jt}J-dLNA=li1g~uv^hd zw@c<2Qv1T6X=!P_BRWV25xQMaGja4#{6{*SUIOtbX)h=!urG=t7n9{*5<7OL z*RH!4Md2RlhbIlsPHx@ALSmfCc{Wy7ZF9xDvnZm-;_Xb^~Aac(0y#I!3u*XSJIX+_Ay_%8ma3%4X^4 diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_lightBlue.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_lightBlue.png deleted file mode 100644 index a93c391503794ea10db368f8e723b61bc28523dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2038 zcmcJQ`8O2$8^=Fnsi{c|uH}+8M6y&A(^$(+Fin8;@0I>VuPf39M0;O#z8)NT$QFdaF zBv4V5YKcH@le_jdmWbP<+yX|VyoXX}Fq6AD1F+hp>5LIVG(^*k>*I%gs-1{sDVbOZA{!YS;IG*}_5$HW-T? zyU!?`jU#jEWPSnTJRiec#bw@?sg0Vnk_OpR00j3JLBZVIoJAupEX+YyUoivVn=rGI zKvPq*UObH{nw0=gwm0sr1ArXdCkaO0W_|M&uW-ja*F-11>ufH3UKn2AOiN3vO5nNg zJvJC~W?eG;tsDVXa&DTaT{Sx+NH}7D^!6&OeI=SpzzE^q&^vjJzOKB z^UAj|I@mE#SmDz~gCB~t)hF^_XgE9^^usibXO5`xQcBL70pNS?AL829Gd@ZR;5Mhj z)0aIXMcJpubRfC?vq}BMQs4$t6cX6_l2UwUO8%}`cU}mIiWwe^LTN2-FqzB;^%N4x zR#ng;&{eQ0s|yjT`>8+I>l5fFEz1B_XO^m`Pb|LinVM#~`}O4&lw%T9*@#_=U}`~m zV9A=2U6tig!Gxpdg=xbwK}JOqc#=a(&1iHrf^U~%@ZJn-xLDBB)AOL-rzCthHmlY< zry0}K;^}vmnrkGE`wlA$g5Fe>%J(&GF-El>-3+DVDHl%B-76!c0BNh52$Q)u;2Z!c?(MwP2V-HTBaqE{Bx+?s=%I${R$?+V-Lt&$G1L@*YbY95L zPTtda@O}N?%-2ep!r(nmdZ+7NfIFFyuw7tnvfUz}l_;CN10=)FkJK~C31b~U4qAG< z<3+1{)hiU#ttqvX=^BpOblqZBTw#EA{wW%v;Q=ybBaEN%Ns6AnU^64mUQk*=+$?-< zZ`xz+fnPqfb-<3~wBNQiqN~4K*xNn>)zJGY(QbVl3CApUAed1rgG6>kydUeu(rBLk ziOy0JGCC+Quw4@W(Al+ahZFJrNB8{C;RlqPg}oD|$agW1*RPL^&apc(JVJ4+XL1PI zJ|(wL5U+bNiLqi?IrZzyWkoHKypGcXVM0yH=K8Wzr7FhNe@MaqW2&?cEV#GgcG2hb zj4r$6lc$5+CJH7Wp(;}=>(UuiD%H-6o4onVBoc`LUvZYKPDaYHS@NZQikxTyRC!A& zVUiq#%t4C>Xw6IPb0U(t_nR#G4ob2sF|Dg|fA^(FWLfl=fQ-1k8y=4tVO%(dCFBH4 z*ka*jo9JG3^RKME8WrI)$(v!PJ*GFg0}J2S_UWRj5-8Cxkk zz$&LjG+=+LJ{4>yVa%rtAsqv~5dc&2YF;X{_Ef}5%=gmQ9gqGsq(z-{)z5{Y0`QGk z(p&yJw7g@o0mU1AN>DvuE_V@h&{#xJ zUau}b(YnEQ8IsbvF<-A5vfcK&aIaSjS9y-y2YS zflQs{^mxrnV^$mb#>QJHcxFSguI(&xZ>W&9NDj)Ln<~?X%kX|F+We!b6{S_}fsec}KTD OG_b$uVpDD9pZXtHMdJGa diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_lightGrey.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_lightGrey.png deleted file mode 100644 index 2e783448bdc5aeb59c6315a502d8c516c7d16988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1680 zcmcIlk2li`AO5;%N;bWfA(31gXTdcMK z0APj*M1|{>`V}Ud^epsFkmzL-HaGwUYh@1WAw->c8-$sP_ysCC|UGngMSSZDQDC~<3?)xUf!~EMIch? zw2C0xZQG`2W_E77$>lm-jB~c2-%-P0FgW~>i;E2$&g1d!WUg_;@6l+qGzA=vjjp26 zvWP@F?e*kj^YH2Qv9a3|>lBelq}h11_S42jfj0qtp&7h4EhOrZDYLF_{)~~2bVj3D zh%IJywW8pA;qd0>W~iiw#cEC2W_NiuE;cqo;EhDitQ3|(&)!+5q-&<8l4;5UZW_x~#r6}fSZ|EQECinSEoKeCFv z{pA=b6C#1AeGiX*yxqRUo6rZ+A1sqq%EI@&7^dOZth^X3mElqM3cN`k)$S7LtW!18 z?2xDJ*qU1zWGl{4s#JC1gbKF0tu#-=l?69g|7_;?tx?K*t(9#QFH!#a z&oPZg^Xn~1(xaJ40~ape@t4Fz+hO4bAua4WY){;$-ie3h&hnvjvJHe-9o>dtIXgHk ze^#he)j{l!Q-kk%=jSu?N!0%S{-WNSOd_zbfP#Oxo9nA}b8{g|Lj6o8uhUz<>>E%F4Go=h^=Y}}4|zJ00|j=_(HkzZ!@Q;AJY ze)H_nYyLyZ8~PTF;&*}R=!zTmQ27V#McAB9rBoucWx_&%#i_~pFiH2bXQ}ihQSA1& zv(WhDuX%>9?l(ro1|(Q`c2c!>bJdV&0*( zZADKD(ih+K<8-fwgeP|v%OIs!rvzbn772!yJeOn`B^0tHzAnB+Fx zdI7L@TW2}El-}woxj@@o z#;Y57gO>5SA?A_C5OSgL_>Ufa2W>J3q~E0oE(*H4>*s-eMbL)GV6$GzVk{{_VCSJL zr20=6d-oY0PLUB}bAa7mK-!D?2A!$za$6zUQwh&AidpObb9C^dtXe=p-SW8YxJ4}ikAHH2Y3^sT_t*bBef)!9 Yaol9C=lIGe{qF!U=#wa}U;O2N0WiiWd;kCd diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_lime.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_lime.png deleted file mode 100644 index 833f3c26e802833828b4918d3fecf3174775a80d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1971 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 diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_magenta.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_magenta.png deleted file mode 100644 index ddcfb62c26adf4bae78e89089e7665ba1c8d0aea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2057 zcmcJQ`8U*y8^=FLBpM`JOzQGAS(-#-vV|=9$`Z+)X^2qSvo*#taV=w~Yh(z~7$p00 z?7Eg>jIkuQ85-9e5vGyBV3_&pkNBSFyx;HVyncMnd7lUCc-vY+Oi>H~00~{?qL9M^7JnW0Qh40BPbGXYkyOOE-nZt zUjE#;Mm!=oTgw|R|_iPzgnGgJ#W?c&#GgFaVNpnfnP=Ub*QV5k*%t??L!lqx| z+iNia6oioi13pqZisIrBp%b8osxSHnayFD*S_)Gh{O()XwYonM5j5L#AI|x&g#(Ar znX0aV6Kmd%8*+-nSlS|2z1}AXiveOufCx3=3)(+``9H8i0A{wX`wZ;|SH17` z$hZt>Vrohdkf&q|0ps=8m8n7G4)V)z_3gI#aRZsHlKG5o_yo?>Z@d^k$65ciJWOiG0E+w#KDUdOb;4O}L8#qc?B4sOQaSFyTXgtfQ55^*!!(?(i3#!r7w6wm z=MTxt(it4slhxwdL#5_Zu1C|ZHYF!Z2nMD>O$wFWI4*A>0?ntERqNi!W3T`wfEGBHRyr1tX`E!i)(a zyFX(gySNL?%^;Ic{;4UU`SA!>x9O%t^IZDOjO(AQj@QdrH?ipQUc2jQt=ah^q=#ur zh7N7lVKBVr@ke?Lf;!V522x@Chd)r1$Qo+<(iaW|7MP}AvjaKX6{V~4W>1*fw{_BX zMmO2vItj{lE9(Tu)Q^1f0dIFSIHE|qAW{&>dIw?BqEYHb1apo2%T1Zd9Kdh3SUk3j zQo_>R;ZxBUwhkoZ_E*2+Eft=~l#Xi&=cN69G5&5Y6t332uG{mWm72O_M|U5+Vx(EQ zQPUYbLL!XkaKw^hm;wjUf82{zLK&P>)IGMOXD{ABiQ=$SJGl-3&{Y@f*#0?et6In> z%^I|ztFP~SuicXUUJmLFAXTPtu}9mo1|hukqPIl8Y-Cdp)6zxBxiB}N(Q%~7W7oJdK(SULpmWzMJn#mJ zYQ8l4m}4!iUdgGS>qborU0X1B3)M7d5AZ! zt97?L0K4eZXF2c`F?`6H@A7LYhZlxwoJkzv!^`3i!9GF3P(f7}yYz4(+mTR#dTR;NUADS9$)JVa_0}cr09X~le zp`QM1Uja(-{KEjZD<85y-4j?>(4Umeb|i&Lnv`6^$@uPtHu*e5UYt%ihNUu1+NZde z2seD&R5YJy6r7Ex@2q&;L1B){miRd46&h1D*<2-M|8E)E z9$I(3o?qKzcP``ZQ+`Y{3t@R2Vl0@t$lMbxQK(3@F8&EtDLPxILyh%2KEEc!2AX&X z!b^)Nbpz>_UoO0j7(=n!k}8!4rA|g|i!1f9TD~pWwUjVy6F5fo=sH|*Ha$Hh_m+o# zk^Q03Sis=cF|}+*`ebmWLM^sLWmxEM54`BwT2n`E-q5p>&^e@TfnJgRXw$<*>p#`L zUq!`@dCe;1G3dQq5cmhGs+NM|6PBTtT9-1B?ZG37hMMk-PfxVH$;M`F&uf?Ijav3! zcK~B!V*t~~`kFPf@&@9;dL2K>S4)+VdCxA|w)=sc7D@DVwbvq-}dj_%;Id2UOr z%tp9OV(>*v+<9z0E(Spdn|&tIGy|q~M)ap6o=ksWvRqYdphnXE1QSydNQ94PwC zWn;7ak79(DBqBt(3J#Ja6wbu?IqW;%Zwxc4AQi8UDs#EOV~RtbW(0utainUg*~aw@ z17m`CCBJ|EO46u$E$u^F+hB%1`~ENC)gc+)D9WX^FNQK=Mr83z`vyUC3$>o+qUZmR f{J&eZ15czf#9QjT_3(wGrw!QNylq)$?wRmEt&rnY diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_orange.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_orange.png deleted file mode 100644 index c0f5d5e5bb1582e7ffa9ff6f6ad1b726f574a5c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2114 zcmcJQ`!~~%AIINwX{fQnhxkwlVJ^p1k}uB$Bq2R`@*>W)2nMJvC*BPLi;`jBdh z{h9mB$U~=1R}L~v+|~+IzXd%4duKrHB*0ETRL&!_K< z=key?&-1fKho^b1u{nZ570fJ_{yEVhc zYhhismvaU=w`f*IUz{muBH1XJ4-1<-uR>^H7f0s#lEAx;m9wm(-1&rN ztER|2%JVhhB(3VZ=;w^3S>}|Msa)-PfVzRwN5a<6sQCDRHj`DYZT;gG=5@{X03fR>2|x&2kz(&YZi;7G z##uQ^-f<;F{SjLw7VbAms; zvG%#c^gyksRa2M0ee+R%ULMDprqi4{Gj^`Xe!SL|Y-HJe_D#zPJNf<6Zp)Ry-Mj7> z=cH!3B6L$p*TOE9qqhj%!qa8k*O>M%HQrRzEuUR|l1^;~BV?t&f>Fhs5596g1fOLx zdJBDY|5HF?Rx!t392u49Zg(K4R_L0L{0OnaDR5Qf7kb}edsFCDizp*49(S6W_yv?d zsY1eT3PmzDQgsYv8~VqAV0IC{bD$nf0+1~gk2)XRVc`bd#RoO%+R%WLQs%l!TZM&% zC;wnjJTI7UN_<2q$Bo_=V2~%vjfw(gMeQjjz z-*D@_Zw#gKruIEowZU?frx6Qq51gHBcVI{RQM~byY-CRDhVObJ@)zOzn2Koz)0>-n z-L@`8hX)dkDSrFZzYbnj=l|l~##~IO5mzzw5+$sN-b4GMC#TX2k~pW=xb4>B8$qG> zXIW!q(C^=8B8CG0=w=o79z^55_JE|?!q<(=lAWHLvWFq;O>n!UOz9_=fThgzDv$UO z*NKRwG7-e9cbUIi?$jF4n841D-yPkUAJ2yiRKhBKQZWZwdX)8sRn0KfF9&nj)r6gs z44Hiu3Xu=}yZ+?#4w|^EdVW}Xg5#jV<098 z*>7GM>7ifJ&q>D1IyaKHX@u=&FyIkhDAAKM=#TaSZXAf+_>!=Fd8lDYcY2_{X`tcS zX!#IUkrkrD%+w1^bv`2nl|bowe?Y#3)xh__l7C!_ZJuW0LBJ`VwZD%4wR!H5By6XrRYj z{l0rkE;&z0rV7jCGfSzJ>rWaY)veVVj*5hiwTc}+!C}336!$D{sD4~U8zCDQ>o0zc zWW@)kISDFjO3G-uC`unMZea_BxKtaGoFEUe+(grxBCbNOCMdPD=OIaD^2$~Y%7$t?2jhw~!kTo99|8Y{3mSo3ZB;tGNaW_Mkp zGZZV z!Po+NG>jVQZGuJZ3oG-m+-fL;!n!Kl(mkq^p17c@&JS|R zb$(SvSv{o2QBW)3_u2EZelbLPj;`=O^4sJ4F^2TF+PFR8lRAavJiy8SHkSyt!J zeitSUZ`q-k=4)2_Z@e{b+xG8!ucMED+wii;ukwxCAIAk@(_O=!^(NrvWwR0QR%cla z_oi44HoobTkcGO-eJ!vf<#QsMKGs;D9gnn8b<2Ee^0J*qS!^1h@=DJ(S6*(z$6*7v zZ^0_i=(JjSo1guX_lrknrxETPYJigeoBGq%RFc0o%76$jG0wRCmX1ssW;`KAP_N%+XqU#Fiq@~nu4cr(W`OdZ*#~!43 zZc(Rbj;*`1G|8@^N#_P04=q4PaB}_qJvH84lRlq94c*i_<6y@5yxzQm*!J7MjG_Tt znCG}*ah{Nn0?Lx!bK+C>v1{Jv?R1#8Hos5>d^p|Jax;$-vX@JZ?3`hUb^KK`1gO?n oQpH`_L;pZ+W&Yn$gxoq%dlwY6wyNs1^X&m=2Y35w+n~Gu1AAEgc>n+a diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_pink.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_pink.png deleted file mode 100644 index 364269df05cb0ad127f9c3cc6464291e995b0f7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2073 zcmcJQ`#;l*AICpy-_aq>Y*}?WoF++bIYsWb<~k}Vmv9u(1zo1F#*A849h7@ol!V+S zM$K*IHmq4En)@bNBV%kX&GqPy_`cqc*X#9oJb!ur__}}cxTBK7ZUq1Ul$@Q=r#74T z%Uk6(v&HH>YqR76F^*_p6oi2wja_%DNi9Lmm3D1X!0&0e0rZ40o| zJmSpB@=a3cjJ7=;JvdF_UqhThFgYUCLA$4c`{t}?Gn}@5bxx8q8iN}dHreEt+uLk; zlifwlw0kOdB|)x|RPryf?Etj>C-H$wpwlQwWgP;)Q&yu{PBX8Lh|R{&bW@%M)K51@ z3RiFwkz$@{#KrHF2oBx4J>Trjjd2Hi^f#03Fj!4Z4GiXv!6?dDNF)+0XbXHyCUYzN zF=(_@DvcM%P^Rk8=z??<3dO1-lP`TKIfF)D7&6uqtVW4>HLHEq!7SB<1Dt^A1%6ZP zP>H})u=PSt=Iy*u?8dvIN&6E$JG9H`bs*U}xazch`PVR?zj64|i?-%k$@03wYJbQ3 z-O+ltEjR>N@|cU zqqMYCe|knF+BPo>lLbTb?ezYtN@3sV3!7xvvf`v77z$N)WBlHi(+bK9m20iqq`c4; zkJp?J3UGmoo}%Z56N0FIxBR7NZ8mi=I`(IB#GS%_G|r+>Ubu}oI=*8{%7MCf>fvBj z(>qx{-rmKSdb-}LQ`*m+hV{9n4Oiu}wAywF!ffOE`dWRC^~lAi{vnj}_%ehe9C()h z22+#p0iolf;_^C&8ay=7bb5iX(^^eBr z7^KGZ}lTSVu zmb$^gelg65rAFk~$l3+*UKHv_y~$uDH)8U=cdL!E1;A#rA!S36q6hMfOGq&64ddg+ z=)-02SLu_7aTPBHpXSYn^|xftZF@|5M+7NKOX{N zk4aGBeE}HIL4*43OxXmZkpA9lO4Ow3lwH0Dm_Yj}>2eR-Aaq4MOb>#=EUQD!5$9gJ zF8pB#{!{W|MSZ>K8njnbXB*xdj=d@U&hAoAs&2!kv)wJSB944yNE^)TV!np@t->7guk|-eDZrNcilu z!#COQLMQW$W?OlRqLRzUd{YH)S}qkOm^(mXlMA9_7J`igy0 z%Eiy%bW{ijrA|@FF*x!}Pdlt?pJ&tR4>>_ZZnvRLr+-e&RcpL%GB4|(S8ct!B~V2y z!vjy4`yGT2iVvBG>-tt;GngZJPm&+~&im8r<5P?*gb|+%8T&>RpY?jeCTCb;bMvI@ zw51lBFHfsaiIQSD_FxGh4NUHMIYJuPl^vZbKe{HooIq<9xelOe1hX{#xGdEi<3*3< zXr@wkwY0&UMV&v=8U8oFrn@6+02}~Kncty6>Rr;fPWbBnZDzzlGYb-$phcbo1V`OE zp4a-F%zm=ymGg z85N})@S%@9t?+f$V!mP$59b%}b(po{9$qhS8p|;XJ+vLz{Rv$8O7&LnOv#VPe)M$N zSI$|1LuZy)-dkU$o5BPY3@bdOo?0L0fe^2O%J}HiMT32Y|4PpX;Q?NrepG+KbeiUH z-`s;70gtZ1hgSMY1o-7loj75n)r|l9S-_~-JUzdz;7WbvJrCjmcG-d@emHBlB5kIfOPrc^y4;LT0_|H~#wVtpqQzm;huYyI`j+5R}X!tPwce`rwdivR!s diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_purple.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_purple.png deleted file mode 100644 index 473b1c126a357f0e1318cbc93077ed24ec6d64c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2047 zcmcJQ`#TeQ9LK*?SuC7WLs2NH6tRjf#>kk3(aN1+3So(kVbiv*=!7DdlyTy4T*8dW zopYEw;p8?o%9I#o?uMg3;yj<{{eC~s>zB{-dH?c>w#8v&q?M!r05Vt$G=3`?KebbG z%l|R*Y~Kn=q9q0mHh)e=O-{lVk-BB!bQ=KJo}Yq%)K`1AAoMq^wHcJZO9Cj$zNST) zY>_8ew8_=5Vc{!&Alwe#T*oHeXpcMdXfNM-yI%ao+=qKVqehFO%)>7~dF&x0%{qb> zl>d^M;Q_x4m)~P*rTZAU+_miw4NjI+)N;TX_@56dEq#0nej8uv8d4&O?b?M0; z(kgCG%ygXp!n{3`7G$eVp-|ue{<|44#$cczqpVDROnCO@h%Uzlhm!ykoiCvvB_&0d z)*e(lyA3?wy0|$A01}A=z(5EhO%xX!dtq#o9W1!CKxfkPHtAtugSit%0^`)we&=+L zj5S{@yCyzc{hi~(ULVWCPTyHcVT4`pEvQD*%|PLHuz$6NU;Jtzl;&HiSV7#UUxJEN zPnJAX9_TnfB<;ffI-x%E3wMj zvNo%=OF`~kZ!f+?OoV{q%-Nh4GEY*~yyxY=bwV-`;nI!V-W^&d2n`8&pT&nMXz6kz zSYm0p*H<}+ewO*r=w_6F{@V?0FgickhcneQ9_f@#$bx&43(vh+*?;OdT|GL;`~l~giy*Xx$(0Ht7IJzkGen=iWl=T+-f?eMoPOA>P4m=A55Li(Mdv(a-O zm1#=M*#?oDX>0_ciu~q0vVO4vbE=Gom_G)cFt-K!EO{;lA*so5!?o`}+6*Jhni93& z#q76iSK-QV931*e?q7VyA9Bhw2y6QtiQ`1p41OHLR~i&g`##J`Sp3u}9u1{ZskfUz z%%hR{Qj+x-$b)+ZcTMYVS_H6f{(yk`97T8QfO2vV^n&D5=c@Z^kICXZ;x+@>o*_$? zFZ8H6HFsP_YrQh!Go~K^g3D^+M^50l(=maA{qg%Yt@=tIw*}NJMYg~yMblo~3GEs_ zMx}0QIMWjR?OV%h+pPbHS9MYbiVGg%vCfj-){}|%I?s!TKJSBRFuoiyu)Xk7iQphvb#K8 z$bP8jegQk8KE*I+OQ%XL8$I=P3?3!9T8_)8vC)vmiyGY@MePYM3dYjL-v21uA@GMK zcK65jPLE!rdHa7;S67z>1*#S4(z{tzEn%Oiity5OgOc6eYQhY@UM zt7ZQ>Ao|nwD)c`k?i1^xmFgbCa4U_f%}ncdpl)2r!Ra+sBL=qXS3$qd%-D}1T#TCL zvW}coP+wtPZOf`DnG14iI^Lr7vL)@b4=(GKIcjrsG{aQR_?ynok$&nSM7njmi$)D~ zN$h9(nLll0q#n*{p;NCVBD@3LHoUTtNL+2BG_}jnvr(aHb}igFSV)^SS_%_+LtMI$ zzG7yZ5(@9N_0rst-mDdgtFT6}HD^0g97W9{FN%E!LExtvs)y3o=q7f*)Vjtd#LbaKn`_@=M3aL=4wdmE1xAQ_qFDH@u@A{W(wQ0-$~vw+3V9A+zR92N zQAiEhjiJK%t|S+N#`*S?32=BnTwp1$u`Tu2G7do!gUI^)_8u{b~h>-Hz; zr%vf~DeZs>LPyW_#Va4>(@^zRt%~7zXt5ysJ*0P>KYf%zlxOHawHg+|Zd4b4U0+=U zt1I)o0@lgTS}8G4LP}nHXQz+khN0?rwU+byBKM_M$J0Jc=P)KAd1$6>n{(LXD~zoo zf>ND?)WvIBiL3V#U|K!xioa&YWqqYk2U>#hnNLcf+TPq0bKL_S~5$ RWo^A`fHlLR3om-y`wzC2-u3_h diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_red.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_red.png deleted file mode 100644 index a2dc71220e0d2a1f4a79f81ad5e3b61206a97382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1882 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 literal 1793 zcmcIl`7;}MAO1>_x=KffqG-Ea)e_q6+7=0_EH=)%LrNVDL8&g15Q!dIbYokrvx(hq z@fN|R?#A)5b+w{f>Iw-JU4pnGjWqJ=AMws-p68i)W}aU@^UOS1p6*U+%DTz`05un9 zhpYQa{)&T&``lx5eP~}4!;nr6K=$>@nU#6_j#7ei;B5d@G`~U)l$0IaH=#efxH&>O zst}-e60TWI-w#q;94`CdrdG?49!Jm`nVh+k{ok4feAb>Qt~zg)k?>A_lKi???bPd{ zb&^l0oZec|(f>j|x0nVL^+Pmecd|}&y$)UY;R0tlE)~1G9T{3*jHkK1pTWE+U3+2W zn>4(nI@o&`s=f&l@OUK<6&ouLM#sjwNnci0YPg@pVoOlo+NuNAB_hEc;+|RIkQ~?) z!@=>q0RWcyd^w=4t=%#x>?Fyk8!}rDDtv&mAk5p7NhFfutFzu}4!++0YbvJZ=GswK z7QY3dR4ow**hm7(&)ZuQghoXCX*avD5K-=!5OYiaba;4pMjr-)K|YBWR993OC8YYc z>g($-`2cX#z~B(V*49=X;DpP*QSJBdD-^H9ZGgtcMg=Vzkm7Wz>=q2zW%HoGg7yIQ$*#0hQM_C&as@ z=CUgvY;jTp%C0jM{8fG48FU%;I-a+(Dsg@ndoB`Pm(xOrKm5d^^JxZ)iA-dsSCg7fK=$5%p*iiL_jsHRwqPLccS>1iNSRa7)44q=|s8kUZmW7oAI=u&bZ}XteNJ8F3`t z&(AO0$o*kZ1^8eORa6WM?BQ}lqvA5MxBN3MJ;5<8gz=n?NWh)zd2p4?|5p?jqO)Md z=_Jtzg@Mueak1MQAN%kmnoCY({##>epN`rVJUqjew0Gns#+urEdn48+WLcP!l2RSU z4!8}eo;kqoB-siCjMnG81|#>J>*;T}k5+4upG^Jq2E5mvTBksGKD)yG9+o_YYAmTh znwy#+cVYh27)(pOI`5Pc_El$g;VJXv0ZhTKlCp5_E^$S3}x$rz@x3{9CpFK9l%%@M03LaLK zBZMR4$GU>}ayJ$= zt<@_Bi8kmG5+OH-8h>k8G2pJR*N457a=CU!@d!I4G6!?Q<@+fGSh2Vb9rJ1P*e%|) z;6QHyOKNDFE`O~sNn!X#6YHBL;xsXR&LIgrHdEJ#{Ev&twUsNaFkd>dLu%8NG*Aiu zAXmfwlRDTW8#f`BDIeE6cp59UKVoQ;=G+YB?rv9g*qW{IFFjjq^IvQE(Y)>~C%sb8 zwwW?09m bvHKo$W4z|@g`A6DHx0Nrx;xPAL+|_#58`O+ diff --git a/src/main/resources/assets/computercraft/textures/blocks/turtle_yellow.png b/src/main/resources/assets/computercraft/textures/blocks/turtle_yellow.png deleted file mode 100644 index 5a10678953afc30a1a83b4028214ef3e14777a76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1930 zcmcJQi#O8?0LOnLR`cwnyha|OLm6F?n`e28d1c|YdArIh*$f#HH^M|IVn)fUku9_g zy;z>}3`07kWJcKRGMlSE;-2sMen01Y{(*0no2$JPLQptHRVu=hK}_UgiYb125a=OzG19Qj=kP*SR}FTrt+F1Fw~NfAKN^o|wqcHhW5 z+E{yGne5VOS2-WK%)RBPw{}v8vS5aTl8WL@=9kW_A2w1NmW>+228eVk96`NZ$Uw^G zCRP}}JGuTo%zx~#wrKB?=HnV8dGWtjE{^{d*I37F83?DidadUeEJhxC-Xn7qoKNa6lFD&U% z=&e6Vw__iJY_g|7z}K&jG$CR5=0XjT`JKM)E6SS;>i?(Vkr9L7Fx zHzSrB+R1DALx~;gM*1AVSYxrS_n_BisGeEd)`a6#Conk!3cWnpf8-gK@vG**S1xP9 z&K{jge8Sd#;aS5L-c6R?PD_u<4;W%~I)n37k))DdDQa>O02o*ZKU-+8_X~I=zfKWA zTl>qDVsurYMq!W9gOGNuiPJyo#;;Wvnmif6HkhBv>r=M}5xt~To*Y=t!FT44M+MGb zt<3wpBu@y|%YN;#N?%&4zrt3vIQ0w;dWJ-YEsl_(~^&!yo6JH{%I7|v4P6?UFV(xDNMidA5^ zMLDI9X3%5oB2ie_NsSfn%j4tf)FGbr#mfDccNgL<%4Kra>ol(DN0&#|ynoqny(PPc z+sh{q2yu%*S>_C&-&0zGK zFN3wnx(+ty#HKKrJ`FE#nEN-0w>3#0EGcF@7 zI9%|z%hO4Pahcv)HGXxXpYE2l;i9%e;Vx`SyS*7IuzGhg@r88uth>Wi{RPQ_^rc=6 zh#K;^T~#2{5VZz9({R58s@5=rYHLvjVt$VBTeyVt@tGIE$sQy?Pft%3HWW?k2i=W- zji*M_7BXD>A5b%&S>nd_Yy(OaB6oD}Jv-=5!M~dbKx4qa7Sw3yEGQ>myX%%08@MO;GMx7AcNWx+- z+{M`>Jg>+lPg+LC58Y^d6#wv)9~o<^KlO4K^$Ji2Fl}vZ$?UkD?Xa*gDP17E z^F&NyVrO*nGL385(0D^x+0QL;cWjLC*zqqjzNRL{sUNo$f%=H9-%9Tm!U?6GvG?R* z!b`y>%WvSNkDa5B#{By$XTzdL$#P^~n%MaA&;}O1;jhqvem!{@zQMbtM>a5&MALKC ze3E{xplB@2my5N>g28Z)HunhO_X8in^UrOgIuk43hi5(g> z3T5UUn`Xcl2oe~)p`f;q+D(B6PiNL|=_;P+ipkQ5N)S7FY@+4T8WO2L-1St>YO9=H z9N~l1PcZX(j!ri-irUaAf3zJ>RrS$YIhj^WtgJ!ZOiB4dq1Yp!ia-5)eX|8gHBKU^ z#cMpr7nhW1Sx&N*z+j>FZOTkw)3;HIASh+*8dD7)^FXYEn(^(_&bf;Z1dMV-({)6n z{f*LgoR96h_c;8owI6$>x4qdR5mXVmdu0pesE!xIi)gXQrXVozb+q~@N`|ww6q8O4 zWh8jJo;I=*?;26#{1E-v46FS>$LnnB|dxR1<2M0h4%J#C|E7B2AHp1Br7WQ zRg(SR6>A!t4L14IA-t73K!$AvL#C$pQNjZ`EsqIuSg;Xxc#B!6rHBA z^MUefo5Oppx9G~17RN&n-5^exwKW&#!Dp9