From 20f3ef27d755aed0f4dd1080fa882db8d73a6369 Mon Sep 17 00:00:00 2001 From: Alexander Weimer Date: Mon, 25 Sep 2023 10:53:05 -0500 Subject: [PATCH] Metro Assets --- .../bellsandwhistles/block/ModBlocks.java | 22 +- .../block/custom/PanelBlock.java | 137 ++++++++++ .../blockstates/folding_metro_door.json | 244 ++++++++++++++++++ .../blockstates/metro_trapdoor.json | 66 +++++ .../blockstates/sliding_metro_door.json | 244 ++++++++++++++++++ .../block/metro/corrugated_metro_casing.json | 6 + .../models/block/metro/door/fold_left.json | 34 +++ .../models/block/metro/door/fold_right.json | 34 +++ .../metro/door/folding_metro_door_bottom.json | 22 ++ .../metro/door/folding_metro_door_top.json | 22 ++ .../metro/door/sliding_metro_door_bottom.json | 22 ++ .../metro/door/sliding_metro_door_top.json | 22 ++ .../models/block/metro/metro_casing.json | 6 + .../block/metro/trapdoor/block_bottom.json | 23 ++ .../block/metro/trapdoor/block_open.json | 23 ++ .../block/metro/trapdoor/block_top.json | 23 ++ .../textures/block/metro/corrugated_metro.png | Bin 0 -> 566 bytes .../metro/door/folding_metro_door_all.png | Bin 0 -> 1191 bytes .../metro/door/folding_metro_door_bottom.png | Bin 0 -> 588 bytes .../metro/door/folding_metro_door_top.png | Bin 0 -> 486 bytes .../block/metro/door/metro_door_side.png | Bin 0 -> 295 bytes .../metro/door/sliding_metro_door_all.png | Bin 0 -> 1247 bytes .../metro/door/sliding_metro_door_bottom.png | Bin 0 -> 625 bytes .../metro/door/sliding_metro_door_top.png | Bin 0 -> 507 bytes .../textures/block/metro/metro.png | Bin 0 -> 438 bytes .../textures/block/metro/metro_trapdoor.png | Bin 0 -> 597 bytes 26 files changed, 949 insertions(+), 1 deletion(-) create mode 100644 src/main/java/systems/alexander/bellsandwhistles/block/custom/PanelBlock.java create mode 100644 src/main/resources/assets/bellsandwhistles/blockstates/folding_metro_door.json create mode 100644 src/main/resources/assets/bellsandwhistles/blockstates/metro_trapdoor.json create mode 100644 src/main/resources/assets/bellsandwhistles/blockstates/sliding_metro_door.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/corrugated_metro_casing.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/door/fold_left.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/door/fold_right.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/door/folding_metro_door_bottom.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/door/folding_metro_door_top.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/door/sliding_metro_door_bottom.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/door/sliding_metro_door_top.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/metro_casing.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_bottom.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_open.json create mode 100644 src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_top.json create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/corrugated_metro.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/door/folding_metro_door_all.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/door/folding_metro_door_bottom.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/door/folding_metro_door_top.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/door/metro_door_side.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_all.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_bottom.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_top.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/metro.png create mode 100644 src/main/resources/assets/bellsandwhistles/textures/block/metro/metro_trapdoor.png diff --git a/src/main/java/systems/alexander/bellsandwhistles/block/ModBlocks.java b/src/main/java/systems/alexander/bellsandwhistles/block/ModBlocks.java index 5f34803..04978c6 100644 --- a/src/main/java/systems/alexander/bellsandwhistles/block/ModBlocks.java +++ b/src/main/java/systems/alexander/bellsandwhistles/block/ModBlocks.java @@ -1,5 +1,8 @@ package systems.alexander.bellsandwhistles.block; +import com.simibubi.create.content.decoration.TrainTrapdoorBlock; +import com.simibubi.create.content.decoration.encasing.CasingBlock; +import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorBlock; import com.tterrag.registrate.builders.BlockBuilder; import net.minecraft.world.item.CreativeModeTab; import systems.alexander.bellsandwhistles.BellsAndWhistles; @@ -29,7 +32,6 @@ public static NonNullFunction, BlockBuil } public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, BellsAndWhistles.MOD_ID); - public static final RegistryObject STATION_PLATFORM = registerBlock("station_platform", () -> new PlatformBlock(BlockBehaviour.Properties.copy(Blocks.SMOOTH_STONE).sound(SoundType.STONE).noOcclusion())); public static final RegistryObject ANDESITE_GRAB_RAILS = registerBlock("andesite_grab_rails", @@ -46,6 +48,24 @@ public static NonNullFunction, BlockBuil public static final RegistryObject COPPER_BOGIE_STEPS = registerBlock("copper_bogie_steps", () -> new MetalBogieStepsBlock(BlockBehaviour.Properties.copy(Blocks.LADDER).sound(SoundType.METAL).noOcclusion())); + public static final RegistryObject METRO_CASING = registerBlock("metro_casing", + () -> new CasingBlock(BlockBehaviour.Properties.copy(Blocks.MOSSY_COBBLESTONE).sound(SoundType.METAL), true)); + + public static final RegistryObject CORRUGATED_METRO_CASING = registerBlock("corrugated_metro_casing", + () -> new CasingBlock(BlockBehaviour.Properties.copy(Blocks.MOSSY_COBBLESTONE).sound(SoundType.METAL), true)); + public static final RegistryObject METRO_DOOR = registerBlock("metro_door", + () -> new SlidingDoorBlock(BlockBehaviour.Properties.copy(Blocks.MOSSY_COBBLESTONE).sound(SoundType.METAL).noOcclusion(), true)); + + public static final RegistryObject METRO_TRAPDOOR = registerBlock("metro_trapdoor", + () -> new TrainTrapdoorBlock(BlockBehaviour.Properties.copy(Blocks.MOSSY_COBBLESTONE).sound(SoundType.METAL).noOcclusion())); + + public static final RegistryObject METRO_PANEL = registerBlock("metro_panel", + () -> new TrainTrapdoorBlock(BlockBehaviour.Properties.copy(Blocks.MOSSY_COBBLESTONE).sound(SoundType.METAL).noOcclusion())); + + public static final RegistryObject CORRUGATED_METRO_PANEL = registerBlock("corrugated_metro_panel", + () -> new TrainTrapdoorBlock(BlockBehaviour.Properties.copy(Blocks.MOSSY_COBBLESTONE).sound(SoundType.METAL).noOcclusion())); + + public static final RegistryObject METAL_PILOT = registerBlock("metal_pilot", () -> new PilotBlock(BlockBehaviour.Properties.copy(Blocks.IRON_BLOCK).noOcclusion())); public static final RegistryObject ANDESITE_PILOT = registerBlock("andesite_pilot", diff --git a/src/main/java/systems/alexander/bellsandwhistles/block/custom/PanelBlock.java b/src/main/java/systems/alexander/bellsandwhistles/block/custom/PanelBlock.java new file mode 100644 index 0000000..acb5699 --- /dev/null +++ b/src/main/java/systems/alexander/bellsandwhistles/block/custom/PanelBlock.java @@ -0,0 +1,137 @@ +package systems.alexander.bellsandwhistles.block.custom; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.decoration.copycat.CopycatBlockEntity; +import com.simibubi.create.content.decoration.copycat.CopycatPanelBlock; +import com.simibubi.create.content.decoration.copycat.CopycatSpecialCases; +import com.simibubi.create.foundation.placement.IPlacementHelper; +import com.simibubi.create.foundation.placement.PlacementHelpers; +import com.simibubi.create.foundation.placement.PlacementOffset; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.DirectionProperty; +import net.minecraft.world.phys.BlockHitResult; + +import java.util.List; +import java.util.function.Predicate; + +public class PanelBlock extends Block { + public static final DirectionProperty FACING = BlockStateProperties.FACING; + + private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); + + public PanelBlock(Properties pProperties) { + super(pProperties); + registerDefaultState(defaultBlockState().setValue(FACING, Direction.UP)); + } + public static BlockState getMaterial(BlockGetter reader, BlockPos targetPos) { + return Blocks.STONE.defaultBlockState(); + } + public boolean canFaceBeOccluded(BlockState state, Direction face) { + return state.getValue(FACING) + .getOpposite() == face; + } + public boolean shouldFaceAlwaysRender(BlockState state, Direction face) { + return canFaceBeOccluded(state, face.getOpposite()); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + BlockState stateForPlacement = super.getStateForPlacement(pContext); + return stateForPlacement.setValue(FACING, pContext.getNearestLookingDirection() + .getOpposite()); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + super.createBlockStateDefinition(pBuilder.add(FACING)); + } + + @Override + public boolean supportsExternalFaceHiding(BlockState state) { + return true; + } + + @Override + public boolean hidesNeighborFace(BlockGetter level, BlockPos pos, BlockState state, BlockState neighborState, + Direction dir) { + if (state.is(this) == neighborState.is(this)) { + if (CopycatSpecialCases.isBarsMaterial(getMaterial(level, pos)) + && CopycatSpecialCases.isBarsMaterial(getMaterial(level, pos.relative(dir)))) + return state.getValue(FACING) == neighborState.getValue(FACING); + if (getMaterial(level, pos).skipRendering(getMaterial(level, pos.relative(dir)), dir.getOpposite())) + return isOccluded(state, neighborState, dir.getOpposite()); + } + + return state.getValue(FACING) == dir.getOpposite() + && getMaterial(level, pos).skipRendering(neighborState, dir.getOpposite()); + } + + + public static boolean isOccluded(BlockState state, BlockState other, Direction pDirection) { + Direction facing = state.getValue(FACING); + if (facing.getOpposite() == other.getValue(FACING) && pDirection == facing) + return true; + if (other.getValue(FACING) != facing) + return false; + return pDirection.getAxis() != facing.getAxis(); + } + + @Override + public BlockState rotate(BlockState state, Rotation rot) { + return state.setValue(FACING, rot.rotate(state.getValue(FACING))); + } + + @Override + @SuppressWarnings("deprecation") + public BlockState mirror(BlockState state, Mirror mirrorIn) { + return state.rotate(mirrorIn.getRotation(state.getValue(FACING))); + } + + + @MethodsReturnNonnullByDefault + private static class PlacementHelper implements IPlacementHelper { + @Override + public Predicate getItemPredicate() { + return AllBlocks.COPYCAT_PANEL::isIn; + } + + @Override + public Predicate getStatePredicate() { + return AllBlocks.COPYCAT_PANEL::has; + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + List directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), + state.getValue(FACING) + .getAxis(), + dir -> world.getBlockState(pos.relative(dir)) + .getMaterial() + .isReplaceable()); + + if (directions.isEmpty()) + return PlacementOffset.fail(); + else { + return PlacementOffset.success(pos.relative(directions.get(0)), + s -> s.setValue(FACING, state.getValue(FACING))); + } + } + } + + +} diff --git a/src/main/resources/assets/bellsandwhistles/blockstates/folding_metro_door.json b/src/main/resources/assets/bellsandwhistles/blockstates/folding_metro_door.json new file mode 100644 index 0000000..6fec985 --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/blockstates/folding_metro_door.json @@ -0,0 +1,244 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom" + }, + "facing=east,half=lower,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom" + }, + "facing=east,half=lower,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=left,open=trues,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom" + }, + "facing=east,half=lower,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom" + }, + "facing=east,half=lower,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 270 + }, + "facing=east,half=lower,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top" + }, + "facing=east,half=upper,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top" + }, + "facing=east,half=upper,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 90 + }, + "facing=east,half=upper,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top" + }, + "facing=east,half=upper,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top" + }, + "facing=east,half=upper,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 270 + }, + "facing=east,half=upper,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom" + }, + "facing=north,half=lower,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom" + }, + "facing=north,half=lower,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 180 + }, + "facing=north,half=lower,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top" + }, + "facing=north,half=upper,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top" + }, + "facing=north,half=upper,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 180 + }, + "facing=north,half=upper,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom" + }, + "facing=south,half=lower,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom" + }, + "facing=south,half=upper,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 180 + }, + "facing=south,half=upper,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top" + }, + "facing=south,half=upper,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top" + }, + "facing=west,half=lower,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 90 + }, + "facing=west,half=lower,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_bottom", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 270 + }, + "facing=west,half=upper,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 90 + }, + "facing=west,half=upper,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/folding_metro_door_top", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/blockstates/metro_trapdoor.json b/src/main/resources/assets/bellsandwhistles/blockstates/metro_trapdoor.json new file mode 100644 index 0000000..a2b9a81 --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/blockstates/metro_trapdoor.json @@ -0,0 +1,66 @@ +{ + "variants": { + "facing=east,half=bottom,open=false": { + "model": "bellsandwhistles:block/metro/trapdoor/block_bottom", + "uvlock": true + }, + "facing=east,half=bottom,open=true": { + "model": "bellsandwhistles:block/metro/trapdoor/block_open", + "y": 90 + }, + "facing=east,half=top,open=false": { + "model": "bellsandwhistles:block/metro/trapdoor/block_top", + "uvlock": true + }, + "facing=east,half=top,open=true": { + "model": "bellsandwhistles:block/metro/trapdoor/block_open", + "y": 90 + }, + "facing=north,half=bottom,open=false": { + "model": "bellsandwhistles:block/metro/trapdoor/block_bottom", + "uvlock": true + }, + "facing=north,half=bottom,open=true": { + "model": "bellsandwhistles:block/metro/trapdoor/block_open" + }, + "facing=north,half=top,open=false": { + "model": "bellsandwhistles:block/metro/trapdoor/block_top", + "uvlock": true + }, + "facing=north,half=top,open=true": { + "model": "bellsandwhistles:block/metro/trapdoor/block_open" + }, + "facing=south,half=bottom,open=false": { + "model": "bellsandwhistles:block/metro/trapdoor/block_bottom", + "uvlock": true + }, + "facing=south,half=bottom,open=true": { + "model": "bellsandwhistles:block/metro/trapdoor/block_open", + "y": 180 + }, + "facing=south,half=top,open=false": { + "model": "bellsandwhistles:block/metro/trapdoor/block_top", + "uvlock": true + }, + "facing=south,half=top,open=true": { + "model": "bellsandwhistles:block/metro/trapdoor/block_open", + "y": 180 + }, + "facing=west,half=bottom,open=false": { + "model": "bellsandwhistles:block/metro/trapdoor/block_bottom", + "uvlock": true + }, + "facing=west,half=bottom,open=true": { + "model": "bellsandwhistles:block/metro/trapdoor/block_open", + "y": 270 + }, + "facing=west,half=top,open=false": { + "model": "bellsandwhistles:block/metro/trapdoor/block_top", + "uvlock": true + }, + "facing=west,half=top,open=true": { + "model": "bellsandwhistles:block/metro/trapdoor/block_open", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/blockstates/sliding_metro_door.json b/src/main/resources/assets/bellsandwhistles/blockstates/sliding_metro_door.json new file mode 100644 index 0000000..e006b7b --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/blockstates/sliding_metro_door.json @@ -0,0 +1,244 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom" + }, + "facing=east,half=lower,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom" + }, + "facing=east,half=lower,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom" + }, + "facing=east,half=lower,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom" + }, + "facing=east,half=lower,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 270 + }, + "facing=east,half=lower,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top" + }, + "facing=east,half=upper,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top" + }, + "facing=east,half=upper,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 90 + }, + "facing=east,half=upper,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top" + }, + "facing=east,half=upper,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top" + }, + "facing=east,half=upper,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 270 + }, + "facing=east,half=upper,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom" + }, + "facing=north,half=lower,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom" + }, + "facing=north,half=lower,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 180 + }, + "facing=north,half=lower,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top" + }, + "facing=north,half=upper,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top" + }, + "facing=north,half=upper,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 180 + }, + "facing=north,half=upper,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom" + }, + "facing=south,half=lower,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom" + }, + "facing=south,half=upper,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 180 + }, + "facing=south,half=upper,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top" + }, + "facing=south,half=upper,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top" + }, + "facing=west,half=lower,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 90 + }, + "facing=west,half=lower,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_bottom", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 270 + }, + "facing=west,half=upper,hinge=left,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=false,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true,visible=false": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 90 + }, + "facing=west,half=upper,hinge=right,open=true,visible=true": { + "model": "bellsandwhistles:block/metro/door/sliding_metro_door_top", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/corrugated_metro_casing.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/corrugated_metro_casing.json new file mode 100644 index 0000000..fcf502d --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/corrugated_metro_casing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "bellsandwhistles:metro/corrugated_metro" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/door/fold_left.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/fold_left.json new file mode 100644 index 0000000..9f8156f --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/fold_left.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "2": "bellsandwhistles:block/metro/folding_metro_door_top", + "3": "bellsandwhistles:block/metro/folding_metro_door_bottom", + "particle": "bellsandwhistles:block/metro/metro" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "down": {"uv": [0, 8, 8, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/door/fold_right.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/fold_right.json new file mode 100644 index 0000000..0d9f7e1 --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/fold_right.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "2": "bellsandwhistles:block/metro/folding_metro_door_top", + "3": "bellsandwhistles:block/metro/folding_metro_door_bottom", + "particle": "bellsandwhistles:block/metro/metro" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [8, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [8, 8, 16, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/door/folding_metro_door_bottom.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/folding_metro_door_bottom.json new file mode 100644 index 0000000..8c44d6c --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/folding_metro_door_bottom.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "2": "bellsandwhistles:block/metro/folding_metro_door_bottom", + "particle": "bellsandwhistles:block/metro/metro" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 8, 16, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/door/folding_metro_door_top.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/folding_metro_door_top.json new file mode 100644 index 0000000..4b0a199 --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/folding_metro_door_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "2": "bellsandwhistles:block/metro/folding_metro_door_top", + "particle": "bellsandwhistles:block/metro/metro" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/door/sliding_metro_door_bottom.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/sliding_metro_door_bottom.json new file mode 100644 index 0000000..22c8c8e --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/sliding_metro_door_bottom.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "2": "bellsandwhistles:block/metro/sliding_metro_door_bottom", + "particle": "bellsandwhistles:block/metro/metro" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 8, 16, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/door/sliding_metro_door_top.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/sliding_metro_door_top.json new file mode 100644 index 0000000..ea95538 --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/door/sliding_metro_door_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "2": "bellsandwhistles:block/metro/sliding_metro_door_top", + "particle": "bellsandwhistles:block/metro/metro" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/metro_casing.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/metro_casing.json new file mode 100644 index 0000000..188e41d --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/metro_casing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "bellsandwhistles:metro/metro" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_bottom.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_bottom.json new file mode 100644 index 0000000..06a7dc4 --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_bottom.json @@ -0,0 +1,23 @@ +{ + "parent": "block/block", + "credit": "Made with Blockbench", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "1": "bellsandwhistles:block/metro/metro_trapdoor", + "particle": "bellsandwhistles:block/metro/metro_trapdoor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "faces": { + "north": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_open.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_open.json new file mode 100644 index 0000000..e3fd056 --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_open.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "1": "bellsandwhistles:block/metro/metro_trapdoor", + "particle": "bellsandwhistles:block/metro/metro_trapdoor" + }, + "elements": [ + { + "from": [0, 0, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 3], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_top.json b/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_top.json new file mode 100644 index 0000000..2512bfa --- /dev/null +++ b/src/main/resources/assets/bellsandwhistles/models/block/metro/trapdoor/block_top.json @@ -0,0 +1,23 @@ +{ + "parent": "block/block", + "credit": "Made with Blockbench", + "textures": { + "0": "bellsandwhistles:block/metro/metro_door_side", + "1": "bellsandwhistles:block/metro/metro_trapdoor", + "particle": "bellsandwhistles:block/metro/metro_trapdoor" + }, + "elements": [ + { + "from": [0, 13, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bellsandwhistles/textures/block/metro/corrugated_metro.png b/src/main/resources/assets/bellsandwhistles/textures/block/metro/corrugated_metro.png new file mode 100644 index 0000000000000000000000000000000000000000..433cfdb011d46ea2b4cd66780b543403c0a09f49 GIT binary patch literal 566 zcmV-60?GY}P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0n155K~y+TO;fv4 z12GI-`_2h`4HYynL(5QwA~pPf4Hw_}#jcbKcuuipYbC9ugwyBq=wo0G5itgY5YVUx zNsQ>d13dRWFaoYC^1YiLr3%E40Jqrf27wY{!B2*EFKySOz_(?$w@r_fh>4DMmZb+{ zw!8jzelq(sSu$o|k@Y;e&ipArF*+6)GwDeWr>~bmJ4{Kxe-5;qV?eLnYN6T~n)}3E zy0NZ&9F0+T5mLdL#0zL(F4=3{^tbclP*kO47b)PF61LXRDPgb^bW*##Imq0|6Lq7I z1fJb@Lh0x8b+-)OC}9?V3uat+{)+(}fgRRi%XrI{$=npYO~VjZgF zs#eO@?Okk6Uf&;B6E)}GVkTN8d;j;by(VrHbT`I~Uj|EMEr@;5%K!iX07*qoM6N<$ Ef;c7nN&o-= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/folding_metro_door_all.png b/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/folding_metro_door_all.png new file mode 100644 index 0000000000000000000000000000000000000000..a42481f3700a75831050ae7ed289079fee9e9090 GIT binary patch literal 1191 zcmV;Y1X%ltP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TXm6#bN>wjhIB`Sb10ZqZ10eMS020R{apN=a0k&#^ zO4|eC&=c9VY|_TD9ovujjXjRz%`ULcPkOOu#`c>x^P71u){Xsr<9RMAY}=ut$mN@Dv!}gp-Mn?v^m={rgHS$(35z@<+i@wHy`d$|2gxWMh zighbJEh>uzI|B#q-M?=>|Nch<<%3@i>MPQ7^`mQRZ6DvcBX-DLAj!ij0DSnX+xwOX zj7z(Fb;#N_*DdpY7KhqV092>4Ee}?cG$#PkB&Ily<-To04jrc?AUJ?DUc9tR!_hVk zhaLq>p;M)_nKYsc_R)bZXmjgh(7c|if{bVwc z8U~trZ~$RMAMiZ?M7m&CUGpAL{s7_tKJagBUk9WBOx7~~FDq`Nc3}6tqEam}8;>Lf z@4W9-nkA0@v?T(M4h}kTKwLw3io9S}+p-#quaK3TxHrZS|H{a+lg^$OE3vWcaxuCj z?GHRRPs^~Di*4upybuS_^95DmY5i#gFt5!&nBKybN0UfhP^ADnqM4DWZ$9QFsO&evQFZ-Hu<4TVb7y*;ETL52lPB(3PXlhD#LKF zIS(2Ea3IGILsev5=z72kPD}Hbp}@^eSIhu8%Vj@f;UD&0R25-hD#;HsgxcL zrQ`9D*k+uXvI!+A4ucnih34TlYBL~QqbmwY_K@}@XYZ^!Mj z(h0ETmIuhCy=m*Z9b5SCch-TTdEjURCHnOD-#R!z^bh&I&O3dIoT&f+002ovPDHLk FV1h%zBHaK0 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/folding_metro_door_bottom.png b/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/folding_metro_door_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..76e1eeb1812d21109602f1e4ce0ad55ab7d6366f GIT binary patch literal 588 zcmV-S0<-;zP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T=}JntMzSgRb`g#>njnwNzBzq(jtV9*u!$Ai|0@6$G=^!jzI# ztelFb;A14`g2d4*XJSe};&Kj1SK5nLZPI_*N{k}B5*$hGP)7hD)7#hhS;9Mm9$n#VGX$OpwRpH=`)_5zA#wP z>PQ9r>h+SwP8o=a%8wsrt-!R5aJ?||@ZOWM#o;jP{=_uQtqQw{+AyTdODV5Zf-^;z z2Ad`}nPMX9KVijo5ycX#5U8+L!bdIL@7E)a$5+M9Ol_+|)JAG{Yow%{DzBg_28~)Zp ai1-T)-6OGw35{F;0000@P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T3-A=Y01F!fufYQ#bxbD)BqS1UsoFHDav|qn zyKZD5@eQ$$fBV?yx1*hgVPjb)aCF^(x~`}#iUP{A0@t-EMo{CdRt0FIvr*%^9`tMn zOw*tRbyb3Hn2;?OkYyQoo(JAepBABplw}F?`5b6#Ts*v(kRUU=zoqtgaz(8S*L3{g z&dA;6SPOzcw75H-NTr$PZ`qW9Pr7-0YOc>ije?f_fe*evpng{q3CJ{7mplPk7dhm4 zPW`Ti9vFrJIyv4NrUJcj9EU~QV1lY@*J8ju=<=S#5XT9Nw%ICS-QKqfygu9Ru}ICI zCGcHTUgbZ@h`~8M^DqVHPWWOJdPgVOQi&s)uTV}zhDU>!QiN7!yA_IE_{7{z+qsqkqybS c-kuDWi2XD|DkC7H8sGNv^8>)R#g oZhs@>QN%Dwra^_hz9EBUR^gPopp(be0{y|@>FVdQ&MBb@08?UeVgLXD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_all.png b/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_all.png new file mode 100644 index 0000000000000000000000000000000000000000..c71cb2156702d10ef9320fb4ac667fb514429bc8 GIT binary patch literal 1247 zcmV<51R(o~P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1awJ6K~z{rtyjs8 z97Pa~+LxZ{X?qqB%Lq7K5AalEL?n(9`M1=IDUROM3D8TsNxWVCj5cek=ElN5B_pt3CFnIsA2 zc|o4%$QZzyLKG!rng*TsefQn-zSs7y?Ny%VlkK?jW7x1Pa?%Zx!r3W>VMxC3lRsFK zkFW;hc}|nbL^eO~dyG>#MEwokS^QoMSRY*`XLKwJq}30qxOMvqnB(#Bzm^!M7*bev z((_o!vb;86V{?m)wF5F7wwhlWKed-K;BBAC=4DpWbl;N`{Qcm8GV?;1W59AvI(-qy z!e`(9K%vb={aK#g_9;!{J=R-1=zL_SHP*B&xVUBf3%}P<7*d2~5*uJL{Lw zHw;5GfKUY+C*!d^(YkZ0-(5okd!m6L7&cL0a1{7&bU`-?@MFE?0cC*Bl+5K{wPEfi?Vq>I1820Bz0y2yB@F$O(8No)sri!~kR@Y#xUxB~ivFEGW+^%J{M=_{2p~ir-^i zi^EK!1&s88CJG8Z8Q=AR(>6b_$s5>AzfG=dlg+h)>sjRT99Zbh04W@r`x&Q{Rw-y+8~gnkF^7&!gA0A&*hhWN^y#h38uSQlWWR((x;-D8`T zA9}!<3)s&gTo7{k#0I4)M+55snLo|h4NU~ZAr~Y(*;^Q@dH}`caO6n@xJfswl&EmoEto?tsQEZUZz2SEKT25P5(#lC^g{zl zmhp|3(u`eGM*-IZO-S~ECJ}M1$GnQ(7&=>%@}>!Ih<`ztwz!C}m~zY1MVNhQpuLV4 z!%A(?y^IvPYb)P|pL}|ylDmMhtb{_ER_lvEIkvU6xq<;iuK`Y$NEzj{*=+y-002ov JPDHLkV1fu3OyU3l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_bottom.png b/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..9290246f8a3cd9ada399966b2fb928918d79356e GIT binary patch literal 625 zcmV-%0*?KOP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0tQJ$K~y+TWmC(J z)G!dNyzPu;7bFk}i4j~m0Jq%_;>y2p;3MFVxN$%rAr6ZMZDKpIO?79I89`}0cH(w- zRkc&x+}>nsd+eW#sM`v6-&zPheEy`f;LDHS`1t;vt{)y|AZFZsZ!io4&Iz85Fg*`v z;Mdm*^UOd(g8IHkUDvoi1ny^~knrcH#qoGVDM4*#G*}J`uAc`ydJ*yXWyax^(e>3c zhk|=WA^+G4Xo9+~^spNO{5Y{f#5`q8F_LXYj0u^v9rxTYkwjKTTY`Cx%naClw~c<^ z!tPqqZ(&S}*3>Yzf#Ex0u_Y+W3Mnphq>7HrY)PJ%cPWtts|pqYi-fAGP^J`7R<(Ge z5?r8BDZw+qdk^O(csHNu2aNY#B}jruiJJ!^!CaC4&X8^cYbm4eNWVd6Dy83voL%?7 zguqHdP|Qm+&GXDoUxd}-`a*nJvF56SI7^_;K_m&T`p=lt|c2T)RL|m|8l)nT!%;h%9+0cVXdk#%7{` z@$ht5JK=)T7Z3b2VH^YQDQ)RO&@QYvU8ET$d8uDS$!vj#JP)KPsb@`Dq9Ns`F4fr8 z1O1qqhI&tJS+NFOeoQMa_lnnV-e&z4h)muED_uga`MUovybt&b>q$H)KNM8q00000 LNkvXXu0mjfc+(QI literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_top.png b/src/main/resources/assets/bellsandwhistles/textures/block/metro/door/sliding_metro_door_top.png new file mode 100644 index 0000000000000000000000000000000000000000..1d451ebdfeaada98369d2ca778fb7af0ad708a2c GIT binary patch literal 507 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0gy>VK~y+Tm6JP8 z!$1&*f3F=jHXs5>>8NQD5egkOEfpuAq(kBW&~XfqxB|DJ1Zo})Qcx5e8Eh~6k3GbW zA|XD>-kBZG>^#=N?qJ|Lod}9CAgHPNRw##I2qPW$4O1xdPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0ZU0lK~y+TU6Y4( z1R)GWg>YML!X3E(77p-y1@_L`CzM737RJx-_u1#zIA(6ce7a$uy=~5E((K6ITYxdb zFSN;FN5Uhxl9%+?+V)a#$wo&m$=ytG)q-6G#e>4?jA1slOnj0K6AO$K;+jw*av)E^ zM4BSB1XuiaV=JsoaZVzkTYv<*C9oV}PM@LujOTvWb14<$s zV<#u+4}_J)+W)Zyk|V&To22*0$wafa@H5lL$WWnTnwy&RralF#E3w-^3ikN7^(>fl zLnLvj;I@0H2KQFtcNKB=0gk**mQ2XgDT+lnef=xrDu*JQ`_WV24M>k62de8=MoOkV zThR57L?~7*4a`EhY#tH*s_Q&5h=cMk-E%3EF7h$QI!lkMUL!cM>*-c6CeQs=!ApHk g+_n3dF12p<2WJYs>b?~FBme*a07*qoM6N<$g4bleN&o-= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bellsandwhistles/textures/block/metro/metro_trapdoor.png b/src/main/resources/assets/bellsandwhistles/textures/block/metro/metro_trapdoor.png new file mode 100644 index 0000000000000000000000000000000000000000..535b53d1eaac95b192b82d013a080eea79f40fa9 GIT binary patch literal 597 zcmV-b0;>IqP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0qRLaK~y+TT~lpt z-5?NL8ykaPUlLV4M_V;N()%B!2dJv2#x|Ib&Mfvz(v{Y*yMSkAq5JXtT*q;c)B4^> zDOtx5f~1ti`$=OOYqW8+vMh^qFF#+Z_p{i^$uJn*P;!#q46?lb)kX6>%Y6By8(E{J zl;n21wF4fXKFj>&k91w9#ai_X?=Y`A)1=m0{`W8Z0EhRi@y|Mf3cVkV801FV;_-<4 zp@(yAhdqt99zfVRRoRv(Vclhihb_w*c8RFPm?Xt48}i$-V{LvrKt%(u!5Z<`>F)E@ zioaO!x8j@?>jrUt6o;Gv5^7)!P^sb&j2vq|yn<^%3W75(rAltX0DLnZkTdo&Q1$ns z6t)=ID+yS@Hf|f~qyv7G^)-M(`A8vR;V>C-4}gDhfIDjM=XnDBQ6`5P;7_D;nUun5 zcM3HZDG;ha%sl`egle55=mxyadhI4D&=dh}2Ze3H^UPlKSooN*ABC1hoUUQsI^%)mlYtUjYgJQ$;(TPW5P@z7j2KpBGvd*@gb}l#{)BF1STKDza_jBHj~hd