VoxelShapes + Worm

This commit is contained in:
Ridanis 2024-04-03 12:37:28 +02:00
parent c0dfed8fa3
commit 4721f5128d
14 changed files with 1743 additions and 375 deletions

View file

@ -29,6 +29,7 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
@ -39,6 +40,8 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.HitResult;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.api.distmarker.OnlyIn;
@ -91,6 +94,24 @@ public class BlockAtomicReconstructor extends FullyDirectionalBlock.Container im
return InteractionResult.CONSUME;
}
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
switch (state.getValue(FACING)) {
case UP:
return VoxelShapes.AtomicReconstructorShapes.SHAPE_U;
case DOWN:
return VoxelShapes.AtomicReconstructorShapes.SHAPE_D;
case EAST:
return VoxelShapes.AtomicReconstructorShapes.SHAPE_E;
case SOUTH:
return VoxelShapes.AtomicReconstructorShapes.SHAPE_S;
case WEST:
return VoxelShapes.AtomicReconstructorShapes.SHAPE_W;
default:
return VoxelShapes.AtomicReconstructorShapes.SHAPE_N;
}
}
@Nullable
@Override
public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {

View file

@ -16,15 +16,20 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityTicker;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import javax.annotation.Nullable;
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.HORIZONTAL_FACING;
public class BlockBioReactor extends DirectionalBlock.Container {
public BlockBioReactor() {
@ -47,4 +52,18 @@ public class BlockBioReactor extends DirectionalBlock.Container {
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
return this.openGui(world, player, pos, TileEntityBioReactor.class);
}
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
switch (state.getValue(HORIZONTAL_FACING)) {
case EAST:
return VoxelShapes.BioReactorShapes.SHAPE_E;
case SOUTH:
return VoxelShapes.BioReactorShapes.SHAPE_S;
case WEST:
return VoxelShapes.BioReactorShapes.SHAPE_W;
default:
return VoxelShapes.BioReactorShapes.SHAPE_N;
}
}
}

View file

@ -17,12 +17,15 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityTicker;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import javax.annotation.Nullable;
@ -59,4 +62,22 @@ public class BlockBreaker extends FullyDirectionalBlock.Container {
return this.openGui(world, player, pos, TileEntityBreaker.class);
}
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
switch (state.getValue(FACING)) {
case UP:
return VoxelShapes.BlockBreakerShapes.SHAPE_U;
case DOWN:
return VoxelShapes.BlockBreakerShapes.SHAPE_D;
case EAST:
return VoxelShapes.BlockBreakerShapes.SHAPE_E;
case SOUTH:
return VoxelShapes.BlockBreakerShapes.SHAPE_S;
case WEST:
return VoxelShapes.BlockBreakerShapes.SHAPE_W;
default:
return VoxelShapes.BlockBreakerShapes.SHAPE_N;
}
}
}

View file

@ -103,18 +103,17 @@ public class BlockCrusher extends BlockContainerBase {
: 0;
}
// TODO (Rid): Remove Shape
// @Override
// public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
// switch (state.getValue(HORIZONTAL_FACING)) {
// case EAST:
// return VoxelShapes.GrinderShapes.SHAPE_E;
// case SOUTH:
// return VoxelShapes.GrinderShapes.SHAPE_S;
// case WEST:
// return VoxelShapes.GrinderShapes.SHAPE_W;
// default:
// return VoxelShapes.GrinderShapes.SHAPE_N;
// }
// }
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
switch (state.getValue(HORIZONTAL_FACING)) {
case EAST:
return VoxelShapes.GrinderShapes.SHAPE_E;
case SOUTH:
return VoxelShapes.GrinderShapes.SHAPE_S;
case WEST:
return VoxelShapes.GrinderShapes.SHAPE_W;
default:
return VoxelShapes.GrinderShapes.SHAPE_N;
}
}
}

View file

