diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index e84ceab3e..b43f7c15d 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -273,9 +273,10 @@ b7829c2ef2c47188713f8cab21b2c9bc7f9c5b79 assets\create\blockstates\portable_stor e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets\create\blockstates\powered_toggle_latch.json 3a739f9d4276828d83f2d2750bf3227c87bcd438 assets\create\blockstates\pulley_magnet.json 469e430d96cb0a5e1aaf6b7cc5d401d488c9e600 assets\create\blockstates\pulse_repeater.json -4e1fb033316e9230d2f024d67c27940ea731643a assets\create\blockstates\radial_chassis.json +89b63c6e5875da07226854651079bcea85439f5b assets\create\blockstates\radial_chassis.json 8929677f2cc5354aa19ef182af69f9f0b41eb242 assets\create\blockstates\redstone_contact.json c29213b77ac0c78d8979c5f6188d2b265696f9b9 assets\create\blockstates\redstone_link.json +1eac804cba08aebb5f4646758ae1ef9b32e01365 assets\create\blockstates\reinforced_rail.json e2990fe70ad5d10437a376e70e167d1856277cc1 assets\create\blockstates\rope.json e14d5f7252105934295b4e156ec0e6d62d3d6b1c assets\create\blockstates\rope_pulley.json cc4cf3420fa290cb844f9cf4dfdd836aa9b70500 assets\create\blockstates\rotation_speed_controller.json @@ -324,8 +325,8 @@ c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets\create\blockstates\weathered_lim c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets\create\blockstates\weathered_limestone_pillar.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json -4311c87a21caccb97b693bf914c8ce79de3f814b assets\create\lang\en_ud.json -c3dad9e33623a13cadd63f53e88acf316e9c4ba6 assets\create\lang\en_us.json +6bf74a9e1f74b41f53399c1f817942b01a010bf0 assets\create\lang\en_ud.json +fc67127f0ff7cbc1fb83ce1433bce4f72064985f assets\create\lang\en_us.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json @@ -1200,6 +1201,7 @@ b9a4ac219a27e60a82f55129f2df5ae6183981e2 assets\create\models\item\redstone_cont 52e561abeb954d0349e640566de92ef80ccbf919 assets\create\models\item\redstone_link.json ba99e2fdb64892f4f479a8ac51c226cb5f71f659 assets\create\models\item\red_sand_paper.json d9dd4546f4f4c6ed5fef66de9d272d469db4e81f assets\create\models\item\refined_radiance.json +901f7ad587dd07c9494d95bf7f08f93bb20db774 assets\create\models\item\reinforced_rail.json 6daff6b82b33374d7add65e352e05ecb2fd9ebdd assets\create\models\item\rope_pulley.json fc54acc37695f21ef650c8310110407647e9a023 assets\create\models\item\rose_quartz.json acfbf487ee65c2c58d89cb2644e33fda75751fde assets\create\models\item\rotation_speed_controller.json @@ -1950,6 +1952,7 @@ e8fb62c91226ac107dee45c5ebc54c8dd0aee224 data\create\loot_tables\blocks\pulse_re 768420dab8785909891e52c4d77a182d99ba11d3 data\create\loot_tables\blocks\radial_chassis.json f5907a694206facc01f61f3428f72488486761c7 data\create\loot_tables\blocks\redstone_contact.json 886a0c1386fb12104b736a15689030aaff771270 data\create\loot_tables\blocks\redstone_link.json +97c945de837a6360c0ab7e1371f16ebc1645f6ea data\create\loot_tables\blocks\reinforced_rail.json 205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\rope.json cecaac07bd275bb1ae9e302f0bf44b581e74105d data\create\loot_tables\blocks\rope_pulley.json aa6af37356d65105efab2503ffe75f778cfe873b data\create\loot_tables\blocks\rotation_speed_controller.json @@ -2399,7 +2402,7 @@ fb9bfb4c84ed9cf2da8c4b2fbc4cd4d9f37d3016 data\forge\tags\items\plates\gold.json ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data\forge\tags\items\storage_blocks\brass.json f6c8f34ceb475546dba5cc6ff288863ea795d20b data\forge\tags\items\storage_blocks\copper.json 7f71a774800111e50b42de0e6159ed2d2a807d32 data\forge\tags\items\storage_blocks\zinc.json -b217a66f3364c21c313d0ab427ccb82d9f21abb8 data\minecraft\tags\blocks\rails.json +9dadc647e17b6262c13b6d8eda9139e30ce7e7d0 data\minecraft\tags\blocks\rails.json 29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data\minecraft\tags\blocks\slabs.json 0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data\minecraft\tags\blocks\stairs.json 92584f914c53e00c111f9ff5e3894e2e3594946b data\minecraft\tags\blocks\walls.json diff --git a/src/generated/resources/assets/create/blockstates/radial_chassis.json b/src/generated/resources/assets/create/blockstates/radial_chassis.json index 80ab92133..d60327a8a 100644 --- a/src/generated/resources/assets/create/blockstates/radial_chassis.json +++ b/src/generated/resources/assets/create/blockstates/radial_chassis.json @@ -29,8 +29,8 @@ }, { "when": { - "axis": "x", - "sticky_south": "true" + "sticky_south": "true", + "axis": "x" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -39,8 +39,8 @@ }, { "when": { - "axis": "y", - "sticky_south": "true" + "sticky_south": "true", + "axis": "y" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky" @@ -48,8 +48,8 @@ }, { "when": { - "axis": "z", - "sticky_south": "true" + "sticky_south": "true", + "axis": "z" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -59,8 +59,8 @@ }, { "when": { - "axis": "x", - "sticky_south": "false" + "sticky_south": "false", + "axis": "x" }, "apply": { "model": "create:block/radial_chassis_side_x", @@ -69,8 +69,8 @@ }, { "when": { - "axis": "y", - "sticky_south": "false" + "sticky_south": "false", + "axis": "y" }, "apply": { "model": "create:block/radial_chassis_side_y" @@ -78,8 +78,8 @@ }, { "when": { - "axis": "z", - "sticky_south": "false" + "sticky_south": "false", + "axis": "z" }, "apply": { "model": "create:block/radial_chassis_side_x", @@ -149,8 +149,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "x" + "axis": "x", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky" @@ -158,8 +158,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "y" + "axis": "y", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky", @@ -168,8 +168,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "z" + "axis": "z", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -178,8 +178,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "x" + "axis": "x", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_x" @@ -187,8 +187,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "y" + "axis": "y", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_y", @@ -197,8 +197,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "z" + "axis": "z", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_x", @@ -207,8 +207,8 @@ }, { "when": { - "axis": "x", - "sticky_east": "true" + "sticky_east": "true", + "axis": "x" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -217,8 +217,8 @@ }, { "when": { - "axis": "y", - "sticky_east": "true" + "sticky_east": "true", + "axis": "y" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky", @@ -227,8 +227,8 @@ }, { "when": { - "axis": "z", - "sticky_east": "true" + "sticky_east": "true", + "axis": "z" }, "apply": { "model": "create:block/radial_chassis_side_z_sticky" @@ -236,8 +236,8 @@ }, { "when": { - "axis": "x", - "sticky_east": "false" + "sticky_east": "false", + "axis": "x" }, "apply": { "model": "create:block/radial_chassis_side_x", @@ -246,8 +246,8 @@ }, { "when": { - "axis": "y", - "sticky_east": "false" + "sticky_east": "false", + "axis": "y" }, "apply": { "model": "create:block/radial_chassis_side_y", @@ -256,8 +256,8 @@ }, { "when": { - "axis": "z", - "sticky_east": "false" + "sticky_east": "false", + "axis": "z" }, "apply": { "model": "create:block/radial_chassis_side_z" diff --git a/src/generated/resources/assets/create/blockstates/reinforced_rail.json b/src/generated/resources/assets/create/blockstates/reinforced_rail.json new file mode 100644 index 000000000..8f825264d --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/reinforced_rail.json @@ -0,0 +1,32 @@ +{ + "variants": { + "connects_n=false,connects_s=false,shape=north_south": { + "model": "create:block/reinforced_rail/block" + }, + "connects_n=true,connects_s=false,shape=north_south": { + "model": "create:block/reinforced_rail/block_n" + }, + "connects_n=false,connects_s=true,shape=north_south": { + "model": "create:block/reinforced_rail/block_s" + }, + "connects_n=true,connects_s=true,shape=north_south": { + "model": "create:block/reinforced_rail/block_s_n" + }, + "connects_n=false,connects_s=false,shape=east_west": { + "model": "create:block/reinforced_rail/block", + "y": 90 + }, + "connects_n=true,connects_s=false,shape=east_west": { + "model": "create:block/reinforced_rail/block_n", + "y": 90 + }, + "connects_n=false,connects_s=true,shape=east_west": { + "model": "create:block/reinforced_rail/block_s", + "y": 90 + }, + "connects_n=true,connects_s=true,shape=east_west": { + "model": "create:block/reinforced_rail/block_s_n", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index a19174ea9..63fd3d336 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -277,6 +277,7 @@ "block.create.radial_chassis": "s\u0131ss\u0250\u0265\u0186 \u05DF\u0250\u0131p\u0250\u1D1A", "block.create.redstone_contact": "\u0287\u0254\u0250\u0287uo\u0186 \u01DDuo\u0287sp\u01DD\u1D1A", "block.create.redstone_link": "\u029Eu\u0131\uA780 \u01DDuo\u0287sp\u01DD\u1D1A", + "block.create.reinforced_rail": "\u05DF\u0131\u0250\u1D1A p\u01DD\u0254\u0279o\u025Fu\u0131\u01DD\u1D1A", "block.create.rope": "\u01DDdo\u1D1A", "block.create.rope_pulley": "\u028E\u01DD\u05DF\u05DFn\u0500 \u01DDdo\u1D1A", "block.create.rotation_speed_controller": "\u0279\u01DD\u05DF\u05DFo\u0279\u0287uo\u0186 p\u01DD\u01DDdS uo\u0131\u0287\u0250\u0287o\u1D1A", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 7e16f85d7..356e2516d 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -280,6 +280,7 @@ "block.create.radial_chassis": "Radial Chassis", "block.create.redstone_contact": "Redstone Contact", "block.create.redstone_link": "Redstone Link", + "block.create.reinforced_rail": "Reinforced Rail", "block.create.rope": "Rope", "block.create.rope_pulley": "Rope Pulley", "block.create.rotation_speed_controller": "Rotation Speed Controller", diff --git a/src/generated/resources/assets/create/models/item/reinforced_rail.json b/src/generated/resources/assets/create/models/item/reinforced_rail.json new file mode 100644 index 000000000..9084dee8f --- /dev/null +++ b/src/generated/resources/assets/create/models/item/reinforced_rail.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/reinforced_rail/block" +} \ No newline at end of file diff --git a/src/generated/resources/data/create/loot_tables/blocks/reinforced_rail.json b/src/generated/resources/data/create/loot_tables/blocks/reinforced_rail.json new file mode 100644 index 000000000..cba199d6f --- /dev/null +++ b/src/generated/resources/data/create/loot_tables/blocks/reinforced_rail.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:reinforced_rail" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/rails.json b/src/generated/resources/data/minecraft/tags/blocks/rails.json index c2532577d..c75102c53 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/rails.json +++ b/src/generated/resources/data/minecraft/tags/blocks/rails.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ - "create:cart_assembler" + "create:cart_assembler", + "create:reinforced_rail" ] } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 41e15e03b..3e2d216de 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -45,6 +45,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pis import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonHeadBlock; import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonExtensionPoleBlock; import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock; +import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock; import com.simibubi.create.content.contraptions.components.turntable.TurntableBlock; import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelBlock; import com.simibubi.create.content.contraptions.processing.BasinBlock; @@ -455,6 +456,19 @@ public class AllBlocks { .getBlock(), "/block")) .build() .register(); + + public static final BlockEntry REINFORCED_RAIL = + REGISTRATE.block("reinforced_rail", ReinforcedRailBlock::new) + .initialProperties(SharedProperties::stone) + .properties(p -> p.nonOpaque()) + .blockstate(BlockStateGen.reinforcedRail()) + .addLayer(() -> RenderType::getCutoutMipped) + .tag(BlockTags.RAILS) + .item() + .model((c, p) -> p.blockItem(() -> c.getEntry() + .getBlock(), "/block")) + .build() + .register(); public static final BlockEntry MINECART_ANCHOR = REGISTRATE.block("minecart_anchor", MinecartAnchorBlock::new) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java index 06a65f3ec..038c3c274 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java @@ -216,5 +216,4 @@ public class CartAssemblerBlock extends AbstractRailBlock implements ITE getTileEntityClass() { return CartAssemblerTileEntity.class; } - } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ReinforcedRailBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ReinforcedRailBlock.java new file mode 100644 index 000000000..44d009141 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/components/tracks/ReinforcedRailBlock.java @@ -0,0 +1,106 @@ +package com.simibubi.create.content.contraptions.components.tracks; + +import net.minecraft.block.AbstractRailBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.material.PushReaction; +import net.minecraft.entity.item.minecart.AbstractMinecartEntity; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.state.BooleanProperty; +import net.minecraft.state.EnumProperty; +import net.minecraft.state.IProperty; +import net.minecraft.state.StateContainer.Builder; +import net.minecraft.state.properties.RailShape; +import net.minecraft.util.Direction.Axis; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.shapes.ISelectionContext; +import net.minecraft.util.math.shapes.VoxelShape; +import net.minecraft.util.math.shapes.VoxelShapes; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.IWorldReader; +import net.minecraft.world.World; + +public class ReinforcedRailBlock extends AbstractRailBlock{ + + public static IProperty RAIL_SHAPE = + EnumProperty.create("shape", RailShape.class, RailShape.EAST_WEST, RailShape.NORTH_SOUTH); + + public static IProperty CONNECTS_N = BooleanProperty.create("connects_n"); + public static IProperty CONNECTS_S = BooleanProperty.create("connects_s"); + + public ReinforcedRailBlock(Properties properties) { + super(true, properties); + } + + @Override + public IProperty getShapeProperty() { + return RAIL_SHAPE; + } + + @Override + protected void fillStateContainer(Builder builder) { + builder.add(RAIL_SHAPE, CONNECTS_N, CONNECTS_S); + super.fillStateContainer(builder); + } + + @Override + public BlockState getStateForPlacement(BlockItemUseContext context) { + boolean alongX = context.getPlacementHorizontalFacing().getAxis() == Axis.X; + return super.getStateForPlacement(context).with(RAIL_SHAPE, alongX ? RailShape.EAST_WEST : RailShape.NORTH_SOUTH).with(CONNECTS_N, false).with(CONNECTS_S, false); + } + + @Override + public boolean canMakeSlopes(BlockState state, IBlockReader world, BlockPos pos) { + return false; + } + + @Override + protected void updateState(BlockState state, World world, BlockPos pos, Block block) { + super.updateState(state, world, pos, block); + world.setBlockState(pos, getUpdatedState(world, pos, state, true)); + } + + @Override + protected BlockState getUpdatedState(World world, BlockPos pos, BlockState state, + boolean p_208489_4_) { + + boolean alongX = state.get(RAIL_SHAPE) == RailShape.EAST_WEST; + BlockPos sPos = pos.add(alongX ? -1 : 0, 0, alongX ? 0 : 1); + BlockPos nPos = pos.add(alongX ? 1 : 0, 0, alongX ? 0 : -1); + + return super.getUpdatedState(world, pos, state, p_208489_4_).with(CONNECTS_S, world.getBlockState(sPos).getBlock() instanceof ReinforcedRailBlock && + (world.getBlockState(sPos).get(RAIL_SHAPE) == state.get(RAIL_SHAPE))) + .with(CONNECTS_N, world.getBlockState(nPos).getBlock() instanceof ReinforcedRailBlock && + (world.getBlockState(nPos).get(RAIL_SHAPE) == state.get(RAIL_SHAPE))); + } + + @Override + public VoxelShape getCollisionShape(BlockState state, IBlockReader worldIn, BlockPos pos, + ISelectionContext context) { //FIXME + if (context.getEntity() instanceof AbstractMinecartEntity) + return VoxelShapes.empty(); + return VoxelShapes.fullCube(); + } + + @Override + public PushReaction getPushReaction(BlockState state) { + return PushReaction.BLOCK; + } + + @Override + public boolean isNormalCube(BlockState state, IBlockReader worldIn, BlockPos pos) { + return false; + } + + @Override + public boolean isValidPosition(BlockState p_196260_1_, IWorldReader p_196260_2_, BlockPos p_196260_3_) { + return true; + } + + @Override + public void neighborChanged(BlockState state, World world, BlockPos pos, Block block, BlockPos pos2, boolean p_220069_6_) { + if (!world.isRemote) { + this.updateState(state, world, pos, block); + } + } +} diff --git a/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java b/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java index ff2061953..e77c2d171 100644 --- a/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java @@ -12,6 +12,7 @@ import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock import com.simibubi.create.content.contraptions.components.structureMovement.chassis.LinearChassisBlock; import com.simibubi.create.content.contraptions.components.structureMovement.chassis.RadialChassisBlock; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock; +import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock; import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverBlock; import com.simibubi.create.content.palettes.PavedBlock; import com.simibubi.create.foundation.utility.Iterate; @@ -175,6 +176,19 @@ public class BlockStateGen { .build(); }); } + + public static NonNullBiConsumer, RegistrateBlockstateProvider> reinforcedRail() { + return (c, p) -> p.getVariantBuilder(c.get()) + .forAllStates(state -> { + return ConfiguredModel.builder() + .modelFile(p.models() + .getExistingFile(p.modLoc("block/" + c.getName() + "/block" + + (state.get(ReinforcedRailBlock.CONNECTS_S) ? "_s" : "") + + (state.get(ReinforcedRailBlock.CONNECTS_N) ? "_n" : "")))) + .rotationY(state.get(ReinforcedRailBlock.RAIL_SHAPE) == RailShape.EAST_WEST ? 90 : 0) + .build(); + }); + } public static NonNullBiConsumer, RegistrateBlockstateProvider> beltObserver() { return (c, p) -> { diff --git a/src/main/resources/assets/create/models/block/reinforced_rail/block.json b/src/main/resources/assets/create/models/block/reinforced_rail/block.json new file mode 100644 index 000000000..757f2b9c7 --- /dev/null +++ b/src/main/resources/assets/create/models/block/reinforced_rail/block.json @@ -0,0 +1,136 @@ +{ + "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", +"ambientocclusion": false, + "textures": { + "oak_planks": "minecraft:block/oak_planks", + "rail": "create:block/reinforced_rail_top", + "particle": "create:block/reinforced_rail_top" + }, + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.625, 0.625, 0.625 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "fixed": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + }, + "head": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 315, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.4, 0.4, 0.4 ] + }, + "thirdperson_righthand": { + "rotation": [ 75, 315, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + }, + "elements": [ + { + "name": "Cube", + "from": [ 0, -2, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 1, 2, 15, 1 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 1, 16, 4 ] }, + "south": { "texture": "#oak_planks", "uv": [ 1, 1, 16, 4 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 3 ] }, + "up": { "texture": "#rail", "uv": [ 0, 0, 16, 16 ] }, + "down": { "texture": "#oak_planks", "uv": [ 1, 0, 16, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 0, 0 ], + "to": [ 1, 2, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 7, -2 ], + "to": [ 16, 9, 9 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 7, 7 ], + "to": [ 16, 9, 18 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 7, 7 ], + "to": [ 1, 9, 18 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 7, -2 ], + "to": [ 1, 9, 9 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/reinforced_rail/block_n.json b/src/main/resources/assets/create/models/block/reinforced_rail/block_n.json new file mode 100644 index 000000000..2dea5c439 --- /dev/null +++ b/src/main/resources/assets/create/models/block/reinforced_rail/block_n.json @@ -0,0 +1,160 @@ +{ + "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", +"ambientocclusion": false, + "textures": { + "oak_planks": "minecraft:block/oak_planks", + "rail": "create:block/reinforced_rail_top", + "particle": "create:block/reinforced_rail_top" + }, + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.625, 0.625, 0.625 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "fixed": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + }, + "head": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 315, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.4, 0.4, 0.4 ] + }, + "thirdperson_righthand": { + "rotation": [ 75, 315, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + }, + "elements": [ + { + "name": "Cube", + "from": [ 0, -2, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 1, 2, 15, 1 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 1, 16, 4 ] }, + "south": { "texture": "#oak_planks", "uv": [ 1, 1, 16, 4 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 3 ] }, + "up": { "texture": "#rail", "uv": [ 0, 0, 16, 16 ] }, + "down": { "texture": "#oak_planks", "uv": [ 1, 0, 16, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 0, 0 ], + "to": [ 1, 2, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 7, -2 ], + "to": [ 16, 9, 9 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 7, 7 ], + "to": [ 16, 9, 18 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 7, 7 ], + "to": [ 1, 9, 18 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 7, -2 ], + "to": [ 1, 9, 9 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "connection_n", + "from": [ 0, 7, 0 ], + "to": [ 1, 9, 8 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] } + } + }, + { + "name": "connection_n", + "from": [ 15, 7, 0 ], + "to": [ 16, 9, 8 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/reinforced_rail/block_s.json b/src/main/resources/assets/create/models/block/reinforced_rail/block_s.json new file mode 100644 index 000000000..846559160 --- /dev/null +++ b/src/main/resources/assets/create/models/block/reinforced_rail/block_s.json @@ -0,0 +1,161 @@ +{ + "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", +"ambientocclusion": false, + "textures": { + "oak_planks": "minecraft:block/oak_planks", + "rail": "create:block/reinforced_rail_top", + + "particle": "create:block/reinforced_rail_top" + }, + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.625, 0.625, 0.625 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "fixed": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + }, + "head": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 315, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.4, 0.4, 0.4 ] + }, + "thirdperson_righthand": { + "rotation": [ 75, 315, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + }, + "elements": [ + { + "name": "Cube", + "from": [ 0, -2, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 1, 2, 15, 1 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 1, 16, 4 ] }, + "south": { "texture": "#oak_planks", "uv": [ 1, 1, 16, 4 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 3 ] }, + "up": { "texture": "#rail", "uv": [ 0, 0, 16, 16 ] }, + "down": { "texture": "#oak_planks", "uv": [ 1, 0, 16, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 0, 0 ], + "to": [ 1, 2, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 7, -2 ], + "to": [ 16, 9, 9 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 7, 7 ], + "to": [ 16, 9, 18 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 7, 7 ], + "to": [ 1, 9, 18 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 7, -2 ], + "to": [ 1, 9, 9 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "connection_s", + "from": [ 0, 7, 8 ], + "to": [ 1, 9, 16 ], + "faces": { + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] } + } + }, + { + "name": "connection_s", + "from": [ 15, 7, 8 ], + "to": [ 16, 9, 16 ], + "faces": { + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/reinforced_rail/block_s_n.json b/src/main/resources/assets/create/models/block/reinforced_rail/block_s_n.json new file mode 100644 index 000000000..aaf4626eb --- /dev/null +++ b/src/main/resources/assets/create/models/block/reinforced_rail/block_s_n.json @@ -0,0 +1,184 @@ +{ + "__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)", +"ambientocclusion": false, + "textures": { + "oak_planks": "minecraft:block/oak_planks", + "rail": "create:block/reinforced_rail_top", + "particle": "create:block/reinforced_rail_top" + }, + "display": { + "gui": { + "rotation": [ 30, 45, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.625, 0.625, 0.625 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "fixed": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + }, + "head": { + "rotation": [ 0, 180, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 1, 1, 1 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 315, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.4, 0.4, 0.4 ] + }, + "thirdperson_righthand": { + "rotation": [ 75, 315, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + }, + "elements": [ + { + "name": "Cube", + "from": [ 0, -2, 0 ], + "to": [ 16, 1, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 1, 2, 15, 1 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 1, 16, 4 ] }, + "south": { "texture": "#oak_planks", "uv": [ 1, 1, 16, 4 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 3 ] }, + "up": { "texture": "#rail", "uv": [ 0, 0, 16, 16 ] }, + "down": { "texture": "#oak_planks", "uv": [ 1, 0, 16, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 0, 0 ], + "to": [ 1, 2, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 0, 0 ], + "to": [ 16, 2, 16 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 16, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 16 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 7, -2 ], + "to": [ 16, 9, 9 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 15, 7, 7 ], + "to": [ 16, 9, 18 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 7, 7 ], + "to": [ 1, 9, 18 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": 45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "Cube", + "from": [ 0, 7, -2 ], + "to": [ 1, 9, 9 ], + "rotation": { "origin": [ 8, 8, 8 ], "axis": "x", "angle": -45.0 }, + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 11, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 11 ] } + } + }, + { + "name": "connection_n", + "from": [ 0, 7, 0 ], + "to": [ 1, 9, 8 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] } + } + }, + { + "name": "connection_s", + "from": [ 0, 7, 8 ], + "to": [ 1, 9, 16 ], + "faces": { + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] } + } + }, + { + "name": "connection_s", + "from": [ 15, 7, 8 ], + "to": [ 16, 9, 16 ], + "faces": { + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "south": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] } + } + }, + { + "name": "connection_n", + "from": [ 15, 7, 0 ], + "to": [ 16, 9, 8 ], + "faces": { + "north": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 2 ] }, + "east": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "west": { "texture": "#oak_planks", "uv": [ 0, 0, 8, 2 ] }, + "up": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] }, + "down": { "texture": "#oak_planks", "uv": [ 0, 0, 1, 8 ] } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/reinforced_rail_top.png b/src/main/resources/assets/create/textures/block/reinforced_rail_top.png new file mode 100644 index 000000000..9b284ef30 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/reinforced_rail_top.png differ