Asset attack

- Fixed floor-mounted cogbrackets not having a particle texture
- Redesigned clutch, gearshift, seq. gearshift and speed controller with up-to-date palettes
This commit is contained in:
simibubi 2021-02-04 23:46:59 +01:00
parent 374f3c9547
commit 72ec08ddfa
28 changed files with 573 additions and 404 deletions

View file

@ -109,6 +109,8 @@ public class AllBlockPartials {
SPOUT_TOP = get("spout/top"), SPOUT_MIDDLE = get("spout/middle"), SPOUT_BOTTOM = get("spout/bottom"), SPOUT_TOP = get("spout/top"), SPOUT_MIDDLE = get("spout/middle"), SPOUT_BOTTOM = get("spout/bottom"),
SPEED_CONTROLLER_BRACKET = get("rotation_speed_controller/bracket"),
COUPLING_ATTACHMENT = getEntity("minecart_coupling/attachment"), COUPLING_ATTACHMENT = getEntity("minecart_coupling/attachment"),
COUPLING_RING = getEntity("minecart_coupling/ring"), COUPLING_RING = getEntity("minecart_coupling/ring"),
COUPLING_CONNECTOR = getEntity("minecart_coupling/connector") COUPLING_CONNECTOR = getEntity("minecart_coupling/connector")

View file

@ -41,10 +41,6 @@ public class AllShapes {
SAIL_FRAME_COLLISION = shape(0, 5, 0, 16, 9, 16).erase(2, 0, 2, 14, 16, 14) SAIL_FRAME_COLLISION = shape(0, 5, 0, 16, 9, 16).erase(2, 0, 2, 14, 16, 14)
.forDirectional(), .forDirectional(),
SAIL_FRAME = shape(0, 5, 0, 16, 9, 16).forDirectional(), SAIL = shape(0, 5, 0, 16, 10, 16).forDirectional(), SAIL_FRAME = shape(0, 5, 0, 16, 9, 16).forDirectional(), SAIL = shape(0, 5, 0, 16, 10, 16).forDirectional(),
SPEED_CONTROLLER = shape(0, 0, 0, 16, 2, 16).add(1, 1, 1, 15, 15, 15)
.erase(0, 8, 5, 16, 16, 11)
.add(2, 9, 2, 14, 14, 14)
.forHorizontalAxis(),
HARVESTER_BASE = shape(0, 2, 0, 16, 14, 3).forDirectional(SOUTH), HARVESTER_BASE = shape(0, 2, 0, 16, 14, 3).forDirectional(SOUTH),
NOZZLE = shape(2, 0, 2, 14, 14, 14).add(1, 13, 1, 15, 15, 15) NOZZLE = shape(2, 0, 2, 14, 14, 14).add(1, 13, 1, 15, 15, 15)
.erase(3, 13, 3, 13, 15, 13) .erase(3, 13, 3, 13, 15, 13)
@ -144,6 +140,8 @@ public class AllShapes {
BASIN_COLLISION_SHAPE = shape(0, 2, 0, 16, 13, 16).erase(2, 5, 2, 14, 16, 14) BASIN_COLLISION_SHAPE = shape(0, 2, 0, 16, 13, 16).erase(2, 5, 2, 14, 16, 14)
.add(2, 0, 2, 14, 2, 14) .add(2, 0, 2, 14, 2, 14)
.build(), .build(),
SPEED_CONTROLLER = shape(0, 0, 0, 16, 4, 16).add(1, 1, 1, 15, 13, 15)
.add(0, 8, 0, 16, 14, 16).build(),
HEATER_BLOCK_SHAPE = shape(2, 0, 2, 14, 14, 14).add(0, 0, 0, 16, 4, 16) HEATER_BLOCK_SHAPE = shape(2, 0, 2, 14, 14, 14).add(0, 0, 0, 16, 4, 16)
.build(), .build(),
HEATER_BLOCK_SPECIAL_COLLISION_SHAPE = shape(0, 0, 0, 16, 4, 16).build(), HEATER_BLOCK_SPECIAL_COLLISION_SHAPE = shape(0, 0, 0, 16, 4, 16).build(),

View file

@ -1,16 +1,21 @@
package com.simibubi.create.content.contraptions.relays.advanced; package com.simibubi.create.content.contraptions.relays.advanced;
import java.util.function.Predicate;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalAxisKineticBlock;
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock; import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
import com.simibubi.create.content.contraptions.relays.elementary.CogwheelBlockItem; import com.simibubi.create.content.contraptions.relays.elementary.CogwheelBlockItem;
import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
import com.simibubi.create.foundation.utility.placement.IPlacementHelper; import com.simibubi.create.foundation.utility.placement.IPlacementHelper;
import com.simibubi.create.foundation.utility.placement.PlacementHelpers; import com.simibubi.create.foundation.utility.placement.PlacementHelpers;
import com.simibubi.create.foundation.utility.placement.PlacementOffset; import com.simibubi.create.foundation.utility.placement.PlacementOffset;
import mcp.MethodsReturnNonnullByDefault; import mcp.MethodsReturnNonnullByDefault;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.BlockItemUseContext; import net.minecraft.item.BlockItemUseContext;
@ -27,9 +32,7 @@ import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.function.Predicate; public class SpeedControllerBlock extends HorizontalAxisKineticBlock implements ITE<SpeedControllerTileEntity> {
public class SpeedControllerBlock extends HorizontalAxisKineticBlock {
private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper());
@ -41,17 +44,28 @@ public class SpeedControllerBlock extends HorizontalAxisKineticBlock {
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return AllTileEntities.ROTATION_SPEED_CONTROLLER.create(); return AllTileEntities.ROTATION_SPEED_CONTROLLER.create();
} }
@Override @Override
public BlockState getStateForPlacement(BlockItemUseContext context) { public BlockState getStateForPlacement(BlockItemUseContext context) {
BlockState above = context.getWorld().getBlockState(context.getPos().up()); BlockState above = context.getWorld()
if (CogWheelBlock.isLargeCog(above) && above.get(CogWheelBlock.AXIS).isHorizontal()) .getBlockState(context.getPos()
.up());
if (CogWheelBlock.isLargeCog(above) && above.get(CogWheelBlock.AXIS)
.isHorizontal())
return getDefaultState().with(HORIZONTAL_AXIS, above.get(CogWheelBlock.AXIS) == Axis.X ? Axis.Z : Axis.X); return getDefaultState().with(HORIZONTAL_AXIS, above.get(CogWheelBlock.AXIS) == Axis.X ? Axis.Z : Axis.X);
return super.getStateForPlacement(context); return super.getStateForPlacement(context);
} }
@Override @Override
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult ray) { public void neighborChanged(BlockState state, World world, BlockPos pos, Block p_220069_4_, BlockPos neighbourPos,
boolean p_220069_6_) {
if (neighbourPos.equals(pos.up()))
withTileEntityDo(world, pos, SpeedControllerTileEntity::updateBracket);
}
@Override
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
BlockRayTraceResult ray) {
IPlacementHelper helper = PlacementHelpers.get(placementHelperId); IPlacementHelper helper = PlacementHelpers.get(placementHelperId);
ItemStack heldItem = player.getHeldItem(hand); ItemStack heldItem = player.getHeldItem(hand);
@ -72,7 +86,7 @@ public class SpeedControllerBlock extends HorizontalAxisKineticBlock {
@Override @Override
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
return AllShapes.SPEED_CONTROLLER.get(state.get(HORIZONTAL_AXIS)); return AllShapes.SPEED_CONTROLLER;
} }
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
@ -90,12 +104,15 @@ public class SpeedControllerBlock extends HorizontalAxisKineticBlock {
@Override @Override
public PlacementOffset getOffset(World world, BlockState state, BlockPos pos, BlockRayTraceResult ray) { public PlacementOffset getOffset(World world, BlockState state, BlockPos pos, BlockRayTraceResult ray) {
BlockPos newPos = pos.up(); BlockPos newPos = pos.up();
if (!world.getBlockState(newPos).getMaterial().isReplaceable()) if (!world.getBlockState(newPos)
.getMaterial()
.isReplaceable())
return PlacementOffset.fail(); return PlacementOffset.fail();
Axis newAxis = state.get(HORIZONTAL_AXIS) == Axis.X ? Axis.Z : Axis.X; Axis newAxis = state.get(HORIZONTAL_AXIS) == Axis.X ? Axis.Z : Axis.X;
if (CogwheelBlockItem.DiagonalCogHelper.hasLargeCogwheelNeighbor(world, newPos, newAxis) || CogwheelBlockItem.DiagonalCogHelper.hasSmallCogwheelNeighbor(world, newPos, newAxis)) if (CogwheelBlockItem.DiagonalCogHelper.hasLargeCogwheelNeighbor(world, newPos, newAxis)
|| CogwheelBlockItem.DiagonalCogHelper.hasSmallCogwheelNeighbor(world, newPos, newAxis))
return PlacementOffset.fail(); return PlacementOffset.fail();
return PlacementOffset.success(newPos, s -> s.with(CogWheelBlock.AXIS, newAxis)); return PlacementOffset.success(newPos, s -> s.with(CogWheelBlock.AXIS, newAxis));
@ -103,7 +120,14 @@ public class SpeedControllerBlock extends HorizontalAxisKineticBlock {
@Override @Override
public void renderAt(BlockPos pos, BlockState state, BlockRayTraceResult ray, PlacementOffset offset) { public void renderAt(BlockPos pos, BlockState state, BlockRayTraceResult ray, PlacementOffset offset) {
IPlacementHelper.renderArrow(VecHelper.getCenterOf(pos), VecHelper.getCenterOf(offset.getPos()), Direction.getFacingFromAxis(Direction.AxisDirection.POSITIVE, state.get(HORIZONTAL_AXIS) == Axis.X ? Axis.Z : Axis.X)); IPlacementHelper.renderArrow(VecHelper.getCenterOf(pos), VecHelper.getCenterOf(offset.getPos()),
Direction.getFacingFromAxis(Direction.AxisDirection.POSITIVE,
state.get(HORIZONTAL_AXIS) == Axis.X ? Axis.Z : Axis.X));
} }
} }
@Override
public Class<SpeedControllerTileEntity> getTileEntityClass() {
return SpeedControllerTileEntity.class;
}
} }

View file

@ -1,14 +1,22 @@
package com.simibubi.create.content.contraptions.relays.advanced; package com.simibubi.create.content.contraptions.relays.advanced;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.CreateClient; import com.simibubi.create.CreateClient;
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer;
import com.simibubi.create.foundation.utility.SuperByteBuffer; import com.simibubi.create.foundation.utility.SuperByteBuffer;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class SpeedControllerRenderer extends SmartTileEntityRenderer<SpeedControllerTileEntity> { public class SpeedControllerRenderer extends SmartTileEntityRenderer<SpeedControllerTileEntity> {
@ -18,16 +26,30 @@ public class SpeedControllerRenderer extends SmartTileEntityRenderer<SpeedContro
@Override @Override
protected void renderSafe(SpeedControllerTileEntity tileEntityIn, float partialTicks, MatrixStack ms, protected void renderSafe(SpeedControllerTileEntity tileEntityIn, float partialTicks, MatrixStack ms,
IRenderTypeBuffer buffer, int light, int overlay) { IRenderTypeBuffer buffer, int light, int overlay) {
super.renderSafe(tileEntityIn, partialTicks, ms, buffer, light, overlay); super.renderSafe(tileEntityIn, partialTicks, ms, buffer, light, overlay);
KineticTileEntityRenderer.renderRotatingBuffer(tileEntityIn, getRotatedModel(tileEntityIn), ms, IVertexBuilder builder = buffer.getBuffer(RenderType.getSolid());
buffer.getBuffer(RenderType.getSolid()), light); KineticTileEntityRenderer.renderRotatingBuffer(tileEntityIn, getRotatedModel(tileEntityIn), ms, builder, light);
if (!tileEntityIn.hasBracket)
return;
BlockPos pos = tileEntityIn.getPos();
World world = tileEntityIn.getWorld();
BlockState blockState = tileEntityIn.getBlockState();
SuperByteBuffer bracket = AllBlockPartials.SPEED_CONTROLLER_BRACKET.renderOn(blockState);
bracket.translate(0, 1, 0);
bracket.rotateCentered(Direction.UP,
(float) (blockState.get(SpeedControllerBlock.HORIZONTAL_AXIS) == Axis.X ? Math.PI : 0));
bracket.light(WorldRenderer.getLightmapCoordinates(world, pos.up()));
bracket.renderInto(ms, builder);
} }
private SuperByteBuffer getRotatedModel(SpeedControllerTileEntity te) { private SuperByteBuffer getRotatedModel(SpeedControllerTileEntity te) {
return CreateClient.bufferCache.renderBlockIn(KineticTileEntityRenderer.KINETIC_TILE, return CreateClient.bufferCache.renderBlockIn(KineticTileEntityRenderer.KINETIC_TILE,
KineticTileEntityRenderer.shaft(KineticTileEntityRenderer.getRotationAxisOf(te))); KineticTileEntityRenderer.shaft(KineticTileEntityRenderer.getRotationAxisOf(te)));
} }
} }

View file

@ -2,9 +2,11 @@ package com.simibubi.create.content.contraptions.relays.advanced;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.RotationPropagator; import com.simibubi.create.content.contraptions.RotationPropagator;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.components.motor.CreativeMotorTileEntity; import com.simibubi.create.content.contraptions.components.motor.CreativeMotorTileEntity;
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
@ -22,8 +24,17 @@ public class SpeedControllerTileEntity extends KineticTileEntity {
public static final int DEFAULT_SPEED = 16; public static final int DEFAULT_SPEED = 16;
protected ScrollValueBehaviour targetSpeed; protected ScrollValueBehaviour targetSpeed;
boolean hasBracket;
public SpeedControllerTileEntity(TileEntityType<? extends SpeedControllerTileEntity> type) { public SpeedControllerTileEntity(TileEntityType<? extends SpeedControllerTileEntity> type) {
super(type); super(type);
hasBracket = false;
}
@Override
public void lazyTick() {
super.lazyTick();
updateBracket();
} }
@Override @Override
@ -56,7 +67,7 @@ public class SpeedControllerTileEntity extends KineticTileEntity {
} }
public static float getConveyedSpeed(KineticTileEntity cogWheel, KineticTileEntity speedControllerIn, public static float getConveyedSpeed(KineticTileEntity cogWheel, KineticTileEntity speedControllerIn,
boolean targetingController) { boolean targetingController) {
if (!(speedControllerIn instanceof SpeedControllerTileEntity)) if (!(speedControllerIn instanceof SpeedControllerTileEntity))
return 0; return 0;
@ -74,7 +85,7 @@ public class SpeedControllerTileEntity extends KineticTileEntity {
} }
public static float getDesiredOutputSpeed(KineticTileEntity cogWheel, KineticTileEntity speedControllerIn, public static float getDesiredOutputSpeed(KineticTileEntity cogWheel, KineticTileEntity speedControllerIn,
boolean targetingController) { boolean targetingController) {
SpeedControllerTileEntity speedController = (SpeedControllerTileEntity) speedControllerIn; SpeedControllerTileEntity speedController = (SpeedControllerTileEntity) speedControllerIn;
float targetSpeed = speedController.targetSpeed.getValue(); float targetSpeed = speedController.targetSpeed.getValue();
float speed = speedControllerIn.getTheoreticalSpeed(); float speed = speedControllerIn.getTheoreticalSpeed();
@ -103,16 +114,25 @@ public class SpeedControllerTileEntity extends KineticTileEntity {
return targetSpeed; return targetSpeed;
} }
public void updateBracket() {
if (world == null || !world.isRemote)
return;
BlockState stateAbove = world.getBlockState(pos.up());
hasBracket = AllBlocks.LARGE_COGWHEEL.has(stateAbove) && stateAbove.get(CogWheelBlock.AXIS)
.isHorizontal();
}
private class ControllerValueBoxTransform extends ValueBoxTransform.Sided { private class ControllerValueBoxTransform extends ValueBoxTransform.Sided {
@Override @Override
protected Vec3d getSouthLocation() { protected Vec3d getSouthLocation() {
return VecHelper.voxelSpace(8, 11.5f, 14); return VecHelper.voxelSpace(8, 11f, 16);
} }
@Override @Override
protected boolean isSideActive(BlockState state, Direction direction) { protected boolean isSideActive(BlockState state, Direction direction) {
if (direction.getAxis().isVertical()) if (direction.getAxis()
.isVertical())
return false; return false;
return state.get(SpeedControllerBlock.HORIZONTAL_AXIS) != direction.getAxis(); return state.get(SpeedControllerBlock.HORIZONTAL_AXIS) != direction.getAxis();
} }

View file

@ -3,7 +3,8 @@
"parent": "block/block", "parent": "block/block",
"textures": { "textures": {
"4": "#plate", "4": "#plate",
"5": "#bracket" "5": "#bracket",
"particle": "#plate"
}, },
"elements": [ "elements": [
{ {

View file

@ -14,11 +14,11 @@
"from": [0, 0, 0], "from": [0, 0, 0],
"to": [16, 2, 16], "to": [16, 2, 16],
"faces": { "faces": {
"north": {"uv": [0, 14, 16, 16], "texture": "#0"}, "north": {"uv": [0, 14, 16, 16], "texture": "#1"},
"east": {"uv": [0, 14, 16, 16], "texture": "#0"}, "east": {"uv": [0, 14, 16, 16], "texture": "#0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#0"}, "south": {"uv": [0, 14, 16, 16], "texture": "#1"},
"west": {"uv": [0, 14, 16, 16], "texture": "#0"}, "west": {"uv": [0, 14, 16, 16], "texture": "#0"},
"up": {"uv": [0, 0, 16, 16], "texture": "#0"}, "up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#0"} "down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#0"}
} }
}, },
@ -36,12 +36,12 @@
"from": [0, 14, 0], "from": [0, 14, 0],
"to": [16, 16, 16], "to": [16, 16, 16],
"faces": { "faces": {
"north": {"uv": [0, 0, 16, 2], "texture": "#0"}, "north": {"uv": [0, 0, 16, 2], "texture": "#1"},
"east": {"uv": [0, 0, 16, 2], "texture": "#0"}, "east": {"uv": [0, 0, 16, 2], "texture": "#0"},
"south": {"uv": [0, 0, 16, 2], "texture": "#0"}, "south": {"uv": [0, 0, 16, 2], "texture": "#1"},
"west": {"uv": [0, 0, 16, 2], "texture": "#0"}, "west": {"uv": [0, 0, 16, 2], "texture": "#0"},
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, "up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"},
"down": {"uv": [0, 0, 16, 16], "texture": "#0"} "down": {"uv": [0, 0, 16, 16], "texture": "#1"}
} }
}, },
{ {

View file

@ -14,10 +14,10 @@
"faces": { "faces": {
"north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"},
"east": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#0"}, "east": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#0"},
"south": {"uv": [0, 0, 16, 16], "texture": "#0"}, "south": {"uv": [0, 0, 16, 16], "texture": "#1"},
"west": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#0"}, "west": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#0"},
"up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#0"}, "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"},
"down": {"uv": [0, 14, 16, 16], "texture": "#0"} "down": {"uv": [0, 14, 16, 16], "texture": "#1"}
} }
}, },
{ {
@ -34,12 +34,12 @@
"from": [0, 0, 14], "from": [0, 0, 14],
"to": [16, 16, 16], "to": [16, 16, 16],
"faces": { "faces": {
"north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"}, "north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"},
"east": {"uv": [0, 0, 16, 2], "rotation": 270, "texture": "#0"}, "east": {"uv": [0, 0, 16, 2], "rotation": 270, "texture": "#0"},
"south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, "south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"},
"west": {"uv": [0, 0, 16, 2], "rotation": 90, "texture": "#0"}, "west": {"uv": [0, 0, 16, 2], "rotation": 90, "texture": "#0"},
"up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#0"}, "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"},
"down": {"uv": [0, 0, 16, 2], "texture": "#0"} "down": {"uv": [0, 0, 16, 2], "texture": "#1"}
} }
}, },
{ {
@ -47,7 +47,7 @@
"from": [0, 0, 2], "from": [0, 0, 2],
"to": [2, 16, 14], "to": [2, 16, 14],
"faces": { "faces": {
"east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#0"}, "east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#1"},
"west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#0"}, "west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#0"},
"up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"},
"down": {"uv": [0, 2, 2, 14], "texture": "#0"} "down": {"uv": [0, 2, 2, 14], "texture": "#0"}
@ -59,7 +59,7 @@
"to": [16, 16, 14], "to": [16, 16, 14],
"faces": { "faces": {
"east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#0"}, "east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#0"},
"west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#0"}, "west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#1"},
"up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"},
"down": {"uv": [14, 2, 16, 14], "texture": "#0"} "down": {"uv": [14, 2, 16, 14], "texture": "#0"}
} }

