1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-01-12 10:20:28 +00:00

Merge pull request #203 from SquidDev-CC/feature/turtle-models

Convert turtle rendering to use tinting
This commit is contained in:
Daniel Ratcliffe 2017-05-06 23:56:13 +01:00 committed by GitHub
commit 58713caa73
55 changed files with 135 additions and 530 deletions

View File

@ -13,16 +13,19 @@ import dan200.computercraft.client.render.TurtleSmartItemModel;
import dan200.computercraft.shared.proxy.CCTurtleProxyCommon; import dan200.computercraft.shared.proxy.CCTurtleProxyCommon;
import dan200.computercraft.shared.turtle.blocks.TileTurtle; import dan200.computercraft.shared.turtle.blocks.TileTurtle;
import dan200.computercraft.shared.turtle.core.TurtleBrain; 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.block.Block;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemMeshDefinition; 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.ModelBakery;
import net.minecraft.client.renderer.block.model.ModelResourceLocation; 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.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.IResourceManager; import net.minecraft.client.resources.IResourceManager;
import net.minecraft.client.resources.SimpleReloadableResourceManager; import net.minecraft.client.resources.SimpleReloadableResourceManager;
import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
@ -32,12 +35,9 @@ import net.minecraftforge.client.model.IModel;
import net.minecraftforge.client.model.ModelLoaderRegistry; import net.minecraftforge.client.model.ModelLoaderRegistry;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.registry.ClientRegistry; 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.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent; import net.minecraftforge.fml.common.gameevent.TickEvent;
import java.io.IOException;
public class CCTurtleProxyClient extends CCTurtleProxyCommon public class CCTurtleProxyClient extends CCTurtleProxyCommon
{ {
public CCTurtleProxyClient() public CCTurtleProxyClient()
@ -65,16 +65,19 @@ public class CCTurtleProxyClient extends CCTurtleProxyCommon
String[] turtleModelNames = new String[] { String[] turtleModelNames = new String[] {
"turtle_dynamic", "turtle_dynamic",
"CC-Turtle", "CC-TurtleAdvanced", "CC-Turtle", "CC-TurtleAdvanced",
"turtle_black", "turtle_red", "turtle_green", "turtle_brown", "turtle_white",
"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_elf_overlay" "turtle_elf_overlay"
}; };
registerItemModel( ComputerCraft.Blocks.turtle, turtleMeshDefinition, turtleModelNames ); registerItemModel( ComputerCraft.Blocks.turtle, turtleMeshDefinition, turtleModelNames );
registerItemModel( ComputerCraft.Blocks.turtleExpanded, turtleMeshDefinition, turtleModelNames ); registerItemModel( ComputerCraft.Blocks.turtleExpanded, turtleMeshDefinition, turtleModelNames );
registerItemModel( ComputerCraft.Blocks.turtleAdvanced, 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 // Setup renderers
ClientRegistry.bindTileEntitySpecialRenderer( TileTurtle.class, new TileEntityTurtleRenderer() ); 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;
}
}
} }

View File