@ -16,12 +16,15 @@ import net.minecraft.core.BlockPos;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityTicker;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import javax.annotation.Nullable;
@ -51,4 +54,22 @@ public class BlockDropper extends FullyDirectionalBlock.Container {
return this.openGui(world, player, pos, TileEntityDropper.class);
}
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
switch (state.getValue(FACING)) {
case UP:
return VoxelShapes.BlockBreakerShapes.SHAPE_U;
case DOWN:
return VoxelShapes.BlockBreakerShapes.SHAPE_D;
case EAST:
return VoxelShapes.BlockBreakerShapes.SHAPE_E;
case SOUTH:
return VoxelShapes.BlockBreakerShapes.SHAPE_S;
case WEST:
return VoxelShapes.BlockBreakerShapes.SHAPE_W;
default:
return VoxelShapes.BlockBreakerShapes.SHAPE_N;
}
}
}

View file

@ -51,18 +51,17 @@ public class BlockFarmer extends DirectionalBlock.Container {
return this.openGui(worldIn, player, pos, TileEntityFarmer.class);
}
// TODO (Rid): Remove Shape
// @Override
// public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
// switch (state.getValue(FACING)) {
// case EAST:
// return VoxelShapes.FarmerShapes.SHAPE_E;
// case SOUTH:
// return VoxelShapes.FarmerShapes.SHAPE_S;
// case WEST:
// return VoxelShapes.FarmerShapes.SHAPE_W;
// default:
// return VoxelShapes.FarmerShapes.SHAPE_N;
// }
// }
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
switch (state.getValue(FACING)) {
case EAST:
return VoxelShapes.FarmerShapes.SHAPE_E;
case SOUTH:
return VoxelShapes.FarmerShapes.SHAPE_S;
case WEST:
return VoxelShapes.FarmerShapes.SHAPE_W;
default:
return VoxelShapes.FarmerShapes.SHAPE_N;
}
}
}

View file

@ -51,9 +51,8 @@ public class BlockFeeder extends BlockContainerBase {
return this.openGui(worldIn, player, pos, TileEntityFeeder.class);
}
// TODO (Rid): Remove Shape
// @Override
// public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
// return VoxelShapes.FEEDER_SHAPE;
// }
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
return VoxelShapes.FEEDER_SHAPE;
}
}

View file

@ -55,22 +55,21 @@ public class BlockLongRangeBreaker extends FullyDirectionalBlock.Container {
return this.openGui(world, player, pos, TileEntityLongRangeBreaker.class);
}
// TODO (Rid) - Remove Shape
// @Override
// public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
// switch (state.getValue(FACING)) {
// case UP:
// return VoxelShapes.DirectionalBlockBreakerShapes.SHAPE_U;
// case DOWN:
// return VoxelShapes.DirectionalBlockBreakerShapes.SHAPE_D;
// case EAST:
// return VoxelShapes.DirectionalBlockBreakerShapes.SHAPE_E;
// case SOUTH:
// return VoxelShapes.DirectionalBlockBreakerShapes.SHAPE_S;
// case WEST:
// return VoxelShapes.DirectionalBlockBreakerShapes.SHAPE_W;
// default:
// return VoxelShapes.DirectionalBlockBreakerShapes.SHAPE_N;
// }
// }
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
switch (state.getValue(FACING)) {
case UP:
return VoxelShapes.BlockBreakerShapes.SHAPE_U;
case DOWN:
return VoxelShapes.BlockBreakerShapes.SHAPE_D;
case EAST:
return VoxelShapes.BlockBreakerShapes.SHAPE_E;
case SOUTH:
return VoxelShapes.BlockBreakerShapes.SHAPE_S;
case WEST:
return VoxelShapes.BlockBreakerShapes.SHAPE_W;
default:
return VoxelShapes.BlockBreakerShapes.SHAPE_N;
}
}
}

View file