View file

@ -14,11 +14,11 @@
"from": [0, 0, 0], "from": [0, 0, 0],
"to": [16, 2, 16], "to": [16, 2, 16],
"faces": { "faces": {
"north": {"uv": [0, 14, 16, 16], "texture": "#0"}, "north": {"uv": [0, 14, 16, 16], "texture": "#1"},
"east": {"uv": [0, 14, 16, 16], "texture": "#0"}, "east": {"uv": [0, 14, 16, 16], "texture": "#0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#0"}, "south": {"uv": [0, 14, 16, 16], "texture": "#1"},
"west": {"uv": [0, 14, 16, 16], "texture": "#0"}, "west": {"uv": [0, 14, 16, 16], "texture": "#0"},
"up": {"uv": [0, 0, 16, 16], "texture": "#0"}, "up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#0"} "down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#0"}
} }
}, },
@ -36,12 +36,12 @@
"from": [0, 14, 0], "from": [0, 14, 0],
"to": [16, 16, 16], "to": [16, 16, 16],
"faces": { "faces": {
"north": {"uv": [0, 0, 16, 2], "texture": "#0"}, "north": {"uv": [0, 0, 16, 2], "texture": "#1"},
"east": {"uv": [0, 0, 16, 2], "texture": "#0"}, "east": {"uv": [0, 0, 16, 2], "texture": "#0"},
"south": {"uv": [0, 0, 16, 2], "texture": "#0"}, "south": {"uv": [0, 0, 16, 2], "texture": "#1"},
"west": {"uv": [0, 0, 16, 2], "texture": "#0"}, "west": {"uv": [0, 0, 16, 2], "texture": "#0"},
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, "up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"},
"down": {"uv": [0, 0, 16, 16], "texture": "#0"} "down": {"uv": [0, 0, 16, 16], "texture": "#1"}
} }
}, },
{ {

View file

@ -2,117 +2,86 @@
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"parent": "create:block/large_wheels", "parent": "create:block/large_wheels",
"textures": { "textures": {
"0": "create:block/rotation_speed_controller",
"3": "create:block/brass_funnel_plating",
"4": "create:block/brass_gearbox", "4": "create:block/brass_gearbox",
"5": "create:block/brass_casing_side", "5": "create:block/rotation_speed_controller_top",
"6": "create:block/brass_casing", "6": "create:block/brass_block",
"8": "create:block/encased_chain_drive_middle", "particle": "create:block/brass_gearbox"
"9": "create:block/brass_block",
"particle": "create:block/brass_casing"
}, },
"elements": [ "elements": [
{
"from": [1, 2, 1],
"to": [6, 15, 5],
"faces": {
"north": {"uv": [10, 1, 15, 14], "texture": "#4"},
"east": {"uv": [12, 1, 16, 14], "texture": "#5"},
"south": {"uv": [4, 1, 9, 14], "texture": "#6"},
"west": {"uv": [1, 1, 5, 14], "texture": "#6"},
"up": {"uv": [1, 10, 5, 15], "rotation": 90, "texture": "#9"}
}
},
{
"from": [10, 2, 1],
"to": [15, 15, 5],
"faces": {
"north": {"uv": [15, 1, 10, 14], "texture": "#4"},
"east": {"uv": [5, 1, 1, 14], "texture": "#6"},
"south": {"uv": [9, 1, 4, 14], "texture": "#6"},
"west": {"uv": [16, 1, 12, 14], "texture": "#5"},
"up": {"uv": [1, 1, 5, 6], "rotation": 90, "texture": "#9"}
}
},
{
"from": [1, 2, 11],
"to": [6, 15, 15],
"faces": {
"north": {"uv": [4, 1, 9, 14], "texture": "#6"},
"east": {"uv": [0, 1, 4, 14], "texture": "#5"},
"south": {"uv": [1, 1, 6, 14], "texture": "#4"},
"west": {"uv": [11, 1, 15, 14], "texture": "#6"},
"up": {"uv": [11, 10, 15, 15], "rotation": 90, "texture": "#9"}
}
},
{
"from": [10, 2, 11],
"to": [15, 15, 15],
"faces": {
"north": {"uv": [9, 1, 4, 14], "texture": "#6"},
"east": {"uv": [15, 1, 11, 14], "texture": "#6"},
"south": {"uv": [6, 1, 1, 14], "texture": "#4"},
"west": {"uv": [4, 1, 0, 14], "texture": "#5"},
"up": {"uv": [11, 1, 15, 6], "rotation": 90, "texture": "#9"}
}
},
{
"from": [1, 2, 5],
"to": [6, 8, 11],
"faces": {
"north": {"uv": [10, 1, 15, 14], "texture": "#4"},
"west": {"uv": [5, 8, 11, 14], "texture": "#6"},
"up": {"uv": [5, 3, 11, 8], "rotation": 90, "texture": "#6"}
}
},
{
"from": [10, 2, 5],
"to": [15, 8, 11],
"faces": {
"north": {"uv": [15, 1, 10, 14], "texture": "#4"},
"east": {"uv": [11, 8, 5, 14], "texture": "#6"},
"up": {"uv": [5, 8, 11, 3], "rotation": 90, "texture": "#6"}
}
},
{
"from": [10, 9, 5],
"to": [14, 14, 11],
"faces": {
"north": {"uv": [15, 1, 10, 14], "texture": "#4"},
"east": {"uv": [12, 9, 6, 14], "texture": "#5"},
"west": {"uv": [12, 9, 6, 14], "texture": "#5"},
"up": {"uv": [6, 6, 12, 2], "rotation": 90, "texture": "#5"},
"down": {"uv": [6, 6, 12, 2], "rotation": 90, "texture": "#5"}
}
},
{
"from": [2, 9, 5],
"to": [6, 14, 11],
"faces": {
"north": {"uv": [10, 1, 15, 14], "texture": "#4"},
"east": {"uv": [6, 9, 12, 14], "texture": "#5"},
"west": {"uv": [6, 9, 12, 14], "texture": "#5"},
"up": {"uv": [6, 2, 12, 6], "rotation": 90, "texture": "#5"},
"down": {"uv": [6, 2, 12, 6], "rotation": 90, "texture": "#5"}
}
},
{ {
"from": [0, 0, 0], "from": [0, 0, 0],
"to": [16, 2, 16], "to": [16, 4, 16],
"faces": { "faces": {
"north": {"uv": [0, 14, 16, 16], "texture": "#5"}, "north": {"uv": [0, 12, 16, 16], "texture": "#0"},
"east": {"uv": [0, 14, 16, 16], "texture": "#5"}, "east": {"uv": [0, 12, 16, 16], "texture": "#0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#5"}, "south": {"uv": [0, 12, 16, 16], "texture": "#0"},
"west": {"uv": [0, 14, 16, 16], "texture": "#5"}, "west": {"uv": [0, 12, 16, 16], "texture": "#0"},
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#4"}, "up": {"uv": [0, 0, 16, 16], "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#6"} "down": {"uv": [0, 0, 16, 16], "texture": "#6"}
} }
}, },
{ {
"from": [6, 2, 1], "from": [0, 8, 0],
"to": [10, 11, 15], "to": [5, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 18, 8]},
"faces": { "faces": {
"north": {"uv": [6, 5, 10, 14], "texture": "#4"}, "north": {"uv": [6, 6, 11, 0], "texture": "#0"},
"south": {"uv": [6, 5, 10, 14], "texture": "#4"}, "east": {"uv": [0, 10, 16, 16], "texture": "#4"},
"up": {"uv": [1, 6, 15, 10], "rotation": 90, "texture": "#8"} "south": {"uv": [0, 0, 5, 6], "texture": "#0"},
"west": {"uv": [0, 0, 8, 3], "texture": "#3"},
"up": {"uv": [0, 0, 5, 16], "texture": "#5"},
"down": {"uv": [0, 0, 5, 16], "texture": "#6"}
}
},
{
"from": [1, 4, 1],
"to": [15, 12, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 8]},
"faces": {
"north": {"uv": [1, 4, 15, 12], "texture": "#4"},
"east": {"uv": [1, 4, 15, 12], "texture": "#0"},
"south": {"uv": [1, 4, 15, 12], "texture": "#4"},
"west": {"uv": [1, 4, 15, 12], "texture": "#0"},
"up": {"uv": [1, 1, 15, 15], "texture": "#5"}
}
},
{
"from": [11, 8, 0],
"to": [16, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [19, 18, 8]},
"faces": {
"north": {"uv": [0, 0, 5, 6], "texture": "#0"},
"east": {"uv": [0, 0, 8, 3], "texture": "#3"},
"south": {"uv": [6, 6, 11, 0], "texture": "#0"},
"west": {"uv": [0, 10, 16, 16], "texture": "#4"},
"up": {"uv": [11, 0, 16, 16], "texture": "#5"},
"down": {"uv": [11, 0, 16, 16], "texture": "#6"}
}
},
{
"from": [10, 11, 0],
"to": [11, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [18, 18, 8]},
"faces": {
"north": {"uv": [5, 0, 6, 3], "texture": "#0"},
"south": {"uv": [5, 6, 6, 3], "texture": "#0"},
"west": {"uv": [6, 0, 3, 16], "rotation": 90, "texture": "#5"},
"up": {"uv": [11, 0, 10, 16], "texture": "#5"},
"down": {"uv": [15, 0, 16, 16], "texture": "#6"}
}
},
{
"from": [5, 11, 0],
"to": [6, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-2, 18, 8]},
"faces": {
"north": {"uv": [5, 6, 6, 3], "texture": "#0"},
"east": {"uv": [6, 0, 3, 16], "rotation": 90, "texture": "#5"},
"south": {"uv": [5, 0, 6, 3], "texture": "#0"},
"up": {"uv": [6, 0, 5, 16], "texture": "#5"},
"down": {"uv": [16, 0, 15, 16], "texture": "#6"}
} }
} }
] ]

View file

@ -0,0 +1,210 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"textures": {
"2": "create:block/brass_casing",
"3": "create:block/brass_casing_side",
"4": "create:block/brass_block",
"5": "create:block/rotation_speed_controller_bracket",
"6": "create:block/rotation_speed_controller",
"particle": "create:block/brass_block"
},
"elements": [
{
"from": [11.9, 3, 2],
"to": [14, 6, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 4.5, -24]},
"faces": {
"north": {"uv": [8, 3, 10, 6], "texture": "#5"},
"east": {"uv": [10, 3, 14, 6], "texture": "#5"},
"south": {"uv": [10, 3, 8, 6], "texture": "#5"},
"up": {"uv": [10, 1, 14, 3], "rotation": 90, "texture": "#5"},
"down": {"uv": [10, 1, 14, 3], "rotation": 90, "texture": "#5"}
}
},
{
"from": [4.1, 3, 2],
"to": [11.9, 13, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 4.5, -24]},
"faces": {
"north": {"uv": [0, 0, 8, 10], "rotation": 180, "texture": "#5"},
"east": {"uv": [7, 0, 8, 10], "texture": "#5"},
"south": {"uv": [0, 0, 8, 10], "rotation": 180, "texture": "#5"},
"west": {"uv": [7, 0, 8, 10], "texture": "#5"},
"up": {"uv": [8, 6, 16, 10], "texture": "#5"}
}
},
{
"from": [2, 3, 2],
"to": [4.1, 6, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [3, 4.5, -24]},
"faces": {
"north": {"uv": [10, 3, 8, 6], "texture": "#5"},
"south": {"uv": [8, 3, 10, 6], "texture": "#5"},
"west": {"uv": [10, 3, 14, 6], "texture": "#5"},
"up": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#5"},
"down": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#5"}
}
},
{
"from": [2, 10, 2],
"to": [4.1, 13, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [3, 11.5, -24]},
"faces": {
"north": {"uv": [10, 3, 8, 6], "texture": "#5"},
"south": {"uv": [8, 3, 10, 6], "texture": "#5"},
"west": {"uv": [10, 3, 14, 6], "texture": "#5"},
"up": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#5"},
"down": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#5"}
}
},
{
"from": [12.5, 6, 3.5],
"to": [13.5, 14, 4.5],
"rotation": {"angle": 0, "axis": "y", "origin": [20, 14, -16]},
"faces": {
"north": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"east": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"south": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"west": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"up": {"uv": [13, 9, 14, 10], "texture": "#3"},
"down": {"uv": [0, 0, 0, 0], "texture": "#4"}
}
},
{
"from": [11.9, 10, 2],
"to": [14, 13, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [18, 11.5, -24]},
"faces": {
"north": {"uv": [8, 3, 10, 6], "texture": "#5"},
"east": {"uv": [10, 3, 14, 6], "texture": "#5"},
"south": {"uv": [10, 3, 8, 6], "texture": "#5"},
"up": {"uv": [10, 1, 14, 3], "rotation": 90, "texture": "#5"},
"down": {"uv": [10, 1, 14, 3], "rotation": 90, "texture": "#5"}
}
},
{
"from": [2.5, 6, 3.5],
"to": [3.5, 14, 4.5],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 14, -16]},
"faces": {
"north": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"east": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"south": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"west": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"up": {"uv": [13, 9, 14, 10], "texture": "#3"},
"down": {"uv": [0, 0, 0, 0], "texture": "#4"}
}
},
{
"from": [11.9, 3, 10],
"to": [14, 6, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 4.5, -16]},
"faces": {
"north": {"uv": [8, 3, 10, 6], "texture": "#5"},
"east": {"uv": [10, 3, 14, 6], "texture": "#5"},
"south": {"uv": [10, 3, 8, 6], "texture": "#5"},
"up": {"uv": [10, 1, 14, 3], "rotation": 90, "texture": "#5"},
"down": {"uv": [10, 1, 14, 3], "rotation": 90, "texture": "#5"}
}
},
{
"from": [4.1, 3, 10],
"to": [11.9, 13, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 4.5, -16]},
"faces": {
"north": {"uv": [0, 0, 8, 10], "rotation": 180, "texture": "#5"},
"east": {"uv": [7, 0, 8, 10], "texture": "#5"},
"south": {"uv": [0, 0, 8, 10], "rotation": 180, "texture": "#5"},
"west": {"uv": [7, 0, 8, 10], "texture": "#5"},
"up": {"uv": [8, 6, 16, 10], "texture": "#5"}
}
},
{
"from": [2, 3, 10],
"to": [4.1, 6, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [3, 4.5, -16]},
"faces": {
"north": {"uv": [10, 3, 8, 6], "texture": "#5"},
"south": {"uv": [8, 3, 10, 6], "texture": "#5"},
"west": {"uv": [10, 3, 14, 6], "texture": "#5"},
"up": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#5"},
"down": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#5"}
}
},
{
"from": [2, 10, 10],
"to": [4.1, 13, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [3, 11.5, -16]},
"faces": {
"north": {"uv": [10, 3, 8, 6], "texture": "#5"},
"south": {"uv": [8, 3, 10, 6], "texture": "#5"},
"west": {"uv": [10, 3, 14, 6], "texture": "#5"},
"up": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#5"},
"down": {"uv": [10, 1, 14, 3], "rotation": 270, "texture": "#5"}
}
},
{
"from": [12.5, 6, 11.5],
"to": [13.5, 14, 12.5],
"rotation": {"angle": 0, "axis": "y", "origin": [20, 14, -8]},
"faces": {
"north": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"east": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"south": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"west": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"up": {"uv": [13, 9, 14, 10], "texture": "#3"},
"down": {"uv": [0, 0, 0, 0], "texture": "#4"}
}
},
{
"from": [11.9, 10, 10],
"to": [14, 13, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [18, 11.5, -16]},
"faces": {
"north": {"uv": [8, 3, 10, 6], "texture": "#5"},
"east": {"uv": [10, 3, 14, 6], "texture": "#5"},
"south": {"uv": [10, 3, 8, 6], "texture": "#5"},
"up": {"uv": [10, 1, 14, 3], "rotation": 90, "texture": "#5"},
"down": {"uv": [10, 1, 14, 3], "rotation": 90, "texture": "#5"}
}
},
{
"from": [2.5, 6, 11.5],
"to": [3.5, 14, 12.5],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 14, -8]},
"faces": {
"north": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"east": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"south": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"west": {"uv": [6, 13, 14, 14], "rotation": 90, "texture": "#3"},
"up": {"uv": [13, 9, 14, 10], "texture": "#3"},
"down": {"uv": [0, 0, 0, 0], "texture": "#4"}
}
},
{
"from": [1, -2, 10],
"to": [15, 3, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1.5, 8]},
"faces": {
"north": {"uv": [0, 10, 14, 15], "texture": "#5"},
"east": {"uv": [11, 1, 16, 6], "texture": "#6"},
"south": {"uv": [0, 10, 14, 15], "texture": "#5"},
"west": {"uv": [11, 1, 16, 6], "texture": "#6"},
"up": {"uv": [10, 1, 15, 15], "rotation": 90, "texture": "#2"}
}
},
{
"from": [1, -2, 1],
"to": [15, 3, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1.5, 8]},
"faces": {
"north": {"uv": [14, 10, 0, 15], "texture": "#5"},
"east": {"uv": [11, 1, 16, 6], "texture": "#6"},
"south": {"uv": [0, 10, 14, 15], "texture": "#5"},
"west": {"uv": [11, 1, 16, 6], "texture": "#6"},
"up": {"uv": [15, 1, 10, 15], "rotation": 90, "texture": "#2"}
}
}
]
}

View file

@ -1,101 +1,17 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"parent": "block/block", "parent": "create:block/block",
"textures": { "textures": {
"0": "create:block/axis", "0": "create:block/axis",
"3": "create:block/axis_top", "3": "create:block/axis_top",
"4": "create:block/brass_gearbox", "4": "create:block/brass_gearbox",
"5": "create:block/brass_casing_side",
"6": "create:block/brass_casing",
"8": "create:block/encased_chain_drive_middle",
"9": "create:block/brass_block", "9": "create:block/brass_block",
"particle": "create:block/brass_casing" "particle": "create:block/brass_gearbox",
"1_0": "create:block/rotation_speed_controller",
"1_3": "create:block/brass_funnel_plating",
"1_5": "create:block/rotation_speed_controller_top"
}, },
"elements": [ "elements": [
{
"from": [1, 2, 1],
"to": [6, 15, 5],
"faces": {
"north": {"uv": [10, 1, 15, 14], "texture": "#4"},
"east": {"uv": [12, 1, 16, 14], "texture": "#5"},
"south": {"uv": [4, 1, 9, 14], "texture": "#6"},
"west": {"uv": [1, 1, 5, 14], "texture": "#6"},
"up": {"uv": [1, 10, 5, 15], "rotation": 90, "texture": "#9"}
}
},
{
"from": [10, 2, 1],
"to": [15, 15, 5],
"faces": {
"north": {"uv": [15, 1, 10, 14], "texture": "#4"},
"east": {"uv": [5, 1, 1, 14], "texture": "#6"},
"south": {"uv": [9, 1, 4, 14], "texture": "#6"},
"west": {"uv": [16, 1, 12, 14], "texture": "#5"},
"up": {"uv": [1, 1, 5, 6], "rotation": 90, "texture": "#9"}
}
},
{
"from": [1, 2, 11],
"to": [6, 15, 15],
"faces": {
"north": {"uv": [4, 1, 9, 14], "texture": "#6"},
"east": {"uv": [0, 1, 4, 14], "texture": "#5"},
"south": {"uv": [1, 1, 6, 14], "texture": "#4"},
"west": {"uv": [11, 1, 15, 14], "texture": "#6"},
"up": {"uv": [11, 10, 15, 15], "rotation": 90, "texture": "#9"}
}
},
{
"from": [10, 2, 11],
"to": [15, 15, 15],
"faces": {
"north": {"uv": [9, 1, 4, 14], "texture": "#6"},
"east": {"uv": [15, 1, 11, 14], "texture": "#6"},
"south": {"uv": [6, 1, 1, 14], "texture": "#4"},
"west": {"uv": [4, 1, 0, 14], "texture": "#5"},
"up": {"uv": [11, 1, 15, 6], "rotation": 90, "texture": "#9"}
}
},
{
"from": [1, 2, 5],
"to": [6, 8, 11],
"faces": {
"north": {"uv": [10, 1, 15, 14], "texture": "#4"},
"west": {"uv": [5, 8, 11, 14], "texture": "#6"},
"up": {"uv": [5, 3, 11, 8], "rotation": 90, "texture": "#6"}
}
},
{
"from": [10, 2, 5],
"to": [15, 8, 11],
"faces": {
"north": {"uv": [15, 1, 10, 14], "texture": "#4"},
"east": {"uv": [11, 8, 5, 14], "texture": "#6"},
"up": {"uv": [5, 8, 11, 3], "rotation": 90, "texture": "#6"}
}
},
{
"from": [2, 9, 5],
"to": [6, 14, 11],
"faces": {
"north": {"uv": [10, 1, 15, 14], "texture": "#4"},
"east": {"uv": [6, 9, 12, 14], "texture": "#5"},
"west": {"uv": [6, 9, 12, 14], "texture": "#5"},
"up": {"uv": [8, 2, 14, 6], "rotation": 90, "texture": "#5"},
"down": {"uv": [8, 2, 14, 6], "rotation": 90, "texture": "#5"}
}
},
{
"from": [10, 9, 5],
"to": [14, 14, 11],
"faces": {
"north": {"uv": [15, 1, 10, 14], "texture": "#4"},
"east": {"uv": [6, 9, 12, 14], "texture": "#5"},
"west": {"uv": [6, 9, 12, 14], "texture": "#5"},
"up": {"uv": [8, 2, 14, 6], "rotation": 270, "texture": "#5"},
"down": {"uv": [8, 2, 14, 6], "rotation": 90, "texture": "#5"}
}
},
{ {
"name": "Axis", "name": "Axis",
"from": [6, 6, 0], "from": [6, 6, 0],
@ -111,24 +27,84 @@
}, },
{ {
"from": [0, 0, 0], "from": [0, 0, 0],
"to": [16, 2, 16], "to": [16, 4, 16],
"faces": { "faces": {
"north": {"uv": [0, 14, 16, 16], "texture": "#5"}, "north": {"uv": [0, 12, 16, 16], "texture": "#1_0"},
"east": {"uv": [0, 14, 16, 16], "texture": "#5"}, "east": {"uv": [0, 12, 16, 16], "texture": "#1_0"},
"south": {"uv": [0, 14, 16, 16], "texture": "#5"}, "south": {"uv": [0, 12, 16, 16], "texture": "#1_0"},
"west": {"uv": [0, 14, 16, 16], "texture": "#5"}, "west": {"uv": [0, 12, 16, 16], "texture": "#1_0"},
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#4"}, "up": {"uv": [0, 0, 16, 16], "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#6"} "down": {"uv": [0, 0, 16, 16], "texture": "#9"}
} }
}, },
{ {
"from": [6, 2, 1], "from": [0, 8, 0],
"to": [10, 11, 15], "to": [5, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 18, 8]},
"faces": { "faces": {
"north": {"uv": [6, 5, 10, 14], "texture": "#4"}, "north": {"uv": [6, 6, 11, 0], "texture": "#1_0"},
"south": {"uv": [6, 5, 10, 14], "texture": "#4"}, "east": {"uv": [0, 10, 16, 16], "texture": "#4"},
"up": {"uv": [1, 6, 15, 10], "rotation": 90, "texture": "#8"} "south": {"uv": [0, 0, 5, 6], "texture": "#1_0"},
"west": {"uv": [0, 0, 8, 3], "texture": "#1_3"},
"up": {"uv": [0, 0, 5, 16], "texture": "#1_5"},
"down": {"uv": [0, 0, 5, 16], "texture": "#9"}
} }
},
{
"from": [1, 4, 1],
"to": [15, 12, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 8]},
"faces": {
"north": {"uv": [1, 4, 15, 12], "texture": "#4"},
"east": {"uv": [1, 4, 15, 12], "texture": "#1_0"},
"south": {"uv": [1, 4, 15, 12], "texture": "#4"},
"west": {"uv": [1, 4, 15, 12], "texture": "#1_0"},
"up": {"uv": [1, 1, 15, 15], "texture": "#1_5"}
}
},
{
"from": [11, 8, 0],
"to": [16, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [19, 18, 8]},
"faces": {
"north": {"uv": [0, 0, 5, 6], "texture": "#1_0"},
"east": {"uv": [0, 0, 8, 3], "texture": "#1_3"},
"south": {"uv": [6, 6, 11, 0], "texture": "#1_0"},
"west": {"uv": [0, 10, 16, 16], "texture": "#4"},
"up": {"uv": [11, 0, 16, 16], "texture": "#1_5"},
"down": {"uv": [11, 0, 16, 16], "texture": "#9"}
}
},
{
"from": [10, 11, 0],
"to": [11, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [18, 18, 8]},
"faces": {
"north": {"uv": [5, 0, 6, 3], "texture": "#1_0"},
"south": {"uv": [5, 6, 6, 3], "texture": "#1_0"},
"west": {"uv": [6, 0, 3, 16], "rotation": 90, "texture": "#1_5"},
"up": {"uv": [11, 0, 10, 16], "texture": "#1_5"},
"down": {"uv": [15, 0, 16, 16], "texture": "#9"}
}
},
{
"from": [5, 11, 0],
"to": [6, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-2, 18, 8]},
"faces": {
"north": {"uv": [5, 6, 6, 3], "texture": "#1_0"},
"east": {"uv": [6, 0, 3, 16], "rotation": 90, "texture": "#1_5"},
"south": {"uv": [5, 0, 6, 3], "texture": "#1_0"},
"up": {"uv": [6, 0, 5, 16], "texture": "#1_5"},
"down": {"uv": [16, 0, 15, 16], "texture": "#9"}
}
}
],
"groups": [0,
{
"name": "block",
"origin": [8, 8, 8],
"children": [1, 2, 3, 4, 5, 6]
} }
] ]
} }

View file

@ -2,73 +2,44 @@
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"parent": "block/block", "parent": "block/block",
"textures": { "textures": {
"0": "create:block/brass_casing",
"1": "create:block/brass_gearbox", "1": "create:block/brass_gearbox",
"4": "create:block/sequenced_gearshift", "4": "create:block/sequenced_gearshift",
"particle": "create:block/brass_gearbox" "particle": "create:block/brass_gearbox"
}, },
"elements": [ "elements": [
{
"name": "Core",
"from": [1, 1, 1],
"to": [15, 15, 15],
"faces": {
"north": {"uv": [1, 1, 15, 15], "texture": "#1"},
"south": {"uv": [1, 1, 15, 15], "texture": "#1"},
"up": {"uv": [1, 1, 15, 15], "texture": "#4"},
"down": {"uv": [1, 1, 15, 15], "texture": "#4"}
}
},
{
"name": "Top",
"from": [0, 14, 0],
"to": [5, 16, 16],
"faces": {
"north": {"uv": [11, 0, 16, 2], "texture": "#0"},
"east": {"uv": [0, 0, 2, 16], "rotation": 90, "texture": "#4"},
"south": {"uv": [0, 0, 5, 2], "texture": "#0"},
"west": {"uv": [0, 0, 2, 16], "rotation": 270, "texture": "#4"},
"up": {"uv": [0, 0, 5, 16], "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
},
{ {
"name": "Bottom", "name": "Bottom",
"from": [0, 0, 0], "from": [0, 14, 0],
"to": [5, 2, 16],
"faces": {
"north": {"uv": [11, 14, 16, 16], "texture": "#0"},
"east": {"uv": [2, 0, 0, 16], "rotation": 90, "texture": "#4"},
"south": {"uv": [0, 14, 5, 16], "texture": "#0"},
"west": {"uv": [2, 0, 0, 16], "rotation": 90, "texture": "#4"},
"up": {"uv": [0, 16, 16, 0], "texture": "#0"},
"down": {"uv": [0, 16, 5, 0], "texture": "#4"}
}
},
{
"name": "Top",
"from": [11, 14, 0],
"to": [16, 16, 16], "to": [16, 16, 16],
"faces": { "faces": {
"north": {"uv": [16, 0, 11, 2], "texture": "#0"}, "north": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"},
"east": {"uv": [0, 16, 2, 0], "rotation": 90, "texture": "#4"}, "east": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#4"},
"south": {"uv": [5, 0, 0, 2], "texture": "#0"}, "south": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"},
"west": {"uv": [0, 16, 2, 0], "rotation": 90, "texture": "#4"}, "west": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#4"},
"up": {"uv": [11, 0, 16, 16], "texture": "#4"}, "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#4"},
"down": {"uv": [16, 0, 0, 16], "texture": "#0"} "down": {"uv": [0, 0, 16, 16], "texture": "#1"}
} }
}, },
{ {
"name": "Bottom", "name": "Core",
"from": [11, 0, 0], "from": [1, 2, 1],
"to": [15, 14, 15],
"faces": {
"north": {"uv": [1, 2, 15, 14], "rotation": 180, "texture": "#1"},
"south": {"uv": [1, 2, 15, 14], "rotation": 180, "texture": "#1"}
}
},
{
"name": "Top",
"from": [0, 0, 0],
"to": [16, 2, 16], "to": [16, 2, 16],
"faces": { "faces": {
"north": {"uv": [0, 14, 5, 16], "texture": "#0"}, "north": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"},
"east": {"uv": [2, 16, 0, 0], "rotation": 90, "texture": "#4"}, "east": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#4"},
"south": {"uv": [11, 14, 16, 16], "texture": "#0"}, "south": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"},
"west": {"uv": [2, 16, 0, 0], "rotation": 90, "texture": "#4"}, "west": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#4"},
"up": {"uv": [16, 16, 0, 0], "texture": "#0"}, "up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [11, 16, 16, 0], "texture": "#4"} "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#4"}
} }
}, },
{ {
@ -76,10 +47,10 @@
"from": [0, 2, 0], "from": [0, 2, 0],
"to": [2, 14, 16], "to": [2, 14, 16],
"faces": { "faces": {
"north": {"uv": [14, 2, 16, 14], "texture": "#0"}, "north": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"},
"east": {"uv": [0, 2, 16, 14], "texture": "#0"}, "east": {"uv": [0, 2, 16, 14], "rotation": 180, "texture": "#1"},
"south": {"uv": [0, 2, 2, 14], "texture": "#0"}, "south": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"},
"west": {"uv": [0, 2, 16, 14], "texture": "#0"} "west": {"uv": [0, 2, 16, 14], "rotation": 180, "texture": "#4"}
} }
}, },
{ {
@ -87,24 +58,18 @@
"from": [14, 2, 0], "from": [14, 2, 0],
"to": [16, 14, 16], "to": [16, 14, 16],
"faces": { "faces": {
"north": {"uv": [0, 2, 2, 14], "texture": "#0"}, "north": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"},
"east": {"uv": [0, 2, 16, 14], "texture": "#0"}, "east": {"uv": [0, 2, 16, 14], "rotation": 180, "texture": "#4"},
"south": {"uv": [14, 2, 16, 14], "texture": "#0"}, "south": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"},
"west": {"uv": [0, 2, 16, 14], "texture": "#0"} "west": {"uv": [0, 2, 16, 14], "rotation": 180, "texture": "#1"}
} }
} }
], ],
"groups": [ "groups": [
{ {
"name": "encased_shaft", "name": "block",
"origin": [8, 8, 8], "origin": [8, 8, 8],
"children": [0, 1, 2, 3, 4, 5, 6, "children": [0, 1, 2, 3, 4]
{
"name": "shaft",
"origin": [8, 8, 8],
"children": []
}
]
} }
] ]
} }

View file

@ -2,99 +2,13 @@
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"parent": "block/block", "parent": "block/block",
"textures": { "textures": {
"0": "create:block/brass_casing",
"1": "create:block/brass_gearbox", "1": "create:block/brass_gearbox",
"4": "create:block/sequenced_gearshift", "4": "create:block/sequenced_gearshift",
"particle": "create:block/axis", "particle": "create:block/brass_gearbox",
"1_0": "create:block/axis", "1_0": "create:block/axis",
"1_1": "create:block/axis_top" "1_1": "create:block/axis_top"
}, },
"elements": [ "elements": [
{
"name": "Core",
"from": [1, 1, 1],
"to": [15, 15, 15],
"faces": {
"north": {"uv": [1, 1, 15, 15], "texture": "#1"},
"south": {"uv": [1, 1, 15, 15], "texture": "#1"},
"up": {"uv": [1, 1, 15, 15], "texture": "#4"},
"down": {"uv": [1, 1, 15, 15], "texture": "#4"}
}
},
{
"name": "Top",
"from": [0, 14, 0],
"to": [5, 16, 16],
"faces": {
"north": {"uv": [11, 0, 16, 2], "texture": "#0"},
"east": {"uv": [0, 0, 2, 16], "rotation": 90, "texture": "#4"},
"south": {"uv": [0, 0, 5, 2], "texture": "#0"},
"west": {"uv": [0, 0, 2, 16], "rotation": 270, "texture": "#4"},
"up": {"uv": [0, 0, 5, 16], "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
},
{
"name": "Bottom",
"from": [0, 0, 0],
"to": [5, 2, 16],
"faces": {
"north": {"uv": [11, 14, 16, 16], "texture": "#0"},
"east": {"uv": [2, 0, 0, 16], "rotation": 90, "texture": "#4"},
"south": {"uv": [0, 14, 5, 16], "texture": "#0"},
"west": {"uv": [2, 0, 0, 16], "rotation": 90, "texture": "#4"},
"up": {"uv": [0, 16, 16, 0], "texture": "#0"},
"down": {"uv": [0, 16, 5, 0], "texture": "#4"}
}
},
{
"name": "Top",
"from": [11, 14, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [16, 0, 11, 2], "texture": "#0"},
"east": {"uv": [0, 16, 2, 0], "rotation": 90, "texture": "#4"},
"south": {"uv": [5, 0, 0, 2], "texture": "#0"},
"west": {"uv": [0, 16, 2, 0], "rotation": 90, "texture": "#4"},
"up": {"uv": [11, 0, 16, 16], "texture": "#4"},
"down": {"uv": [16, 0, 0, 16], "texture": "#0"}
}
},
{
"name": "Bottom",
"from": [11, 0, 0],
"to": [16, 2, 16],
"faces": {
"north": {"uv": [0, 14, 5, 16], "texture": "#0"},
"east": {"uv": [2, 16, 0, 0], "rotation": 90, "texture": "#4"},
"south": {"uv": [11, 14, 16, 16], "texture": "#0"},
"west": {"uv": [2, 16, 0, 0], "rotation": 90, "texture": "#4"},
"up": {"uv": [16, 16, 0, 0], "texture": "#0"},
"down": {"uv": [11, 16, 16, 0], "texture": "#4"}
}
},
{
"name": "SideWest",
"from": [0, 2, 0],
"to": [2, 14, 16],
"faces": {
"north": {"uv": [14, 2, 16, 14], "texture": "#0"},
"east": {"uv": [0, 2, 16, 14], "texture": "#0"},
"south": {"uv": [0, 2, 2, 14], "texture": "#0"},
"west": {"uv": [0, 2, 16, 14], "texture": "#0"}
}
},
{
"name": "SideEast",
"from": [14, 2, 0],
"to": [16, 14, 16],
"faces": {
"north": {"uv": [0, 2, 2, 14], "texture": "#0"},
"east": {"uv": [0, 2, 16, 14], "texture": "#0"},
"south": {"uv": [14, 2, 16, 14], "texture": "#0"},
"west": {"uv": [0, 2, 16, 14], "texture": "#0"}
}
},
{ {
"name": "Axis", "name": "Axis",
"from": [6, 6, 0], "from": [6, 6, 0],
@ -107,17 +21,85 @@
"up": {"uv": [6, 0, 10, 16], "texture": "#1_0"}, "up": {"uv": [6, 0, 10, 16], "texture": "#1_0"},
"down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"} "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"}
} }
},
{
"name": "Bottom",
"from": [0, 14, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"},
"east": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#4"},
"south": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"},
"west": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#4"},
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#4"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
},
{
"name": "Core",
"from": [1, 2, 1],
"to": [15, 14, 15],
"faces": {
"north": {"uv": [1, 2, 15, 14], "rotation": 180, "texture": "#1"},
"south": {"uv": [1, 2, 15, 14], "rotation": 180, "texture": "#1"}
}
},
{
"name": "Top",
"from": [0, 0, 0],
"to": [16, 2, 16],
"faces": {
"north": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"},
"east": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#4"},
"south": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"},
"west": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#4"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#4"}
}
},
{
"name": "SideWest",
"from": [0, 2, 0],
"to": [2, 14, 16],
"faces": {
"north": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"},
"east": {"uv": [0, 2, 16, 14], "rotation": 180, "texture": "#1"},
"south": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"},
"west": {"uv": [0, 2, 16, 14], "rotation": 180, "texture": "#4"}
}
},
{
"name": "SideEast",
"from": [14, 2, 0],
"to": [16, 14, 16],
"faces": {
"north": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"},
"east": {"uv": [0, 2, 16, 14], "rotation": 180, "texture": "#4"},
"south": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"},
"west": {"uv": [0, 2, 16, 14], "rotation": 180, "texture": "#1"}
}
} }
], ],
"groups": [ "groups": [
{ {
"name": "encased_shaft", "name": "encased_shaft",
"origin": [8, 8, 8], "origin": [8, 8, 8],
"children": [0, 1, 2, 3, 4, 5, 6, "children": [
{ {
"name": "shaft", "name": "shaft",
"origin": [8, 8, 8], "origin": [8, 8, 8],
"children": [7] "children": [0]
}
]
},
{
"name": "idle",
"origin": [8, 8, 8],
"children": [
{
"name": "block",
"origin": [8, 8, 8],
"children": [1, 2, 3, 4, 5]
} }
] ]
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 547 B

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 435 B

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 B

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 561 B

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 588 B

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 566 B

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 548 B

After

Width:  |  Height:  |  Size: 347 B