@ -22,47 +22,33 @@ import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.client.renderer.block.model.BakedQuad; 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.ModelManager;
import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats; 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.client.renderer.vertex.VertexFormat;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.util.*; import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.*; 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.ForgeHooksClient;
import net.minecraftforge.client.model.pipeline.LightUtil;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import javax.vecmath.Matrix4f; import javax.vecmath.Matrix4f;
import java.util.Iterator;
import java.util.List; import java.util.List;
public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer<TileTurtle> public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer<TileTurtle>
{ {
private static ModelResourceLocation NORMAL_TURTLE_MODEL = new ModelResourceLocation( "computercraft:CC-Turtle", "inventory" ); 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 ADVANCED_TURTLE_MODEL = new ModelResourceLocation( "computercraft:CC-TurtleAdvanced", "inventory" );
private static ModelResourceLocation[] COLOUR_TURTLE_MODELS = new ModelResourceLocation[] { private static ModelResourceLocation COLOUR_TURTLE_MODEL = new ModelResourceLocation( "computercraft:turtle_white", "inventory" );
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 BEGINNER_TURTLE_MODEL = new ModelResourceLocation( "computercraftedu:CC-TurtleJunior", "inventory" ); private static ModelResourceLocation BEGINNER_TURTLE_MODEL = new ModelResourceLocation( "computercraftedu:CC-TurtleJunior", "inventory" );
private static ModelResourceLocation[] BEGINNER_TURTLE_COLOUR_MODELS = new ModelResourceLocation[] { private static ModelResourceLocation[] BEGINNER_TURTLE_COLOUR_MODELS = new ModelResourceLocation[] {
new ModelResourceLocation( "computercraftedu:turtleJunior_black", "inventory" ), new ModelResourceLocation( "computercraftedu:turtleJunior_black", "inventory" ),
@ -115,38 +101,11 @@ public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer<TileTurt
{ {
case Normal: case Normal:
default: default:
{ return colour != null ? COLOUR_TURTLE_MODEL : NORMAL_TURTLE_MODEL;
if( colour != null )
{
return COLOUR_TURTLE_MODELS[ colour.ordinal() ];
}
else
{
return NORMAL_TURTLE_MODEL;
}
}
case Advanced: case Advanced:
{ return colour != null ? COLOUR_TURTLE_MODEL : ADVANCED_TURTLE_MODEL;
if( colour != null )
{
return COLOUR_TURTLE_MODELS[ colour.ordinal() ];
}
else
{
return ADVANCED_TURTLE_MODEL;
}
}
case Beginners: case Beginners:
{ return colour != null ? BEGINNER_TURTLE_COLOUR_MODELS[ colour.ordinal() ] : BEGINNER_TURTLE_MODEL;
if( colour != null )
{
return BEGINNER_TURTLE_COLOUR_MODELS[ colour.ordinal() ];
}
else
{
return BEGINNER_TURTLE_MODEL;
}
}
} }
} }
@ -216,7 +175,8 @@ public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer<TileTurt
family = ComputerFamily.Normal; family = ComputerFamily.Normal;
overlay = null; overlay = null;
} }
renderModel( state, getTurtleModel( family, colour ) );
renderModel( state, getTurtleModel( family, colour ), colour == null ? null : new int[] { colour.getHex() } );
// Render the overlay // Render the overlay
ModelResourceLocation overlayModel = getTurtleOverlayModel( ModelResourceLocation overlayModel = getTurtleOverlayModel(
@ -231,7 +191,7 @@ public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer<TileTurt
GlStateManager.blendFunc( GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA ); GlStateManager.blendFunc( GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA );
try try
{ {
renderModel( state, overlayModel ); renderModel( state, overlayModel, null );
} }
finally finally
{ {
@ -275,7 +235,7 @@ public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer<TileTurt
} }
if( pair.getLeft() != null ) if( pair.getLeft() != null )
{ {
renderModel( state, pair.getLeft() ); renderModel( state, pair.getLeft(), null );
} }
} }
} }
@ -286,35 +246,32 @@ public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer<TileTurt
} }
} }
private void renderModel( IBlockState state, ModelResourceLocation modelLocation ) private void renderModel( IBlockState state, ModelResourceLocation modelLocation, int[] tints )
{ {
Minecraft mc = Minecraft.getMinecraft(); Minecraft mc = Minecraft.getMinecraft();
ModelManager modelManager = mc.getRenderItem().getItemModelMesher().getModelManager(); ModelManager modelManager = mc.getRenderItem().getItemModelMesher().getModelManager();
renderModel( state, modelManager.getModel( modelLocation ) ); renderModel( state, modelManager.getModel( modelLocation ), tints );
} }
private void renderModel( IBlockState state, IBakedModel model ) private void renderModel( IBlockState state, IBakedModel model, int[] tints )
{ {
Minecraft mc = Minecraft.getMinecraft(); Minecraft mc = Minecraft.getMinecraft();
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
mc.getTextureManager().bindTexture( TextureMap.LOCATION_BLOCKS_TEXTURE ); mc.getTextureManager().bindTexture( TextureMap.LOCATION_BLOCKS_TEXTURE );
renderQuads( tessellator, model.getQuads( state, null, 0 ) ); renderQuads( tessellator, model.getQuads( state, null, 0 ), tints );
for( EnumFacing facing : EnumFacing.VALUES ) for( EnumFacing facing : EnumFacing.VALUES )
{ {
renderQuads( tessellator, model.getQuads( state, facing, 0 ) ); renderQuads( tessellator, model.getQuads( state, facing, 0 ), tints );
} }
} }
private void renderQuads( Tessellator tessellator, List quads ) private void renderQuads( Tessellator tessellator, List<BakedQuad> quads, int[] tints )
{ {
int color = 0xFFFFFFFF;
Iterator it = quads.iterator();
VertexBuffer buffer = tessellator.getBuffer(); VertexBuffer buffer = tessellator.getBuffer();
VertexFormat format = DefaultVertexFormats.ITEM; VertexFormat format = DefaultVertexFormats.ITEM;
buffer.begin( GL11.GL_QUADS, format ); buffer.begin( GL11.GL_QUADS, format );
while( it.hasNext() ) for (BakedQuad quad : quads)
{ {
BakedQuad quad = (BakedQuad)it.next();
VertexFormat quadFormat = quad.getFormat(); VertexFormat quadFormat = quad.getFormat();
if( quadFormat != format ) if( quadFormat != format )
{ {
@ -322,7 +279,15 @@ public class TileEntityTurtleRenderer extends TileEntitySpecialRenderer<TileTurt
format = quadFormat; format = quadFormat;
buffer.begin( GL11.GL_QUADS, format ); buffer.begin( GL11.GL_QUADS, format );
} }
net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor( buffer, quad, color );
int colour = 0xFFFFFFFF;
if( quad.hasTintIndex() && tints != null )
{
int index = quad.getTintIndex();
if( index >= 0 && index < tints.length ) colour = tints[ index ] | 0xFF000000;
}
LightUtil.renderQuadColor( buffer, quad, colour );
} }
tessellator.draw(); tessellator.draw();
} }

View File