@ -31,18 +31,19 @@ import java.util.stream.Stream;
public class CrystalClusterBlock extends FullyDirectionalBlock {
public static final DirectionProperty FACING = BlockStateProperties.FACING;
public static final VoxelShape CRYSTAL_SHAPE = Stream.of(
Block.box(5, 4, 5, 10, 19, 10), Block.box(4, 0, 4, 11, 5, 11),
Block.box(3, 0, 3, 5, 4, 5), Block.box(10, 0, 3, 12, 2, 5),
Block.box(12, 0, 4, 13, 1, 5), Block.box(11, 0, 5, 12, 1, 6),
Block.box(10, 0, 10, 12, 3, 12), Block.box(3, 0, 10, 5, 1, 12),
Block.box(9, 0, 3, 10, 3, 4), Block.box(8, 0, 2, 11, 1, 4),
Block.box(4, 0, 2, 5, 2, 3), Block.box(5, 0, 3, 7, 1, 4),
Block.box(2, 0, 4, 4, 1, 6), Block.box(3, 0, 5, 4, 3, 6.5),
Block.box(3, 0, 9, 4, 2, 10), Block.box(2, 0, 8, 4, 1, 10),
Block.box(5, 0, 11, 7, 2, 13), Block.box(7, 0, 11, 11, 1, 13),
Block.box(10, 0, 9, 13, 1, 11), Block.box(11, 0, 7, 12, 3, 9)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR) ).get();
// TODO: Remove - Duplicate
// public static final VoxelShape CRYSTAL_SHAPE = Stream.of(
// Block.box(5, 4, 5, 10, 19, 10), Block.box(4, 0, 4, 11, 5, 11),
// Block.box(3, 0, 3, 5, 4, 5), Block.box(10, 0, 3, 12, 2, 5),
// Block.box(12, 0, 4, 13, 1, 5), Block.box(11, 0, 5, 12, 1, 6),
// Block.box(10, 0, 10, 12, 3, 12), Block.box(3, 0, 10, 5, 1, 12),
// Block.box(9, 0, 3, 10, 3, 4), Block.box(8, 0, 2, 11, 1, 4),
// Block.box(4, 0, 2, 5, 2, 3), Block.box(5, 0, 3, 7, 1, 4),
// Block.box(2, 0, 4, 4, 1, 6), Block.box(3, 0, 5, 4, 3, 6.5),
// Block.box(3, 0, 9, 4, 2, 10), Block.box(2, 0, 8, 4, 1, 10),
// Block.box(5, 0, 11, 7, 2, 13), Block.box(7, 0, 11, 11, 1, 13),
// Block.box(10, 0, 9, 13, 1, 11), Block.box(11, 0, 7, 12, 3, 9)
// ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR) ).get();
public CrystalClusterBlock(Crystals crystal) {
super(Block.Properties.of()
@ -60,6 +61,6 @@ public class CrystalClusterBlock extends FullyDirectionalBlock {
@Override
public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) {
return CRYSTAL_SHAPE;
return VoxelShapes.CRYSTAL_CLUSTER_SHAPE;
}
}

View file

@ -46,7 +46,7 @@ public class RenderWorm extends EntityRenderer<EntityWorm> {
public void render(EntityWorm entity, float partialTicks, float p_225623_3_, PoseStack matrix, MultiBufferSource buffer, int light) {
boolean isSnail = entity.getCustomName().getString().equalsIgnoreCase("snail mail");
matrix.pushPose();
matrix.translate(0, 0.7F, 0);
matrix.translate(0, 0.75F, 0);
double boop = Util.getMillis() / 70D;
matrix.mulPose(Axis.YP.rotationDegrees(-(float) (boop % 360)));
matrix.translate(0,0,0.4);

View file

@ -11,73 +11,85 @@
},
"elements": [
{
"from": [0, 15, 0],
"to": [1, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 23, 8]},
"from": [0, 4, 4],
"to": [1, 12, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]},
"faces": {
"north": {"uv": [15, 0, 16, 1], "texture": "#base", "cullface": "north"},
"east": {"uv": [15, 0, 16, 16], "rotation": 270, "texture": "#base"},
"south": {"uv": [0, 0, 1, 1], "texture": "#base", "cullface": "south"},
"west": {"uv": [15, 0, 16, 16], "rotation": 90, "texture": "#base", "cullface": "west"},
"up": {"uv": [15, 0, 16, 16], "rotation": 180, "texture": "#base", "cullface": "up"},
"down": {"uv": [15, 0, 16, 16], "texture": "#base"}
"north": {"uv": [4, 4, 5, 12], "texture": "#back"},
"south": {"uv": [11, 4, 12, 12], "texture": "#back"},
"west": {"uv": [4, 4, 12, 12], "texture": "#back", "cullface": "west"},
"up": {"uv": [4, 4, 12, 5], "rotation": 90, "texture": "#back"},
"down": {"uv": [12, 11, 4, 12], "rotation": 90, "texture": "#back"}
}
},
{
"from": [15, 15, 0],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 23, 8]},
"from": [1, 1, 1],
"to": [15, 15, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 1, 1], "texture": "#base", "cullface": "north"},
"east": {"uv": [15, 0, 16, 16], "rotation": 90, "texture": "#base", "cullface": "east"},
"south": {"uv": [15, 0, 16, 1], "texture": "#base", "cullface": "south"},
"west": {"uv": [15, 0, 16, 16], "rotation": 270, "texture": "#base"},
"up": {"uv": [15, 0, 16, 16], "texture": "#base", "cullface": "up"},
"down": {"uv": [15, 0, 16, 16], "rotation": 180, "texture": "#base"}
"north": {"uv": [1, 1, 15, 15], "rotation": 180, "texture": "#front"},
"east": {"uv": [1, 1, 15, 15], "texture": "#side"},
"south": {"uv": [1, 1, 15, 15], "texture": "#5"},
"west": {"uv": [1, 1, 15, 15], "texture": "#base"},
"up": {"uv": [1, 1, 15, 15], "texture": "#top"},
"down": {"uv": [1, 1, 15, 15], "rotation": 180, "texture": "#top"}
}
},
{
"from": [1, 15, 0],
"to": [15, 16, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 23, 8]},
"from": [0, 1, 0],
"to": [1, 15, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [1, 0, 15, 1], "texture": "#base", "cullface": "north"},
"south": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#base"},
"up": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#base", "cullface": "up"},
"down": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#base"}
"north": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "north"},
"east": {"uv": [15, 1, 16, 15], "texture": "#base"},
"south": {"uv": [15, 1, 16, 15], "texture": "#base"},
"west": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "west"}
}
},
{
"from": [1, 15, 15],
"to": [15, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 23, 23]},
"from": [15, 1, 0],
"to": [16, 15, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 8, 8]},
"faces": {
"north": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#base"},
"south": {"uv": [1, 0, 15, 1], "texture": "#base", "cullface": "south"},
"up": {"uv": [1, 0, 15, 1], "texture": "#base", "cullface": "up"},
"down": {"uv": [1, 0, 15, 1], "texture": "#base"}
"north": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "north"},
"east": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "east"},
"south": {"uv": [0, 1, 1, 15], "texture": "#base"},
"west": {"uv": [0, 1, 1, 15], "texture": "#base"}
}
},
{
"from": [1, 0, 15],
"to": [15, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 23]},
"from": [15, 1, 15],
"to": [16, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 8, 23]},
"faces": {
"north": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#base"},
"south": {"uv": [1, 15, 15, 16], "texture": "#base", "cullface": "south"},
"up": {"uv": [1, 15, 15, 16], "texture": "#base"},
"down": {"uv": [1, 15, 15, 16], "texture": "#base", "cullface": "down"}
"north": {"uv": [15, 1, 16, 15], "texture": "#base"},
"east": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "east"},
"south": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "south"},
"west": {"uv": [15, 1, 16, 15], "texture": "#base"}
}
},
{
"from": [1, 0, 0],
"to": [15, 1, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]},
"from": [0, 1, 15],
"to": [1, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 23]},
"faces": {
"north": {"uv": [1, 15, 15, 16], "texture": "#base", "cullface": "north"},
"south": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#base"},
"up": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#base"},
"down": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#base", "cullface": "down"}
"north": {"uv": [0, 1, 1, 15], "texture": "#base"},
"east": {"uv": [0, 1, 1, 15], "texture": "#base"},
"south": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "south"},
"west": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "west"}
}
},
{
"from": [0, 0, 0],
"to": [1, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]},
"faces": {
"north": {"uv": [15, 15, 16, 16], "texture": "#base", "cullface": "north"},
"east": {"uv": [0, 0, 1, 16], "rotation": 90, "texture": "#base"},
"south": {"uv": [0, 15, 1, 16], "texture": "#base", "cullface": "south"},
"west": {"uv": [0, 0, 1, 16], "rotation": 270, "texture": "#base", "cullface": "west"},
"up": {"uv": [0, 0, 1, 16], "texture": "#base"},
"down": {"uv": [0, 0, 1, 16], "rotation": 180, "texture": "#base", "cullface": "down"}
}
},
{
@ -94,135 +106,73 @@
}
},
{
"from": [0, 0, 0],
"to": [1, 1, 16],
"faces": {
"north": {"uv": [15, 15, 16, 16], "texture": "#base", "cullface": "north"},
"east": {"uv": [0, 0, 1, 16], "rotation": 90, "texture": "#base"},
"south": {"uv": [0, 15, 1, 16], "texture": "#base", "cullface": "south"},
"west": {"uv": [0, 0, 1, 16], "rotation": 270, "texture": "#base", "cullface": "west"},
"up": {"uv": [0, 0, 1, 16], "texture": "#base"},
"down": {"uv": [0, 0, 1, 16], "rotation": 180, "texture": "#base", "cullface": "down"}
}
},
{
"from": [0, 1, 15],
"to": [1, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 23]},
"faces": {
"north": {"uv": [0, 1, 1, 15], "texture": "#base"},
"east": {"uv": [0, 1, 1, 15], "texture": "#base"},
"south": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "south"},
"west": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "west"}
}
},
{
"from": [15, 1, 15],
"to": [16, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 9, 23]},
"faces": {
"north": {"uv": [15, 1, 16, 15], "texture": "#base"},
"east": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "east"},
"south": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "south"},
"west": {"uv": [15, 1, 16, 15], "texture": "#base"}
}
},
{
"from": [15, 1, 0],
"to": [16, 15, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 9, 8]},
"faces": {
"north": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "north"},
"east": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "east"},
"south": {"uv": [0, 1, 1, 15], "texture": "#base"},
"west": {"uv": [0, 1, 1, 15], "texture": "#base"}
}
},
{
"from": [0, 1, 0],
"to": [1, 15, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 8]},
"faces": {
"north": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "north"},
"east": {"uv": [15, 1, 16, 15], "texture": "#base"},
"south": {"uv": [15, 1, 16, 15], "texture": "#base"},
"west": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "west"}
}
},
{
"from": [1, 14, 1],
"to": [15, 15, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 21, 8]},
"faces": {
"north": {"uv": [1, 1, 15, 2], "rotation": 180, "texture": "#front"},
"east": {"uv": [1, 1, 15, 2], "texture": "#side"},
"south": {"uv": [1, 1, 15, 2], "texture": "#back"},
"west": {"uv": [1, 1, 15, 2], "texture": "#side"},
"up": {"uv": [1, 1, 15, 15], "texture": "#top"},
"down": {"uv": [1, 1, 15, 15], "rotation": 180, "texture": "#base"}
}
},
{
"from": [1, 1, 1],
"to": [15, 2, 15],
"faces": {
"north": {"uv": [1, 14, 15, 15], "texture": "#front"},
"east": {"uv": [1, 14, 15, 15], "texture": "#side"},
"south": {"uv": [1, 14, 15, 15], "rotation": 180, "texture": "#back"},
"west": {"uv": [1, 14, 15, 15], "texture": "#side"},
"up": {"uv": [1, 1, 15, 15], "texture": "#base"},
"down": {"uv": [1, 1, 15, 15], "rotation": 180, "texture": "#top"}
}
},
{
"from": [14, 2, 1],
"to": [15, 14, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [22, 8, 8]},
"faces": {
"north": {"uv": [1, 2, 2, 14], "texture": "#base"},
"east": {"uv": [1, 2, 15, 14], "texture": "#side"},
"south": {"uv": [14, 2, 15, 14], "texture": "#back"},
"west": {"uv": [2, 2, 16, 14], "texture": "#base"}
}
},
{
"from": [1, 2, 1],
"to": [2, 14, 15],
"from": [1, 0, 0],
"to": [15, 1, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]},
"faces": {
"north": {"uv": [14, 2, 15, 14], "texture": "#base"},
"east": {"uv": [2, 2, 16, 14], "texture": "#base"},
"south": {"uv": [1, 2, 2, 14], "texture": "#back"},
"west": {"uv": [1, 2, 15, 14], "texture": "#back"}
"north": {"uv": [1, 15, 15, 16], "texture": "#base", "cullface": "north"},
"south": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#base"},
"up": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#base"},
"down": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#base", "cullface": "down"}
}
},
{
"from": [2, 2, 14],
"to": [14, 14, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 22]},
"from": [1, 0, 15],
"to": [15, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 23]},
"faces": {
"north": {"uv": [2, 2, 14, 14], "texture": "#base"},
"south": {"uv": [2, 2, 14, 14], "texture": "#5"}
"north": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#base"},
"south": {"uv": [1, 15, 15, 16], "texture": "#base", "cullface": "south"},
"up": {"uv": [1, 15, 15, 16], "texture": "#base"},
"down": {"uv": [1, 15, 15, 16], "texture": "#base", "cullface": "down"}
}
},
{
"from": [2, 2, 1],
"to": [14, 14, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]},
"from": [1, 15, 15],
"to": [15, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 23]},
"faces": {
"north": {"uv": [2, 2, 14, 14], "texture": "#front"},
"south": {"uv": [2, 2, 14, 14], "texture": "#base"}
"north": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#base"},
"south": {"uv": [1, 0, 15, 1], "texture": "#base", "cullface": "south"},
"up": {"uv": [1, 0, 15, 1], "texture": "#base", "cullface": "up"},
"down": {"uv": [1, 0, 15, 1], "texture": "#base"}
}
},
{
"from": [0, 4, 4],
"to": [1, 12, 12],
"from": [1, 15, 0],
"to": [15, 16, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]},
"faces": {
"north": {"uv": [4, 4, 5, 12], "texture": "#back"},
"south": {"uv": [11, 4, 12, 12], "texture": "#back"},
"west": {"uv": [4, 4, 12, 12], "texture": "#back", "cullface": "west"},
"up": {"uv": [4, 4, 12, 5], "rotation": 90, "texture": "#back"},
"down": {"uv": [12, 11, 4, 12], "rotation": 90, "texture": "#back"}
"north": {"uv": [1, 0, 15, 1], "texture": "#base", "cullface": "north"},
"south": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#base"},
"up": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#base", "cullface": "up"},
"down": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#base"}
}
},
{
"from": [15, 15, 0],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 1, 1], "texture": "#base", "cullface": "north"},
"east": {"uv": [15, 0, 16, 16], "rotation": 90, "texture": "#base", "cullface": "east"},
"south": {"uv": [15, 0, 16, 1], "texture": "#base", "cullface": "south"},
"west": {"uv": [15, 0, 16, 16], "rotation": 270, "texture": "#base"},
"up": {"uv": [15, 0, 16, 16], "texture": "#base", "cullface": "up"},
"down": {"uv": [15, 0, 16, 16], "rotation": 180, "texture": "#base"}
}
},
{
"from": [0, 15, 0],
"to": [1, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [15, 0, 16, 1], "texture": "#base", "cullface": "north"},
"east": {"uv": [15, 0, 16, 16], "rotation": 270, "texture": "#base"},
"south": {"uv": [0, 0, 1, 1], "texture": "#base", "cullface": "south"},
"west": {"uv": [15, 0, 16, 16], "rotation": 90, "texture": "#base", "cullface": "west"},
"up": {"uv": [15, 0, 16, 16], "rotation": 180, "texture": "#base", "cullface": "up"},
"down": {"uv": [15, 0, 16, 16], "texture": "#base"}
}
}
],

View file

@ -57,47 +57,51 @@
}
},
{
"from": [0, 1, 15],
"from": [0, 0, 15],
"to": [1, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 23]},
"faces": {
"north": {"uv": [0, 1, 1, 15], "texture": "#base"},
"east": {"uv": [0, 1, 1, 15], "texture": "#base"},
"south": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "south"},
"west": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "west"}
"north": {"uv": [0, 1, 1, 16], "texture": "#base"},
"east": {"uv": [0, 1, 1, 16], "texture": "#base"},
"south": {"uv": [0, 1, 1, 16], "texture": "#base", "cullface": "south"},
"west": {"uv": [0, 1, 1, 16], "texture": "#base", "cullface": "west"},
"down": {"uv": [0, 0, 1, 1], "texture": "#base", "cullface": "down"}
}
},
{
"from": [15, 1, 15],
"from": [15, 0, 15],
"to": [16, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 9, 23]},
"faces": {
"north": {"uv": [15, 1, 16, 15], "texture": "#base"},
"east": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "east"},
"south": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "south"},
"west": {"uv": [15, 1, 16, 15], "texture": "#base"}
"north": {"uv": [15, 1, 16, 16], "texture": "#base"},
"east": {"uv": [15, 1, 16, 16], "texture": "#base", "cullface": "east"},
"south": {"uv": [15, 1, 16, 16], "texture": "#base", "cullface": "south"},
"west": {"uv": [15, 1, 16, 16], "texture": "#base"},
"down": {"uv": [0, 0, 1, 1], "texture": "#base", "cullface": "down"}
}
},
{
"from": [15, 1, 0],
"from": [15, 0, 0],
"to": [16, 15, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 9, 8]},
"faces": {
"north": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "north"},
"east": {"uv": [0, 1, 1, 15], "texture": "#base", "cullface": "east"},
"south": {"uv": [0, 1, 1, 15], "texture": "#base"},
"west": {"uv": [0, 1, 1, 15], "texture": "#base"}
"north": {"uv": [0, 1, 1, 16], "texture": "#base", "cullface": "north"},
"east": {"uv": [0, 1, 1, 16], "texture": "#base", "cullface": "east"},
"south": {"uv": [0, 1, 1, 16], "texture": "#base"},
"west": {"uv": [0, 1, 1, 16], "texture": "#base"},
"down": {"uv": [0, 0, 1, 1], "texture": "#base", "cullface": "down"}
}
},
{
"from": [0, 1, 0],
"from": [0, 0, 0],
"to": [1, 15, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 8]},
"faces": {
"north": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "north"},
"east": {"uv": [15, 1, 16, 15], "texture": "#base"},
"south": {"uv": [15, 1, 16, 15], "texture": "#base"},
"west": {"uv": [15, 1, 16, 15], "texture": "#base", "cullface": "west"}
"north": {"uv": [15, 1, 16, 16], "texture": "#base", "cullface": "north"},
"east": {"uv": [15, 1, 16, 16], "texture": "#base"},
"south": {"uv": [15, 1, 16, 16], "texture": "#base"},
"west": {"uv": [15, 1, 16, 16], "texture": "#base", "cullface": "west"},
"down": {"uv": [0, 0, 1, 1], "texture": "#base", "cullface": "down"}
}
},
{
@ -236,53 +240,6 @@
"up": {"uv": [2, 2, 8, 7], "texture": "#animation"},
"down": {"uv": [0, 0, 12, 12], "texture": "#animation"}
}
},
{
"from": [0, 0, 15],
"to": [1, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 23]},
"faces": {
"north": {"uv": [2, 1, 3, 2], "texture": "#base"},
"east": {"uv": [2, 1, 3, 2], "texture": "#base"},
"south": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "south"},
"west": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "west"},
"down": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "down"}
}
},
{
"from": [15, 0, 15],
"to": [16, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 8, 23]},
"faces": {
"north": {"uv": [2, 1, 3, 2], "texture": "#base"},
"east": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "east"},
"south": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "south"},
"west": {"uv": [2, 1, 3, 2], "texture": "#base"},
"down": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "down"}
}
},
{
"from": [15, 0, 0],
"to": [16, 1, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [23, 8, 8]},
"faces": {
"north": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "north"},
"east": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "east"},
"south": {"uv": [2, 1, 3, 2], "texture": "#base"},
"west": {"uv": [2, 1, 3, 2], "texture": "#base"},
"down": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "down"}
}
},
{
"from": [0, 0, 0],
"to": [1, 1, 1],
"faces": {
"north": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "north"},
"east": {"uv": [2, 1, 3, 2], "texture": "#base"},
"south": {"uv": [2, 1, 3, 2], "texture": "#base"},
"west": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "west"},
"down": {"uv": [2, 1, 3, 2], "texture": "#base", "cullface": "down"}
}
}
],
"display": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 625 B