diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index a0cad2738..0cbae5f39 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -1344,6 +1344,7 @@ public class AllBlocks { .blockstate(BlockStateGen.directionalBlockProvider(true)) .transform(BlockStressDefaults.setImpact(4.0)) .onRegister(movementBehaviour(new DrillMovementBehaviour())) + .addLayer(() -> RenderType::cutoutMipped) .item() .transform(customItemModel()) .register(); diff --git a/src/main/java/com/simibubi/create/AllPartialModels.java b/src/main/java/com/simibubi/create/AllPartialModels.java index f2c5ae62c..4dafa66ff 100644 --- a/src/main/java/com/simibubi/create/AllPartialModels.java +++ b/src/main/java/com/simibubi/create/AllPartialModels.java @@ -45,6 +45,7 @@ public class AllPartialModels { GAUGE_INDICATOR = block("gauge/indicator"), GAUGE_HEAD_SPEED = block("gauge/speedometer/head"), GAUGE_HEAD_STRESS = block("gauge/stressometer/head"), BEARING_TOP = block("bearing/top"), BEARING_TOP_WOODEN = block("bearing/top_wooden"), DRILL_HEAD = block("mechanical_drill/head"), + DRILL_HEAD_2 = block("mechanical_drill/head_2"), DRILL_HEAD_TOP = block("mechanical_drill/head_top"), HARVESTER_BLADE = block("mechanical_harvester/blade"), DEPLOYER_POLE = block("deployer/pole"), DEPLOYER_HAND_POINTING = block("deployer/hand_pointing"), DEPLOYER_HAND_PUNCHING = block("deployer/hand_punching"), diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index 609d3320a..d3acc5c6d 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -160,6 +160,9 @@ public class AllShapes { PLACARD = shape(2, 0, 2, 14, 3, 14).forDirectional(UP), + DRILL = shape(0, 0, 0, 16, 8, 16).add(3, 0, 3, 13, 16, 13) + .forDirectional(UP), + TRACK_ORTHO = shape(TrackVoxelShapes.orthogonal()).forHorizontal(NORTH), TRACK_ASC = shape(TrackVoxelShapes.ascending()).forHorizontal(SOUTH), TRACK_DIAG = shape(TrackVoxelShapes.diagonal()).forHorizontal(SOUTH), diff --git a/src/main/java/com/simibubi/create/AllSpriteShifts.java b/src/main/java/com/simibubi/create/AllSpriteShifts.java index 6c33af044..e9c82f007 100644 --- a/src/main/java/com/simibubi/create/AllSpriteShifts.java +++ b/src/main/java/com/simibubi/create/AllSpriteShifts.java @@ -72,6 +72,11 @@ public class AllSpriteShifts { public static final SpriteShiftEntry ELEVATOR_BELT = get("block/elevator_pulley_belt", "block/elevator_pulley_belt_scroll"), ELEVATOR_COIL = get("block/elevator_pulley_coil", "block/elevator_pulley_coil_scroll"); + + public static final SpriteShiftEntry + DRILL = get("block/mechanical_drill_head", "block/mechanical_drill_animation"), + DRILL_2 = get("block/mechanical_drill_head_2", "block/mechanical_drill_animation_2"), + DRILL_TOP = get("block/mechanical_drill_head_top", "block/mechanical_drill_animation_top"); public static final SpriteShiftEntry BELT = get("block/belt", "block/belt_scroll"), BELT_OFFSET = get("block/belt_offset", "block/belt_scroll"), diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlock.java index 04e5d19f5..83043375a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillBlock.java @@ -60,7 +60,7 @@ public class DrillBlock extends DirectionalKineticBlock implements IBE { @@ -25,32 +31,86 @@ public class DrillRenderer extends KineticBlockEntityRenderer } @Override - protected SuperByteBuffer getRotatedModel(DrillBlockEntity be, BlockState state) { - return CachedBufferer.partialFacing(AllPartialModels.DRILL_HEAD, state); + protected void renderSafe(DrillBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + if (Backend.canUseInstancing(be.getLevel())) + return; + + BlockState blockState = be.getBlockState(); + renderStationary(be, ms, buffer, light, blockState, AllPartialModels.DRILL_HEAD, AllSpriteShifts.DRILL); + renderStationary(be, ms, buffer, light, blockState, AllPartialModels.DRILL_HEAD_2, AllSpriteShifts.DRILL_2); + renderStationary(be, ms, buffer, light, blockState, AllPartialModels.DRILL_HEAD_TOP, AllSpriteShifts.DRILL_TOP); + } + + protected static void renderStationary(DrillBlockEntity be, PoseStack ms, MultiBufferSource buffer, int light, + BlockState blockState, PartialModel partial, SpriteShiftEntry spriteShift) { + SuperByteBuffer superBuffer = + CachedBufferer.partialFacingVertical(partial, blockState, blockState.getValue(DrillBlock.FACING)) + .light(light); + applyScroll(be.getLevel(), Math.abs(be.getSpeed()) / 64, spriteShift, superBuffer); + superBuffer.renderInto(ms, buffer.getBuffer(RenderType.solid())); } public static void renderInContraption(MovementContext context, VirtualRenderWorld renderWorld, ContraptionMatrices matrices, MultiBufferSource buffer) { BlockState state = context.state; - SuperByteBuffer superBuffer = CachedBufferer.partial(AllPartialModels.DRILL_HEAD, state); Direction facing = state.getValue(DrillBlock.FACING); - - float speed = (float) (context.contraption.stalled - || !VecHelper.isVecPointingTowards(context.relativeMotion, facing - .getOpposite()) ? context.getAnimationSpeed() : 0); + float speed = (float) Math.min(2.5f, Math.abs( + context.contraption.stalled || !VecHelper.isVecPointingTowards(context.relativeMotion, facing.getOpposite()) + ? context.getAnimationSpeed() / 128 + : 0)); float time = AnimationTickHolder.getRenderTime() / 20; - float angle = (float) (((time * speed) % 360)); + float angle = (float) (((time * speed * 256) % 360)); - superBuffer - .transform(matrices.getModel()) + SuperByteBuffer superBuffer = CachedBufferer.partial(AllPartialModels.SHAFT_HALF, state); + superBuffer.transform(matrices.getModel()) .centre() - .rotateY(AngleHelper.horizontalAngle(facing)) + .rotateY(AngleHelper.horizontalAngle(facing) + 180) .rotateX(AngleHelper.verticalAngle(facing)) .rotateZ(angle) .unCentre() - .light(matrices.getWorld(), - ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld)) + .light(matrices.getWorld(), ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld)) .renderInto(matrices.getViewProjection(), buffer.getBuffer(RenderType.solid())); + + renderMoving(context, renderWorld, matrices, buffer, state, facing, speed, AllPartialModels.DRILL_HEAD, + AllSpriteShifts.DRILL); + renderMoving(context, renderWorld, matrices, buffer, state, facing, speed, AllPartialModels.DRILL_HEAD_2, + AllSpriteShifts.DRILL_2); + renderMoving(context, renderWorld, matrices, buffer, state, facing, speed, AllPartialModels.DRILL_HEAD_TOP, + AllSpriteShifts.DRILL_TOP); + } + + protected static void renderMoving(MovementContext context, VirtualRenderWorld renderWorld, + ContraptionMatrices matrices, MultiBufferSource buffer, BlockState state, Direction facing, float speed, + PartialModel partial, SpriteShiftEntry spriteShift) { + SuperByteBuffer superBuffer = CachedBufferer.partial(partial, state); + superBuffer.transform(matrices.getModel()) + .centre() + .rotateY(AngleHelper.horizontalAngle(facing)) + .rotateX(AngleHelper.verticalAngle(facing) + 90) + .unCentre() + .light(matrices.getWorld(), ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld)); + applyScroll(renderWorld, speed, spriteShift, superBuffer); + superBuffer.renderInto(matrices.getViewProjection(), buffer.getBuffer(RenderType.solid())); + } + + public static void applyScroll(Level level, float speed, SpriteShiftEntry spriteShift, + SuperByteBuffer superBuffer) { + float spriteSize = spriteShift.getTarget() + .getV1() + - spriteShift.getTarget() + .getV0(); + float time = AnimationTickHolder.getRenderTime(level); + int frame = (int) (speed * time); + float scroll = ((frame % 8) / 8f) * spriteSize; + superBuffer.shiftUVScrolling(spriteShift, scroll); + } + + @Override + protected SuperByteBuffer getRotatedModel(DrillBlockEntity be, BlockState state) { + return CachedBufferer.partialFacing(AllPartialModels.SHAFT_HALF, state, state.getValue(DrillBlock.FACING) + .getOpposite()); } } diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/block.json b/src/main/resources/assets/create/models/block/mechanical_drill/block.json index 3a4cf2dec..ea14f6b35 100644 --- a/src/main/resources/assets/create/models/block/mechanical_drill/block.json +++ b/src/main/resources/assets/create/models/block/mechanical_drill/block.json @@ -1,77 +1,81 @@ { "credit": "Made with Blockbench", - "parent": "block/block", "textures": { - "10": "create:block/andesite_casing_very_short", - "gearbox_top": "create:block/gearbox_top", - "particle": "create:block/gearbox", - "gearbox": "create:block/gearbox", - "andesite_casing_short": "create:block/andesite_casing_short" + "0": "create:block/funnel/andesite_funnel_frame", + "1": "create:block/gearbox", + "2": "create:block/mechanical_drill_side", + "3": "create:block/mechanical_drill_top", + "particle": "create:block/gearbox" }, "elements": [ { - "name": "Body", - "from": [2, 1, 2], - "to": [14, 9, 14], - "faces": { - "up": {"uv": [2, 2, 14, 14], "texture": "#gearbox"}, - "down": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#gearbox"} - } - }, - { - "name": "Bottom", - "from": [0, 0, 14], - "to": [16, 10, 16], - "faces": { - "north": {"uv": [0, 4, 16, 16], "rotation": 180, "texture": "#andesite_casing_short"}, - "east": {"uv": [14, 6, 16, 16], "rotation": 180, "texture": "#10"}, - "south": {"uv": [0, 6, 16, 16], "texture": "#10"}, - "west": {"uv": [14, 6, 16, 16], "texture": "#10"}, - "up": {"uv": [0, 14, 16, 16], "texture": "#gearbox_top"}, - "down": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#gearbox_top"} - } - }, - { - "name": "Top", + "name": "drill casing", "from": [0, 0, 0], - "to": [16, 10, 2], + "to": [16, 8, 16], "faces": { - "north": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#10"}, - "east": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#10"}, - "south": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"}, - "west": {"uv": [0, 6, 2, 16], "texture": "#10"}, - "up": {"uv": [0, 0, 16, 2], "texture": "#gearbox_top"}, - "down": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#gearbox_top"} + "north": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} } }, { - "name": "Side", - "from": [0, 0, 2], - "to": [2, 10, 14], + "name": "drill casing insert", + "from": [2, 1, 2], + "to": [14, 0, 14], "faces": { - "east": {"uv": [2, 4, 14, 16], "rotation": 180, "texture": "#andesite_casing_short"}, - "west": {"uv": [2, 6, 14, 16], "texture": "#10"}, - "up": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, - "down": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#gearbox_top"} - } - }, - { - "name": "Side", - "from": [14, 0, 2], - "to": [16, 10, 14], - "faces": { - "east": {"uv": [2, 6, 14, 16], "rotation": 180, "texture": "#10"}, - "west": {"uv": [2, 4, 14, 16], "rotation": 180, "texture": "#andesite_casing_short"}, - "up": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, - "down": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#gearbox_top"} + "north": {"uv": [2, 14, 14, 15], "texture": "#0"}, + "east": {"uv": [14, 2, 15, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 1, 14, 2], "texture": "#0"}, + "west": {"uv": [1, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 2, 14, 14], "texture": "#1"} } } ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 90], + "translation": [-0.75, 0, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [0, 180, 0], + "translation": [0, 13, 7] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, "groups": [ { "name": "casing", - "origin": [8, 8, 8], - "children": [0, 1, 2, 3, 4] + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1] } ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/head.json b/src/main/resources/assets/create/models/block/mechanical_drill/head.json index 72d61cc98..e2f84eb1f 100644 --- a/src/main/resources/assets/create/models/block/mechanical_drill/head.json +++ b/src/main/resources/assets/create/models/block/mechanical_drill/head.json @@ -1,160 +1,89 @@ { "credit": "Made with Blockbench", - "parent": "block/block", "textures": { - "0": "create:block/axis_top", - "1": "create:block/axis", - "2": "block/anvil", - "7": "block/polished_andesite", - "10": "create:block/andesite_casing_very_short", - "particle": "block/anvil" + "4": "create:block/mechanical_drill_head", + "particle": "create:block/funnel/andesite_funnel_frame" }, "elements": [ { - "name": "Axle", - "from": [6, 6, 0], - "to": [10, 10, 4], + "name": "Drill head 1", + "from": [2, 8, 2], + "to": [14, 12, 14], "faces": { - "north": {"uv": [6, 6, 10, 10], "texture": "#0"}, - "east": {"uv": [6, 12, 10, 16], "rotation": 90, "texture": "#1"}, - "west": {"uv": [6, 0, 10, 4], "rotation": 270, "texture": "#1"}, - "up": {"uv": [6, 12, 10, 16], "texture": "#1"}, - "down": {"uv": [6, 0, 10, 4], "rotation": 180, "texture": "#1"} + "north": {"uv": [2, 12, 14, 16], "texture": "#4"}, + "south": {"uv": [2, 12, 14, 16], "texture": "#4"} } }, { - "name": "Core", - "from": [5, 5, 9], - "to": [11, 11, 12], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "name": "Drill head 2", + "from": [3, 12, 3], + "to": [13, 16, 13], "faces": { - "north": {"uv": [0, 0, 6, 6], "texture": "#7"}, - "east": {"uv": [0, 2, 6, 5], "rotation": 270, "texture": "#10"}, - "south": {"uv": [5, 0, 11, 6], "texture": "#2"}, - "west": {"uv": [0, 2, 6, 5], "rotation": 90, "texture": "#10"}, - "up": {"uv": [0, 2, 6, 5], "rotation": 180, "texture": "#10"}, - "down": {"uv": [0, 2, 6, 5], "texture": "#10"} + "north": {"uv": [3, 8, 13, 12], "texture": "#4"}, + "south": {"uv": [3, 8, 13, 12], "texture": "#4"} } }, { - "name": "Top", - "from": [6, 11, 9], - "to": [10, 13, 13], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "name": "Drill head 3", + "from": [4, 16, 4], + "to": [12, 20, 12], "faces": { - "north": {"uv": [0, 0, 4, 2], "texture": "#10"}, - "east": {"uv": [0, 1, 4, 3], "texture": "#10"}, - "south": {"uv": [0, 0, 2, 4], "rotation": 90, "texture": "#10"}, - "west": {"uv": [0, 1, 4, 3], "texture": "#10"}, - "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#10"}, - "down": {"uv": [0, 0, 4, 4], "texture": "#10"} + "north": {"uv": [4, 4, 12, 8], "texture": "#4"}, + "south": {"uv": [4, 4, 12, 8], "texture": "#4"} } }, { - "name": "Bottom", - "from": [6, 3, 9], - "to": [10, 5, 13], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "name": "Drill head 4", + "from": [5, 20, 5], + "to": [11, 24, 11], "faces": { - "north": {"uv": [0, 0, 4, 2], "texture": "#10"}, - "east": {"uv": [0, 1, 4, 3], "rotation": 180, "texture": "#10"}, - "south": {"uv": [0, 0, 2, 4], "rotation": 90, "texture": "#10"}, - "west": {"uv": [0, 1, 4, 3], "rotation": 180, "texture": "#10"}, - "up": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "down": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#10"} - } - }, - { - "name": "Left", - "from": [3, 6, 9], - "to": [5, 10, 13], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 2, 4], "texture": "#10"}, - "east": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "south": {"uv": [0, 0, 2, 4], "texture": "#10"}, - "west": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "up": {"uv": [0, 1, 4, 3], "rotation": 270, "texture": "#10"}, - "down": {"uv": [0, 1, 4, 3], "rotation": 270, "texture": "#10"} - } - }, - { - "name": "Right", - "from": [11, 6, 9], - "to": [13, 10, 13], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 2, 4], "texture": "#10"}, - "east": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "south": {"uv": [0, 0, 2, 4], "texture": "#10"}, - "west": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "up": {"uv": [0, 1, 4, 3], "rotation": 90, "texture": "#10"}, - "down": {"uv": [0, 1, 4, 3], "rotation": 90, "texture": "#10"} - } - }, - { - "name": "Bit1", - "from": [5.5, 5.5, 12], - "to": [10.5, 10.5, 14], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 5, 5], "texture": "#2"}, - "east": {"uv": [0, 0, 5, 2], "rotation": 90, "texture": "#2"}, - "south": {"uv": [1, 2, 6, 7], "texture": "#2"}, - "west": {"uv": [0, 0, 5, 2], "rotation": 270, "texture": "#2"}, - "up": {"uv": [0, 0, 5, 2], "texture": "#2"}, - "down": {"uv": [0, 0, 5, 2], "texture": "#2"} - } - }, - { - "name": "Bit2", - "from": [6, 6, 14], - "to": [10, 10, 16], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 7]}, - "faces": { - "north": {"uv": [0, 0, 4, 4], "texture": "#2"}, - "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#2"}, - "south": {"uv": [0, 0, 4, 4], "texture": "#2"}, - "west": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#2"}, - "up": {"uv": [0, 0, 4, 2], "texture": "#2"}, - "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#2"} - } - }, - { - "name": "Bit3", - "from": [6.5, 6.5, 16], - "to": [9.5, 9.5, 18], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 7]}, - "faces": { - "north": {"uv": [0, 0, 3, 3], "texture": "#2"}, - "east": {"uv": [0, 0, 2, 3], "texture": "#2"}, - "south": {"uv": [0, 0, 3, 3], "texture": "#2"}, - "west": {"uv": [0, 0, 3, 2], "rotation": 270, "texture": "#2"}, - "up": {"uv": [0, 0, 3, 2], "texture": "#2"}, - "down": {"uv": [0, 0, 3, 2], "texture": "#2"} - } - }, - { - "name": "Bit4", - "from": [7, 7, 18], - "to": [9, 9, 20], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 7]}, - "faces": { - "north": {"uv": [0, 0, 2, 2], "texture": "#2"}, - "east": {"uv": [0, 0, 2, 2], "texture": "#2"}, - "south": {"uv": [5, 5, 7, 7], "texture": "#2"}, - "west": {"uv": [0, 0, 2, 2], "texture": "#2"}, - "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#2"} + "north": {"uv": [5, 0, 11, 4], "texture": "#4"}, + "south": {"uv": [5, 0, 11, 4], "texture": "#4"} } } ], - "display": {}, + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 90], + "translation": [-0.75, 0, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [0, 180, 0], + "translation": [0, 13, 7] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, "groups": [ { - "name": "head", + "name": "drill head", "origin": [8, 8, 8], - "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + "color": 0, + "children": [0, 1, 2, 3] } ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/head_2.json b/src/main/resources/assets/create/models/block/mechanical_drill/head_2.json new file mode 100644 index 000000000..d672ef306 --- /dev/null +++ b/src/main/resources/assets/create/models/block/mechanical_drill/head_2.json @@ -0,0 +1,89 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "5": "create:block/mechanical_drill_head_2", + "particle": "create:block/funnel/andesite_funnel_frame" + }, + "elements": [ + { + "name": "Drill head 1", + "from": [2, 8, 2], + "to": [14, 12, 14], + "faces": { + "east": {"uv": [2, 12, 14, 16], "texture": "#5"}, + "west": {"uv": [2, 12, 14, 16], "texture": "#5"} + } + }, + { + "name": "Drill head 2", + "from": [3, 12, 3], + "to": [13, 16, 13], + "faces": { + "east": {"uv": [3, 8, 13, 12], "texture": "#5"}, + "west": {"uv": [3, 8, 13, 12], "texture": "#5"} + } + }, + { + "name": "Drill head 3", + "from": [4, 16, 4], + "to": [12, 20, 12], + "faces": { + "east": {"uv": [4, 4, 12, 8], "texture": "#5"}, + "west": {"uv": [4, 4, 12, 8], "texture": "#5"} + } + }, + { + "name": "Drill head 4", + "from": [5, 20, 5], + "to": [11, 24, 11], + "faces": { + "east": {"uv": [5, 0, 11, 4], "texture": "#5"}, + "west": {"uv": [5, 0, 11, 4], "texture": "#5"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 90], + "translation": [-0.75, 0, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [0, 180, 0], + "translation": [0, 13, 7] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "drill head", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/head_top.json b/src/main/resources/assets/create/models/block/mechanical_drill/head_top.json new file mode 100644 index 000000000..736e29b4f --- /dev/null +++ b/src/main/resources/assets/create/models/block/mechanical_drill/head_top.json @@ -0,0 +1,85 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "6": "create:block/mechanical_drill_head_top", + "particle": "create:block/funnel/andesite_funnel_frame" + }, + "elements": [ + { + "name": "Drill head 1", + "from": [2, 8, 2], + "to": [14, 12, 14], + "faces": { + "up": {"uv": [2, 2, 14, 14], "texture": "#6"} + } + }, + { + "name": "Drill head 2", + "from": [3, 12, 3], + "to": [13, 16, 13], + "faces": { + "up": {"uv": [3, 3, 13, 13], "texture": "#6"} + } + }, + { + "name": "Drill head 3", + "from": [4, 16, 4], + "to": [12, 20, 12], + "faces": { + "up": {"uv": [4, 4, 12, 12], "texture": "#6"} + } + }, + { + "name": "Drill head 4", + "from": [5, 20, 5], + "to": [11, 24, 11], + "faces": { + "up": {"uv": [5, 5, 11, 11], "texture": "#6"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 90], + "translation": [-0.75, 0, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [0, 180, 0], + "translation": [0, 13, 7] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "drill head", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/item.json b/src/main/resources/assets/create/models/block/mechanical_drill/item.json index 725b4ed4a..6e3fe17da 100644 --- a/src/main/resources/assets/create/models/block/mechanical_drill/item.json +++ b/src/main/resources/assets/create/models/block/mechanical_drill/item.json @@ -1,233 +1,138 @@ { "credit": "Made with Blockbench", - "parent": "create:block/block", "textures": { - "0": "create:block/axis_top", - "1": "create:block/axis", - "2": "block/anvil", - "7": "block/polished_andesite", - "10": "create:block/andesite_casing_very_short", - "particle": "block/anvil", - "gearbox_top": "create:block/gearbox_top", - "gearbox": "create:block/gearbox", - "andesite_casing_short": "create:block/andesite_casing_short" + "0": "create:block/funnel/andesite_funnel_frame", + "1": "create:block/gearbox", + "2": "create:block/mechanical_drill_side", + "3": "create:block/mechanical_drill_top", + "4": "create:block/mechanical_drill_head", + "5": "create:block/mechanical_drill_head_2", + "6": "create:block/mechanical_drill_head_top", + "particle": "create:block/funnel/andesite_funnel_frame" }, "elements": [ { - "name": "Axle", - "from": [6, 6, 0], - "to": [10, 10, 4], - "faces": { - "north": {"uv": [6, 6, 10, 10], "texture": "#0"}, - "east": {"uv": [6, 12, 10, 16], "rotation": 90, "texture": "#1"}, - "west": {"uv": [6, 0, 10, 4], "rotation": 270, "texture": "#1"}, - "up": {"uv": [6, 12, 10, 16], "texture": "#1"}, - "down": {"uv": [6, 0, 10, 4], "rotation": 180, "texture": "#1"} - } - }, - { - "name": "Core", - "from": [5, 5, 9], - "to": [11, 11, 12], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 6, 6], "texture": "#7"}, - "east": {"uv": [0, 2, 6, 5], "rotation": 270, "texture": "#10"}, - "south": {"uv": [5, 0, 11, 6], "texture": "#2"}, - "west": {"uv": [0, 2, 6, 5], "rotation": 90, "texture": "#10"}, - "up": {"uv": [0, 2, 6, 5], "rotation": 180, "texture": "#10"}, - "down": {"uv": [0, 2, 6, 5], "texture": "#10"} - } - }, - { - "name": "Top", - "from": [6, 11, 9], - "to": [10, 13, 13], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 4, 2], "texture": "#10"}, - "east": {"uv": [0, 1, 4, 3], "texture": "#10"}, - "south": {"uv": [0, 0, 2, 4], "rotation": 90, "texture": "#10"}, - "west": {"uv": [0, 1, 4, 3], "texture": "#10"}, - "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#10"}, - "down": {"uv": [0, 0, 4, 4], "texture": "#10"} - } - }, - { - "name": "Bottom", - "from": [6, 3, 9], - "to": [10, 5, 13], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 4, 2], "texture": "#10"}, - "east": {"uv": [0, 1, 4, 3], "rotation": 180, "texture": "#10"}, - "south": {"uv": [0, 0, 2, 4], "rotation": 90, "texture": "#10"}, - "west": {"uv": [0, 1, 4, 3], "rotation": 180, "texture": "#10"}, - "up": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "down": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#10"} - } - }, - { - "name": "Left", - "from": [3, 6, 9], - "to": [5, 10, 13], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 2, 4], "texture": "#10"}, - "east": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "south": {"uv": [0, 0, 2, 4], "texture": "#10"}, - "west": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "up": {"uv": [0, 1, 4, 3], "rotation": 270, "texture": "#10"}, - "down": {"uv": [0, 1, 4, 3], "rotation": 270, "texture": "#10"} - } - }, - { - "name": "Right", - "from": [11, 6, 9], - "to": [13, 10, 13], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 2, 4], "texture": "#10"}, - "east": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "south": {"uv": [0, 0, 2, 4], "texture": "#10"}, - "west": {"uv": [0, 0, 4, 4], "texture": "#10"}, - "up": {"uv": [0, 1, 4, 3], "rotation": 90, "texture": "#10"}, - "down": {"uv": [0, 1, 4, 3], "rotation": 90, "texture": "#10"} - } - }, - { - "name": "Bit1", - "from": [5.5, 5.5, 12], - "to": [10.5, 10.5, 14], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [0, 0, 5, 5], "texture": "#2"}, - "east": {"uv": [0, 0, 5, 2], "rotation": 90, "texture": "#2"}, - "south": {"uv": [1, 2, 6, 7], "texture": "#2"}, - "west": {"uv": [0, 0, 5, 2], "rotation": 270, "texture": "#2"}, - "up": {"uv": [0, 0, 5, 2], "texture": "#2"}, - "down": {"uv": [0, 0, 5, 2], "texture": "#2"} - } - }, - { - "name": "Bit2", - "from": [6, 6, 14], - "to": [10, 10, 16], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 7]}, - "faces": { - "north": {"uv": [0, 0, 4, 4], "texture": "#2"}, - "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#2"}, - "south": {"uv": [0, 0, 4, 4], "texture": "#2"}, - "west": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#2"}, - "up": {"uv": [0, 0, 4, 2], "texture": "#2"}, - "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#2"} - } - }, - { - "name": "Bit3", - "from": [6.5, 6.5, 16], - "to": [9.5, 9.5, 18], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 7]}, - "faces": { - "north": {"uv": [0, 0, 3, 3], "texture": "#2"}, - "east": {"uv": [0, 0, 2, 3], "texture": "#2"}, - "south": {"uv": [0, 0, 3, 3], "texture": "#2"}, - "west": {"uv": [0, 0, 3, 2], "rotation": 270, "texture": "#2"}, - "up": {"uv": [0, 0, 3, 2], "texture": "#2"}, - "down": {"uv": [0, 0, 3, 2], "texture": "#2"} - } - }, - { - "name": "Bit4", - "from": [7, 7, 18], - "to": [9, 9, 20], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 7]}, - "faces": { - "north": {"uv": [0, 0, 2, 2], "texture": "#2"}, - "east": {"uv": [0, 0, 2, 2], "texture": "#2"}, - "south": {"uv": [5, 5, 7, 7], "texture": "#2"}, - "west": {"uv": [0, 0, 2, 2], "texture": "#2"}, - "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#2"} - } - }, - { - "name": "Body", - "from": [2, 2, 1], - "to": [14, 14, 9], - "faces": { - "north": {"uv": [2, 2, 14, 14], "texture": "#gearbox"}, - "south": {"uv": [2, 2, 14, 14], "texture": "#gearbox"} - } - }, - { - "name": "Bottom", + "name": "drill casing", "from": [0, 0, 0], - "to": [16, 2, 10], + "to": [16, 8, 16], "faces": { - "north": {"uv": [0, 14, 16, 16], "texture": "#gearbox_top"}, - "east": {"uv": [14, 6, 16, 16], "rotation": 90, "texture": "#10"}, - "south": {"uv": [0, 14, 16, 16], "texture": "#gearbox_top"}, - "west": {"uv": [14, 6, 16, 16], "rotation": 90, "texture": "#10"}, - "up": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"}, - "down": {"uv": [0, 6, 16, 16], "texture": "#10"} + "north": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} } }, { - "name": "Top", - "from": [0, 14, 0], - "to": [16, 16, 10], + "name": "drill casing insert", + "from": [2, 1, 2], + "to": [14, 0, 14], "faces": { - "north": {"uv": [0, 0, 16, 2], "texture": "#gearbox_top"}, - "east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#10"}, - "south": {"uv": [0, 0, 16, 2], "texture": "#gearbox_top"}, - "west": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#10"}, - "up": {"uv": [0, 6, 16, 16], "texture": "#10"}, - "down": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"} + "north": {"uv": [2, 14, 14, 15], "texture": "#0"}, + "east": {"uv": [14, 2, 15, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 1, 14, 2], "texture": "#0"}, + "west": {"uv": [1, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 2, 14, 14], "texture": "#1"} } }, { - "name": "Side", - "from": [0, 2, 0], - "to": [2, 14, 10], + "name": "Drill head 1", + "from": [2, 8, 2], + "to": [14, 12, 14], "faces": { - "north": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, - "east": {"uv": [2, 4, 14, 16], "rotation": 90, "texture": "#andesite_casing_short"}, - "south": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, - "west": {"uv": [2, 6, 14, 16], "rotation": 90, "texture": "#10"} + "north": {"uv": [2, 12, 14, 16], "texture": "#4"}, + "east": {"uv": [2, 12, 14, 16], "texture": "#5"}, + "south": {"uv": [2, 12, 14, 16], "texture": "#4"}, + "west": {"uv": [2, 12, 14, 16], "texture": "#5"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#6"} } }, { - "name": "Side", - "from": [14, 2, 0], - "to": [16, 14, 10], + "name": "Drill head 2", + "from": [3, 12, 3], + "to": [13, 16, 13], "faces": { - "north": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, - "east": {"uv": [2, 6, 14, 16], "rotation": 90, "texture": "#10"}, - "south": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, - "west": {"uv": [2, 4, 14, 16], "rotation": 270, "texture": "#andesite_casing_short"} + "north": {"uv": [3, 8, 13, 12], "texture": "#4"}, + "east": {"uv": [3, 8, 13, 12], "texture": "#5"}, + "south": {"uv": [3, 8, 13, 12], "texture": "#4"}, + "west": {"uv": [3, 8, 13, 12], "texture": "#5"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#6"} + } + }, + { + "name": "Drill head 3", + "from": [4, 16, 4], + "to": [12, 20, 12], + "faces": { + "north": {"uv": [4, 4, 12, 8], "texture": "#4"}, + "east": {"uv": [4, 4, 12, 8], "texture": "#5"}, + "south": {"uv": [4, 4, 12, 8], "texture": "#4"}, + "west": {"uv": [4, 4, 12, 8], "texture": "#5"}, + "up": {"uv": [4, 4, 12, 12], "texture": "#6"} + } + }, + { + "name": "Drill head 4", + "from": [5, 20, 5], + "to": [11, 24, 11], + "faces": { + "north": {"uv": [5, 0, 11, 4], "texture": "#4"}, + "east": {"uv": [5, 0, 11, 4], "texture": "#5"}, + "south": {"uv": [5, 0, 11, 4], "texture": "#4"}, + "west": {"uv": [5, 0, 11, 4], "texture": "#5"}, + "up": {"uv": [5, 5, 11, 11], "texture": "#6"} } } ], "display": { - "fixed": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 90], + "translation": [-0.75, 0, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { "rotation": [0, 180, 0], - "translation": [0, 0, -1.75], + "translation": [0, 13, 7] + }, + "fixed": { "scale": [0.5, 0.5, 0.5] } }, "groups": [ { - "name": "head", - "origin": [8, 8, 8], + "name": "casing", + "origin": [0, 0, 0], "color": 0, - "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + "children": [0, 1] }, { - "name": "casing", + "name": "drill head", "origin": [8, 8, 8], "color": 0, - "children": [10, 11, 12, 13, 14] + "children": [2, 3, 4, 5] } ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/mechanical_drill.json b/src/main/resources/assets/create/models/block/mechanical_drill/mechanical_drill.json new file mode 100644 index 000000000..ec37b74de --- /dev/null +++ b/src/main/resources/assets/create/models/block/mechanical_drill/mechanical_drill.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/funnel/andesite_funnel_frame", + "1": "create:block/gearbox", + "2": "mechanical_drill_side", + "3": "mechanical_drill_top", + "4": "mechanical_drill_animation", + "5": "mechanical_drill_animation_2", + "6": "mechanical_drill_animation_top", + "particle": "create:block/funnel/andesite_funnel_frame" + }, + "elements": [ + { + "name": "drill casing", + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "drill casing insert", + "from": [2, 1, 2], + "to": [14, 0, 14], + "faces": { + "north": {"uv": [2, 14, 14, 15], "texture": "#0"}, + "east": {"uv": [14, 2, 15, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 1, 14, 2], "texture": "#0"}, + "west": {"uv": [1, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 2, 14, 14], "texture": "#1"} + } + }, + { + "name": "Drill head 1", + "from": [2, 8, 2], + "to": [14, 12, 14], + "faces": { + "north": {"uv": [2, 12, 14, 16], "texture": "#4"}, + "east": {"uv": [2, 12, 14, 16], "texture": "#5"}, + "south": {"uv": [2, 12, 14, 16], "texture": "#4"}, + "west": {"uv": [2, 12, 14, 16], "texture": "#5"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#6"} + } + }, + { + "name": "Drill head 2", + "from": [3, 12, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [3, 8, 13, 12], "texture": "#4"}, + "east": {"uv": [3, 8, 13, 12], "texture": "#5"}, + "south": {"uv": [3, 8, 13, 12], "texture": "#4"}, + "west": {"uv": [3, 8, 13, 12], "texture": "#5"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#6"} + } + }, + { + "name": "Drill head 3", + "from": [4, 16, 4], + "to": [12, 20, 12], + "faces": { + "north": {"uv": [4, 4, 12, 8], "texture": "#4"}, + "east": {"uv": [4, 4, 12, 8], "texture": "#5"}, + "south": {"uv": [4, 4, 12, 8], "texture": "#4"}, + "west": {"uv": [4, 4, 12, 8], "texture": "#5"}, + "up": {"uv": [4, 4, 12, 12], "texture": "#6"} + } + }, + { + "name": "Drill head 4", + "from": [5, 20, 5], + "to": [11, 24, 11], + "faces": { + "north": {"uv": [5, 0, 11, 4], "texture": "#4"}, + "east": {"uv": [5, 0, 11, 4], "texture": "#5"}, + "south": {"uv": [5, 0, 11, 4], "texture": "#4"}, + "west": {"uv": [5, 0, 11, 4], "texture": "#5"}, + "up": {"uv": [5, 5, 11, 11], "texture": "#6"} + } + } + ], + "groups": [ + { + "name": "casing", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "drill head", + "origin": [8, 8, 8], + "color": 0, + "children": [2, 3, 4, 5] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/old/block.json b/src/main/resources/assets/create/models/block/mechanical_drill/old/block.json new file mode 100644 index 000000000..3a4cf2dec --- /dev/null +++ b/src/main/resources/assets/create/models/block/mechanical_drill/old/block.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "10": "create:block/andesite_casing_very_short", + "gearbox_top": "create:block/gearbox_top", + "particle": "create:block/gearbox", + "gearbox": "create:block/gearbox", + "andesite_casing_short": "create:block/andesite_casing_short" + }, + "elements": [ + { + "name": "Body", + "from": [2, 1, 2], + "to": [14, 9, 14], + "faces": { + "up": {"uv": [2, 2, 14, 14], "texture": "#gearbox"}, + "down": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#gearbox"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 14], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "rotation": 180, "texture": "#andesite_casing_short"}, + "east": {"uv": [14, 6, 16, 16], "rotation": 180, "texture": "#10"}, + "south": {"uv": [0, 6, 16, 16], "texture": "#10"}, + "west": {"uv": [14, 6, 16, 16], "texture": "#10"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#gearbox_top"}, + "down": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#gearbox_top"} + } + }, + { + "name": "Top", + "from": [0, 0, 0], + "to": [16, 10, 2], + "faces": { + "north": {"uv": [0, 6, 16, 16], "rotation": 180, "texture": "#10"}, + "east": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#10"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"}, + "west": {"uv": [0, 6, 2, 16], "texture": "#10"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#gearbox_top"}, + "down": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#gearbox_top"} + } + }, + { + "name": "Side", + "from": [0, 0, 2], + "to": [2, 10, 14], + "faces": { + "east": {"uv": [2, 4, 14, 16], "rotation": 180, "texture": "#andesite_casing_short"}, + "west": {"uv": [2, 6, 14, 16], "texture": "#10"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#gearbox_top"} + } + }, + { + "name": "Side", + "from": [14, 0, 2], + "to": [16, 10, 14], + "faces": { + "east": {"uv": [2, 6, 14, 16], "rotation": 180, "texture": "#10"}, + "west": {"uv": [2, 4, 14, 16], "rotation": 180, "texture": "#andesite_casing_short"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#gearbox_top"} + } + } + ], + "groups": [ + { + "name": "casing", + "origin": [8, 8, 8], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/old/head.json b/src/main/resources/assets/create/models/block/mechanical_drill/old/head.json new file mode 100644 index 000000000..72d61cc98 --- /dev/null +++ b/src/main/resources/assets/create/models/block/mechanical_drill/old/head.json @@ -0,0 +1,160 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/axis_top", + "1": "create:block/axis", + "2": "block/anvil", + "7": "block/polished_andesite", + "10": "create:block/andesite_casing_very_short", + "particle": "block/anvil" + }, + "elements": [ + { + "name": "Axle", + "from": [6, 6, 0], + "to": [10, 10, 4], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#0"}, + "east": {"uv": [6, 12, 10, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [6, 0, 10, 4], "rotation": 270, "texture": "#1"}, + "up": {"uv": [6, 12, 10, 16], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 4], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "Core", + "from": [5, 5, 9], + "to": [11, 11, 12], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#7"}, + "east": {"uv": [0, 2, 6, 5], "rotation": 270, "texture": "#10"}, + "south": {"uv": [5, 0, 11, 6], "texture": "#2"}, + "west": {"uv": [0, 2, 6, 5], "rotation": 90, "texture": "#10"}, + "up": {"uv": [0, 2, 6, 5], "rotation": 180, "texture": "#10"}, + "down": {"uv": [0, 2, 6, 5], "texture": "#10"} + } + }, + { + "name": "Top", + "from": [6, 11, 9], + "to": [10, 13, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#10"}, + "east": {"uv": [0, 1, 4, 3], "texture": "#10"}, + "south": {"uv": [0, 0, 2, 4], "rotation": 90, "texture": "#10"}, + "west": {"uv": [0, 1, 4, 3], "texture": "#10"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#10"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#10"} + } + }, + { + "name": "Bottom", + "from": [6, 3, 9], + "to": [10, 5, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#10"}, + "east": {"uv": [0, 1, 4, 3], "rotation": 180, "texture": "#10"}, + "south": {"uv": [0, 0, 2, 4], "rotation": 90, "texture": "#10"}, + "west": {"uv": [0, 1, 4, 3], "rotation": 180, "texture": "#10"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#10"} + } + }, + { + "name": "Left", + "from": [3, 6, 9], + "to": [5, 10, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 4], "texture": "#10"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "south": {"uv": [0, 0, 2, 4], "texture": "#10"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "up": {"uv": [0, 1, 4, 3], "rotation": 270, "texture": "#10"}, + "down": {"uv": [0, 1, 4, 3], "rotation": 270, "texture": "#10"} + } + }, + { + "name": "Right", + "from": [11, 6, 9], + "to": [13, 10, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 4], "texture": "#10"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "south": {"uv": [0, 0, 2, 4], "texture": "#10"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "up": {"uv": [0, 1, 4, 3], "rotation": 90, "texture": "#10"}, + "down": {"uv": [0, 1, 4, 3], "rotation": 90, "texture": "#10"} + } + }, + { + "name": "Bit1", + "from": [5.5, 5.5, 12], + "to": [10.5, 10.5, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 5, 2], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 2, 6, 7], "texture": "#2"}, + "west": {"uv": [0, 0, 5, 2], "rotation": 270, "texture": "#2"}, + "up": {"uv": [0, 0, 5, 2], "texture": "#2"}, + "down": {"uv": [0, 0, 5, 2], "texture": "#2"} + } + }, + { + "name": "Bit2", + "from": [6, 6, 14], + "to": [10, 10, 16], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#2"}, + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#2"}, + "west": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#2"}, + "up": {"uv": [0, 0, 4, 2], "texture": "#2"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "Bit3", + "from": [6.5, 6.5, 16], + "to": [9.5, 9.5, 18], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 3, 3], "texture": "#2"}, + "east": {"uv": [0, 0, 2, 3], "texture": "#2"}, + "south": {"uv": [0, 0, 3, 3], "texture": "#2"}, + "west": {"uv": [0, 0, 3, 2], "rotation": 270, "texture": "#2"}, + "up": {"uv": [0, 0, 3, 2], "texture": "#2"}, + "down": {"uv": [0, 0, 3, 2], "texture": "#2"} + } + }, + { + "name": "Bit4", + "from": [7, 7, 18], + "to": [9, 9, 20], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "south": {"uv": [5, 5, 7, 7], "texture": "#2"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#2"} + } + } + ], + "display": {}, + "groups": [ + { + "name": "head", + "origin": [8, 8, 8], + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_drill/old/item.json b/src/main/resources/assets/create/models/block/mechanical_drill/old/item.json new file mode 100644 index 000000000..725b4ed4a --- /dev/null +++ b/src/main/resources/assets/create/models/block/mechanical_drill/old/item.json @@ -0,0 +1,233 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "textures": { + "0": "create:block/axis_top", + "1": "create:block/axis", + "2": "block/anvil", + "7": "block/polished_andesite", + "10": "create:block/andesite_casing_very_short", + "particle": "block/anvil", + "gearbox_top": "create:block/gearbox_top", + "gearbox": "create:block/gearbox", + "andesite_casing_short": "create:block/andesite_casing_short" + }, + "elements": [ + { + "name": "Axle", + "from": [6, 6, 0], + "to": [10, 10, 4], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#0"}, + "east": {"uv": [6, 12, 10, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [6, 0, 10, 4], "rotation": 270, "texture": "#1"}, + "up": {"uv": [6, 12, 10, 16], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 4], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "Core", + "from": [5, 5, 9], + "to": [11, 11, 12], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "texture": "#7"}, + "east": {"uv": [0, 2, 6, 5], "rotation": 270, "texture": "#10"}, + "south": {"uv": [5, 0, 11, 6], "texture": "#2"}, + "west": {"uv": [0, 2, 6, 5], "rotation": 90, "texture": "#10"}, + "up": {"uv": [0, 2, 6, 5], "rotation": 180, "texture": "#10"}, + "down": {"uv": [0, 2, 6, 5], "texture": "#10"} + } + }, + { + "name": "Top", + "from": [6, 11, 9], + "to": [10, 13, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#10"}, + "east": {"uv": [0, 1, 4, 3], "texture": "#10"}, + "south": {"uv": [0, 0, 2, 4], "rotation": 90, "texture": "#10"}, + "west": {"uv": [0, 1, 4, 3], "texture": "#10"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#10"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#10"} + } + }, + { + "name": "Bottom", + "from": [6, 3, 9], + "to": [10, 5, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#10"}, + "east": {"uv": [0, 1, 4, 3], "rotation": 180, "texture": "#10"}, + "south": {"uv": [0, 0, 2, 4], "rotation": 90, "texture": "#10"}, + "west": {"uv": [0, 1, 4, 3], "rotation": 180, "texture": "#10"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#10"} + } + }, + { + "name": "Left", + "from": [3, 6, 9], + "to": [5, 10, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 4], "texture": "#10"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "south": {"uv": [0, 0, 2, 4], "texture": "#10"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "up": {"uv": [0, 1, 4, 3], "rotation": 270, "texture": "#10"}, + "down": {"uv": [0, 1, 4, 3], "rotation": 270, "texture": "#10"} + } + }, + { + "name": "Right", + "from": [11, 6, 9], + "to": [13, 10, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 4], "texture": "#10"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "south": {"uv": [0, 0, 2, 4], "texture": "#10"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#10"}, + "up": {"uv": [0, 1, 4, 3], "rotation": 90, "texture": "#10"}, + "down": {"uv": [0, 1, 4, 3], "rotation": 90, "texture": "#10"} + } + }, + { + "name": "Bit1", + "from": [5.5, 5.5, 12], + "to": [10.5, 10.5, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 5, 2], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 2, 6, 7], "texture": "#2"}, + "west": {"uv": [0, 0, 5, 2], "rotation": 270, "texture": "#2"}, + "up": {"uv": [0, 0, 5, 2], "texture": "#2"}, + "down": {"uv": [0, 0, 5, 2], "texture": "#2"} + } + }, + { + "name": "Bit2", + "from": [6, 6, 14], + "to": [10, 10, 16], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#2"}, + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#2"}, + "west": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#2"}, + "up": {"uv": [0, 0, 4, 2], "texture": "#2"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "Bit3", + "from": [6.5, 6.5, 16], + "to": [9.5, 9.5, 18], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 3, 3], "texture": "#2"}, + "east": {"uv": [0, 0, 2, 3], "texture": "#2"}, + "south": {"uv": [0, 0, 3, 3], "texture": "#2"}, + "west": {"uv": [0, 0, 3, 2], "rotation": 270, "texture": "#2"}, + "up": {"uv": [0, 0, 3, 2], "texture": "#2"}, + "down": {"uv": [0, 0, 3, 2], "texture": "#2"} + } + }, + { + "name": "Bit4", + "from": [7, 7, 18], + "to": [9, 9, 20], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "south": {"uv": [5, 5, 7, 7], "texture": "#2"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#2"} + } + }, + { + "name": "Body", + "from": [2, 2, 1], + "to": [14, 14, 9], + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#gearbox"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#gearbox"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 2, 10], + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#gearbox_top"}, + "east": {"uv": [14, 6, 16, 16], "rotation": 90, "texture": "#10"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#gearbox_top"}, + "west": {"uv": [14, 6, 16, 16], "rotation": 90, "texture": "#10"}, + "up": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"}, + "down": {"uv": [0, 6, 16, 16], "texture": "#10"} + } + }, + { + "name": "Top", + "from": [0, 14, 0], + "to": [16, 16, 10], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#gearbox_top"}, + "east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#10"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#gearbox_top"}, + "west": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#10"}, + "up": {"uv": [0, 6, 16, 16], "texture": "#10"}, + "down": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"} + } + }, + { + "name": "Side", + "from": [0, 2, 0], + "to": [2, 14, 10], + "faces": { + "north": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, + "east": {"uv": [2, 4, 14, 16], "rotation": 90, "texture": "#andesite_casing_short"}, + "south": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, + "west": {"uv": [2, 6, 14, 16], "rotation": 90, "texture": "#10"} + } + }, + { + "name": "Side", + "from": [14, 2, 0], + "to": [16, 14, 10], + "faces": { + "north": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, + "east": {"uv": [2, 6, 14, 16], "rotation": 90, "texture": "#10"}, + "south": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, + "west": {"uv": [2, 4, 14, 16], "rotation": 270, "texture": "#andesite_casing_short"} + } + } + ], + "display": { + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -1.75], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "head", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + }, + { + "name": "casing", + "origin": [8, 8, 8], + "color": 0, + "children": [10, 11, 12, 13, 14] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/mechanical_drill_animation.png b/src/main/resources/assets/create/textures/block/mechanical_drill_animation.png new file mode 100644 index 000000000..326247961 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_drill_animation.png differ diff --git a/src/main/resources/assets/create/textures/block/mechanical_drill_animation_2.png b/src/main/resources/assets/create/textures/block/mechanical_drill_animation_2.png new file mode 100644 index 000000000..cd7dcd506 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_drill_animation_2.png differ diff --git a/src/main/resources/assets/create/textures/block/mechanical_drill_animation_top.png b/src/main/resources/assets/create/textures/block/mechanical_drill_animation_top.png new file mode 100644 index 000000000..bf324dc63 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_drill_animation_top.png differ diff --git a/src/main/resources/assets/create/textures/block/mechanical_drill_head.png b/src/main/resources/assets/create/textures/block/mechanical_drill_head.png new file mode 100644 index 000000000..6bcee6431 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_drill_head.png differ diff --git a/src/main/resources/assets/create/textures/block/mechanical_drill_head_2.png b/src/main/resources/assets/create/textures/block/mechanical_drill_head_2.png new file mode 100644 index 000000000..78a301d2c Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_drill_head_2.png differ diff --git a/src/main/resources/assets/create/textures/block/mechanical_drill_head_top.png b/src/main/resources/assets/create/textures/block/mechanical_drill_head_top.png new file mode 100644 index 000000000..4343eb490 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_drill_head_top.png differ diff --git a/src/main/resources/assets/create/textures/block/mechanical_drill_side.png b/src/main/resources/assets/create/textures/block/mechanical_drill_side.png new file mode 100644 index 000000000..6497f57bf Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_drill_side.png differ diff --git a/src/main/resources/assets/create/textures/block/mechanical_drill_top.png b/src/main/resources/assets/create/textures/block/mechanical_drill_top.png new file mode 100644 index 000000000..7932c08b6 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_drill_top.png differ