@ -1,21 +1,18 @@
package dan200.computercraft.client.render; package dan200.computercraft.client.render;
import net.minecraft.block.state.IBlockState; 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.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.client.renderer.vertex.VertexFormatElement; 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.util.EnumFacing;
import net.minecraft.world.World;
import javax.vecmath.Matrix4f; import javax.vecmath.Matrix4f;
import javax.vecmath.Point3f; import javax.vecmath.Point3f;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Dictionary;
import java.util.List; import java.util.List;
public class TurtleMultiModel implements IBakedModel public class TurtleMultiModel implements IBakedModel
@ -49,7 +46,7 @@ public class TurtleMultiModel implements IBakedModel
{ {
if( m_faceQuads[ side.ordinal() ] == null ) if( m_faceQuads[ side.ordinal() ] == null )
{ {
List<BakedQuad> quads = new ArrayList<BakedQuad>(); ArrayList<BakedQuad> quads = new ArrayList<BakedQuad>();
if( m_overlayModel != null ) if( m_overlayModel != null )
{ {
quads.addAll( m_overlayModel.getQuads( state, side, rand ) ); 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.addAll( transformQuads( m_rightUpgradeModel.getQuads( state, side, rand ), m_rightUpgradeTransform ) );
} }
quads.trimToSize();
m_faceQuads[ side.ordinal() ] = quads; m_faceQuads[ side.ordinal() ] = quads;
} }
return m_faceQuads[ side.ordinal() ]; return m_faceQuads[ side.ordinal() ];
@ -70,20 +68,22 @@ public class TurtleMultiModel implements IBakedModel
{ {
if( m_generalQuads == null ) if( m_generalQuads == null )
{ {
m_generalQuads = new ArrayList<BakedQuad>(); ArrayList<BakedQuad> quads = new ArrayList<BakedQuad>();
m_generalQuads.addAll( m_baseModel.getQuads( state, side, rand ) ); quads.addAll( m_baseModel.getQuads( state, side, rand ) );
if( m_overlayModel != null ) 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 ) 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 ) 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; return m_generalQuads;
} }
@ -147,7 +147,7 @@ public class TurtleMultiModel implements IBakedModel
{ {
int[] vertexData = quad.getVertexData().clone(); int[] vertexData = quad.getVertexData().clone();
int offset = 0; 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(); VertexFormat format = copy.getFormat();
for( int i=0; i<format.getElementCount(); ++i ) // For each vertex element for( int i=0; i<format.getElementCount(); ++i ) // For each vertex element
{ {

View File

@ -34,7 +34,6 @@ public class BlockTurtle extends BlockComputerBase
public static class Properties public static class Properties
{ {
public static final PropertyDirection FACING = PropertyDirection.create( "facing", EnumFacing.Plane.HORIZONTAL ); public static final PropertyDirection FACING = PropertyDirection.create( "facing", EnumFacing.Plane.HORIZONTAL );
public static final PropertyEnum<BlockTurtleDyeVariant> DYE = PropertyEnum.<BlockTurtleDyeVariant>create( "dye", BlockTurtleDyeVariant.class );
} }
public static BlockTurtle createTurtleBlock() public static BlockTurtle createTurtleBlock()
@ -52,7 +51,6 @@ public class BlockTurtle extends BlockComputerBase
setCreativeTab( ComputerCraft.mainCreativeTab ); setCreativeTab( ComputerCraft.mainCreativeTab );
setDefaultState( this.blockState.getBaseState() setDefaultState( this.blockState.getBaseState()
.withProperty( Properties.FACING, EnumFacing.NORTH ) .withProperty( Properties.FACING, EnumFacing.NORTH )
.withProperty( Properties.DYE, BlockTurtleDyeVariant.None )
); );
} }
@ -77,10 +75,7 @@ public class BlockTurtle extends BlockComputerBase
@Override @Override
protected BlockStateContainer createBlockState() protected BlockStateContainer createBlockState()
{ {
return new BlockStateContainer(this, new IProperty[] { return new BlockStateContainer(this, Properties.FACING );
Properties.FACING,
Properties.DYE
});
} }
@Override @Override
@ -98,18 +93,7 @@ public class BlockTurtle extends BlockComputerBase
@Override @Override
public IBlockState getActualState( IBlockState state, IBlockAccess world, BlockPos pos ) public IBlockState getActualState( IBlockState state, IBlockAccess world, BlockPos pos )
{ {
state = state.withProperty( Properties.FACING, getDirection( world, pos ) ); return state.withProperty( Properties.FACING, getDirection( world, pos ) );
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof ITurtleTile )
{
ITurtleTile turtle = (ITurtleTile)tile;
state = state.withProperty( Properties.DYE, BlockTurtleDyeVariant.fromColour( turtle.getColour() ) );
}
else
{
state = state.withProperty( Properties.DYE, BlockTurtleDyeVariant.None );
}
return state;
} }
@Override @Override

View File

@ -1,84 +0,0 @@
/**
* This file is part of ComputerCraft - http://www.computercraft.info
* Copyright Daniel Ratcliffe, 2011-2016. Do not distribute without permission.
* Send enquiries to dratcliffe@gmail.com
*/
package dan200.computercraft.shared.turtle.blocks;
import dan200.computercraft.shared.util.Colour;
import net.minecraft.util.IStringSerializable;
public enum BlockTurtleDyeVariant implements IStringSerializable
{
None( "none", null ),
Black( "black", Colour.Black ),
Red( "red", Colour.Red ),
Green( "green", Colour.Green ),
Brown( "brown", Colour.Brown ),
Blue( "blue", Colour.Blue ),
Purple( "purple", Colour.Purple ),
Cyan( "cyan", Colour.Cyan ),
LightGrey( "light_grey", Colour.LightGrey ),
Grey( "grey", Colour.Grey ),
Pink( "pink", Colour.Pink ),
Lime( "lime", Colour.Lime ),
Yellow( "yellow", Colour.Yellow ),
LightBlue( "light_blue", Colour.LightBlue ),
Magenta( "magenta", Colour.Magenta ),
Orange( "orange", Colour.Orange ),
White( "white", Colour.Orange );
public static BlockTurtleDyeVariant fromColour( Colour colour )
{
if( colour != null )
{
switch( colour )
{
case Black: return Black;
case Red: return Red;
case Green: return Green;
case Brown: return Brown;
case Blue: return Blue;
case Purple: return Purple;
case Cyan: return Cyan;
case LightGrey: return LightGrey;
case Grey: return Grey;
case Pink: return Pink;
case Lime: return Lime;
case Yellow: return Yellow;
case LightBlue: return LightBlue;
case Magenta: return Magenta;
case Orange: return Orange;
case White: return White;
}
}
return None;
}
private String m_name;
private Colour m_colour;
private BlockTurtleDyeVariant( String name, Colour colour )
{
m_name = name;
m_colour = colour;
}
@Override
public String getName()
{
return m_name;
}
public Colour getColour()
{
return m_colour;
}
@Override
public String toString()
{
return getName();
}
}

View File

@ -1,72 +1,8 @@
{ {
"variants": { "variants": {
"dye=none,facing=north": { "model": "computercraft:turtle" }, "facing=north": { "model": "computercraft:turtle" },
"dye=none,facing=south": { "model": "computercraft:turtle", "y": 180 }, "facing=south": { "model": "computercraft:turtle", "y": 180 },
"dye=none,facing=west": { "model": "computercraft:turtle", "y": 270 }, "facing=west": { "model": "computercraft:turtle", "y": 270 },
"dye=none,facing=east": { "model": "computercraft:turtle", "y": 90 }, "facing=east": { "model": "computercraft:turtle", "y": 90 }
"dye=black,facing=north": { "model": "computercraft:turtle_black" },
"dye=black,facing=south": { "model": "computercraft:turtle_black", "y": 180 },
"dye=black,facing=west": { "model": "computercraft:turtle_black", "y": 270 },
"dye=black,facing=east": { "model": "computercraft:turtle_black", "y": 90 },
"dye=blue,facing=north": { "model": "computercraft:turtle_blue" },
"dye=blue,facing=south": { "model": "computercraft:turtle_blue", "y": 180 },
"dye=blue,facing=west": { "model": "computercraft:turtle_blue", "y": 270 },
"dye=blue,facing=east": { "model": "computercraft:turtle_blue", "y": 90 },
"dye=brown,facing=north": { "model": "computercraft:turtle_brown" },
"dye=brown,facing=south": { "model": "computercraft:turtle_brown", "y": 180 },
"dye=brown,facing=west": { "model": "computercraft:turtle_brown", "y": 270 },
"dye=brown,facing=east": { "model": "computercraft:turtle_brown", "y": 90 },
"dye=cyan,facing=north": { "model": "computercraft:turtle_cyan" },
"dye=cyan,facing=south": { "model": "computercraft:turtle_cyan", "y": 180 },
"dye=cyan,facing=west": { "model": "computercraft:turtle_cyan", "y": 270 },
"dye=cyan,facing=east": { "model": "computercraft:turtle_cyan", "y": 90 },
"dye=green,facing=north": { "model": "computercraft:turtle_green" },
"dye=green,facing=south": { "model": "computercraft:turtle_green", "y": 180 },
"dye=green,facing=west": { "model": "computercraft:turtle_green", "y": 270 },
"dye=green,facing=east": { "model": "computercraft:turtle_green", "y": 90 },
"dye=grey,facing=north": { "model": "computercraft:turtle_grey" },
"dye=grey,facing=south": { "model": "computercraft:turtle_grey", "y": 180 },
"dye=grey,facing=west": { "model": "computercraft:turtle_grey", "y": 270 },
"dye=grey,facing=east": { "model": "computercraft:turtle_grey", "y": 90 },
"dye=light_blue,facing=north": { "model": "computercraft:turtle_lightBlue" },
"dye=light_blue,facing=south": { "model": "computercraft:turtle_lightBlue", "y": 180 },
"dye=light_blue,facing=west": { "model": "computercraft:turtle_lightBlue", "y": 270 },
"dye=light_blue,facing=east": { "model": "computercraft:turtle_lightBlue", "y": 90 },
"dye=light_grey,facing=north": { "model": "computercraft:turtle_lightGrey" },
"dye=light_grey,facing=south": { "model": "computercraft:turtle_lightGrey", "y": 180 },
"dye=light_grey,facing=west": { "model": "computercraft:turtle_lightGrey", "y": 270 },
"dye=light_grey,facing=east": { "model": "computercraft:turtle_lightGrey", "y": 90 },
"dye=lime,facing=north": { "model": "computercraft:turtle_lime" },
"dye=lime,facing=south": { "model": "computercraft:turtle_lime", "y": 180 },
"dye=lime,facing=west": { "model": "computercraft:turtle_lime", "y": 270 },
"dye=lime,facing=east": { "model": "computercraft:turtle_lime", "y": 90 },
"dye=magenta,facing=north": { "model": "computercraft:turtle_magenta" },
"dye=magenta,facing=south": { "model": "computercraft:turtle_magenta", "y": 180 },
"dye=magenta,facing=west": { "model": "computercraft:turtle_magenta", "y": 270 },
"dye=magenta,facing=east": { "model": "computercraft:turtle_magenta", "y": 90 },
"dye=orange,facing=north": { "model": "computercraft:turtle_orange" },
"dye=orange,facing=south": { "model": "computercraft:turtle_orange", "y": 180 },
"dye=orange,facing=west": { "model": "computercraft:turtle_orange", "y": 270 },
"dye=orange,facing=east": { "model": "computercraft:turtle_orange", "y": 90 },
"dye=pink,facing=north": { "model": "computercraft:turtle_pink" },
"dye=pink,facing=south": { "model": "computercraft:turtle_pink", "y": 180 },
"dye=pink,facing=west": { "model": "computercraft:turtle_pink", "y": 270 },
"dye=pink,facing=east": { "model": "computercraft:turtle_pink", "y": 90 },
"dye=purple,facing=north": { "model": "computercraft:turtle_purple" },
"dye=purple,facing=south": { "model": "computercraft:turtle_purple", "y": 180 },
"dye=purple,facing=west": { "model": "computercraft:turtle_purple", "y": 270 },
"dye=purple,facing=east": { "model": "computercraft:turtle_purple", "y": 90 },
"dye=red,facing=north": { "model": "computercraft:turtle_red" },
"dye=red,facing=south": { "model": "computercraft:turtle_red", "y": 180 },
"dye=red,facing=west": { "model": "computercraft:turtle_red", "y": 270 },
"dye=red,facing=east": { "model": "computercraft:turtle_red", "y": 90 },
"dye=white,facing=north": { "model": "computercraft:turtle_white" },
"dye=white,facing=south": { "model": "computercraft:turtle_white", "y": 180 },
"dye=white,facing=west": { "model": "computercraft:turtle_white", "y": 270 },
"dye=white,facing=east": { "model": "computercraft:turtle_white", "y": 90 },
"dye=yellow,facing=north": { "model": "computercraft:turtle_yellow" },
"dye=yellow,facing=south": { "model": "computercraft:turtle_yellow", "y": 180 },
"dye=yellow,facing=west": { "model": "computercraft:turtle_yellow", "y": 270 },
"dye=yellow,facing=east": { "model": "computercraft:turtle_yellow", "y": 90 }
} }
} }

View File

@ -1,72 +1,8 @@
{ {
"variants": { "variants": {
"dye=none,facing=north": { "model": "computercraft:advanced_turtle" }, "facing=north": { "model": "computercraft:advanced_turtle" },
"dye=none,facing=south": { "model": "computercraft:advanced_turtle", "y": 180 }, "facing=south": { "model": "computercraft:advanced_turtle", "y": 180 },
"dye=none,facing=west": { "model": "computercraft:advanced_turtle", "y": 270 }, "facing=west": { "model": "computercraft:advanced_turtle", "y": 270 },
"dye=none,facing=east": { "model": "computercraft:advanced_turtle", "y": 90 }, "facing=east": { "model": "computercraft:advanced_turtle", "y": 90 }
"dye=black,facing=north": { "model": "computercraft:turtle_black" },
"dye=black,facing=south": { "model": "computercraft:turtle_black", "y": 180 },
"dye=black,facing=west": { "model": "computercraft:turtle_black", "y": 270 },
"dye=black,facing=east": { "model": "computercraft:turtle_black", "y": 90 },
"dye=blue,facing=north": { "model": "computercraft:turtle_blue" },
"dye=blue,facing=south": { "model": "computercraft:turtle_blue", "y": 180 },
"dye=blue,facing=west": { "model": "computercraft:turtle_blue", "y": 270 },
"dye=blue,facing=east": { "model": "computercraft:turtle_blue", "y": 90 },
"dye=brown,facing=north": { "model": "computercraft:turtle_brown" },
"dye=brown,facing=south": { "model": "computercraft:turtle_brown", "y": 180 },
"dye=brown,facing=west": { "model": "computercraft:turtle_brown", "y": 270 },
"dye=brown,facing=east": { "model": "computercraft:turtle_brown", "y": 90 },
"dye=cyan,facing=north": { "model": "computercraft:turtle_cyan" },
"dye=cyan,facing=south": { "model": "computercraft:turtle_cyan", "y": 180 },
"dye=cyan,facing=west": { "model": "computercraft:turtle_cyan", "y": 270 },
"dye=cyan,facing=east": { "model": "computercraft:turtle_cyan", "y": 90 },
"dye=green,facing=north": { "model": "computercraft:turtle_green" },
"dye=green,facing=south": { "model": "computercraft:turtle_green", "y": 180 },
"dye=green,facing=west": { "model": "computercraft:turtle_green", "y": 270 },
"dye=green,facing=east": { "model": "computercraft:turtle_green", "y": 90 },
"dye=grey,facing=north": { "model": "computercraft:turtle_grey" },
"dye=grey,facing=south": { "model": "computercraft:turtle_grey", "y": 180 },
"dye=grey,facing=west": { "model": "computercraft:turtle_grey", "y": 270 },
"dye=grey,facing=east": { "model": "computercraft:turtle_grey", "y": 90 },
"dye=light_blue,facing=north": { "model": "computercraft:turtle_lightBlue" },
"dye=light_blue,facing=south": { "model": "computercraft:turtle_lightBlue", "y": 180 },
"dye=light_blue,facing=west": { "model": "computercraft:turtle_lightBlue", "y": 270 },
"dye=light_blue,facing=east": { "model": "computercraft:turtle_lightBlue", "y": 90 },
"dye=light_grey,facing=north": { "model": "computercraft:turtle_lightGrey" },
"dye=light_grey,facing=south": { "model": "computercraft:turtle_lightGrey", "y": 180 },
"dye=light_grey,facing=west": { "model": "computercraft:turtle_lightGrey", "y": 270 },
"dye=light_grey,facing=east": { "model": "computercraft:turtle_lightGrey", "y": 90 },
"dye=lime,facing=north": { "model": "computercraft:turtle_lime" },
"dye=lime,facing=south": { "model": "computercraft:turtle_lime", "y": 180 },
"dye=lime,facing=west": { "model": "computercraft:turtle_lime", "y": 270 },
"dye=lime,facing=east": { "model": "computercraft:turtle_lime", "y": 90 },
"dye=magenta,facing=north": { "model": "computercraft:turtle_magenta" },
"dye=magenta,facing=south": { "model": "computercraft:turtle_magenta", "y": 180 },
"dye=magenta,facing=west": { "model": "computercraft:turtle_magenta", "y": 270 },
"dye=magenta,facing=east": { "model": "computercraft:turtle_magenta", "y": 90 },
"dye=orange,facing=north": { "model": "computercraft:turtle_orange" },
"dye=orange,facing=south": { "model": "computercraft:turtle_orange", "y": 180 },
"dye=orange,facing=west": { "model": "computercraft:turtle_orange", "y": 270 },
"dye=orange,facing=east": { "model": "computercraft:turtle_orange", "y": 90 },
"dye=pink,facing=north": { "model": "computercraft:turtle_pink" },
"dye=pink,facing=south": { "model": "computercraft:turtle_pink", "y": 180 },
"dye=pink,facing=west": { "model": "computercraft:turtle_pink", "y": 270 },
"dye=pink,facing=east": { "model": "computercraft:turtle_pink", "y": 90 },
"dye=purple,facing=north": { "model": "computercraft:turtle_purple" },
"dye=purple,facing=south": { "model": "computercraft:turtle_purple", "y": 180 },
"dye=purple,facing=west": { "model": "computercraft:turtle_purple", "y": 270 },
"dye=purple,facing=east": { "model": "computercraft:turtle_purple", "y": 90 },
"dye=red,facing=north": { "model": "computercraft:turtle_red" },
"dye=red,facing=south": { "model": "computercraft:turtle_red", "y": 180 },
"dye=red,facing=west": { "model": "computercraft:turtle_red", "y": 270 },
"dye=red,facing=east": { "model": "computercraft:turtle_red", "y": 90 },
"dye=white,facing=north": { "model": "computercraft:turtle_white" },
"dye=white,facing=south": { "model": "computercraft:turtle_white", "y": 180 },
"dye=white,facing=west": { "model": "computercraft:turtle_white", "y": 270 },
"dye=white,facing=east": { "model": "computercraft:turtle_white", "y": 90 },
"dye=yellow,facing=north": { "model": "computercraft:turtle_yellow" },
"dye=yellow,facing=south": { "model": "computercraft:turtle_yellow", "y": 180 },
"dye=yellow,facing=west": { "model": "computercraft:turtle_yellow", "y": 270 },
"dye=yellow,facing=east": { "model": "computercraft:turtle_yellow", "y": 90 }
} }
} }

View File

@ -1,72 +1,8 @@
{ {
"variants": { "variants": {
"dye=none,facing=north": { "model": "computercraft:turtle" }, "facing=north": { "model": "computercraft:turtle" },
"dye=none,facing=south": { "model": "computercraft:turtle", "y": 180 }, "facing=south": { "model": "computercraft:turtle", "y": 180 },
"dye=none,facing=west": { "model": "computercraft:turtle", "y": 270 }, "facing=west": { "model": "computercraft:turtle", "y": 270 },
"dye=none,facing=east": { "model": "computercraft:turtle", "y": 90 }, "facing=east": { "model": "computercraft:turtle", "y": 90 }
"dye=black,facing=north": { "model": "computercraft:turtle_black" },
"dye=black,facing=south": { "model": "computercraft:turtle_black", "y": 180 },
"dye=black,facing=west": { "model": "computercraft:turtle_black", "y": 270 },
"dye=black,facing=east": { "model": "computercraft:turtle_black", "y": 90 },
"dye=blue,facing=north": { "model": "computercraft:turtle_blue" },
"dye=blue,facing=south": { "model": "computercraft:turtle_blue", "y": 180 },
"dye=blue,facing=west": { "model": "computercraft:turtle_blue", "y": 270 },
"dye=blue,facing=east": { "model": "computercraft:turtle_blue", "y": 90 },
"dye=brown,facing=north": { "model": "computercraft:turtle_brown" },
"dye=brown,facing=south": { "model": "computercraft:turtle_brown", "y": 180 },
"dye=brown,facing=west": { "model": "computercraft:turtle_brown", "y": 270 },
"dye=brown,facing=east": { "model": "computercraft:turtle_brown", "y": 90 },
"dye=cyan,facing=north": { "model": "computercraft:turtle_cyan" },
"dye=cyan,facing=south": { "model": "computercraft:turtle_cyan", "y": 180 },
"dye=cyan,facing=west": { "model": "computercraft:turtle_cyan", "y": 270 },
"dye=cyan,facing=east": { "model": "computercraft:turtle_cyan", "y": 90 },
"dye=green,facing=north": { "model": "computercraft:turtle_green" },
"dye=green,facing=south": { "model": "computercraft:turtle_green", "y": 180 },
"dye=green,facing=west": { "model": "computercraft:turtle_green", "y": 270 },
"dye=green,facing=east": { "model": "computercraft:turtle_green", "y": 90 },
"dye=grey,facing=north": { "model": "computercraft:turtle_grey" },
"dye=grey,facing=south": { "model": "computercraft:turtle_grey", "y": 180 },
"dye=grey,facing=west": { "model": "computercraft:turtle_grey", "y": 270 },
"dye=grey,facing=east": { "model": "computercraft:turtle_grey", "y": 90 },
"dye=light_blue,facing=north": { "model": "computercraft:turtle_lightBlue" },
"dye=light_blue,facing=south": { "model": "computercraft:turtle_lightBlue", "y": 180 },
"dye=light_blue,facing=west": { "model": "computercraft:turtle_lightBlue", "y": 270 },
"dye=light_blue,facing=east": { "model": "computercraft:turtle_lightBlue", "y": 90 },
"dye=light_grey,facing=north": { "model": "computercraft:turtle_lightGrey" },
"dye=light_grey,facing=south": { "model": "computercraft:turtle_lightGrey", "y": 180 },
"dye=light_grey,facing=west": { "model": "computercraft:turtle_lightGrey", "y": 270 },
"dye=light_grey,facing=east": { "model": "computercraft:turtle_lightGrey", "y": 90 },
"dye=lime,facing=north": { "model": "computercraft:turtle_lime" },
"dye=lime,facing=south": { "model": "computercraft:turtle_lime", "y": 180 },
"dye=lime,facing=west": { "model": "computercraft:turtle_lime", "y": 270 },
"dye=lime,facing=east": { "model": "computercraft:turtle_lime", "y": 90 },
"dye=magenta,facing=north": { "model": "computercraft:turtle_magenta" },
"dye=magenta,facing=south": { "model": "computercraft:turtle_magenta", "y": 180 },
"dye=magenta,facing=west": { "model": "computercraft:turtle_magenta", "y": 270 },
"dye=magenta,facing=east": { "model": "computercraft:turtle_magenta", "y": 90 },
"dye=orange,facing=north": { "model": "computercraft:turtle_orange" },
"dye=orange,facing=south": { "model": "computercraft:turtle_orange", "y": 180 },
"dye=orange,facing=west": { "model": "computercraft:turtle_orange", "y": 270 },
"dye=orange,facing=east": { "model": "computercraft:turtle_orange", "y": 90 },
"dye=pink,facing=north": { "model": "computercraft:turtle_pink" },
"dye=pink,facing=south": { "model": "computercraft:turtle_pink", "y": 180 },
"dye=pink,facing=west": { "model": "computercraft:turtle_pink", "y": 270 },
"dye=pink,facing=east": { "model": "computercraft:turtle_pink", "y": 90 },
"dye=purple,facing=north": { "model": "computercraft:turtle_purple" },
"dye=purple,facing=south": { "model": "computercraft:turtle_purple", "y": 180 },
"dye=purple,facing=west": { "model": "computercraft:turtle_purple", "y": 270 },
"dye=purple,facing=east": { "model": "computercraft:turtle_purple", "y": 90 },
"dye=red,facing=north": { "model": "computercraft:turtle_red" },
"dye=red,facing=south": { "model": "computercraft:turtle_red", "y": 180 },
"dye=red,facing=west": { "model": "computercraft:turtle_red", "y": 270 },
"dye=red,facing=east": { "model": "computercraft:turtle_red", "y": 90 },
"dye=white,facing=north": { "model": "computercraft:turtle_white" },
"dye=white,facing=south": { "model": "computercraft:turtle_white", "y": 180 },
"dye=white,facing=west": { "model": "computercraft:turtle_white", "y": 270 },
"dye=white,facing=east": { "model": "computercraft:turtle_white", "y": 90 },
"dye=yellow,facing=north": { "model": "computercraft:turtle_yellow" },
"dye=yellow,facing=south": { "model": "computercraft:turtle_yellow", "y": 180 },
"dye=yellow,facing=west": { "model": "computercraft:turtle_yellow", "y": 270 },
"dye=yellow,facing=east": { "model": "computercraft:turtle_yellow", "y": 90 }
} }
} }

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_black"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_blue"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_brown"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_cyan"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_green"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_grey"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_lightBlue"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_lightGrey"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_lime"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_magenta"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_orange"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_pink"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_purple"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_red"
}
}

View File

@ -2,5 +2,53 @@
"parent": "computercraft:block/turtle_base", "parent": "computercraft:block/turtle_base",
"textures": { "textures": {
"texture": "computercraft:blocks/turtle_white" "texture": "computercraft:blocks/turtle_white"
} },
"elements": [
{
"from": [ 2, 2, 2 ],
"to": [ 14, 14, 13 ],
"faces": {
"down": { "uv": [ 2.75, 0, 5.75, 2.75 ], "texture": "#texture" },
"up": { "uv": [ 5.75, 0, 8.75, 2.75 ], "texture": "#texture" },
"north": { "uv": [ 8.5, 5.75, 11.5, 2.75 ], "texture": "#texture" },
"south": { "uv": [ 2.75, 5.75, 5.75, 2.75 ], "texture": "#texture" },
"west": { "uv": [ 0, 5.75, 2.75, 2.75 ], "texture": "#texture" },
"east": { "uv": [ 5.75, 5.75, 8.5, 2.75 ], "texture": "#texture" }
}
},
{
"from": [ 3, 6, 13 ],
"to": [ 13, 13, 15 ],
"faces": {
"down": { "uv": [ 9.25, 0, 11.75, 0.5 ], "texture": "#texture" },
"up": { "uv": [ 11.75, 0, 14.25, 0.5 ], "texture": "#texture" },
"south": { "uv": [ 9.25, 2.25, 11.75, 0.5 ], "texture": "#texture" },
"west": { "uv": [ 8.75, 2.25, 9.25, 0.5 ], "texture": "#texture" },
"east": { "uv": [ 11.75, 2.25, 12.25, 0.5 ], "texture": "#texture" }
}
},
{
"from": [ 2, 2, 2 ],
"to": [ 14, 14, 13 ],
"faces": {
"down": { "uv": [ 2.75, 5.75, 5.75, 8.5 ], "texture": "#texture", "tintindex":0 },
"up": { "uv": [ 5.75, 5.75, 8.75, 8.5 ], "texture": "#texture", "tintindex":0 },
"north": { "uv": [ 8.5, 11.5, 11.5, 8.5 ], "texture": "#texture", "tintindex":0 },
"south": { "uv": [ 2.75, 11.5, 5.75, 8.5 ], "texture": "#texture", "tintindex":0 },
"west": { "uv": [ 0, 11.5, 2.75, 8.5 ], "texture": "#texture", "tintindex":0 },
"east": { "uv": [ 5.75, 11.5, 8.5, 8.555 ], "texture": "#texture", "tintindex":0 }
}
},
{
"from": [ 3, 6, 13 ],
"to": [ 13, 13, 15 ],
"faces": {
"down": { "uv": [ 9.25, 5.75, 11.75, 6.25 ], "texture": "#texture", "tintindex":0 },
"up": { "uv": [ 11.75, 5.75, 14.25, 6.25 ], "texture": "#texture", "tintindex":0 },
"south": { "uv": [ 9.25, 8, 11.75, 6.25 ], "texture": "#texture", "tintindex":0 },
"west": { "uv": [ 8.75, 8, 9.25, 6.25 ], "texture": "#texture", "tintindex":0 },
"east": { "uv": [ 11.75, 8, 12.25, 6.25 ], "texture": "#texture", "tintindex":0 }
}
}
]
} }

View File

@ -1,6 +0,0 @@
{
"parent": "computercraft:block/turtle_base",
"textures": {
"texture": "computercraft:blocks/turtle_yellow"
}
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_black"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_blue"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_brown"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_cyan"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_green"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_grey"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_lightBlue"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_lightGrey"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_lime"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_magenta"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_orange"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_pink"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_purple"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_red"
}

View File

@ -1,3 +0,0 @@
{
"parent": "computercraft:block/turtle_yellow"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB