diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index bdb74343f..b6bf9c9e0 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -312,7 +312,7 @@ cd13e5327f1adaf9ab2bfc511ead05b2799fdfb3 assets/create/blockstates/mechanical_pl 92269fe66d7b83095a2e04e121af0be792f55dd6 assets/create/blockstates/mechanical_press.json b7c4a0ff0c6f16e14d71fc0fb7fc66d032b65cf3 assets/create/blockstates/mechanical_pump.json 29ec1a3ec9b158b954f9ca126eaac89cee96cf84 assets/create/blockstates/mechanical_roller.json -264d72320ee0f1e014319f7d99dcc1fa953a4ad4 assets/create/blockstates/mechanical_saw.json +63543864991460d67e7474548bfa2f5f5bc23535 assets/create/blockstates/mechanical_saw.json 94bbcb7e622471dbf418d78f9200ad321c7168de assets/create/blockstates/metal_bracket.json c253a827d9f0b0e29f67dfd19d65b259d3d4f045 assets/create/blockstates/metal_girder.json e20699a753e7b12abd4a881de473d494a4ffeaa9 assets/create/blockstates/metal_girder_encased_shaft.json @@ -578,7 +578,7 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json 11c1ebd001468641aacda3e4ed11995ed37853da assets/create/lang/en_ud.json -6433e657b968debdc3f4a7f13afb3e62406fdaa8 assets/create/lang/en_us.json +ff4f0cd079e13fcc7eae4f8c9af2a455af019056 assets/create/lang/en_us.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json diff --git a/src/generated/resources/assets/create/blockstates/mechanical_saw.json b/src/generated/resources/assets/create/blockstates/mechanical_saw.json index bad1bc6d7..7a2ed12f7 100644 --- a/src/generated/resources/assets/create/blockstates/mechanical_saw.json +++ b/src/generated/resources/assets/create/blockstates/mechanical_saw.json @@ -1,48 +1,96 @@ { "variants": { - "axis_along_first=false,facing=down": { + "axis_along_first=false,facing=down,flipped=false": { "model": "create:block/mechanical_saw/vertical", "x": 180 }, - "axis_along_first=true,facing=down": { + "axis_along_first=true,facing=down,flipped=false": { + "model": "create:block/mechanical_saw/vertical", + "x": 180, + "y": 270 + }, + "axis_along_first=false,facing=up,flipped=false": { + "model": "create:block/mechanical_saw/vertical" + }, + "axis_along_first=true,facing=up,flipped=false": { + "model": "create:block/mechanical_saw/vertical", + "y": 270 + }, + "axis_along_first=false,facing=north,flipped=false": { + "model": "create:block/mechanical_saw/horizontal", + "y": 180 + }, + "axis_along_first=true,facing=north,flipped=false": { + "model": "create:block/mechanical_saw/horizontal", + "y": 180 + }, + "axis_along_first=false,facing=south,flipped=false": { + "model": "create:block/mechanical_saw/horizontal" + }, + "axis_along_first=true,facing=south,flipped=false": { + "model": "create:block/mechanical_saw/horizontal" + }, + "axis_along_first=false,facing=west,flipped=false": { + "model": "create:block/mechanical_saw/horizontal", + "y": 90 + }, + "axis_along_first=true,facing=west,flipped=false": { + "model": "create:block/mechanical_saw/horizontal", + "y": 90 + }, + "axis_along_first=false,facing=east,flipped=false": { + "model": "create:block/mechanical_saw/horizontal", + "y": 270 + }, + "axis_along_first=true,facing=east,flipped=false": { + "model": "create:block/mechanical_saw/horizontal", + "y": 270 + }, + "axis_along_first=false,facing=down,flipped=true": { + "model": "create:block/mechanical_saw/vertical", + "x": 180, + "y": 180 + }, + "axis_along_first=true,facing=down,flipped=true": { "model": "create:block/mechanical_saw/vertical", "x": 180, "y": 90 }, - "axis_along_first=false,facing=up": { - "model": "create:block/mechanical_saw/vertical" + "axis_along_first=false,facing=up,flipped=true": { + "model": "create:block/mechanical_saw/vertical", + "y": 180 }, - "axis_along_first=true,facing=up": { + "axis_along_first=true,facing=up,flipped=true": { "model": "create:block/mechanical_saw/vertical", "y": 90 }, - "axis_along_first=false,facing=north": { + "axis_along_first=false,facing=north,flipped=true": { "model": "create:block/mechanical_saw/horizontal", "y": 180 }, - "axis_along_first=true,facing=north": { + "axis_along_first=true,facing=north,flipped=true": { "model": "create:block/mechanical_saw/horizontal", "y": 180 }, - "axis_along_first=false,facing=south": { + "axis_along_first=false,facing=south,flipped=true": { "model": "create:block/mechanical_saw/horizontal" }, - "axis_along_first=true,facing=south": { + "axis_along_first=true,facing=south,flipped=true": { "model": "create:block/mechanical_saw/horizontal" }, - "axis_along_first=false,facing=west": { + "axis_along_first=false,facing=west,flipped=true": { "model": "create:block/mechanical_saw/horizontal", "y": 90 }, - "axis_along_first=true,facing=west": { + "axis_along_first=true,facing=west,flipped=true": { "model": "create:block/mechanical_saw/horizontal", "y": 90 }, - "axis_along_first=false,facing=east": { + "axis_along_first=false,facing=east,flipped=true": { "model": "create:block/mechanical_saw/horizontal", "y": 270 }, - "axis_along_first=true,facing=east": { + "axis_along_first=true,facing=east,flipped=true": { "model": "create:block/mechanical_saw/horizontal", "y": 270 } diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index ddca20abb..0f6fb6886 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -1469,7 +1469,7 @@ "create.hint.mechanical_arm_no_targets": "It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.", "create.hint.empty_bearing.title": "Update Bearing", "create.hint.empty_bearing": "_Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.", - "create.hint.full_deployer.title": "Deployer Item Overflow", + "create.hint.full_deployer.title": "Deployer cannot activate", "create.hint.full_deployer": "It appears this _Deployer_ contains _excess_ _items_ that need to be _extracted._ Use a _hopper,_ _funnel_ or other means to free it from its overflow.", "create.backtank.low": "Backtank pressure low", diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index be1ab8d6f..8a2b82ddf 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -167,6 +167,9 @@ public class AllShapes { TRACK_DIAG = shape(TrackVoxelShapes.diagonal()).forHorizontal(SOUTH), TRACK_ORTHO_LONG = shape(TrackVoxelShapes.longOrthogonalZOffset()).forHorizontal(SOUTH), + DEPLOYER_INTERACTION = shape(CASING_12PX.get(UP)).add(SIX_VOXEL_POLE.get(Axis.Y)) + .forDirectional(UP), + WHISTLE_BASE = shape(1, 0, 1, 15, 3, 15).add(5, 0, 5, 11, 8, 11) .forDirectional(UP) @@ -273,8 +276,6 @@ public class AllShapes { FUNNEL_CEILING = shape(2, 8, 2, 14, 18, 14).add(1, 8, 1, 15, 15, 15) .add(0, 6, 0, 16, 12, 16) .build(), - DEPOT = shape(CASING_11PX.get(Direction.UP)).add(1, 11, 1, 15, 13, 15) - .build(), STATION = shape(0, 0, 0, 16, 2, 16).add(1, 0, 1, 15, 13, 15) .build(), diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlock.java index 98bc9fd24..f11ff1f93 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerBlock.java @@ -37,6 +37,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.PushReaction; import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; @@ -45,7 +46,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; public class DeployerBlock extends DirectionalAxisKineticBlock implements IBE { private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); - + public DeployerBlock(Properties properties) { super(properties); } @@ -57,12 +58,21 @@ public class DeployerBlock extends DirectionalAxisKineticBlock implements IBE .25f) { if (!context.getLevel().isClientSide) withBlockEntityDo(context.getLevel(), context.getClickedPos(), DeployerBlockEntity::changeMode); return InteractionResult.SUCCESS; @@ -97,11 +107,15 @@ public class DeployerBlock extends DirectionalAxisKineticBlock implements IBE { public static DamageSource damageSourceSaw = new DamageSource("create.mechanical_saw").bypassArmor(); + public static final BooleanProperty FLIPPED = BooleanProperty.create("flipped"); + private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); public SawBlock(Properties properties) { super(properties); } + @Override + protected void createBlockStateDefinition(Builder builder) { + super.createBlockStateDefinition(builder.add(FLIPPED)); + } + @Override public BlockState getStateForPlacement(BlockPlaceContext context) { BlockState stateForPlacement = super.getStateForPlacement(context); Direction facing = stateForPlacement.getValue(FACING); - if (facing.getAxis() - .isVertical()) - return stateForPlacement; - return stateForPlacement.setValue(AXIS_ALONG_FIRST_COORDINATE, facing.getAxis() == Axis.X); + return stateForPlacement.setValue(FLIPPED, facing.getAxis() == Axis.Y && context.getHorizontalDirection() + .getAxisDirection() == AxisDirection.POSITIVE); + } + + @Override + public BlockState getRotatedBlockState(BlockState originalState, Direction targetedFace) { + BlockState newState = super.getRotatedBlockState(originalState, targetedFace); + if (newState.getValue(FACING) + .getAxis() != Axis.Y) + return newState; + if (targetedFace.getAxis() != Axis.Y) + return newState; + if (!originalState.getValue(AXIS_ALONG_FIRST_COORDINATE)) + newState = newState.cycle(FLIPPED); + return newState; + } + + @Override + public BlockState rotate(BlockState state, Rotation rot) { + BlockState newState = super.rotate(state, rot); + if (state.getValue(FACING) + .getAxis() != Axis.Y) + return newState; + + if (rot.ordinal() % 2 == 1 && (rot == Rotation.CLOCKWISE_90) != state.getValue(AXIS_ALONG_FIRST_COORDINATE)) + newState = newState.cycle(FLIPPED); + if (rot == Rotation.CLOCKWISE_180) + newState = newState.cycle(FLIPPED); + + return newState; + } + + @Override + public BlockState mirror(BlockState state, Mirror mirrorIn) { + BlockState newState = super.mirror(state, mirrorIn); + if (state.getValue(FACING) + .getAxis() != Axis.Y) + return newState; + + boolean alongX = state.getValue(AXIS_ALONG_FIRST_COORDINATE); + if (alongX && mirrorIn == Mirror.FRONT_BACK) + newState = newState.cycle(FLIPPED); + if (!alongX && mirrorIn == Mirror.LEFT_RIGHT) + newState = newState.cycle(FLIPPED); + + return newState; } @Override @@ -200,7 +255,8 @@ public class SawBlock extends DirectionalAxisKineticBlock implements IBE s.setValue(FACING, state.getValue(FACING)) - .setValue(AXIS_ALONG_FIRST_COORDINATE, state.getValue(AXIS_ALONG_FIRST_COORDINATE))); + .setValue(AXIS_ALONG_FIRST_COORDINATE, state.getValue(AXIS_ALONG_FIRST_COORDINATE)) + .setValue(FLIPPED, state.getValue(FLIPPED))); } } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawFilterSlot.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawFilterSlot.java index 01f4ed6e5..b78786c59 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawFilterSlot.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawFilterSlot.java @@ -15,14 +15,16 @@ public class SawFilterSlot extends ValueBoxTransform { protected Vec3 getLocalOffset(BlockState state) { if (state.getValue(SawBlock.FACING) != Direction.UP) return null; - Vec3 x = VecHelper.voxelSpace(8f, 12.5f, 5f); - Vec3 z = VecHelper.voxelSpace(11f, 12.5f, 8f); + int offset = state.getValue(SawBlock.FLIPPED) ? -3 : 3; + Vec3 x = VecHelper.voxelSpace(8, 12.5f, 8 + offset); + Vec3 z = VecHelper.voxelSpace(8 + offset, 12.5f, 8); return state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE) ? z : x; } @Override protected void rotate(BlockState state, PoseStack ms) { - int yRot = state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE) ? 270 : 0; + int yRot = (state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE) ? 90 : 0) + + (state.getValue(SawBlock.FLIPPED) ? 0 : 180); TransformStack.cast(ms) .rotateY(yRot) .rotateX(90); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawGenerator.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawGenerator.java index 20e459310..ac61dbb9b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawGenerator.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawGenerator.java @@ -22,7 +22,7 @@ public class SawGenerator extends SpecialBlockStateGen { boolean axisAlongFirst = state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE); if (facing.getAxis() .isVertical()) - return axisAlongFirst ? 90 : 0; + return (axisAlongFirst ? 270 : 0) + (state.getValue(SawBlock.FLIPPED) ? 180 : 0); return horizontalAngle(facing); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/ArmScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/ArmScenes.java index da53ce913..52b340d01 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/ArmScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/ArmScenes.java @@ -56,7 +56,8 @@ public class ArmScenes { scene.overlay.showControls(new InputWindowElement(depotSurface, Pointing.RIGHT).rightClick() .withItem(armItem), 50); scene.idle(7); - AABB depotBounds = AllShapes.DEPOT.bounds(); + AABB depotBounds = AllShapes.CASING_13PX.get(Direction.UP) + .bounds(); scene.overlay.chaseBoundingBoxOutline(PonderPalette.INPUT, new Object(), depotBounds.move(4, 2, 1), 400); scene.overlay.showText(70) @@ -394,7 +395,8 @@ public class ArmScenes { scene.world.showSection(util.select.fromTo(1, 1, 1, 5, 1, 2), Direction.SOUTH); scene.idle(10); - AABB depotBox = AllShapes.DEPOT.bounds(); + AABB depotBox = AllShapes.CASING_13PX.get(Direction.UP) + .bounds(); AABB beltBox = depotBox.contract(0, -3 / 16f, 0) .inflate(1, 0, 0); BlockPos depotPos = util.grid.at(1, 1, 4); diff --git a/src/main/resources/assets/create/lang/default/interface.json b/src/main/resources/assets/create/lang/default/interface.json index 39f79c51a..3e45522b0 100644 --- a/src/main/resources/assets/create/lang/default/interface.json +++ b/src/main/resources/assets/create/lang/default/interface.json @@ -619,7 +619,7 @@ "create.hint.mechanical_arm_no_targets": "It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.", "create.hint.empty_bearing.title": "Update Bearing", "create.hint.empty_bearing": "_Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.", - "create.hint.full_deployer.title": "Deployer Item Overflow", + "create.hint.full_deployer.title": "Deployer cannot activate", "create.hint.full_deployer": "It appears this _Deployer_ contains _excess_ _items_ that need to be _extracted._ Use a _hopper,_ _funnel_ or other means to free it from its overflow.", "create.backtank.low": "Backtank pressure low", diff --git a/src/main/resources/assets/create/models/block/deployer/horizontal.json b/src/main/resources/assets/create/models/block/deployer/horizontal.json index 984109aa5..f1bf58939 100644 --- a/src/main/resources/assets/create/models/block/deployer/horizontal.json +++ b/src/main/resources/assets/create/models/block/deployer/horizontal.json @@ -3,6 +3,7 @@ "parent": "block/block", "ambientocclusion": false, "textures": { + "5": "create:block/andesite_casing_piston", "6": "create:block/piston_bottom", "7": "create:block/piston_inner", "particle": "create:block/gearbox_top", @@ -44,7 +45,7 @@ "south": {"uv": [0, 0, 16, 2], "texture": "#andesite_casing_short"}, "west": {"uv": [14, 0, 16, 10], "rotation": 90, "texture": "#gearbox_top"}, "up": {"uv": [0, 0, 16, 10], "rotation": 180, "texture": "#gearbox_top"}, - "down": {"uv": [0, 4, 16, 14], "texture": "#andesite_casing_short"} + "down": {"uv": [0, 4, 16, 14], "texture": "#5"} } }, { @@ -55,7 +56,7 @@ "east": {"uv": [14, 0, 16, 10], "rotation": 270, "texture": "#gearbox_top"}, "south": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#andesite_casing_short"}, "west": {"uv": [16, 0, 14, 10], "rotation": 90, "texture": "#gearbox_top"}, - "up": {"uv": [0, 4, 16, 14], "rotation": 180, "texture": "#andesite_casing_short"}, + "up": {"uv": [0, 4, 16, 14], "rotation": 180, "texture": "#5"}, "down": {"uv": [0, 0, 16, 10], "texture": "#gearbox_top"} } } diff --git a/src/main/resources/assets/create/models/block/deployer/item.json b/src/main/resources/assets/create/models/block/deployer/item.json index 970a99f3f..906a71bd9 100644 --- a/src/main/resources/assets/create/models/block/deployer/item.json +++ b/src/main/resources/assets/create/models/block/deployer/item.json @@ -7,6 +7,7 @@ "1": "create:block/axis_top", "6": "create:block/piston_bottom", "7": "create:block/piston_inner", + "10": "create:block/andesite_casing_piston", "18": "create:block/deployer", "particle": "create:block/axis", "gearbox_top": "create:block/gearbox_top", @@ -45,7 +46,7 @@ "from": [14, 0, 2], "to": [16, 16, 12], "faces": { - "east": {"uv": [0, 4, 16, 14], "rotation": 270, "texture": "#andesite_casing_short"}, + "east": {"uv": [0, 4, 16, 14], "rotation": 270, "texture": "#10"}, "south": {"uv": [0, 0, 16, 2], "rotation": 270, "texture": "#andesite_casing_short"}, "west": {"uv": [0, 0, 16, 10], "rotation": 90, "texture": "#gearbox_top"}, "up": {"uv": [16, 0, 14, 10], "rotation": 180, "texture": "#gearbox_top"}, @@ -59,7 +60,7 @@ "faces": { "east": {"uv": [0, 0, 16, 10], "rotation": 270, "texture": "#gearbox_top"}, "south": {"uv": [0, 0, 16, 2], "rotation": 90, "texture": "#andesite_casing_short"}, - "west": {"uv": [0, 4, 16, 14], "rotation": 90, "texture": "#andesite_casing_short"}, + "west": {"uv": [0, 4, 16, 14], "rotation": 90, "texture": "#10"}, "up": {"uv": [14, 0, 16, 10], "rotation": 180, "texture": "#gearbox_top"}, "down": {"uv": [16, 0, 14, 10], "texture": "#gearbox_top"} } diff --git a/src/main/resources/assets/create/models/block/deployer/vertical.json b/src/main/resources/assets/create/models/block/deployer/vertical.json index 4b56aaece..d08683aca 100644 --- a/src/main/resources/assets/create/models/block/deployer/vertical.json +++ b/src/main/resources/assets/create/models/block/deployer/vertical.json @@ -3,6 +3,7 @@ "parent": "block/block", "ambientocclusion": false, "textures": { + "5": "create:block/andesite_casing_piston", "6": "create:block/piston_bottom", "7": "create:block/piston_inner", "particle": "create:block/gearbox_top", @@ -40,7 +41,7 @@ "from": [14, 0, 2], "to": [16, 16, 12], "faces": { - "east": {"uv": [0, 4, 16, 14], "rotation": 270, "texture": "#andesite_casing_short"}, + "east": {"uv": [0, 4, 16, 14], "rotation": 270, "texture": "#5"}, "south": {"uv": [0, 0, 16, 2], "rotation": 270, "texture": "#andesite_casing_short"}, "west": {"uv": [0, 0, 16, 10], "rotation": 90, "texture": "#gearbox_top"}, "up": {"uv": [16, 0, 14, 10], "rotation": 180, "texture": "#gearbox_top"}, @@ -54,7 +55,7 @@ "faces": { "east": {"uv": [0, 0, 16, 10], "rotation": 270, "texture": "#gearbox_top"}, "south": {"uv": [0, 0, 16, 2], "rotation": 90, "texture": "#andesite_casing_short"}, - "west": {"uv": [0, 4, 16, 14], "rotation": 90, "texture": "#andesite_casing_short"}, + "west": {"uv": [0, 4, 16, 14], "rotation": 90, "texture": "#5"}, "up": {"uv": [14, 2, 16, 12], "rotation": 180, "texture": "#gearbox_top"}, "down": {"uv": [16, 0, 14, 10], "texture": "#gearbox_top"} } diff --git a/src/main/resources/assets/create/models/block/mechanical_saw/horizontal.json b/src/main/resources/assets/create/models/block/mechanical_saw/horizontal.json index 421076c6d..339a64417 100644 --- a/src/main/resources/assets/create/models/block/mechanical_saw/horizontal.json +++ b/src/main/resources/assets/create/models/block/mechanical_saw/horizontal.json @@ -1,88 +1,80 @@ { - "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", - "textures": { - "particle": "create:block/gearbox_top", - "slit": "create:block/mechanical_saw_top", - "gearbox_top": "create:block/gearbox_top", - "encased_belt": "create:block/encased_chain_drive", - "gearbox": "create:block/gearbox", - "andesite_casing_short": "create:block/andesite_casing_short" - }, + "credit": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", "parent": "create:block/block", - "elements": [ - { - "name": "Bottom", - "from": [ 0, 0, 0 ], - "to": [ 16, 2, 12 ], - "faces": { - "north": { "texture": "#andesite_casing_short", "uv": [ 0, 14, 16, 16 ] }, - "east": { "texture": "#andesite_casing_short", "uv": [ 4, 14, 16, 16 ] }, - "south": { "texture": "#encased_belt", "uv": [ 0, 14, 16, 16 ] }, - "west": { "texture": "#andesite_casing_short", "uv": [ 0, 14, 12, 16 ] }, - "up": { "texture": "#andesite_casing_short", "uv": [ 0, 4, 16, 16 ] }, - "down": { "texture": "#andesite_casing_short", "uv": [ 0, 4, 16, 16 ] } - } - }, - { - "name": "Top", - "from": [ 0, 14, 0 ], - "to": [ 16, 16, 12 ], - "faces": { - "north": { "texture": "#andesite_casing_short", "uv": [ 0, 4, 16, 6 ] }, - "east": { "texture": "#andesite_casing_short", "uv": [ 4, 4, 16, 6 ] }, - "south": { "texture": "#encased_belt", "uv": [ 0, 0, 16, 2 ] }, - "west": { "texture": "#andesite_casing_short", "uv": [ 0, 4, 12, 6 ] }, - "up": { "texture": "#andesite_casing_short", "uv": [ 0, 4, 16, 16 ] }, - "down": { "texture": "#andesite_casing_short", "uv": [ 0, 4, 16, 16 ] } - } - }, - { - "name": "Back", - "from": [ 0, 2, 0 ], - "to": [ 2, 14, 2 ], - "faces": { - "north": { "texture": "#gearbox_top", "uv": [ 14, 2, 16, 14 ] }, - "east": { "texture": "#gearbox_top", "uv": [ 14, 2, 16, 14 ] }, - "south": { "texture": "#gearbox_top", "uv": [ 0, 2, 2, 14 ] }, - "west": { "texture": "#gearbox_top", "uv": [ 0, 2, 2, 14 ] } - } - }, - { - "name": "Inner", - "from": [ 0, 2, 2 ], - "to": [ 16, 14, 11 ], - "faces": { - "east": { "texture": "#andesite_casing_short", "uv": [ 2, 6, 14, 15 ], "rotation": 90 }, - "south": { "texture": "#gearbox_top", "uv": [ 0, 2, 16, 14 ] }, - "west": { "texture": "#andesite_casing_short", "uv": [ 2, 6, 14, 15 ], "rotation": 270 } - } - }, - { - "name": "SawSlit", - "from": [ 1, 7, 11.062 ], - "to": [ 15, 9, 11.062 ], - "faces": { - "south": { "texture": "#slit", "uv": [ 1, 7, 15, 9 ] } - } - }, - { - "name": "Back", - "from": [ 14, 2, 0 ], - "to": [ 16, 14, 2 ], - "faces": { - "north": { "texture": "#gearbox_top", "uv": [ 0, 2, 2, 14 ] }, - "east": { "texture": "#gearbox_top", "uv": [ 14, 2, 16, 14 ] }, - "south": { "texture": "#gearbox_top", "uv": [ 0, 2, 2, 14 ] }, - "west": { "texture": "#gearbox_top", "uv": [ 0, 2, 2, 14 ] } - } - }, - { - "name": "Back", - "from": [ 2, 2, 1 ], - "to": [ 14, 14, 2 ], - "faces": { - "north": { "texture": "#gearbox", "uv": [ 2, 2, 14, 14 ] } - } - } - ] + "textures": { + "slit": "create:block/mechanical_saw_top_no_slot", + "particle": "create:block/gearbox_top", + "gearbox_top": "create:block/gearbox_top", + "encased_belt": "create:block/encased_chain_drive", + "gearbox": "create:block/gearbox", + "andesite_casing_short": "create:block/andesite_casing_short" + }, + "elements": [ + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 2, 12], + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#andesite_casing_short"}, + "east": {"uv": [4, 14, 16, 16], "texture": "#andesite_casing_short"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#encased_belt"}, + "west": {"uv": [0, 14, 12, 16], "texture": "#andesite_casing_short"}, + "up": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"}, + "down": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"} + } + }, + { + "name": "Top", + "from": [0, 14, 0], + "to": [16, 16, 12], + "faces": { + "north": {"uv": [0, 4, 16, 6], "texture": "#andesite_casing_short"}, + "east": {"uv": [4, 4, 16, 6], "texture": "#andesite_casing_short"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#encased_belt"}, + "west": {"uv": [0, 4, 12, 6], "texture": "#andesite_casing_short"}, + "up": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"}, + "down": {"uv": [0, 4, 16, 16], "texture": "#andesite_casing_short"} + } + }, + { + "name": "Back", + "from": [0, 2, 0], + "to": [2, 14, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, + "east": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, + "south": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, + "west": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"} + } + }, + { + "name": "Inner", + "from": [0, 2, 2], + "to": [16, 14, 11], + "faces": { + "east": {"uv": [2, 6, 14, 15], "rotation": 90, "texture": "#andesite_casing_short"}, + "south": {"uv": [0, 2, 16, 14], "texture": "#slit"}, + "west": {"uv": [2, 6, 14, 15], "rotation": 270, "texture": "#andesite_casing_short"} + } + }, + { + "name": "Back", + "from": [14, 2, 0], + "to": [16, 14, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, + "east": {"uv": [14, 2, 16, 14], "texture": "#gearbox_top"}, + "south": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"}, + "west": {"uv": [0, 2, 2, 14], "texture": "#gearbox_top"} + } + }, + { + "name": "Back", + "from": [2, 2, 1], + "to": [14, 14, 2], + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#gearbox"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_saw/item.json b/src/main/resources/assets/create/models/block/mechanical_saw/item.json index b81666f37..036c4fc13 100644 --- a/src/main/resources/assets/create/models/block/mechanical_saw/item.json +++ b/src/main/resources/assets/create/models/block/mechanical_saw/item.json @@ -2,7 +2,7 @@ "credit": "Made with Blockbench", "parent": "create:block/block", "textures": { - "slit": "create:block/mechanical_saw_top", + "slit": "create:block/mechanical_saw_top_no_slot", "stonecutter_saw": "block/stonecutter_saw", "particle": "create:block/gearbox_top", "gearbox_top": "create:block/gearbox_top", @@ -54,18 +54,10 @@ "to": [16, 14, 11], "faces": { "east": {"uv": [2, 6, 14, 15], "rotation": 90, "texture": "#andesite_casing_short"}, - "south": {"uv": [0, 2, 16, 14], "texture": "#gearbox_top"}, + "south": {"uv": [0, 2, 16, 14], "texture": "#slit"}, "west": {"uv": [2, 6, 14, 15], "rotation": 270, "texture": "#andesite_casing_short"} } }, - { - "name": "SawSlit", - "from": [1, 7, 11.062], - "to": [15, 9, 11.062], - "faces": { - "south": {"uv": [1, 7, 15, 9], "texture": "#slit"} - } - }, { "name": "Blade", "from": [1, 8, 11], diff --git a/src/main/resources/assets/create/textures/block/mechanical_saw_top_no_slot.png b/src/main/resources/assets/create/textures/block/mechanical_saw_top_no_slot.png new file mode 100644 index 000000000..affe70c43 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/mechanical_saw_top_no_slot.png differ