diff --git a/README.md b/README.md index 1245c648..3b8a49f1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Create Railways Navigator (Minecraft Create Mod Addon) -![Logo](https://github.com/MisterJulsen/Create-Train-Navigator/blob/1.18.2-Multiloader/icon_256px.png) +![Logo](https://github.com/MisterJulsen/Create-Train-Navigator/blob/1.18.2/icon_256px.png) Get a list possible train connections in your world from one station to another using the Create Railways Navigator. diff --git a/common/src/main/java/de/mrjulsen/crn/block/AbstractAdvancedDisplayBlock.java b/common/src/main/java/de/mrjulsen/crn/block/AbstractAdvancedDisplayBlock.java index f60a92ed..d60fa14c 100644 --- a/common/src/main/java/de/mrjulsen/crn/block/AbstractAdvancedDisplayBlock.java +++ b/common/src/main/java/de/mrjulsen/crn/block/AbstractAdvancedDisplayBlock.java @@ -88,19 +88,30 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { BlockPos clickedPos = context.getClickedPos(); BlockPos placedOnPos = clickedPos.relative(face.getOpposite()); Level level = context.getLevel(); - BlockState blockState = level.getBlockState(placedOnPos); + BlockState otherState = level.getBlockState(placedOnPos); BlockState stateForPlacement = this.defaultBlockState().setValue(FACING, context.getHorizontalDirection().getOpposite()); - if ((blockState.getBlock() != this) || (context.getPlayer() != null && context.getPlayer().isShiftKeyDown())) { - stateForPlacement = super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite()); + if ((otherState.getBlock() != this) || (context.getPlayer() != null && context.getPlayer().isShiftKeyDown())) { + stateForPlacement = getDefaultPlacementState(context, stateForPlacement, otherState); } else { // Clicked on existing block - Direction otherFacing = blockState.getValue(FACING); - stateForPlacement = stateForPlacement.setValue(FACING, otherFacing); + stateForPlacement = appendOnPlace(context, stateForPlacement, otherState); } return updateColumn(level, clickedPos, stateForPlacement, true); } + public BlockState appendOnPlace(BlockPlaceContext context, BlockState state, BlockState other) { + Direction otherFacing = other.getValue(FACING); + state = state + .setValue(FACING, otherFacing) + ; + return state; + } + + public BlockState getDefaultPlacementState(BlockPlaceContext context, BlockState state, BlockState other) { + return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite()); + } + protected BlockState updateColumn(Level level, BlockPos pos, BlockState state, boolean present) { MutableBlockPos currentPos = new MutableBlockPos(); Axis axis = getConnectionAxis(state); @@ -152,8 +163,8 @@ public void onPlace(BlockState pState, Level pLevel, BlockPos pPos, BlockState p public > BlockState getPropertyFromNeighbours(BlockState pState, Level pLevel, BlockPos pPos, Property property) { Direction leftDirection = pState.getValue(HorizontalDirectionalBlock.FACING).getClockWise(); - BlockPos relPos = pPos.relative(leftDirection); BlockState newState = null; + BlockPos relPos = pPos.relative(leftDirection); if ((newState = getPropertyFromNeighbour(pState, pLevel, pPos, relPos, property)) != null) { return newState; } @@ -173,7 +184,7 @@ public > BlockState getPropertyFromNeighbours(BlockState } public > BlockState getPropertyFromNeighbour(BlockState pState, Level pLevel, BlockPos pPos, BlockPos relPos, Property property) { - if (pState.getBlock() == pLevel.getBlockState(relPos).getBlock()) { + if (canConnectWithBlock(pLevel, pState, pLevel.getBlockState(relPos))) { return pState.setValue(property, pLevel.getBlockState(relPos).getValue(property)); } return null; @@ -247,10 +258,10 @@ protected boolean canConnect(LevelAccessor level, BlockPos pos, BlockState state return other.getBlock() == this && state.getValue(FACING) == other.getValue(FACING); } - public boolean canConnectWithBlock(BlockGetter level, BlockPos selfPos, BlockPos otherPos) { - return level.getBlockState(selfPos).getBlock() instanceof AbstractAdvancedDisplayBlock && level.getBlockState(otherPos).getBlock() instanceof AbstractAdvancedDisplayBlock && - level.getBlockState(selfPos).getBlock() == level.getBlockState(otherPos).getBlock() && - level.getBlockState(selfPos).getValue(FACING) == level.getBlockState(otherPos).getValue(FACING) + public boolean canConnectWithBlock(BlockGetter level, BlockState selfState, BlockState otherState) { + return selfState.getBlock() instanceof AbstractAdvancedDisplayBlock && otherState.getBlock() instanceof AbstractAdvancedDisplayBlock && + selfState.getBlock() == otherState.getBlock() && + selfState.getValue(FACING) == otherState.getValue(FACING) ; } diff --git a/common/src/main/java/de/mrjulsen/crn/block/AbstractAdvancedSidedDisplayBlock.java b/common/src/main/java/de/mrjulsen/crn/block/AbstractAdvancedSidedDisplayBlock.java index 05800087..1e2967c8 100644 --- a/common/src/main/java/de/mrjulsen/crn/block/AbstractAdvancedSidedDisplayBlock.java +++ b/common/src/main/java/de/mrjulsen/crn/block/AbstractAdvancedSidedDisplayBlock.java @@ -34,17 +34,23 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { BlockPos clickedPos = context.getClickedPos(); BlockPos placedOnPos = clickedPos.relative(face.getOpposite()); Level level = context.getLevel(); - BlockState blockState = level.getBlockState(placedOnPos); + BlockState otherState = level.getBlockState(placedOnPos); BlockState stateForPlacement = this.defaultBlockState().setValue(FACING, context.getHorizontalDirection().getOpposite()); - if ((blockState.getBlock() != this) || (context.getPlayer() != null && context.getPlayer().isShiftKeyDown())) { - stateForPlacement = super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite()); + if ((otherState.getBlock() != this) || (context.getPlayer() != null && context.getPlayer().isShiftKeyDown())) { + stateForPlacement = getDefaultPlacementState(context, stateForPlacement, otherState); stateForPlacement = getPropertyFromNeighbours(stateForPlacement, level, clickedPos, SIDE); } else { // Clicked on existing block - Direction otherFacing = blockState.getValue(FACING); - stateForPlacement = stateForPlacement.setValue(FACING, otherFacing).setValue(SIDE, blockState.getValue(SIDE)); + stateForPlacement = appendOnPlace(context, stateForPlacement, otherState); } return updateColumn(level, clickedPos, stateForPlacement, true); } + + public BlockState appendOnPlace(BlockPlaceContext context, BlockState state, BlockState other) { + state = super.appendOnPlace(context, state, other) + .setValue(SIDE, other.getValue(SIDE)) + ; + return state; + } } diff --git a/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayBoardBlock.java b/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayBoardBlock.java index 6a27c7c4..cd0111ad 100644 --- a/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayBoardBlock.java +++ b/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayBoardBlock.java @@ -15,6 +15,7 @@ import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition.Builder; @@ -75,32 +76,39 @@ public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, } @Override - public BlockState getStateForPlacement(BlockPlaceContext pContext) { - BlockState stateForPlacement = super.getStateForPlacement(pContext); - Direction direction = pContext.getClickedFace(); - Direction looking = pContext.getHorizontalDirection(); + public BlockState getDefaultPlacementState(BlockPlaceContext context, BlockState state, BlockState other) { + BlockState stateForPlacement = super.getDefaultPlacementState(context, state, other); + Direction direction = context.getClickedFace(); + Direction looking = context.getHorizontalDirection(); Axis axis = looking.getAxis(); AxisDirection axisDirection = looking.getAxisDirection(); double xzPos = 0.5f; if (axis == Axis.X) { - xzPos = pContext.getClickLocation().x - pContext.getClickedPos().getX(); + xzPos = context.getClickLocation().x - context.getClickedPos().getX(); } else if (axis == Axis.Z) { - xzPos = pContext.getClickLocation().z - pContext.getClickedPos().getZ(); + xzPos = context.getClickLocation().z - context.getClickedPos().getZ(); } EBlockAlignment zAlign = EBlockAlignment.CENTER; - if (direction == pContext.getPlayer().getDirection().getOpposite() || (axisDirection == AxisDirection.POSITIVE ? xzPos > 0.66666666D : xzPos < 0.33333333D)) { + if (direction == context.getPlayer().getDirection().getOpposite() || (axisDirection == AxisDirection.POSITIVE ? xzPos > 0.66666666D : xzPos < 0.33333333D)) { zAlign = EBlockAlignment.POSITIVE; - } else if (direction == pContext.getPlayer().getDirection() || (axisDirection == AxisDirection.POSITIVE ? xzPos < 0.33333333D : xzPos > 0.66666666D)) { + } else if (direction == context.getPlayer().getDirection() || (axisDirection == AxisDirection.POSITIVE ? xzPos < 0.33333333D : xzPos > 0.66666666D)) { zAlign = EBlockAlignment.NEGATIVE; } return stateForPlacement .setValue(Z_ALIGN, zAlign) ; - } + } + + @Override + public BlockState appendOnPlace(BlockPlaceContext context, BlockState state, BlockState other) { + return super.appendOnPlace(context, state, other) + .setValue(Z_ALIGN, other.getValue(Z_ALIGN)) + ; + } @Override protected void createBlockStateDefinition(Builder pBuilder) { @@ -108,12 +116,19 @@ protected void createBlockStateDefinition(Builder pBuilder) { } @Override - public boolean canConnectWithBlock(BlockGetter level, BlockPos selfPos, BlockPos otherPos) { - return super.canConnectWithBlock(level, selfPos, otherPos) && - level.getBlockState(selfPos).getValue(Z_ALIGN) == level.getBlockState(otherPos).getValue(Z_ALIGN) + public boolean canConnectWithBlock(BlockGetter level, BlockState selfState, BlockState otherState) { + return super.canConnectWithBlock(level, selfState, otherState) && + selfState.getValue(Z_ALIGN) == otherState.getValue(Z_ALIGN) ; } + @Override + protected boolean canConnect(LevelAccessor level, BlockPos pos, BlockState state, BlockState other) { + return super.canConnect(level, pos, state, other) && + state.getValue(Z_ALIGN) == other.getValue(Z_ALIGN) + ; + } + @Override public Pair getRenderAspectRatio(Level level, BlockState blockState, BlockPos pos) { return Pair.of(1.0F, 1.0F); diff --git a/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayHalfPanelBlock.java b/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayHalfPanelBlock.java new file mode 100644 index 00000000..d7ec9408 --- /dev/null +++ b/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayHalfPanelBlock.java @@ -0,0 +1,243 @@ +package de.mrjulsen.crn.block; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +import de.mrjulsen.crn.data.EBlockAlignment; +import de.mrjulsen.mcdragonlib.data.Pair; +import de.mrjulsen.mcdragonlib.data.Tripple; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Direction.AxisDirection; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition.Builder; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.block.state.properties.Property; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class AdvancedDisplayHalfPanelBlock extends AbstractAdvancedSidedDisplayBlock { + + public static final EnumProperty Y_ALIGN = EnumProperty.create("y_alignment", EBlockAlignment.class); + public static final EnumProperty Z_ALIGN = EnumProperty.create("z_alignment", EBlockAlignment.class); + + private static final Map SHAPES = Map.ofEntries( + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.NEGATIVE, EBlockAlignment.NEGATIVE), Block.box(0 , 0 , 13, 16, 8 , 16)), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.NEGATIVE, EBlockAlignment.NEGATIVE), Block.box(0 , 0 , 0 , 16, 8 , 3 )), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.NEGATIVE, EBlockAlignment.NEGATIVE), Block.box(13, 0 , 0 , 16, 8 , 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.NEGATIVE, EBlockAlignment.NEGATIVE), Block.box(0 , 0 , 0 , 3 , 8 , 16)), + + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.CENTER, EBlockAlignment.NEGATIVE), Block.box(0 , 4 , 13, 16, 12, 16)), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.CENTER, EBlockAlignment.NEGATIVE), Block.box(0 , 4 , 0 , 16, 12, 3 )), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.CENTER, EBlockAlignment.NEGATIVE), Block.box(13, 4 , 0 , 16, 12, 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.CENTER, EBlockAlignment.NEGATIVE), Block.box(0 , 4 , 0 , 3 , 12, 16)), + + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.POSITIVE, EBlockAlignment.NEGATIVE), Block.box(0 , 8 , 13, 16, 16, 16)), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.POSITIVE, EBlockAlignment.NEGATIVE), Block.box(0 , 8 , 0 , 16, 16, 3 )), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.POSITIVE, EBlockAlignment.NEGATIVE), Block.box(13, 8 , 0 , 16, 16, 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.POSITIVE, EBlockAlignment.NEGATIVE), Block.box(0 , 8 , 0 , 3 , 16, 16)), + + + + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.NEGATIVE, EBlockAlignment.CENTER), Block.box(0 , 0 , 6.5, 16, 8, 9.5)), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.NEGATIVE, EBlockAlignment.CENTER), Block.box(0 , 0 , 6.5, 16, 8, 9.5)), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.NEGATIVE, EBlockAlignment.CENTER), Block.box(6.5, 0 , 0 , 9.5, 8 , 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.NEGATIVE, EBlockAlignment.CENTER), Block.box(6.5, 0 , 0 , 9.5, 8 , 16)), + + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.CENTER, EBlockAlignment.CENTER), Block.box(0 , 4 , 6.5, 16, 12, 9.5)), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.CENTER, EBlockAlignment.CENTER), Block.box(0 , 4 , 6.5, 16, 12, 9.5)), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.CENTER, EBlockAlignment.CENTER), Block.box(6.5, 4 , 0 , 9.5, 12 , 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.CENTER, EBlockAlignment.CENTER), Block.box(6.5, 4 , 0 , 9.5, 12 , 16)), + + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.POSITIVE, EBlockAlignment.CENTER), Block.box(0 , 8 , 6.5, 16, 16, 9.5)), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.POSITIVE, EBlockAlignment.CENTER), Block.box(0 , 8 , 6.5, 16, 16, 9.5)), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.POSITIVE, EBlockAlignment.CENTER), Block.box(6.5, 8 , 0 , 9.5, 16 , 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.POSITIVE, EBlockAlignment.CENTER), Block.box(6.5, 8 , 0 , 9.5, 16 , 16)), + + + + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.NEGATIVE, EBlockAlignment.POSITIVE), Block.box(0 , 0 , 0 , 16, 8 , 3 )), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.NEGATIVE, EBlockAlignment.POSITIVE), Block.box(0 , 0 , 13, 16, 8 , 16)), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.NEGATIVE, EBlockAlignment.POSITIVE), Block.box(0 , 0 , 0 , 3 , 8 , 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.NEGATIVE, EBlockAlignment.POSITIVE), Block.box(13, 0 , 0 , 16, 8 , 16)), + + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.CENTER, EBlockAlignment.POSITIVE), Block.box(0 , 4 , 0 , 16, 12 , 3 )), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.CENTER, EBlockAlignment.POSITIVE), Block.box(0 , 4 , 13, 16, 12 , 16)), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.CENTER, EBlockAlignment.POSITIVE), Block.box(0 , 4 , 0 , 3 , 12 , 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.CENTER, EBlockAlignment.POSITIVE), Block.box(13, 4 , 0 , 16, 12 , 16)), + + Map.entry(new ShapeKey(Direction.SOUTH, EBlockAlignment.POSITIVE, EBlockAlignment.POSITIVE), Block.box(0 , 8 , 0 , 16, 16 , 3 )), + Map.entry(new ShapeKey(Direction.NORTH, EBlockAlignment.POSITIVE, EBlockAlignment.POSITIVE), Block.box(0 , 8 , 13, 16, 16 , 16)), + Map.entry(new ShapeKey(Direction.EAST, EBlockAlignment.POSITIVE, EBlockAlignment.POSITIVE), Block.box(0 , 8 , 0 , 3 , 16 , 16)), + Map.entry(new ShapeKey(Direction.WEST, EBlockAlignment.POSITIVE, EBlockAlignment.POSITIVE), Block.box(13, 8 , 0 , 16, 16 , 16)) + ); + + public AdvancedDisplayHalfPanelBlock(Properties properties) { + super(properties); + registerDefaultState(defaultBlockState() + .setValue(Y_ALIGN, EBlockAlignment.CENTER) + .setValue(Z_ALIGN, EBlockAlignment.CENTER) + ); + } + + @Override + public Collection> getExcludedProperties() { + return List.of(Y_ALIGN, Z_ALIGN); + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return SHAPES.get(new ShapeKey(pState.getValue(FACING), pState.getValue(Y_ALIGN), pState.getValue(Z_ALIGN))); + } + + @Override + public BlockState getDefaultPlacementState(BlockPlaceContext context, BlockState state, BlockState other) { + BlockState stateForPlacement = super.getDefaultPlacementState(context, state, other); + Direction direction = context.getClickedFace(); + Direction looking = context.getHorizontalDirection(); + Axis axis = looking.getAxis(); + AxisDirection axisDirection = looking.getAxisDirection(); + + double xzPos = 0.5f; + if (axis == Axis.X) { + xzPos = context.getClickLocation().x - context.getClickedPos().getX(); + } else if (axis == Axis.Z) { + xzPos = context.getClickLocation().z - context.getClickedPos().getZ(); + } + + EBlockAlignment yAlign = EBlockAlignment.CENTER; + EBlockAlignment zAlign = EBlockAlignment.CENTER; + + if (direction == Direction.UP || (context.getClickLocation().y - context.getClickedPos().getY() < 0.33333333D)) { + yAlign = EBlockAlignment.NEGATIVE; + } else if (direction == Direction.DOWN || (context.getClickLocation().y - context.getClickedPos().getY() > 0.66666666D)) { + yAlign = EBlockAlignment.POSITIVE; + } + + if (direction == context.getPlayer().getDirection().getOpposite() || (axisDirection == AxisDirection.POSITIVE ? xzPos > 0.66666666D : xzPos < 0.33333333D)) { + zAlign = EBlockAlignment.POSITIVE; + } else if (direction == context.getPlayer().getDirection() || (axisDirection == AxisDirection.POSITIVE ? xzPos < 0.33333333D : xzPos > 0.66666666D)) { + zAlign = EBlockAlignment.NEGATIVE; + } + + return stateForPlacement + .setValue(Y_ALIGN, yAlign) + .setValue(Z_ALIGN, zAlign) + ; + } + + @Override + public BlockState appendOnPlace(BlockPlaceContext context, BlockState state, BlockState other) { + return super.appendOnPlace(context, state, other) + .setValue(Y_ALIGN, other.getValue(Y_ALIGN)) + .setValue(Z_ALIGN, other.getValue(Z_ALIGN)) + ; + } + + @Override + public boolean canConnectWithBlock(BlockGetter level, BlockState selfState, BlockState otherState) { + return super.canConnectWithBlock(level, selfState, otherState) && + selfState.getValue(Y_ALIGN) == otherState.getValue(Y_ALIGN) && + selfState.getValue(Z_ALIGN) == otherState.getValue(Z_ALIGN) + ; + } + + @Override + protected boolean canConnect(LevelAccessor level, BlockPos pos, BlockState state, BlockState other) { + return super.canConnect(level, pos, state, other) && + state.getValue(Y_ALIGN) == other.getValue(Y_ALIGN) && + state.getValue(Z_ALIGN) == other.getValue(Z_ALIGN) + ; + } + + @Override + protected void createBlockStateDefinition(Builder pBuilder) { + super.createBlockStateDefinition(pBuilder.add(Y_ALIGN, Z_ALIGN)); + } + + @Override + public Pair getRenderAspectRatio(Level level, BlockState blockState, BlockPos pos) { + return Pair.of(1.0F, 0.5F); + } + + @Override + public Pair getRenderOffset(Level level, BlockState blockState, BlockPos pos) { + float y; + switch (blockState.getValue(Y_ALIGN)) { + case NEGATIVE: + y = 8.0f; + break; + case POSITIVE: + y = 0.0f; + break; + default: + y = 4.0f; + break; + } + return Pair.of(0.0f, y); + } + + @Override + public Pair getRenderZOffset(Level level, BlockState blockState, BlockPos pos) { + float z1; + float z2; + switch (blockState.getValue(Z_ALIGN)) { + case NEGATIVE: + z1 = 16.05f; + z2 = 3.05f; + break; + case POSITIVE: + z1 = 3.05f; + z2 = 16.05f; + break; + default: + z1 = 9.55f; + z2 = 9.55f; + break; + } + return Pair.of(z1, z2); + } + + @Override + public Tripple getRenderRotation(Level level, BlockState blockState, BlockPos pos) { + return Tripple.of(0.0F, 0.0F, 0.0F); + } + + @Override + public boolean isSingleLined() { + return true; + } + + private static final class ShapeKey { + private final Direction facing; + private final EBlockAlignment yAlign; + private final EBlockAlignment zAlign; + + public ShapeKey(Direction facing, EBlockAlignment yAlign, EBlockAlignment zAlign) { + this.facing = facing; + this.yAlign = yAlign; + this.zAlign = zAlign; + } + + @Override + public boolean equals(Object o) { + if (o instanceof ShapeKey other) { + return facing == other.facing && yAlign == other.yAlign && zAlign == other.zAlign; + } + return false; + } + + @Override + public int hashCode() { + return Objects.hash(facing, yAlign, zAlign); + } + } +} \ No newline at end of file diff --git a/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayPanelBlock.java b/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayPanelBlock.java index 836f772f..ac2094ef 100644 --- a/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayPanelBlock.java +++ b/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplayPanelBlock.java @@ -15,6 +15,7 @@ import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition.Builder; @@ -61,31 +62,33 @@ public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, return SHAPES.get(new ShapeKey(pState.getValue(FACING), pState.getValue(Z_ALIGN))); } + + @Override - public BlockState getStateForPlacement(BlockPlaceContext pContext) { - BlockState stateForPlacement = super.getStateForPlacement(pContext); - Direction direction = pContext.getClickedFace(); - Direction looking = pContext.getHorizontalDirection(); + public BlockState getDefaultPlacementState(BlockPlaceContext context, BlockState state, BlockState other) { + BlockState stateForPlacement = super.getDefaultPlacementState(context, state, other); + Direction direction = context.getClickedFace(); + Direction looking = context.getHorizontalDirection(); Axis axis = looking.getAxis(); AxisDirection axisDirection = looking.getAxisDirection(); double xzPos = 0.5f; if (axis == Axis.X) { - xzPos = pContext.getClickLocation().x - pContext.getClickedPos().getX(); + xzPos = context.getClickLocation().x - context.getClickedPos().getX(); } else if (axis == Axis.Z) { - xzPos = pContext.getClickLocation().z - pContext.getClickedPos().getZ(); + xzPos = context.getClickLocation().z - context.getClickedPos().getZ(); } EBlockAlignment zAlign = EBlockAlignment.POSITIVE; - if (direction == pContext.getPlayer().getDirection() || (axisDirection == AxisDirection.POSITIVE ? xzPos < 0.5D : xzPos > 0.5D)) { + if (direction == context.getPlayer().getDirection() || (axisDirection == AxisDirection.POSITIVE ? xzPos < 0.5D : xzPos > 0.5D)) { zAlign = EBlockAlignment.NEGATIVE; } return stateForPlacement .setValue(Z_ALIGN, zAlign) ; - } + } @Override protected void createBlockStateDefinition(Builder pBuilder) { @@ -93,12 +96,26 @@ protected void createBlockStateDefinition(Builder pBuilder) { } @Override - public boolean canConnectWithBlock(BlockGetter level, BlockPos selfPos, BlockPos otherPos) { - return super.canConnectWithBlock(level, selfPos, otherPos) && - level.getBlockState(selfPos).getValue(Z_ALIGN) == level.getBlockState(otherPos).getValue(Z_ALIGN) + public BlockState appendOnPlace(BlockPlaceContext context, BlockState state, BlockState other) { + return super.appendOnPlace(context, state, other) + .setValue(Z_ALIGN, other.getValue(Z_ALIGN)) + ; + } + + @Override + public boolean canConnectWithBlock(BlockGetter level, BlockState selfState, BlockState otherState) { + return super.canConnectWithBlock(level, selfState, otherState) && + selfState.getValue(Z_ALIGN) == otherState.getValue(Z_ALIGN) ; } + @Override + protected boolean canConnect(LevelAccessor level, BlockPos pos, BlockState state, BlockState other) { + return super.canConnect(level, pos, state, other) && + state.getValue(Z_ALIGN) == other.getValue(Z_ALIGN) + ; + } + @Override public Pair getRenderAspectRatio(Level level, BlockState blockState, BlockPos pos) { return Pair.of(1.0F, 1.0F); diff --git a/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplaySmallBlock.java b/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplaySmallBlock.java index 12812816..b44d397e 100644 --- a/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplaySmallBlock.java +++ b/common/src/main/java/de/mrjulsen/crn/block/AdvancedDisplaySmallBlock.java @@ -15,6 +15,7 @@ import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition.Builder; @@ -98,32 +99,32 @@ public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, } @Override - public BlockState getStateForPlacement(BlockPlaceContext pContext) { - BlockState stateForPlacement = super.getStateForPlacement(pContext); - Direction direction = pContext.getClickedFace(); - Direction looking = pContext.getHorizontalDirection(); + public BlockState getDefaultPlacementState(BlockPlaceContext context, BlockState state, BlockState other) { + BlockState stateForPlacement = super.getDefaultPlacementState(context, state, other); + Direction direction = context.getClickedFace(); + Direction looking = context.getHorizontalDirection(); Axis axis = looking.getAxis(); AxisDirection axisDirection = looking.getAxisDirection(); double xzPos = 0.5f; if (axis == Axis.X) { - xzPos = pContext.getClickLocation().x - pContext.getClickedPos().getX(); + xzPos = context.getClickLocation().x - context.getClickedPos().getX(); } else if (axis == Axis.Z) { - xzPos = pContext.getClickLocation().z - pContext.getClickedPos().getZ(); + xzPos = context.getClickLocation().z - context.getClickedPos().getZ(); } EBlockAlignment yAlign = EBlockAlignment.CENTER; EBlockAlignment zAlign = EBlockAlignment.CENTER; - if (direction == Direction.UP || (pContext.getClickLocation().y - pContext.getClickedPos().getY() < 0.33333333D)) { + if (direction == Direction.UP || (context.getClickLocation().y - context.getClickedPos().getY() < 0.33333333D)) { yAlign = EBlockAlignment.NEGATIVE; - } else if (direction == Direction.DOWN || (pContext.getClickLocation().y - pContext.getClickedPos().getY() > 0.66666666D)) { + } else if (direction == Direction.DOWN || (context.getClickLocation().y - context.getClickedPos().getY() > 0.66666666D)) { yAlign = EBlockAlignment.POSITIVE; } - if (direction == pContext.getPlayer().getDirection().getOpposite() || (axisDirection == AxisDirection.POSITIVE ? xzPos > 0.66666666D : xzPos < 0.33333333D)) { + if (direction == context.getPlayer().getDirection().getOpposite() || (axisDirection == AxisDirection.POSITIVE ? xzPos > 0.66666666D : xzPos < 0.33333333D)) { zAlign = EBlockAlignment.POSITIVE; - } else if (direction == pContext.getPlayer().getDirection() || (axisDirection == AxisDirection.POSITIVE ? xzPos < 0.33333333D : xzPos > 0.66666666D)) { + } else if (direction == context.getPlayer().getDirection() || (axisDirection == AxisDirection.POSITIVE ? xzPos < 0.33333333D : xzPos > 0.66666666D)) { zAlign = EBlockAlignment.NEGATIVE; } @@ -131,16 +132,32 @@ public BlockState getStateForPlacement(BlockPlaceContext pContext) { .setValue(Y_ALIGN, yAlign) .setValue(Z_ALIGN, zAlign) ; - } + } + + @Override + public BlockState appendOnPlace(BlockPlaceContext context, BlockState state, BlockState other) { + return super.appendOnPlace(context, state, other) + .setValue(Y_ALIGN, other.getValue(Y_ALIGN)) + .setValue(Z_ALIGN, other.getValue(Z_ALIGN)) + ; + } @Override - public boolean canConnectWithBlock(BlockGetter level, BlockPos selfPos, BlockPos otherPos) { - return super.canConnectWithBlock(level, selfPos, otherPos) && - level.getBlockState(selfPos).getValue(Y_ALIGN) == level.getBlockState(otherPos).getValue(Y_ALIGN) && - level.getBlockState(selfPos).getValue(Z_ALIGN) == level.getBlockState(otherPos).getValue(Z_ALIGN) + public boolean canConnectWithBlock(BlockGetter level, BlockState selfState, BlockState otherState) { + return super.canConnectWithBlock(level, selfState, otherState) && + selfState.getValue(Y_ALIGN) == otherState.getValue(Y_ALIGN) && + selfState.getValue(Z_ALIGN) == otherState.getValue(Z_ALIGN) ; } + @Override + protected boolean canConnect(LevelAccessor level, BlockPos pos, BlockState state, BlockState other) { + return super.canConnect(level, pos, state, other) && + state.getValue(Y_ALIGN) == other.getValue(Y_ALIGN) && + state.getValue(Z_ALIGN) == other.getValue(Z_ALIGN) + ; + } + @Override protected void createBlockStateDefinition(Builder pBuilder) { super.createBlockStateDefinition(pBuilder.add(Y_ALIGN, Z_ALIGN)); diff --git a/common/src/main/java/de/mrjulsen/crn/block/be/AdvancedDisplayBlockEntity.java b/common/src/main/java/de/mrjulsen/crn/block/be/AdvancedDisplayBlockEntity.java index a3fb177a..943a0923 100644 --- a/common/src/main/java/de/mrjulsen/crn/block/be/AdvancedDisplayBlockEntity.java +++ b/common/src/main/java/de/mrjulsen/crn/block/be/AdvancedDisplayBlockEntity.java @@ -11,6 +11,7 @@ import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import de.mrjulsen.crn.Constants; import de.mrjulsen.crn.CreateRailwaysNavigator; import de.mrjulsen.crn.block.AbstractAdvancedDisplayBlock; import de.mrjulsen.crn.block.display.AdvancedDisplaySource.ETimeDisplay; @@ -99,7 +100,7 @@ public class AdvancedDisplayBlockEntity extends SmartBlockEntity implements // CLIENT DISPLAY ONLY - this data is not saved! private long lastRefreshedTime; - private TrainData trainData = TrainData.empty(); + private TrainData trainData = TrainData.empty(false); private CarriageData carriageData = new CarriageData(0, Direction.NORTH, false); // OTHER @@ -352,7 +353,7 @@ public boolean connectable(BlockGetter getter, BlockPos a, BlockPos b) { return block1 == block2 && be1.getDisplayType() == be2.getDisplayType() && be1.getInfoType() == be2.getInfoType() && - block1.canConnectWithBlock(getter, a, b) && block2.canConnectWithBlock(getter, b, a) && + block1.canConnectWithBlock(getter, getter.getBlockState(a), getter.getBlockState(b)) && block2.canConnectWithBlock(getter, getter.getBlockState(b), getter.getBlockState(a)) && (!a.above().equals(b) || (be1.getBlockState().getValue(AbstractAdvancedDisplayBlock.UP) && !be1.isSingleLine())) && (!a.below().equals(b) || (be1.getBlockState().getValue(AbstractAdvancedDisplayBlock.DOWN) && !be1.isSingleLine())) ; @@ -547,8 +548,12 @@ public void contraptionTick(Level level, BlockPos pos, BlockState state, Contrap (getInfoType() == EDisplayInfo.INFORMATIVE && getDisplayType() == EDisplayType.PASSENGER_INFORMATION && trainData.getNextStop().get().departureTicks() + lastRefreshedTime != data.getNextStop().get().departureTicks() + refreshTime) // It's not clean but it works ... for now ; } + boolean oos = trainData != null && !trainData.trainId().equals(Constants.ZERO_UUID) && !data.getNextStop().isPresent(); + if (oos) { + shouldUpdate = true; + } this.lastRefreshedTime = refreshTime; - this.trainData = data; + this.trainData = oos ? TrainData.empty(true) : data; this.carriageData = new CarriageData(((CarriageContraptionEntity)carriage.entity).carriageIndex, carriage.getAssemblyDirection(), data.isOppositeDirection()); this.relativeExitDirection.clear(); diff --git a/common/src/main/java/de/mrjulsen/crn/client/ClientWrapper.java b/common/src/main/java/de/mrjulsen/crn/client/ClientWrapper.java index c6f225f3..4b01ea3e 100644 --- a/common/src/main/java/de/mrjulsen/crn/client/ClientWrapper.java +++ b/common/src/main/java/de/mrjulsen/crn/client/ClientWrapper.java @@ -52,8 +52,8 @@ public static void showAdvancedDisplaySettingsScreen(AdvancedDisplayBlockEntity DLScreen.setScreen(new AdvancedDisplaySettingsScreen(blockEntity)); } - public static void updateLanguage(ELanguage lang) { - if (currentLanguage == lang) { + public static void updateLanguage(ELanguage lang, boolean force) { + if (currentLanguage == lang && !force) { return; } diff --git a/common/src/main/java/de/mrjulsen/crn/client/gui/screen/NavigatorScreen.java b/common/src/main/java/de/mrjulsen/crn/client/gui/screen/NavigatorScreen.java index af56db1c..d571c410 100644 --- a/common/src/main/java/de/mrjulsen/crn/client/gui/screen/NavigatorScreen.java +++ b/common/src/main/java/de/mrjulsen/crn/client/gui/screen/NavigatorScreen.java @@ -71,7 +71,8 @@ public class NavigatorScreen extends DLScreen implements IJourneyListenerClient private final int AREA_H = 143; private int guiLeft, guiTop; - private int angle = 0; + private boolean initialized = false; + private int angle = 0; // Controls private DLCreateIconButton locationButton; @@ -88,8 +89,8 @@ public class NavigatorScreen extends DLScreen implements IJourneyListenerClient // Data private SimpleRoute[] routes; - private String stationFrom; - private String stationTo; + private String stationFrom = ""; + private String stationTo = ""; private long lastRefreshedTime; private final NavigatorScreen instance; private final Level level; @@ -175,7 +176,8 @@ private void switchButtonClick() { @Override protected void init() { - super.init(); + super.init(); + initialized = false; guiLeft = this.width / 2 - GUI_WIDTH / 2; guiTop = this.height / 2 - GUI_HEIGHT / 2; @@ -201,7 +203,7 @@ public void onClick(double mouseX, double mouseY) { public void onClick(double mouseX, double mouseY) { super.onClick(mouseX, mouseY); - if (stationFrom == null || stationTo == null) { + if (stationFrom == null || stationTo == null || stationFrom.isBlank() || stationTo.isBlank()) { Minecraft.getInstance().getToasts().addToast(new SystemToast(SystemToastIds.PERIODIC_NOTIFICATION, errorTitle, startEndNullText)); return; } @@ -234,13 +236,19 @@ public void onClick(double mouseX, double mouseY) { addTooltip(DLTooltip.of(tooltipSearch).assignedTo(searchButton)); fromBox = addEditBox(guiLeft + 50, guiTop + 25, 157, 12, stationFrom, TextUtils.empty(), false, (v) -> { + if (!initialized) { + return; + } stationFrom = v; updateEditorSubwidgets(fromBox); }, NO_EDIT_BOX_FOCUS_CHANGE_ACTION, null); fromBox.setMaxLength(25); fromBox.setTextColor(0xFFFFFF); - toBox = addEditBox(guiLeft + 50, guiTop + 47, 157, 12, stationTo, TextUtils.empty(), false, (v) -> { + toBox = addEditBox(guiLeft + 50, guiTop + 47, 157, 12, stationTo, TextUtils.empty(), false, (v) -> { + if (!initialized) { + return; + } stationTo = v; updateEditorSubwidgets(toBox); }, NO_EDIT_BOX_FOCUS_CHANGE_ACTION, null); @@ -286,6 +294,7 @@ public void onClick(double mouseX, double mouseY) { }); generateRouteEntries(); + initialized = true; } protected void updateEditorSubwidgets(DLEditBox field) { diff --git a/common/src/main/java/de/mrjulsen/crn/client/lang/ELanguage.java b/common/src/main/java/de/mrjulsen/crn/client/lang/ELanguage.java index b1253f2e..ba0d40ac 100644 --- a/common/src/main/java/de/mrjulsen/crn/client/lang/ELanguage.java +++ b/common/src/main/java/de/mrjulsen/crn/client/lang/ELanguage.java @@ -12,7 +12,10 @@ public enum ELanguage implements StringRepresentable { ENGLISH("english", "en_us"), GERMAN("german", "de_de"), DUTCH("dutch", "nl_nl"), - POLISH("polish", "pl_pl"); + POLISH("polish", "pl_pl"), + CHINESE_SIMPLIFIED("chinese_simplified", "zh_cn"), + SAXON("saxon", "sxu"), + BAVARIAN("bavarian", "bar"); private String name; private String code; @@ -37,7 +40,11 @@ public static ELanguage getByCode(String code) { public static MutableComponent translate(String key) { if (Platform.getEnv() == EnvType.CLIENT) { - return new ModTranslatableComponent(key); + ModTranslatableComponent comp = new ModTranslatableComponent(key); + if (comp.getString().equals(key)) { + return TextUtils.translate(key); + } + return comp; } else { return TextUtils.translate(key); } @@ -45,7 +52,11 @@ public static MutableComponent translate(String key) { public static MutableComponent translate(String key, Object... args) { if (Platform.getEnv() == EnvType.CLIENT) { - return new ModTranslatableComponent(key, args); + ModTranslatableComponent comp = new ModTranslatableComponent(key, args); + if (comp.getString().equals(key)) { + return TextUtils.translate(key); + } + return comp; } else { return TextUtils.translate(key, args); } diff --git a/common/src/main/java/de/mrjulsen/crn/data/GlobalSettings.java b/common/src/main/java/de/mrjulsen/crn/data/GlobalSettings.java index 902423a3..78f8648f 100644 --- a/common/src/main/java/de/mrjulsen/crn/data/GlobalSettings.java +++ b/common/src/main/java/de/mrjulsen/crn/data/GlobalSettings.java @@ -330,7 +330,7 @@ private boolean compareAliasAndString(TrainStationAlias alias, String name) { // station blacklist public boolean isBlacklisted(String stationName) { - return blacklist.stream().anyMatch(x -> x.contains(stationName)); + return blacklist.stream().anyMatch(x -> x.equals(stationName)); } public boolean isBlacklisted(TrainStationAlias station) { diff --git a/common/src/main/java/de/mrjulsen/crn/data/SimpleTrainSchedule.java b/common/src/main/java/de/mrjulsen/crn/data/SimpleTrainSchedule.java index 5c6143b1..7b2279ef 100644 --- a/common/src/main/java/de/mrjulsen/crn/data/SimpleTrainSchedule.java +++ b/common/src/main/java/de/mrjulsen/crn/data/SimpleTrainSchedule.java @@ -220,7 +220,7 @@ public SimulatedTrainSchedule simulate(Train train, int simulationTime, TrainSta } cycle += x.getPrediction().getCycle(); return new TrainStop(x.getStationAlias(), new DeparturePrediction(x.getPrediction().getTrain(), estimatedTicks, x.getPrediction().getScheduleTitle(), x.getPrediction().getStationName(), cycle, x.getPrediction().getInfo())); - }).sorted(Comparator.comparingInt(x -> x.getPrediction().getTicks())).toList(), new SimulationData(getFirstStop().get().getPrediction().getTrain(), simulationTime, timeToTargetAfterSim)); + }).sorted(Comparator.comparingInt(x -> x.getPrediction().getTicks())).toList(), new SimulationData(train, simulationTime, timeToTargetAfterSim)); } public SimulatedTrainSchedule simulate(Train train, int simulationTime, String simulationTarget) { @@ -244,7 +244,7 @@ public SimulatedTrainSchedule simulate(Train train, int simulationTime, String s } cycle += x.getPrediction().getCycle(); return new TrainStop(x.getStationAlias(), new DeparturePrediction(x.getPrediction().getTrain(), estimatedTicks, x.getPrediction().getScheduleTitle(), x.getPrediction().getStationName(), cycle, x.getPrediction().getInfo())); - }).sorted(Comparator.comparingInt(x -> x.getPrediction().getTicks())).toList(), new SimulationData(getFirstStop().get().getPrediction().getTrain(), simulationTime, timeToTargetAfterSim)); + }).sorted(Comparator.comparingInt(x -> x.getPrediction().getTicks())).toList(), new SimulationData(train, simulationTime, timeToTargetAfterSim)); } public SimpleTrainSchedule simulate(Train train, int simulationTime) { diff --git a/common/src/main/java/de/mrjulsen/crn/event/ClientEvents.java b/common/src/main/java/de/mrjulsen/crn/event/ClientEvents.java index fe6b6fd6..cffc17f2 100644 --- a/common/src/main/java/de/mrjulsen/crn/event/ClientEvents.java +++ b/common/src/main/java/de/mrjulsen/crn/event/ClientEvents.java @@ -35,7 +35,7 @@ public static void init() { langCheckerTicks++; if ((langCheckerTicks %= 20) == 0) { - ClientWrapper.updateLanguage(ModClientConfig.LANGUAGE.get()); + ClientWrapper.updateLanguage(ModClientConfig.LANGUAGE.get(), false); } }); @@ -45,6 +45,7 @@ public static void init() { ClientPlayerEvent.CLIENT_PLAYER_JOIN.register((player) -> { JourneyListenerManager.start(); + ClientWrapper.updateLanguage(ModClientConfig.LANGUAGE.get(), true); }); ClientPlayerEvent.CLIENT_PLAYER_QUIT.register((player) -> { diff --git a/common/src/main/java/de/mrjulsen/crn/network/packets/cts/TrainDataRequestPacket.java b/common/src/main/java/de/mrjulsen/crn/network/packets/cts/TrainDataRequestPacket.java index 39535cd9..4c04489c 100644 --- a/common/src/main/java/de/mrjulsen/crn/network/packets/cts/TrainDataRequestPacket.java +++ b/common/src/main/java/de/mrjulsen/crn/network/packets/cts/TrainDataRequestPacket.java @@ -11,6 +11,7 @@ import de.mrjulsen.crn.Constants; import de.mrjulsen.crn.CreateRailwaysNavigator; +import de.mrjulsen.crn.client.lang.ELanguage; import de.mrjulsen.crn.data.DeparturePrediction.TrainExitSide; import de.mrjulsen.crn.data.DeparturePrediction.SimpleDeparturePrediction; import de.mrjulsen.crn.data.GlobalSettingsManager; @@ -20,7 +21,6 @@ import de.mrjulsen.crn.util.TrainUtils; import de.mrjulsen.mcdragonlib.data.Cache; import de.mrjulsen.mcdragonlib.net.IPacketBase; -import de.mrjulsen.mcdragonlib.util.TextUtils; import dev.architectury.networking.NetworkManager.PacketContext; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; @@ -80,7 +80,8 @@ public void handle(TrainDataRequestPacket packet, Supplier contex departurePredictions, train.speed, train.navigation.ticksWaitingForSignal, - train.currentlyBackwards + train.currentlyBackwards, + true ), updateTime)); }); } @@ -92,6 +93,7 @@ public static class TrainData { private static final String NBT_NAME = "Name"; private static final String NBT_PREDICTIONS = "Predictions"; private static final String NBT_TRAIN_DIRECTION = "Direction"; + private static final String NBT_ON_TRAIN = "OnTrain"; private final UUID trainId; private final String trainName; @@ -99,6 +101,8 @@ public static class TrainData { private final double speed; private final int ticksWaitingForSignal; private final boolean oppositeDirection; + + private final boolean onTrain; private final Cache> stopovers = new Cache<>(() -> { List s = new ArrayList<>(); @@ -110,13 +114,14 @@ public static class TrainData { return s; }); - public TrainData(UUID trainId, String trainName, List predictions, double speed, int ticksWaitingForSignal, boolean oppositeDirection) { + public TrainData(UUID trainId, String trainName, List predictions, double speed, int ticksWaitingForSignal, boolean oppositeDirection, boolean onTrain) { this.trainId = trainId; this.trainName = trainName; this.predictions = predictions; this.speed = speed; this.ticksWaitingForSignal = ticksWaitingForSignal; this.oppositeDirection = oppositeDirection; + this.onTrain = onTrain; } public UUID trainId() { @@ -154,6 +159,7 @@ public CompoundTag toNbt() { nbt.putInt(NBT_WAITING_FOR_SIGNAL, ticksWaitingForSignal); nbt.putString(NBT_NAME, trainName); nbt.putBoolean(NBT_TRAIN_DIRECTION, oppositeDirection); + nbt.putBoolean(NBT_ON_TRAIN, onTrain); ListTag list = new ListTag(); list.addAll(predictions().stream().map(x -> x.toNbt()).toList()); @@ -168,7 +174,8 @@ public static TrainData fromNbt(CompoundTag nbt) { nbt.getList(NBT_PREDICTIONS, Tag.TAG_COMPOUND).stream().map(x -> SimpleDeparturePrediction.fromNbt(((CompoundTag)x))).toList(), nbt.getDouble(NBT_SPEED), nbt.getInt(NBT_WAITING_FOR_SIGNAL), - nbt.getBoolean(NBT_TRAIN_DIRECTION) + nbt.getBoolean(NBT_TRAIN_DIRECTION), + nbt.getBoolean(NBT_ON_TRAIN) ); } @@ -180,9 +187,9 @@ public Optional getLastStop() { return predictions().size() > 0 ? Optional.of(predictions().get(predictions().size() - 1)) : Optional.empty(); } - public static TrainData empty() { - MutableComponent text = TextUtils.translate("block.createrailwaysnavigator.advanced_display.ber.not_in_service"); - return new TrainData(Constants.ZERO_UUID, "CRN", List.of(new SimpleDeparturePrediction("", "", 0, text.getString(), "", Constants.ZERO_UUID, null, TrainExitSide.UNKNOWN)), 0, 0, false); + public static TrainData empty(boolean onTrain) { + MutableComponent text = onTrain ? ELanguage.translate("block.createrailwaysnavigator.advanced_display.ber.shunting_trip") : ELanguage.translate("block.createrailwaysnavigator.advanced_display.ber.not_in_service"); + return new TrainData(Constants.ZERO_UUID, "", List.of(new SimpleDeparturePrediction("", "", 0, text.getString(), "", Constants.ZERO_UUID, null, TrainExitSide.UNKNOWN)), 0, 0, false, onTrain); } } diff --git a/common/src/main/java/de/mrjulsen/crn/registry/ModBlockEntities.java b/common/src/main/java/de/mrjulsen/crn/registry/ModBlockEntities.java index c7de1e8a..70bdd6e3 100644 --- a/common/src/main/java/de/mrjulsen/crn/registry/ModBlockEntities.java +++ b/common/src/main/java/de/mrjulsen/crn/registry/ModBlockEntities.java @@ -15,6 +15,7 @@ public class ModBlockEntities { ModBlocks.ADVANCED_DISPLAY, ModBlocks.ADVANCED_DISPLAY_BLOCK, ModBlocks.ADVANCED_DISPLAY_PANEL, + ModBlocks.ADVANCED_DISPLAY_HALF_PANEL, ModBlocks.ADVANCED_DISPLAY_SMALL, ModBlocks.ADVANCED_DISPLAY_SLOPED ) diff --git a/common/src/main/java/de/mrjulsen/crn/registry/ModBlocks.java b/common/src/main/java/de/mrjulsen/crn/registry/ModBlocks.java index 899ca4e5..b8a80ab3 100644 --- a/common/src/main/java/de/mrjulsen/crn/registry/ModBlocks.java +++ b/common/src/main/java/de/mrjulsen/crn/registry/ModBlocks.java @@ -12,6 +12,7 @@ import de.mrjulsen.crn.CreateRailwaysNavigator; import de.mrjulsen.crn.block.AdvancedDisplayBlock; import de.mrjulsen.crn.block.AdvancedDisplayBoardBlock; +import de.mrjulsen.crn.block.AdvancedDisplayHalfPanelBlock; import de.mrjulsen.crn.block.AdvancedDisplayPanelBlock; import de.mrjulsen.crn.block.AdvancedDisplaySlopedBlock; import de.mrjulsen.crn.block.AdvancedDisplaySmallBlock; @@ -70,6 +71,16 @@ public class ModBlocks { .build() .register(); + public static final BlockEntry ADVANCED_DISPLAY_HALF_PANEL = CreateRailwaysNavigator.REGISTRATE.block("advanced_display_half_panel", AdvancedDisplayHalfPanelBlock::new) + .onRegister(connectedTextures(() -> new AdvancedDisplaySmallCTBehaviour(ClientWrapper.CT_HORIZONTAL_ADVANCED_DISPLAY_SMALL, ClientWrapper.CT_ADVANCED_DISPLAY_SMALL))) + .addLayer(() -> RenderType::cutout) + .initialProperties(SharedProperties::softMetal) + .transform(TagGen.pickaxeOnly()) + .onRegister(AllDisplayBehaviours.assignDataBehaviour(new AdvancedDisplayTarget())) + .item() + .build() + .register(); + public static final BlockEntry ADVANCED_DISPLAY_SLOPED = CreateRailwaysNavigator.REGISTRATE.block("advanced_display_sloped", AdvancedDisplaySlopedBlock::new) .onRegister(connectedTextures(() -> new AdvancedDisplaySmallCTBehaviour(ClientWrapper.CT_HORIZONTAL_ADVANCED_DISPLAY_SMALL, ClientWrapper.CT_ADVANCED_DISPLAY_SMALL))) .addLayer(() -> RenderType::cutout) diff --git a/common/src/main/java/de/mrjulsen/crn/registry/ModDisplayTags.java b/common/src/main/java/de/mrjulsen/crn/registry/ModDisplayTags.java index 37dfa462..c77385ae 100644 --- a/common/src/main/java/de/mrjulsen/crn/registry/ModDisplayTags.java +++ b/common/src/main/java/de/mrjulsen/crn/registry/ModDisplayTags.java @@ -9,7 +9,9 @@ public static void register() { .add(ModBlocks.ADVANCED_DISPLAY) .add(ModBlocks.ADVANCED_DISPLAY_BLOCK) .add(ModBlocks.ADVANCED_DISPLAY_PANEL) + .add(ModBlocks.ADVANCED_DISPLAY_HALF_PANEL) .add(ModBlocks.ADVANCED_DISPLAY_SMALL) + .add(ModBlocks.ADVANCED_DISPLAY_SLOPED) ; } } diff --git a/common/src/main/resources/assets/createrailwaysnavigator/blockstates/advanced_display_half_panel.json b/common/src/main/resources/assets/createrailwaysnavigator/blockstates/advanced_display_half_panel.json new file mode 100644 index 00000000..0b78e064 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/blockstates/advanced_display_half_panel.json @@ -0,0 +1,303 @@ +{ + "variants": { + "side=front,facing=north,y_alignment=negative,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_neg" + }, + "side=front,facing=east,y_alignment=negative,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_neg", + "y": 90 + }, + "side=front,facing=south,y_alignment=negative,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_neg", + "y": 180 + }, + "side=front,facing=west,y_alignment=negative,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_neg", + "y": 270 + }, + + "side=front,facing=north,y_alignment=center,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_neg" + }, + "side=front,facing=east,y_alignment=center,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_neg", + "y": 90 + }, + "side=front,facing=south,y_alignment=center,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_neg", + "y": 180 + }, + "side=front,facing=west,y_alignment=center,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_neg", + "y": 270 + }, + + "side=front,facing=north,y_alignment=positive,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_neg" + }, + "side=front,facing=east,y_alignment=positive,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_neg", + "y": 90 + }, + "side=front,facing=south,y_alignment=positive,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_neg", + "y": 180 + }, + "side=front,facing=west,y_alignment=positive,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_neg", + "y": 270 + }, + + + + "side=front,facing=north,y_alignment=negative,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_cen" + }, + "side=front,facing=east,y_alignment=negative,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_cen", + "y": 90 + }, + "side=front,facing=south,y_alignment=negative,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_cen", + "y": 180 + }, + "side=front,facing=west,y_alignment=negative,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_cen", + "y": 270 + }, + + "side=front,facing=north,y_alignment=center,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_cen" + }, + "side=front,facing=east,y_alignment=center,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_cen", + "y": 90 + }, + "side=front,facing=south,y_alignment=center,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_cen", + "y": 180 + }, + "side=front,facing=west,y_alignment=center,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_cen", + "y": 270 + }, + + "side=front,facing=north,y_alignment=positive,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_cen" + }, + "side=front,facing=east,y_alignment=positive,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_cen", + "y": 90 + }, + "side=front,facing=south,y_alignment=positive,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_cen", + "y": 180 + }, + "side=front,facing=west,y_alignment=positive,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_cen", + "y": 270 + }, + + + + "side=front,facing=north,y_alignment=negative,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_pos" + }, + "side=front,facing=east,y_alignment=negative,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_pos", + "y": 90 + }, + "side=front,facing=south,y_alignment=negative,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_pos", + "y": 180 + }, + "side=front,facing=west,y_alignment=negative,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_neg_pos", + "y": 270 + }, + + "side=front,facing=north,y_alignment=center,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_pos" + }, + "side=front,facing=east,y_alignment=center,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_pos", + "y": 90 + }, + "side=front,facing=south,y_alignment=center,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_pos", + "y": 180 + }, + "side=front,facing=west,y_alignment=center,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_cen_pos", + "y": 270 + }, + + "side=front,facing=north,y_alignment=positive,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_pos" + }, + "side=front,facing=east,y_alignment=positive,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_pos", + "y": 90 + }, + "side=front,facing=south,y_alignment=positive,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_pos", + "y": 180 + }, + "side=front,facing=west,y_alignment=positive,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_pos_pos", + "y": 270 + }, + + + + + + "side=both,facing=north,y_alignment=negative,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_neg" + }, + "side=both,facing=east,y_alignment=negative,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_neg", + "y": 90 + }, + "side=both,facing=south,y_alignment=negative,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_neg", + "y": 180 + }, + "side=both,facing=west,y_alignment=negative,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_neg", + "y": 270 + }, + + "side=both,facing=north,y_alignment=center,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_neg" + }, + "side=both,facing=east,y_alignment=center,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_neg", + "y": 90 + }, + "side=both,facing=south,y_alignment=center,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_neg", + "y": 180 + }, + "side=both,facing=west,y_alignment=center,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_neg", + "y": 270 + }, + + "side=both,facing=north,y_alignment=positive,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_neg" + }, + "side=both,facing=east,y_alignment=positive,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_neg", + "y": 90 + }, + "side=both,facing=south,y_alignment=positive,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_neg", + "y": 180 + }, + "side=both,facing=west,y_alignment=positive,z_alignment=negative": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_neg", + "y": 270 + }, + + + + "side=both,facing=north,y_alignment=negative,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_cen" + }, + "side=both,facing=east,y_alignment=negative,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_cen", + "y": 90 + }, + "side=both,facing=south,y_alignment=negative,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_cen", + "y": 180 + }, + "side=both,facing=west,y_alignment=negative,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_cen", + "y": 270 + }, + + "side=both,facing=north,y_alignment=center,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_cen" + }, + "side=both,facing=east,y_alignment=center,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_cen", + "y": 90 + }, + "side=both,facing=south,y_alignment=center,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_cen", + "y": 180 + }, + "side=both,facing=west,y_alignment=center,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_cen", + "y": 270 + }, + + "side=both,facing=north,y_alignment=positive,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_cen" + }, + "side=both,facing=east,y_alignment=positive,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_cen", + "y": 90 + }, + "side=both,facing=south,y_alignment=positive,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_cen", + "y": 180 + }, + "side=both,facing=west,y_alignment=positive,z_alignment=center": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_cen", + "y": 270 + }, + + + + "side=both,facing=north,y_alignment=negative,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_pos" + }, + "side=both,facing=east,y_alignment=negative,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_pos", + "y": 90 + }, + "side=both,facing=south,y_alignment=negative,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_pos", + "y": 180 + }, + "side=both,facing=west,y_alignment=negative,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_neg_pos", + "y": 270 + }, + + "side=both,facing=north,y_alignment=center,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_pos" + }, + "side=both,facing=east,y_alignment=center,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_pos", + "y": 90 + }, + "side=both,facing=south,y_alignment=center,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_pos", + "y": 180 + }, + "side=both,facing=west,y_alignment=center,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_cen_pos", + "y": 270 + }, + + "side=both,facing=north,y_alignment=positive,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_pos" + }, + "side=both,facing=east,y_alignment=positive,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_pos", + "y": 90 + }, + "side=both,facing=south,y_alignment=positive,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_pos", + "y": 180 + }, + "side=both,facing=west,y_alignment=positive,z_alignment=positive": { + "model": "createrailwaysnavigator:block/advanced_display_half_panel_double_pos_pos", + "y": 270 + } + } + } \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/lang/bar.json b/common/src/main/resources/assets/createrailwaysnavigator/lang/bar.json new file mode 100644 index 00000000..595ba832 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/lang/bar.json @@ -0,0 +1,250 @@ +{ + "advancement.createrailwaysnavigator.navigator": "Bluadige Hehnakepf", + "advancement.createrailwaysnavigator.navigator.description": "Stelle oan Navi her, um Zugverbindungen zwischn zwoa verschiedenen Bahnhöfen zu fina.", + "advancement.createrailwaysnavigator.advanced_display": "Ned gonz 4k", + "advancement.createrailwaysnavigator.advanced_display.description": "Verbessere dei Anzeigetafel, um meahr Informationen darzustäin und sie sogar af Zügen zu verwenden.", + + "itemGroup.createrailwaysnavigator.tab": "Create Railways Navigator", + + "item.createrailwaysnavigator.navigator": "Create Railways Navigator", + "item.createrailwaysnavigator.navigator.tooltip.summary": "Dea _Navigator_ zoagts mögliche _Zugverbindungen_ mid zusätzlichen Informationen, wia _Zwischenhoit_, _Echtzeitdaten_ und meahr.", + + "block.createrailwaysnavigator.train_station_clock": "Bahnhofsuhr", + "block.createrailwaysnavigator.advanced_display_block": "Verbesserter Anzeige-Block", + "block.createrailwaysnavigator.advanced_display_block.tooltip.summary": "Benutze den Block af _Zügen_ ois _Zugzielanzeigen_ oda _Fahrgastinformationsanzeigen_ oda an _Bahnhöfen_ ois verbesserte _Bahnsteiganzeigen_, de a meahr Informationen anzeigen ois normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_block.tooltip.condition1": "R-Klick mid am Schraubenschlüssel", + "block.createrailwaysnavigator.advanced_display_block.tooltip.behaviour1": "Öffne a _Menü_, um de Anzeige zu _konfigurieren_.", + "block.createrailwaysnavigator.advanced_display": "Verbesserte Anzeigetafel", + "block.createrailwaysnavigator.advanced_display.tooltip.summary": "Benutze den Block af _Zügen_ ois _Zugzielanzeigen_ oda _Fahrgastinformationsanzeigen_ oda an _Bahnhöfen_ ois verbesserte _Bahnsteiganzeigen_, de a meahr Informationen anzeigen ois normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display.tooltip.condition1": "R-Klick mid am Schraubenschlüssel", + "block.createrailwaysnavigator.advanced_display.tooltip.behaviour1": "Öffne a _Menü_, um de Anzeige zu _konfigurieren_.", + "block.createrailwaysnavigator.advanced_display_small": "Kleine verbesserte Anzeigetafel", + "block.createrailwaysnavigator.advanced_display_small.tooltip.summary": "Benutze den Block af _Zügen_ ois _Zugzielanzeigen_ oda _Fahrgastinformationsanzeigen_ oda an _Bahnhöfen_ ois verbesserte _Bahnsteiganzeigen_, de a meahr Informationen anzeigen ois normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_small.tooltip.condition1": "R-Klick mid am Schraubenschlüssel", + "block.createrailwaysnavigator.advanced_display_small.tooltip.behaviour1": "Öffne a _Menü_, um de Anzeige zu _konfigurieren_.", + "block.createrailwaysnavigator.advanced_display_panel": "Verbessertes Anzeigepanel", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.summary": "Benutze den Block af _Zügen_ ois _Zugzielanzeigen_ oda _Fahrgastinformationsanzeigen_ oda an _Bahnhöfen_ ois verbesserte _Bahnsteiganzeigen_, de a meahr Informationen anzeigen ois normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.condition1": "R-Klick mid am Schraubenschlüssel", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Öffne a _Menü_, um de Anzeige zu _konfigurieren_.", + "block.createrailwaysnavigator.advanced_display_half_panel": "Hoibs Vabesserts Ozeigpanl", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.summary": "Benutze den Block af _Zügen_ ois _Zugzielanzeigen_ oda _Fahrgastinformationsanzeigen_ oda an _Bahnhöfen_ ois verbesserte _Bahnsteiganzeigen_, de a meahr Informationen anzeigen ois normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.condition1": "R-Klick mid am Schraubenschlüssel", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.behaviour1": "Öffne a _Menü_, um de Anzeige zu _konfigurieren_.", + "block.createrailwaysnavigator.advanced_display_sloped": "Abgeschrägte Verbesserte Anzeigetafel", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.summary": "Benutze den Block af _Zügen_ ois _Zugzielanzeigen_ oda _Fahrgastinformationsanzeigen_ oda an _Bahnhöfen_ ois verbesserte _Bahnsteiganzeigen_, de a meahr Informationen anzeigen ois normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.condition1": "R-Klick mid am Schraubenschlüssel", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.behaviour1": "Öffne a _Menü_, um de Anzeige zu _konfigurieren_.", + + "block.createrailwaysnavigator.advanced_display.ber.not_in_service": "Außa Betrieb", + "block.createrailwaysnavigator.advanced_display.ber.shunting_trip": "Betriebsfahrt", + + "category.createrailwaysnavigator.crn": "Create Railways Navigator", + "key.createrailwaysnavigator.route_overlay_options": "Routenanzeig Einstäiunga", + + "enum.createrailwaysnavigator.overlay_position": "Ozeigposition", + "enum.createrailwaysnavigator.overlay_position.info.top_left": "Ecke om links", + "enum.createrailwaysnavigator.overlay_position.info.top_right": "Ecke om rechts", + "enum.createrailwaysnavigator.overlay_position.info.bottom_left": "Ecke undn links", + "enum.createrailwaysnavigator.overlay_position.info.bottom_right": "Ecke undn rechts", + + "gui.createrailwaysnavigator.loading.title": "Dadn wern herunterglon...", + + "gui.createrailwaysnavigator.overlay_settings.title": "Routenanzeig Einstäiunga", + "gui.createrailwaysnavigator.route_overlay_settings.show_details": "Details ozeign", + "gui.createrailwaysnavigator.route_overlay_settings.unpin": "Ozeig entferna", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.on": "Eazählerankündigunga aktiviad.", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.off": "Eazählerankündigunga deaktiviad.", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.on": "Benachrichtigunga aktiviad.", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.off": "Benachrichtigunga deaktiviad.", + "gui.createrailwaysnavigator.route_overlay_settings.scale": "Benutzeroberflächenskaliarung", + "gui.createrailwaysnavigator.route_overlay_settings.narrator": "Eazählerankündigunga", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.description": "Da Eazähla kündigt wichtig Eaeignisse auf doana Route an, z.B. da naxte Hoid.", + "gui.createrailwaysnavigator.route_overlay_settings.notifications": "Benachrichtigunga", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.description": "Eahoide Benachrichtigunga in Form vo Pop-Ups zua wichtign Eaeignisse, z.B. Vaspätunga", + + "gui.createrailwaysnavigator.common.expand": "Details ozeign", + "gui.createrailwaysnavigator.common.collapse": "Details vabeagn", + "gui.createrailwaysnavigator.common.go_back": "Zrugg", + "gui.createrailwaysnavigator.common.go_to_top": "Noch om scroin", + "gui.createrailwaysnavigator.common.reset_defaults": "Auf Standardwerte zuaruggsetzn", + "gui.createrailwaysnavigator.common.count": "Ozoi", + "gui.createrailwaysnavigator.common.true": "Jo", + "gui.createrailwaysnavigator.common.false": "Na", + "gui.createrailwaysnavigator.common.search": "Suchn", + "gui.createrailwaysnavigator.common.auto": "Autom.", + "gui.createrailwaysnavigator.common.server_error": "Fehla beim Ausführn da Aufgob. Schaue in de Servakonsole.", + "gui.createrailwaysnavigator.via": "üba", + + "gui.createrailwaysnavigator.navigator.title": "Create Railways Navigator", + "gui.createrailwaysnavigator.navigator.no_connections": "Koa Vabindungn gfundn.", + "gui.createrailwaysnavigator.navigator.not_searched": "Bisha nix gsucht.", + "gui.createrailwaysnavigator.navigator.searching": "Suach noch Vabindungn...", + "gui.createrailwaysnavigator.navigator.error_title": "Navigation fehlgschlogn!", + "gui.createrailwaysnavigator.navigator.start_end_null": "Start oda Zil san laar.", + "gui.createrailwaysnavigator.navigator.start_end_equal": "Start und Zil san idendisch.", + "gui.createrailwaysnavigator.navigator.route_entry.connection_in_past": "❌ In da Vagangnheit", + "gui.createrailwaysnavigator.navigator.route_entry.transfer": "Umst.", + "gui.createrailwaysnavigator.navigator.route_entry.station_start": "vo %s", + "gui.createrailwaysnavigator.navigator.global_settings.tooltip": "Globale Einstäiunga", + "gui.createrailwaysnavigator.navigator.search_settings.tooltip": "Sucheinstäiunga", + "gui.createrailwaysnavigator.navigator.search.tooltip": "Suchn", + "gui.createrailwaysnavigator.navigator.location.tooltip": "Nächsglegne Station vo aktuella Position", + "gui.createrailwaysnavigator.navigator.switch.tooltip": "Eingobn tauschn", + + "gui.createrailwaysnavigator.route_details.title": "Streckendtails", + "gui.createrailwaysnavigator.route_details.departure": "Obfahrt in", + "gui.createrailwaysnavigator.route_details.next_transfer_time": "Umstieg in", + "gui.createrailwaysnavigator.route_details.transfer": "Umstieg", + "gui.createrailwaysnavigator.route_details.save_route": "Route speichern", + + "gui.createrailwaysnavigator.route_overview.title": "Streckendtails", + "gui.createrailwaysnavigator.route_overview.journey_begins": "Ihre Reise ofangt! %s noch %s, Obfahrt %s", + "gui.createrailwaysnavigator.route_overview.journey_begins_with_platform": "Ihre Reise ofangt! %s noch %s, Obfahrt %s vo Gleis %s", + "gui.createrailwaysnavigator.route_overview.train_details": "%s noch %s", + "gui.createrailwaysnavigator.route_overview.next_stop": "Naxter Hoid: %s", + "gui.createrailwaysnavigator.route_overview.transfer": "Umstieg in %s → %s", + "gui.createrailwaysnavigator.route_overview.transfer_with_platform": "Umstieg in %s → %s auf Gleis %s", + "gui.createrailwaysnavigator.route_overview.journey_completed": "Reise obgschlossn", + "gui.createrailwaysnavigator.route_overview.after_journey": "Sie hom %s eareicht. Mia bedankn uns fia Ihre Reise und Servus.", + "gui.createrailwaysnavigator.route_overview.next_connections": "Naxte Oschlüsse", + "gui.createrailwaysnavigator.route_overview.schedule_transfer": "Umstieg", + "gui.createrailwaysnavigator.route_overview.train_canceled": "Zuag foid aus", + "gui.createrailwaysnavigator.route_overview.train_cancellation_info": "Informadion zua %s", + "gui.createrailwaysnavigator.route_overview.stop_canceled": "❌ Foid aus", + "gui.createrailwaysnavigator.route_overview.connection_endangered": "Oschluss gfährdet", + "gui.createrailwaysnavigator.route_overview.connection_missed": "Oschluss vapasst", + "gui.createrailwaysnavigator.route_overview.connection_canceled": "Zuag foid aus", + "gui.createrailwaysnavigator.route_overview.journey_interrupted": "Ihre Reise noch %s konn ned fortgsetzt wern.", + "gui.createrailwaysnavigator.route_overview.connection_missed_info": "Aufgrund oana Zuagvaspätung hom Sie Ihrn Oschluss vapasst. Suchn Sie noch oana Oidanative im Navigatoa. Mia entschuidign uns fia de Unannehmlichkeitn.", + "gui.createrailwaysnavigator.route_overview.train_canceled_info": "Informadion zua %s: Dea Zuag foid heid aus! Mia entschuidign uns fia de Unannehmlichkeitn. Suchn Sie noch oana Oidanative im Navigatoa.", + "gui.createrailwaysnavigator.route_overview.train_canceled_title": "Zuag foid heid aus", + "gui.createrailwaysnavigator.route_overview.journey_interrupted_info": "Ihre Reise noch %s konn ned fortgsetzt wern. Suchn Sie noch oana Oidanative im Navigatoa.", + "gui.createrailwaysnavigator.route_overview.options": "Drugge %s fia Optiona.", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins.title": "Ihre Reise noch %s ofangt!", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins": "%s noch %s, Obfahrt %s", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins_with_platform": "%s noch %s, Obfahrt %s vo Gleis %s", + "gui.createrailwaysnavigator.route_overview.notification.platform_changed.title": "Ihr Gleis hod si gändert!", + "gui.createrailwaysnavigator.route_overview.notification.platform_changed": "Ihr Zuag in %s fahrd heid vo Gleis %s ob.", + "gui.createrailwaysnavigator.route_overview.notification.train_delayed.title": "%s: Okunft %s vaspätet.", + "gui.createrailwaysnavigator.route_overview.notification.train_delayed": "%s stod %s in %s", + "gui.createrailwaysnavigator.route_overview.notification.train_canceled.title": "%s: Zuag foid aus", + "gui.createrailwaysnavigator.route_overview.notification.train_canceled": "%s noch %s foid heid aus.", + "gui.createrailwaysnavigator.route_overview.notification.transfer.title": "Ihr Umstieg städ bevoa", + "gui.createrailwaysnavigator.route_overview.notification.transfer": "Steign Sie in %s → %s auf Gleis %s um", + "gui.createrailwaysnavigator.route_overview.notification.transfer_with_platform": "Steign Sie in %s → %s um", + "gui.createrailwaysnavigator.route_overview.notification.connection_endangered.title": "Ihr Oschluss is gfährdet!", + "gui.createrailwaysnavigator.route_overview.notification.connection_endangered": "Sie wern voraussichtlich Ihrn Oschluss %s noch %s ned daglanga.", + "gui.createrailwaysnavigator.route_overview.notification.connection_missed.title": "Oschluss vapasst", + "gui.createrailwaysnavigator.route_overview.notification.connection_missed": "Sie hom Ihrn Oschlusszug %s noch %s vapasst.", + "gui.createrailwaysnavigator.route_overview.notification.journey_completed.title": "Sie hom Ihr Zil eareicht!", + "gui.createrailwaysnavigator.route_overview.notification.journey_completed": "Mia bedankn uns fia Ihre Reise und wünschn oan scheenen Dog.", + "gui.createrailwaysnavigator.route_overview.date": "Dog %s, %s", + + "gui.createrailwaysnavigator.global_settings.title": "Globale Einstäiunga", + "gui.createrailwaysnavigator.global_settings.option.tooltip": "Zum Bearbadn klickn", + "gui.createrailwaysnavigator.global_settings.option_alias.title": "Bohhof Dogs", + "gui.createrailwaysnavigator.global_settings.option_alias.description": "Eastäi Dogs, um mearere Stationa (z.B. MyStation 1, MyStation 2, ...) ois oan Bohhof (z.B. MyStation) zua behandeln.", + "gui.createrailwaysnavigator.global_settings.option_blacklist.title": "Bohhof Blacklist", + "gui.createrailwaysnavigator.global_settings.option_blacklist.description": "Schliaße Stationa aus, de ned in den Navigtionsergbnissn eascheina soin. De Stationa wern bei da Suach ignoriad.", + "gui.createrailwaysnavigator.global_settings.train_group.title": "Zuagkategorin", + "gui.createrailwaysnavigator.global_settings.train_group.description": "Zuagkategorin deann da Organisation vo Zügn (z.B. Regionalvakeah, Feanvakeah, ...). Nutza könna noch desn Kategorin filtern.", + "gui.createrailwaysnavigator.global_settings.train_blacklist.title": "Zuag Blacklist", + "gui.createrailwaysnavigator.global_settings.train_blacklist.description": "Schliaße Züg aus, z.B. Güterzüg, Sonderzüg, etc., damit de ned in den Vorschlägn auftaan.", + + "gui.createrailwaysnavigator.alias_settings.title": "Bohhof Dogs Einstäiunga", + "gui.createrailwaysnavigator.alias_settings.summary": "Enthält %s Stationa", + "gui.createrailwaysnavigator.alias_settings.editor": "Zualetzt vo %s am %s bearbadet", + "gui.createrailwaysnavigator.alias_settings.add.tooltip": "Nein Eintrog eastäin", + "gui.createrailwaysnavigator.alias_settings.delete_alias.tooltip": "Dog löschn", + "gui.createrailwaysnavigator.alias_settings.delete_station.tooltip": "Station entferna", + "gui.createrailwaysnavigator.alias_settings.add_station.tooltip": "Station hizufügn", + "gui.createrailwaysnavigator.alias_settings.hint.station_name": "Bohhofsnama", + "gui.createrailwaysnavigator.alias_settings.hint.platform": "Gleisbezeichnung", + "gui.createrailwaysnavigator.alias_settings.enter_name": "Nama eingem", + + "gui.createrailwaysnavigator.train_group_settings.title": "Zuagkategorin Einstäiunga", + "gui.createrailwaysnavigator.train_group_settings.summary": "Enthält %s Ziag", + "gui.createrailwaysnavigator.train_group_settings.editor": "Zualetzt vo %s am %s bearbadet", + "gui.createrailwaysnavigator.train_group_settings.delete_alias.tooltip": "Kategorie löschn", + "gui.createrailwaysnavigator.train_group_settings.delete_station.tooltip": "Zuag entferna", + "gui.createrailwaysnavigator.train_group_settings.add_station.tooltip": "Zuag hizufügn", + + "gui.createrailwaysnavigator.blacklist.title": "Bohhof Blacklist", + "gui.createrailwaysnavigator.blacklist.add.tooltip": "Zua Blacklist hizufügn", + "gui.createrailwaysnavigator.blacklist.delete.tooltip": "Vo Blacklist entferna", + + "gui.createrailwaysnavigator.train_blacklist.title": "Zuag Blacklist", + "gui.createrailwaysnavigator.train_blacklist.add.tooltip": "Zua Blacklist hizufügn", + "gui.createrailwaysnavigator.train_blacklist.delete.tooltip": "Vo Blacklist entferna", + + "gui.createrailwaysnavigator.search_settings.title": "Sucheinstäiunga", + "gui.createrailwaysnavigator.search_settings.transfer_time": "Minimale Umstiegszeid", + "gui.createrailwaysnavigator.search_settings.transfer_time.description": "De minimale Zeid fia oan Umstieg. (1h ~ 50 Reoi Life Sekundn)", + "gui.createrailwaysnavigator.search_settings.train_groups": "Zuagkategorie Filta", + "gui.createrailwaysnavigator.search_settings.train_groups.description": "Entscheide welche Züg aus welchn Kategorin du nutzn wuist.", + "gui.createrailwaysnavigator.search_settings.train_groups.overview": "%s Kategorie(n) ausgwählt", + "gui.createrailwaysnavigator.search_settings.train_groups.overview.all": "Olle", + "gui.createrailwaysnavigator.search_settings.train_groups.overview.none": "Koa", + "gui.createrailwaysnavigator.search_settings.train_groups.tooltip.reset": "Filta zuaruggsetzn", + + "gui.createrailwaysnavigator.new_text_entry.add.tooltip": "Hizufügn", + + "gui.createrailwaysnavigator.time": "Zeid: %s", + "gui.createrailwaysnavigator.time.now": "'etz", + "gui.createrailwaysnavigator.time_format.dhm": "%s Doge %s Std. %s min.", + "gui.createrailwaysnavigator.time_format.hm": "%s Std. %s min.", + "gui.createrailwaysnavigator.time_format.m": "%s min.", + + "gui.createrailwaysnavigator.platform": "Gleis", + "gui.createrailwaysnavigator.departure": "Obfahrt", + "gui.createrailwaysnavigator.destination": "Zil", + "gui.createrailwaysnavigator.line": "Linie", + "gui.createrailwaysnavigator.following_trains": "Foigezüg:", + + "gui.createrailwaysnavigator.advanced_display_settings.title": "Vabesserte Ozeig Einstäiunga", + "gui.createrailwaysnavigator.advanced_display_settings.display_type": "Ozeigtyp", + "gui.createrailwaysnavigator.advanced_display_settings.display_type.description": "De Informadiona, de ozoagd wern soin.", + "gui.createrailwaysnavigator.advanced_display_settings.info_type": "Informadionsart", + "gui.createrailwaysnavigator.advanced_display_settings.info_type.description": "Gibt an, wia detailliad de Informadiona san.", + "gui.createrailwaysnavigator.advanced_display_settings.double_sided": "Beidseitig", + + "enum.createrailwaysnavigator.display_info_type": "Informadionsart", + "enum.createrailwaysnavigator.display_info_type.description": "Gibt an, wia vui Informadiona dargstäit wern soin.", + "enum.createrailwaysnavigator.display_info_type.simple": "Oafach", + "enum.createrailwaysnavigator.display_info_type.info.simple": "'s wern grod de wichtigsdn Informadiona ohne zuasätzliche Details dargstäit.", + "enum.createrailwaysnavigator.display_info_type.detailed": "Detailliad", + "enum.createrailwaysnavigator.display_info_type.info.detailed": "De wichtigsdn Informadiona mid einign Details, wia z.B Zwischenhoide.", + "enum.createrailwaysnavigator.display_info_type.informative": "Informadiv", + "enum.createrailwaysnavigator.display_info_type.info.informative": "Zeigt olle Informadiona, de relevant sei könna, und stäit sie möglichst oschaulich dar. Ned fia gloae Ozeign empfohln.", + + "enum.createrailwaysnavigator.display_type": "Ozeigtyp", + "enum.createrailwaysnavigator.display_type.description": "De Art da Ozeig, wos vo ihrem Zweck obhängt.", + "enum.createrailwaysnavigator.display_type.train_destination": "Zuagzielanzeig", + "enum.createrailwaysnavigator.display_type.info.train_destination": "Fia de Vawendung außn an Zügn vorgseng, do Informadiona wia Zuagnama oda Endhoid dargstäit wern, de fia Fahrgäste außerhoib des Fahrzeigs interessant san.", + "enum.createrailwaysnavigator.display_type.passenger_information": "Fahrgastinformadionsanzeig", + "enum.createrailwaysnavigator.display_type.info.passenger_information": "Repräsentiern de Ozeign, de in Zügn vorkomma. Dargstäit wern da naxte Hoid, de Ausstiegsseitn und (je noch Einstäiung) no weidere Informadiona.", + "enum.createrailwaysnavigator.display_type.platform": "Bohsteiganzeig", + "enum.createrailwaysnavigator.display_type.info.platform": "De Ozeign wern an Bohsteign vawendt und zeign de naxtn obfahrendn Züg mid zuasätzlichn Informadiona an. Funktioniad ned auf Zügn!", + + "enum.createrailwaysnavigator.side": "Seitn", + "enum.createrailwaysnavigator.side.description": "De Seitn des Bloggs, auf am de Informadiona ozoagd wern soin.", + "enum.createrailwaysnavigator.side.front": "Voadaseitn", + "enum.createrailwaysnavigator.side.info.front": "De Informadiona wern grod auf da Voadaseitn dargstäit.", + "enum.createrailwaysnavigator.side.both": "Beidseitig", + "enum.createrailwaysnavigator.side.info.both": "De Informadiona wern auf beidn Seitn dargstäit.", + + "enum.createrailwaysnavigator.time_display": "Zeidanzeig", + "enum.createrailwaysnavigator.time_display.description": "Gibt an, in welchem Formad de Zeid oggm werd.", + "enum.createrailwaysnavigator.time_display.abs": "ABS", + "enum.createrailwaysnavigator.time_display.info.abs": "ABS (Obsolut)", + "enum.createrailwaysnavigator.time_display.eta": "ETA", + "enum.createrailwaysnavigator.time_display.info.eta": "ETA (Gschätzte Okunftszeid)", + + "create.display_source.advanced_display": "Vabesserte Ozeig", + "gui.createrailwaysnavigator.display_source.advanced_display.train_name_width": "Zuagnama Spoidenbreadn", + "gui.createrailwaysnavigator.display_source.advanced_display.train_name_width.description": "De Breadn da Spoide fia den Zuagnama in Pixl. (Standard: 16)", + "gui.createrailwaysnavigator.display_source.advanced_display.platform_width": "Gleis Spoidenbreadn", + "gui.createrailwaysnavigator.display_source.advanced_display.platform_width.description": "De Breadn da Spoide fia des Gleis in Pixl. (-1 = Autom., Standard: -1)", + + "createrailwaysnavigator.moin": "Servus" +} diff --git a/common/src/main/resources/assets/createrailwaysnavigator/lang/de_de.json b/common/src/main/resources/assets/createrailwaysnavigator/lang/de_de.json index a1e52ebb..340f81a5 100644 --- a/common/src/main/resources/assets/createrailwaysnavigator/lang/de_de.json +++ b/common/src/main/resources/assets/createrailwaysnavigator/lang/de_de.json @@ -11,27 +11,32 @@ "block.createrailwaysnavigator.train_station_clock": "Bahnhofsuhr", "block.createrailwaysnavigator.advanced_display_block": "Verbesserter Anzeige-Block", - "block.createrailwaysnavigator.advanced_display_block.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeigen_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_block.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeige_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", "block.createrailwaysnavigator.advanced_display_block.tooltip.condition1": "R-Klick mit einem Schraubenschlüssel", "block.createrailwaysnavigator.advanced_display_block.tooltip.behaviour1": "Öffne ein _Menü_, um die Anzeige zu _konfigurieren_.", "block.createrailwaysnavigator.advanced_display": "Verbesserte Anzeigetafel", - "block.createrailwaysnavigator.advanced_display.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeigen_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeige_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", "block.createrailwaysnavigator.advanced_display.tooltip.condition1": "R-Klick mit einem Schraubenschlüssel", "block.createrailwaysnavigator.advanced_display.tooltip.behaviour1": "Öffne ein _Menü_, um die Anzeige zu _konfigurieren_.", "block.createrailwaysnavigator.advanced_display_small": "Kleine verbesserte Anzeigetafel", - "block.createrailwaysnavigator.advanced_display_small.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeigen_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_small.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeige_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", "block.createrailwaysnavigator.advanced_display_small.tooltip.condition1": "R-Klick mit einem Schraubenschlüssel", "block.createrailwaysnavigator.advanced_display_small.tooltip.behaviour1": "Öffne ein _Menü_, um die Anzeige zu _konfigurieren_.", "block.createrailwaysnavigator.advanced_display_panel": "Verbessertes Anzeigepanel", - "block.createrailwaysnavigator.advanced_display_panel.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeigen_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeige_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", "block.createrailwaysnavigator.advanced_display_panel.tooltip.condition1": "R-Klick mit einem Schraubenschlüssel", "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Öffne ein _Menü_, um die Anzeige zu _konfigurieren_.", - "block.createrailwaysnavigator.advanced_display_sloped": "Abgeschrägte Verbesserte Anzeigetafel", - "block.createrailwaysnavigator.advanced_display_sloped.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeigen_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_half_panel": "Halbes Verbessertes Anzeigepanel", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeige_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.condition1": "R-Klick mit einem Schraubenschlüssel", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.behaviour1": "Öffne ein _Menü_, um die Anzeige zu _konfigurieren_.", + "block.createrailwaysnavigator.advanced_display_sloped": "Abgeschrägte verbesserte Anzeigetafel", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.summary": "Benutze den Block auf _Zügen_ als _Zugzielanzeigen_ oder _Fahrgastinformationsanzeigen_ oder an _Bahnhöfen_ als verbesserte _Bahnsteiganzeige_, die auch mehr Informationen anzeigen als normale Anzeigetafeln.", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.condition1": "R-Klick mit einem Schraubenschlüssel", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.behaviour1": "Öffne ein _Menü_, um die Anzeige zu _konfigurieren_.", "block.createrailwaysnavigator.advanced_display.ber.not_in_service": "Außer Betrieb", + "block.createrailwaysnavigator.advanced_display.ber.shunting_trip": "Betriebsfahrt", "category.createrailwaysnavigator.crn": "Create Railways Navigator", "key.createrailwaysnavigator.route_overlay_options": "Routenanzeige Einstellungen", @@ -55,7 +60,7 @@ "gui.createrailwaysnavigator.route_overlay_settings.narrator": "Erzählerankündigungen", "gui.createrailwaysnavigator.route_overlay_settings.narrator.description": "Der Erzähler kündigt wichtige Ereignisse auf deiner Route an, z.B. der nächste Halt.", "gui.createrailwaysnavigator.route_overlay_settings.notifications": "Benachrichtigungen", - "gui.createrailwaysnavigator.route_overlay_settings.notifications.description": "Erhalte Benachrichtigungen in Form von Pop-Ups zu wichtigen Ereignisse, z.B. Verspätungen", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.description": "Erhalte Benachrichtigungen in Form von Pop-Ups zu wichtigen Ereignissen, z.B. Verspätungen", "gui.createrailwaysnavigator.common.expand": "Details anzeigen", "gui.createrailwaysnavigator.common.collapse": "Details verbergen", diff --git a/common/src/main/resources/assets/createrailwaysnavigator/lang/en_us.json b/common/src/main/resources/assets/createrailwaysnavigator/lang/en_us.json index 58e72518..76210995 100644 --- a/common/src/main/resources/assets/createrailwaysnavigator/lang/en_us.json +++ b/common/src/main/resources/assets/createrailwaysnavigator/lang/en_us.json @@ -25,13 +25,18 @@ "block.createrailwaysnavigator.advanced_display_panel": "Advanced Display Panel", "block.createrailwaysnavigator.advanced_display_panel.tooltip.summary": "Use it on _trains_, as a _train destination display_ or _passenger information display_, or at _train stations_ as improved _platform displays_ which also shows more information than regular display boards.", "block.createrailwaysnavigator.advanced_display_panel.tooltip.condition1": "When R-Clicked using a Wrench", - "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Open a menu to _configure_ the _display_.", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Open a menu to _configure_ the _display_.", + "block.createrailwaysnavigator.advanced_display_half_panel": "Half Advanced Display Panel", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.summary": "Use it on _trains_, as a _train destination display_ or _passenger information display_, or at _train stations_ as improved _platform displays_ which also shows more information than regular display boards.", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.condition1": "When R-Clicked using a Wrench", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.behaviour1": "Open a menu to _configure_ the _display_.", "block.createrailwaysnavigator.advanced_display_sloped": "Sloped Advanced Display", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.summary": "Use it on _trains_, as a _train destination display_ or _passenger information display_, or at _train stations_ as improved _platform displays_ which also shows more information than regular display boards.", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.condition1": "When R-Clicked using a Wrench", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.behaviour1": "Open a menu to _configure_ the _display_.", "block.createrailwaysnavigator.advanced_display.ber.not_in_service": "Out of service!", + "block.createrailwaysnavigator.advanced_display.ber.shunting_trip": "non-passenger ride", "category.createrailwaysnavigator.crn": "Create Railways Navigator", "key.createrailwaysnavigator.route_overlay_options": "Show Route Overlay Options", diff --git a/common/src/main/resources/assets/createrailwaysnavigator/lang/nl_nl.json b/common/src/main/resources/assets/createrailwaysnavigator/lang/nl_nl.json index f2d70f02..d981ee89 100644 --- a/common/src/main/resources/assets/createrailwaysnavigator/lang/nl_nl.json +++ b/common/src/main/resources/assets/createrailwaysnavigator/lang/nl_nl.json @@ -25,13 +25,18 @@ "block.createrailwaysnavigator.advanced_display_panel": "Geadvanceerd Display Paneel", "block.createrailwaysnavigator.advanced_display_panel.tooltip.summary": "Gebruik het op _treinen_, als een _treinbestemmingsdisplay_ of _passagiersinformatiedisplay_, of op _treinstations_ als verbeterde _platformdisplays_ die ook meer informatie tonen dan reguliere displayborden.", "block.createrailwaysnavigator.advanced_display_panel.tooltip.condition1": "Als je R-Clickt met een Wrench", - "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Opent een menu om het _display_ te _configureren_.", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Opent een menu om het _display_ te _configureren_.", + "block.createrailwaysnavigator.advanced_display_half_panel": "Half Geadvanceerd Display Paneel", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.summary": "Gebruik het op _treinen_, als een _treinbestemmingsdisplay_ of _passagiersinformatiedisplay_, of op _treinstations_ als verbeterde _platformdisplays_ die ook meer informatie tonen dan reguliere displayborden.", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.condition1": "Als je R-Clickt met een Wrench", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.behaviour1": "Opent een menu om het _display_ te _configureren_.", "block.createrailwaysnavigator.advanced_display_sloped": "Schuine Geavanceerde Display", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.summary": "Gebruik het op _treinen_, als een _treinbestemmingsdisplay_ of _passagiersinformatiedisplay_, of op _treinstations_ als verbeterde _platformdisplays_ die ook meer informatie tonen dan reguliere displayborden.", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.condition1": "Als je R-Clickt met een Wrench", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.behaviour1": "Opent een menu om het _display_ te _configureren_.", "block.createrailwaysnavigator.advanced_display.ber.not_in_service": "Buiten dienst!", + "block.createrailwaysnavigator.advanced_display.ber.shunting_trip": "Rangeertocht", "category.createrailwaysnavigator.crn": "Create Railways Navigator", "key.createrailwaysnavigator.route_overlay_options": "Toon Route Overlay Opties", diff --git a/common/src/main/resources/assets/createrailwaysnavigator/lang/pl_pl.json b/common/src/main/resources/assets/createrailwaysnavigator/lang/pl_pl.json index a106bc16..f2e7e617 100644 --- a/common/src/main/resources/assets/createrailwaysnavigator/lang/pl_pl.json +++ b/common/src/main/resources/assets/createrailwaysnavigator/lang/pl_pl.json @@ -25,13 +25,18 @@ "block.createrailwaysnavigator.advanced_display_panel": "Panel Zaawansowanego Wyświetlacza", "block.createrailwaysnavigator.advanced_display_panel.tooltip.summary": "Używaj na _pociągach_ jako _wyświetlacz celu podróży_ lub _ekranu informacji pasażerskiej_, albo na _stacjach kolejowych_ jako ulepszonych _wyświetlaczy peronowych_ które pokazują więcej informacji niż zwykłe wyświetlacze.", "block.createrailwaysnavigator.advanced_display_panel.tooltip.condition1": "Kliknięcie PPM przy pomocy Klucza", - "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Otwórz menu _konfiguracji_ _wyświetlacza_.", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Otwórz menu _konfiguracji_ _wyświetlacza_.", + "block.createrailwaysnavigator.advanced_display_half_panel": "Pół zaawansowany panel wyświetlacza", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.summary": "Używaj na _pociągach_ jako _wyświetlacz celu podróży_ lub _ekranu informacji pasażerskiej_, albo na _stacjach kolejowych_ jako ulepszonych _wyświetlaczy peronowych_ które pokazują więcej informacji niż zwykłe wyświetlacze.", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.condition1": "Kliknięcie PPM przy pomocy Klucza", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.behaviour1": "Otwórz menu _konfiguracji_ _wyświetlacza_.", "block.createrailwaysnavigator.advanced_display_sloped": "Pochylony, Zaawansowanego Wyświetlacza", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.summary": "Używaj na _pociągach_ jako _wyświetlacz celu podróży_ lub _ekranu informacji pasażerskiej_, albo na _stacjach kolejowych_ jako ulepszonych _wyświetlaczy peronowych_ które pokazują więcej informacji niż zwykłe wyświetlacze.", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.condition1": "Kliknięcie PPM przy pomocy Klucza", "block.createrailwaysnavigator.advanced_display_sloped.tooltip.behaviour1": "Otwórz menu _konfiguracji_ _wyświetlacza_.", "block.createrailwaysnavigator.advanced_display.ber.not_in_service": "Nieczynny!", + "block.createrailwaysnavigator.advanced_display.ber.shunting_trip": "Wycieczka manewrowa", "category.createrailwaysnavigator.crn": "Create Railways Navigator", "key.createrailwaysnavigator.route_overlay_options": "Pokaż opcje nakładki trasy", @@ -242,4 +247,5 @@ "gui.createrailwaysnavigator.display_source.advanced_display.platform_width.description": "Szerokość kolumny w pixelach blokowych. (-1 = Auto, Domyślnie: -1)", "createrailwaysnavigator.moin": "moin" - } \ No newline at end of file + } + \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/lang/sxu.json b/common/src/main/resources/assets/createrailwaysnavigator/lang/sxu.json new file mode 100644 index 00000000..767b1612 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/lang/sxu.json @@ -0,0 +1,250 @@ +{ + "advancement.createrailwaysnavigator.navigator": "Sänng ju for dräwweling", + "advancement.createrailwaysnavigator.navigator.description": "Schdelle enen Wegweesr her, um Zuhchferbindungn zwischn zwee färschiednen Boahnhöfn ze findn.", + "advancement.createrailwaysnavigator.advanced_display": "Ne ganz 4goa", + "advancement.createrailwaysnavigator.advanced_display.description": "forbessere deene Anzeichedafl, um mehr Informadschionen darzeschdellen und se sogoar uf Zühchn ze ferwen'n.", + + "itemGroup.createrailwaysnavigator.tab": "Create Railways Navigator", + + "item.createrailwaysnavigator.navigator": "Create Railways Navigator", + "item.createrailwaysnavigator.navigator.tooltip.summary": "Dor _Wegweesr_ zeichd möchliche _Zuhchforbindungn_ midd zusädslichn Informadschionen, wie _Zwischenhalde_, _Echdzeiddaden_ und mehr", + + "block.createrailwaysnavigator.train_station_clock": "Boahnhofsuhr", + "block.createrailwaysnavigator.advanced_display_block": "Forbessorrdor Anzeichn-Blogg", + "block.createrailwaysnavigator.advanced_display_block.tooltip.summary": "Benuddse dä Blogg uf _Zühchn_ als _Zuhchzielanzeiche_ odorr _Foahrgassdinformadschionsanzeichn_ odorr an _Boahnhöfn_ als forbesserrde _Bahnschdeichanzeichn_, die och mehr Informadschionen anzeichn als normale Anzeichedofln.", + "block.createrailwaysnavigator.advanced_display_block.tooltip.condition1": "R-Gligg midd nem Schraubnschlüssl", + "block.createrailwaysnavigator.advanced_display_block.tooltip.behaviour1": "Öffne ä _Menü_, um dä Anzeichn ze _gonfiguriern_.", + "block.createrailwaysnavigator.advanced_display": "Forbessorrde Anzeichedoafl", + "block.createrailwaysnavigator.advanced_display.tooltip.summary": "Benuddse dä Blogg uf _Zühchn_ als _Zuhchzielanzeiche_ odorr _Foahrgassdinformadschionsanzeichn_ odorr an _Boahnhöfn_ als forbesserrde _Bahnschdeichanzeichn_, die och mehr Informadschionen anzeichn als normale Anzeichedofln.", + "block.createrailwaysnavigator.advanced_display.tooltip.condition1": "R-Gligg midd nem Schraubnschlüssl", + "block.createrailwaysnavigator.advanced_display.tooltip.behaviour1": "Öffne ä _Menü_, um dä Anzeichn ze _gonfiguriern_.", + "block.createrailwaysnavigator.advanced_display_small": "Gleene forbessorrde Anzeichedofl", + "block.createrailwaysnavigator.advanced_display_small.tooltip.summary": "Benuddse dä Blogg uf _Zühchn_ als _Zuhchzielanzeiche_ odorr _Foahrgassdinformadschionsanzeichn_ odorr an _Boahnhöfn_ als forbesserrde _Bahnschdeichanzeichn_, die och mehr Informadschionen anzeichn als normale Anzeichedofln.", + "block.createrailwaysnavigator.advanced_display_small.tooltip.condition1": "R-Gligg midd nem Schraubnschlüssl", + "block.createrailwaysnavigator.advanced_display_small.tooltip.behaviour1": "Öffne ä _Menü_, um dä Anzeichn ze _gonfiguriern_.", + "block.createrailwaysnavigator.advanced_display_panel": "Forbessorrdes Anzeichebännl", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.summary": "Benuddse dä Blogg uf _Zühchn_ als _Zuhchzielanzeiche_ odorr _Foahrgassdinformadschionsanzeichn_ odorr an _Boahnhöfn_ als forbesserrde _Bahnschdeichanzeichn_, die och mehr Informadschionen anzeichn als normale Anzeichedofln.", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.condition1": "R-Gligg midd nem Schraubnschlüssl", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "Öffne ä _Menü_, um dä Anzeichn ze _gonfiguriern_.", + "block.createrailwaysnavigator.advanced_display_half_panel": "Halbes Forbessorrdes Anzeichebännl", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.summary": "Benuddse dä Blogg uf _Zühchn_ als _Zuhchzielanzeiche_ odorr _Foahrgassdinformadschionsanzeichn_ odorr an _Boahnhöfn_ als forbesserrde _Bahnschdeichanzeichn_, die och mehr Informadschionen anzeichn als normale Anzeichedofln.", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.condition1": "R-Gligg midd nem Schraubnschlüssl", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.behaviour1": "Öffne ä _Menü_, um dä Anzeichn ze _gonfiguriern_.", + "block.createrailwaysnavigator.advanced_display_sloped": "Schrääsche forbessorrde Anzeichedofl", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.summary": "Benuddse dä Blogg uf _Zühchn_ als _Zuhchzielanzeiche_ odorr _Foahrgassdinformadschionsanzeichn_ odorr an _Boahnhöfn_ als forbesserrde _Bahnschdeichanzeichn_, die och mehr Informadschionen anzeichn als normale Anzeichedofln.", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.condition1": "R-Gligg midd nem Schraubnschlüssl", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.behaviour1": "Öffne ä _Menü_, um dä Anzeichn ze _gonfiguriern_.", + + "block.createrailwaysnavigator.advanced_display.ber.not_in_service": "Ausser Beddrieb", + "block.createrailwaysnavigator.advanced_display.ber.shunting_trip": "Beddriebschfoahrd", + + "category.createrailwaysnavigator.crn": "Create Railways Navigator", + "key.createrailwaysnavigator.route_overlay_options": "Schdreggnanzeiche Eenschdellungn", + + "enum.createrailwaysnavigator.overlay_position": "Anzeichebosiddsion", + "enum.createrailwaysnavigator.overlay_position.info.top_left": "Egge ob'n lings", + "enum.createrailwaysnavigator.overlay_position.info.top_right": "Egge ob'n reschds", + "enum.createrailwaysnavigator.overlay_position.info.bottom_left": "Egge und'n lings", + "enum.createrailwaysnavigator.overlay_position.info.bottom_right": "Egge und'n reschds", + + "gui.createrailwaysnavigator.loading.title": "Dodai'n wer'n herundorgeladn...", + + "gui.createrailwaysnavigator.overlay_settings.title": "Schdreggnanzeiche Eenschdellungn", + "gui.createrailwaysnavigator.route_overlay_settings.show_details": "Deddails anzeichn", + "gui.createrailwaysnavigator.route_overlay_settings.unpin": "Anzeiche endfernn", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.on": "Orrzählerangündschung'n aggdiwierd.", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.off": "Orrzählerangündschungn deaggdiwierd.", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.on": "Benoochrischdschung'n aggdiwierd.", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.off": "Benoochrischdschung'n deaggdiwierd.", + "gui.createrailwaysnavigator.route_overlay_settings.scale": "Benuddsoroberflächenschgallierung", + "gui.createrailwaysnavigator.route_overlay_settings.narrator": "Orrzählerangündschung'n", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.description": "Dor Orrzähler günndschd wichdsche Ereichnisse uf dener Schdregge an, z.B. dorr nächsde Hald.", + "gui.createrailwaysnavigator.route_overlay_settings.notifications": "Benoochrischdschung'n", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.description": "Orhallde Benoochrischdschung'n in Form fonn Bob-Abbs ze wichdschn Oreichnissen, z.B. Forschbädung'n", + + "gui.createrailwaysnavigator.common.expand": "Deddails anzeichn", + "gui.createrailwaysnavigator.common.collapse": "Deddails Ferbärchn", + "gui.createrailwaysnavigator.common.go_back": "Zorigge", + "gui.createrailwaysnavigator.common.go_to_top": "Nooch oben sggrolln", + "gui.createrailwaysnavigator.common.reset_defaults": "Uf Schdandordwerde zoriggesedsn", + "gui.createrailwaysnavigator.common.count": "Anzahl", + "gui.createrailwaysnavigator.common.true": "Ja", + "gui.createrailwaysnavigator.common.false": "Nä", + "gui.createrailwaysnavigator.common.search": "Suchn", + "gui.createrailwaysnavigator.common.auto": "Audom.", + "gui.createrailwaysnavigator.common.server_error": "Fehlor beim Ausführn dor Ufgobe. Schau in de Servergonsole.", + "gui.createrailwaysnavigator.via": "übor", + + "gui.createrailwaysnavigator.navigator.title": "Create Railways Navigator", + "gui.createrailwaysnavigator.navigator.no_connections": "Geene Forbindung'n gefund'n.", + "gui.createrailwaysnavigator.navigator.not_searched": "Bisher nüschd gesuchd.", + "gui.createrailwaysnavigator.navigator.searching": "Suche nooch Forbindungn...", + "gui.createrailwaysnavigator.navigator.error_title": "Weegweesn fehlg'schlochn!", + "gui.createrailwaysnavigator.navigator.start_end_null": "Schdorrd odor Ziel sin' leer.", + "gui.createrailwaysnavigator.navigator.start_end_equal": "Schdorrd und Ziel sin' idendsch.", + "gui.createrailwaysnavigator.navigator.route_entry.connection_in_past": "❌ In dorr Forgang'nheid", + "gui.createrailwaysnavigator.navigator.route_entry.transfer": "Umschd.", + "gui.createrailwaysnavigator.navigator.route_entry.station_start": "fonn %s", + "gui.createrailwaysnavigator.navigator.global_settings.tooltip": "Globoale Eenschdellungn", + "gui.createrailwaysnavigator.navigator.search_settings.tooltip": "Sucheenschdellungn", + "gui.createrailwaysnavigator.navigator.search.tooltip": "Suchn", + "gui.createrailwaysnavigator.navigator.location.tooltip": "Nächschdgelech'ne Schdadschion fonn aggduellor Bosidschsion", + "gui.createrailwaysnavigator.navigator.switch.tooltip": "Eingabn dauschn", + + "gui.createrailwaysnavigator.route_details.title": "Schdreggendeddails", + "gui.createrailwaysnavigator.route_details.departure": "Abfohrd in", + "gui.createrailwaysnavigator.route_details.next_transfer_time": "Umschdiech in", + "gui.createrailwaysnavigator.route_details.transfer": "Umschdiech", + "gui.createrailwaysnavigator.route_details.save_route": "Schdregge sbeichorn", + + "gui.createrailwaysnavigator.route_overview.title": "Schdreggendeddails", + "gui.createrailwaysnavigator.route_overview.journey_begins": "Ihre Reise beginnd! %s nooch %s, Abfohrd %s", + "gui.createrailwaysnavigator.route_overview.journey_begins_with_platform": "Ihre Reise beginnd! %s nooch %s, Abfohrd %s fonn Gleis %s", + "gui.createrailwaysnavigator.route_overview.train_details": "%s nooch %s", + "gui.createrailwaysnavigator.route_overview.next_stop": "Nächsder Hald: %s", + "gui.createrailwaysnavigator.route_overview.transfer": "Umschdiech in %s → %s", + "gui.createrailwaysnavigator.route_overview.transfer_with_platform": "Umschdiech in %s → %s uf Gleis %s", + "gui.createrailwaysnavigator.route_overview.journey_completed": "Reise abg'schlossn", + "gui.createrailwaysnavigator.route_overview.after_journey": "Sie hamm %s orreichd. Wir bedanggen uns für Ihre Reise und wünschen nen schönen Dahch.", + "gui.createrailwaysnavigator.route_overview.next_connections": "Nächsde Anschlüsse", + "gui.createrailwaysnavigator.route_overview.schedule_transfer": "Umschdiech", + "gui.createrailwaysnavigator.route_overview.train_canceled": "Zuhch fälld aus", + "gui.createrailwaysnavigator.route_overview.train_cancellation_info": "Informadschion ze %s", + "gui.createrailwaysnavigator.route_overview.stop_canceled": "❌ Fälld aus", + "gui.createrailwaysnavigator.route_overview.connection_endangered": "Anschluss gefährd'", + "gui.createrailwaysnavigator.route_overview.connection_missed": "Anschluss forbassd", + "gui.createrailwaysnavigator.route_overview.connection_canceled": "Zuhch fälld aus", + "gui.createrailwaysnavigator.route_overview.journey_interrupted": "Ihre Reise nooch %s gann ne fordgesedsd wer'n.", + "gui.createrailwaysnavigator.route_overview.connection_missed_info": "Ufgrund änner Zuchforschbädung hamm Se Ihren Anschluss forbassd. Suchen Se nooch änner Aldornaddife im Wegweesr. Wir endschuldschn uns für dä Unannehmlichgeidn.", + "gui.createrailwaysnavigator.route_overview.train_canceled_info": "Informadschion ze %s: Diesorr Zuhch fälld heude aus! Wir endschuldschen uns für dä Unannehmlichgeidn. Suchen Se nooch änner Aldornaddife im Wegweesr.", + "gui.createrailwaysnavigator.route_overview.train_canceled_title": "Zuhch fälld heude aus", + "gui.createrailwaysnavigator.route_overview.journey_interrupted_info": "Ihre Reise nooch %s gann ne fordgesedzd wer'n. Suchen Se nooch änner Aldornaddife im Wegweesr..", + "gui.createrailwaysnavigator.route_overview.options": "Drügge %s für Obdschonen.", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins.title": "Ihre Reise nooch %s beginnd!", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins": "%s nooch %s, Abfohrd %s", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins_with_platform": "%s nooch %s, Abfohrd %s fonn Gleis %s", + "gui.createrailwaysnavigator.route_overview.notification.platform_changed.title": "Ihr Gleis hadd'sch geändord!", + "gui.createrailwaysnavigator.route_overview.notification.platform_changed": "Ihr Zuhch in %s fährd heude fonn Gleis %s ab.", + "gui.createrailwaysnavigator.route_overview.notification.train_delayed.title": "%s: Anngunfd %s ferschbäded.", + "gui.createrailwaysnavigator.route_overview.notification.train_delayed": "%s schdadd %s in %s", + "gui.createrailwaysnavigator.route_overview.notification.train_canceled.title": "%s: Zuhch fälld aus", + "gui.createrailwaysnavigator.route_overview.notification.train_canceled": "%s nooch %s fälld heude aus.", + "gui.createrailwaysnavigator.route_overview.notification.transfer.title": "Ihr Umschdiech schdehd befor", + "gui.createrailwaysnavigator.route_overview.notification.transfer": "Schdeichen se in %s → %s uf Gleis %s um", + "gui.createrailwaysnavigator.route_overview.notification.transfer_with_platform": "Schdeichen e in %s → %s um", + "gui.createrailwaysnavigator.route_overview.notification.connection_endangered.title": "Ihr Anschluss is gefährd'!", + "gui.createrailwaysnavigator.route_overview.notification.connection_endangered": "Se wer'n foraussischdlich Ihrn Anschluss %s nooch %s ne erreichen.", + "gui.createrailwaysnavigator.route_overview.notification.connection_missed.title": "Anschluss forbassd", + "gui.createrailwaysnavigator.route_overview.notification.connection_missed": "Se hamm Ihrn Anschlusszuhch %s nooch %s forbassd.", + "gui.createrailwaysnavigator.route_overview.notification.journey_completed.title": "Se hamm Ihr Ziel erreischd!", + "gui.createrailwaysnavigator.route_overview.notification.journey_completed": "Wir bedangn uns für Ihre Reise und wünschen nen schönen Dahch.", + "gui.createrailwaysnavigator.route_overview.date": "Dahch %s, %s", + + "gui.createrailwaysnavigator.global_settings.title": "Globoale Eenschdellungn", + "gui.createrailwaysnavigator.global_settings.option.tooltip": "Zum Beoarbeidn gliggn", + "gui.createrailwaysnavigator.global_settings.option_alias.title": "Boahnhof Dägs", + "gui.createrailwaysnavigator.global_settings.option_alias.description": "Orschdelle Dägs, um mehrere Schdadschionen (z.B. MaiSchdaischn 1, MaiSchdaischn 2, ...) als'n Boahnhof (z.B. MaiSchdaischn) ze behandeln.", + "gui.createrailwaysnavigator.global_settings.option_blacklist.title": "Boahnhof Blägglisd", + "gui.createrailwaysnavigator.global_settings.option_blacklist.description": "Schließe Schdadsionen aus, die ne in'dn Weegweesrergebnissn erscheinen solln. Diese Schdadsionen wer'n bei dorr Suche ignorierd.", + "gui.createrailwaysnavigator.global_settings.train_group.title": "Zuhchgaddegorien", + "gui.createrailwaysnavigator.global_settings.train_group.description": "Zuhchgaddegorien dienen dorr Organisadsion fonn Zühchn (z.B. Regionalforgehr, Fernforgehr, ...). Nudzer gönn'n nooch diesen Gadegorien fildorn.", + "gui.createrailwaysnavigator.global_settings.train_blacklist.title": "Zuhch Blägglisd", + "gui.createrailwaysnavigator.global_settings.train_blacklist.description": "Schließe Zühche aus, z.B. Güdorzühche, Sonderzühche, edc., damidd diese ne in'dn Forschlächn Ufdauchn.", + + "gui.createrailwaysnavigator.alias_settings.title": "Boahnhof Dägs Eenschdellungn", + "gui.createrailwaysnavigator.alias_settings.summary": "Endhäld %s Schdadsionen", + "gui.createrailwaysnavigator.alias_settings.editor": "Z'ledsd fonn %s am %s beoarbeided", + "gui.createrailwaysnavigator.alias_settings.add.tooltip": "Neuen Eindrahch erschdelln", + "gui.createrailwaysnavigator.alias_settings.delete_alias.tooltip": "Dahch löschn", + "gui.createrailwaysnavigator.alias_settings.delete_station.tooltip": "Schdadschion endfernn", + "gui.createrailwaysnavigator.alias_settings.add_station.tooltip": "Schdadschion hinzufüchn", + "gui.createrailwaysnavigator.alias_settings.hint.station_name": "Boahnhofsname", + "gui.createrailwaysnavigator.alias_settings.hint.platform": "Gleisbezeichnung", + "gui.createrailwaysnavigator.alias_settings.enter_name": "Name eingeb'n", + + "gui.createrailwaysnavigator.train_group_settings.title": "Zuhchgaddegorien Eenschdellungn", + "gui.createrailwaysnavigator.train_group_settings.summary": "Endhäld %s Zühche", + "gui.createrailwaysnavigator.train_group_settings.editor": "Z'ledsd fonn %s am %s beoarbeided", + "gui.createrailwaysnavigator.train_group_settings.delete_alias.tooltip": "Gaddegorie löschn", + "gui.createrailwaysnavigator.train_group_settings.delete_station.tooltip": "Zuhch endfernn", + "gui.createrailwaysnavigator.train_group_settings.add_station.tooltip": "Zuhch hinzufüchn", + + "gui.createrailwaysnavigator.blacklist.title": "Boahnhof Blägglisd", + "gui.createrailwaysnavigator.blacklist.add.tooltip": "Zur Blägglisd hinzufüchn", + "gui.createrailwaysnavigator.blacklist.delete.tooltip": "Fonn Blägglisd endfernn", + + "gui.createrailwaysnavigator.train_blacklist.title": "Zuhch Blägglisd", + "gui.createrailwaysnavigator.train_blacklist.add.tooltip": "Zur Blägglisd hinzufüchn", + "gui.createrailwaysnavigator.train_blacklist.delete.tooltip": "Fonn Blägglisd endfernn", + + "gui.createrailwaysnavigator.search_settings.title": "Sucheenschdellungn", + "gui.createrailwaysnavigator.search_settings.transfer_time": "Minimale Umschdiechszeid", + "gui.createrailwaysnavigator.search_settings.transfer_time.description": "Die minimale Zeid für nen Umschdiech. (1h ~ 50 Real Life Seggundn)", + "gui.createrailwaysnavigator.search_settings.train_groups": "Zuhchgaddegorie Fildor", + "gui.createrailwaysnavigator.search_settings.train_groups.description": "Endscheide, welche Zühche aus welchn Gaddegorien du nudzen willsd.", + "gui.createrailwaysnavigator.search_settings.train_groups.overview": "%s Gaddegorie(n) ausgewähld", + "gui.createrailwaysnavigator.search_settings.train_groups.overview.all": "Alle", + "gui.createrailwaysnavigator.search_settings.train_groups.overview.none": "Geene", + "gui.createrailwaysnavigator.search_settings.train_groups.tooltip.reset": "Fildor zoriggesedsn", + + "gui.createrailwaysnavigator.new_text_entry.add.tooltip": "Hinzufieschn", + + "gui.createrailwaysnavigator.time": "Zeid: %s", + "gui.createrailwaysnavigator.time.now": "nu", + "gui.createrailwaysnavigator.time_format.dhm": "%s Dahche %s Schd. %s min.", + "gui.createrailwaysnavigator.time_format.hm": "%s Schd. %s min.", + "gui.createrailwaysnavigator.time_format.m": "%s min.", + + "gui.createrailwaysnavigator.platform": "Gleis", + "gui.createrailwaysnavigator.departure": "Abfohrd", + "gui.createrailwaysnavigator.destination": "Ziel", + "gui.createrailwaysnavigator.line": "Linie", + "gui.createrailwaysnavigator.following_trains": "Folgezühche:", + + "gui.createrailwaysnavigator.advanced_display_settings.title": "Forbessorrde Anzeiche Eenschdellungn", + "gui.createrailwaysnavigator.advanced_display_settings.display_type": "Anzeichedühb", + "gui.createrailwaysnavigator.advanced_display_settings.display_type.description": "Die Informadschionen, die angezeichd wer'n solln.", + "gui.createrailwaysnavigator.advanced_display_settings.info_type": "Informadschionsard", + "gui.createrailwaysnavigator.advanced_display_settings.info_type.description": "Gibd an, wie dedallierd dä Informadschionen sind.", + "gui.createrailwaysnavigator.advanced_display_settings.double_sided": "Beidseidsch", + + "enum.createrailwaysnavigator.display_info_type": "Informadschionsard", + "enum.createrailwaysnavigator.display_info_type.description": "Gibd an, wie fiele Informadschionen dargeschdelld wer'n solln.", + "enum.createrailwaysnavigator.display_info_type.simple": "Eefach", + "enum.createrailwaysnavigator.display_info_type.info.simple": "Es wer'n nur dä wichdigsdn Informadschionen ohne zusädzsliche Deddails dargeschdelld.", + "enum.createrailwaysnavigator.display_info_type.detailed": "Dedallierd", + "enum.createrailwaysnavigator.display_info_type.info.detailed": "Die wichdigsdn Informadschionen midd einichen Deddails, wie z.B Zwischenhalde.", + "enum.createrailwaysnavigator.display_info_type.informative": "Informaddief", + "enum.createrailwaysnavigator.display_info_type.info.informative": "Zeichd alle Informadschionen, die relewand sein gönn'n, und schdelld sie möchlichsd anschaulich dar. Ne für gleene Anzeichn embfohlen.", + + "enum.createrailwaysnavigator.display_type": "Anzeichedühb", + "enum.createrailwaysnavigator.display_type.description": "Die Ard dorr Anzeiche, was fonn ihr'm Zwegg abhängd.", + "enum.createrailwaysnavigator.display_type.train_destination": "Zuhchzielanzeiche", + "enum.createrailwaysnavigator.display_type.info.train_destination": "Für dä Ferwendung außen an Zühchn forg'sehen, da Informadschionen wie Zuhchname odorr Endhald dargeschdelld wer'n, die für Fahrgäsde außerhalb des Fahrzeuchs indoressand sind.", + "enum.createrailwaysnavigator.display_type.passenger_information": "Fahrgassdinformadschionsanzeiche", + "enum.createrailwaysnavigator.display_type.info.passenger_information": "Rebräsendiern dä Anzeichn, die in Zühchn forgomm'n. Dargeschdelld wer'n dorr nächsde Hald, die Ausschdiechsseide und (je nooch Eenschdellung) noch weidere Informadschionen.", + "enum.createrailwaysnavigator.display_type.platform": "Bahnschdeichsanzeiche", + "enum.createrailwaysnavigator.display_type.info.platform": "Diese Anzeichn wer'n an Bahnschdeichn ferwend' und zeichen dä nächsden abfahrnden Zühche midd zusädslichn Informadschionen an. Fungdschionierd ne uf Zühchn!", + + "enum.createrailwaysnavigator.side": "Seidde", + "enum.createrailwaysnavigator.side.description": "Die Seidde des Bloggs, uf dem de Informadschionen angezeichd wer'n solln.", + "enum.createrailwaysnavigator.side.front": "Forderseidde", + "enum.createrailwaysnavigator.side.info.front": "Die Informadschionen wer'n nur uf dorr Forderseidde dargeschdelld.", + "enum.createrailwaysnavigator.side.both": "Beidseidsch", + "enum.createrailwaysnavigator.side.info.both": "Die Informadschionen wer'n uf beidn Seiddn dargeschdelld.", + + "enum.createrailwaysnavigator.time_display": "Zeidanzeiche", + "enum.createrailwaysnavigator.time_display.description": "Gibd an, in welchm Formad dä Zeid angegebn wird.", + "enum.createrailwaysnavigator.time_display.abs": "ABS", + "enum.createrailwaysnavigator.time_display.info.abs": "ABS (Absolud)", + "enum.createrailwaysnavigator.time_display.eta": "ETA", + "enum.createrailwaysnavigator.time_display.info.eta": "ETA (Geschädsde Angunfdszeid)", + + "create.display_source.advanced_display": "Forbessorrde Anzeiche", + "gui.createrailwaysnavigator.display_source.advanced_display.train_name_width": "Zuhchname Schbaldnbreide", + "gui.createrailwaysnavigator.display_source.advanced_display.train_name_width.description": "Dä Breide dorr Schbalde für'n Zuhchname in Biggsl. (Schdandard: 16)", + "gui.createrailwaysnavigator.display_source.advanced_display.platform_width": "Gleis Schbaldnbreide", + "gui.createrailwaysnavigator.display_source.advanced_display.platform_width.description": "Die Breide dorr Schbalde für's Gleis in Biggsl. (-1 = Audom., Schdandard: -1)", + + "createrailwaysnavigator.moin": "Dahch fonn Schdeffn" +} diff --git a/common/src/main/resources/assets/createrailwaysnavigator/lang/zh_cn.json b/common/src/main/resources/assets/createrailwaysnavigator/lang/zh_cn.json new file mode 100644 index 00000000..fa94bbae --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/lang/zh_cn.json @@ -0,0 +1,250 @@ +{ + "advancement.createrailwaysnavigator.navigator": "感谢您的乘坐", + "advancement.createrailwaysnavigator.navigator.description": "制造一个导航仪以搜寻路线.", + "advancement.createrailwaysnavigator.advanced_display": "还不够清晰", + "advancement.createrailwaysnavigator.advanced_display.description": "升级你的信息牌以展示更多信息,你甚至可以把它放在火车上!", + + "itemGroup.createrailwaysnavigator.tab": "机械动力:铁路导航", + + "item.createrailwaysnavigator.navigator": "机械动力:铁路导航", + "item.createrailwaysnavigator.navigator.tooltip.summary": "_导航仪_ 显示 可能的 _火车线路_ 提供更多功能如 _经停站_, _实时信息_ 以及更多。", + + "block.createrailwaysnavigator.train_station_clock": "车站时钟", + "block.createrailwaysnavigator.advanced_display_block": "高级展示方块", + "block.createrailwaysnavigator.advanced_display_block.tooltip.summary": "使用在 _火车上_, 可以展示 _列车终点站_ 或 _乘客信息_, 也可以放置在 _火车站_ 当作 _信息展示平台_, 拥有比普通展示牌更强大的功能。 ", + "block.createrailwaysnavigator.advanced_display_block.tooltip.condition1": "使用扳手右键时", + "block.createrailwaysnavigator.advanced_display_block.tooltip.behaviour1": "打开配置菜单", + "block.createrailwaysnavigator.advanced_display": "高级展示牌", + "block.createrailwaysnavigator.advanced_display.tooltip.summary": "使用在 _火车上_, 可以展示 _列车终点站_ 或 _乘客信息_, 也可以放置在 _火车站_ 当作 _信息展示平台_, 拥有比普通展示牌更强大的功能。", + "block.createrailwaysnavigator.advanced_display.tooltip.condition1": "使用扳手右键时", + "block.createrailwaysnavigator.advanced_display.tooltip.behaviour1": "打开配置菜单", + "block.createrailwaysnavigator.advanced_display_small": "小型高级展示牌", + "block.createrailwaysnavigator.advanced_display_small.tooltip.summary": "使用在 _火车上_, 可以展示 _列车终点站_ 或 _乘客信息_, 也可以放置在 _火车站_ 当作 _信息展示平台_, 拥有比普通展示牌更强大的功能。", + "block.createrailwaysnavigator.advanced_display_small.tooltip.condition1": "使用扳手右键时", + "block.createrailwaysnavigator.advanced_display_small.tooltip.behaviour1": "打开配置菜单", + "block.createrailwaysnavigator.advanced_display_panel": "高级显示面板", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.summary": "使用在 _火车上_, 可以展示 _列车终点站_ 或 _乘客信息_, 也可以放置在 _火车站_ 当作 _信息展示平台_, 拥有比普通展示牌更强大的功能。", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.condition1": "使用扳手右键时", + "block.createrailwaysnavigator.advanced_display_panel.tooltip.behaviour1": "打开配置菜单", + "block.createrailwaysnavigator.advanced_display_half_panel": "先进的半显示面板", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.summary": "使用在 _火车上_, 可以展示 _列车终点站_ 或 _乘客信息_, 也可以放置在 _火车站_ 当作 _信息展示平台_, 拥有比普通展示牌更强大的功能。", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.condition1": "使用扳手右键时", + "block.createrailwaysnavigator.advanced_display_half_panel.tooltip.behaviour1": "打开配置菜单", + "block.createrailwaysnavigator.advanced_display_sloped": "倾斜式高级显示器", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.summary": "使用在 _火车上_, 可以展示 _列车终点站_ 或 _乘客信息_, 也可以放置在 _火车站_ 当作 _信息展示平台_, 拥有比普通展示牌更强大的功能。", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.condition1": "使用扳手右键时", + "block.createrailwaysnavigator.advanced_display_sloped.tooltip.behaviour1": "打开配置菜单.", + + "block.createrailwaysnavigator.advanced_display.ber.not_in_service": "线路不可用", + "block.createrailwaysnavigator.advanced_display.ber.shunting_trip": "调车行程", + + "category.createrailwaysnavigator.crn": "机械动力:铁路导航", + "key.createrailwaysnavigator.route_overlay_options": "显示路线覆盖选项", + + "enum.createrailwaysnavigator.overlay_position": "展示位置", + "enum.createrailwaysnavigator.overlay_position.info.top_left": "左上角", + "enum.createrailwaysnavigator.overlay_position.info.top_right": "右上角", + "enum.createrailwaysnavigator.overlay_position.info.bottom_left": "左下角", + "enum.createrailwaysnavigator.overlay_position.info.bottom_right": "右下角", + + "gui.createrailwaysnavigator.loading.title": "正在从服务器下载数据...", + + "gui.createrailwaysnavigator.overlay_settings.title": "路线覆盖设置", + "gui.createrailwaysnavigator.route_overlay_settings.show_details": "展示详细信息", + "gui.createrailwaysnavigator.route_overlay_settings.unpin": "移除路线覆盖", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.on": "讲述人通知开启.", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.off": "讲述人通知关闭.", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.on": "开启通知", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.off": "关闭通知", + "gui.createrailwaysnavigator.route_overlay_settings.scale": "GUI 大小", + "gui.createrailwaysnavigator.route_overlay_settings.narrator": "讲述人通知", + "gui.createrailwaysnavigator.route_overlay_settings.narrator.description": "讲述人会播报旅程中的信息,例如下一个车站,换乘", + "gui.createrailwaysnavigator.route_overlay_settings.notifications": "通知", + "gui.createrailwaysnavigator.route_overlay_settings.notifications.description": "通知旅程中的信息,例如下一个车站,换乘", + + "gui.createrailwaysnavigator.common.expand": "显示细节", + "gui.createrailwaysnavigator.common.collapse": "隐藏细节", + "gui.createrailwaysnavigator.common.go_back": "返回", + "gui.createrailwaysnavigator.common.go_to_top": "滚动至顶部", + "gui.createrailwaysnavigator.common.reset_defaults": "恢复初始设定", + "gui.createrailwaysnavigator.common.count": "数量", + "gui.createrailwaysnavigator.common.true": "是", + "gui.createrailwaysnavigator.common.false": "否", + "gui.createrailwaysnavigator.common.search": "搜索", + "gui.createrailwaysnavigator.common.auto": "自动", + "gui.createrailwaysnavigator.common.server_error": "执行任务时出现问题,请查看控制台以获取更多信息。", + + "gui.createrailwaysnavigator.navigator.title": "机械动力:铁路导航", + "gui.createrailwaysnavigator.navigator.no_connections": "没有可用线路", + "gui.createrailwaysnavigator.navigator.not_searched": "没有搜索结果", + "gui.createrailwaysnavigator.navigator.searching": "正在搜索...", + "gui.createrailwaysnavigator.navigator.error_title": "无法导航!", + "gui.createrailwaysnavigator.navigator.start_end_null": "起点或终点为空.", + "gui.createrailwaysnavigator.navigator.start_end_equal": "起点或终点不能相同.", + "gui.createrailwaysnavigator.navigator.route_entry.connection_in_past": "❌ 线路已过期", + "gui.createrailwaysnavigator.navigator.route_entry.transfer": "换乘.", + "gui.createrailwaysnavigator.navigator.route_entry.station_start": "从 %s", + "gui.createrailwaysnavigator.navigator.global_settings.tooltip": "通用设置", + "gui.createrailwaysnavigator.navigator.search_settings.tooltip": "搜索设置", + "gui.createrailwaysnavigator.navigator.search.tooltip": "搜索", + "gui.createrailwaysnavigator.navigator.location.tooltip": "自动查找最近车站", + "gui.createrailwaysnavigator.navigator.switch.tooltip": "交换地点", + + "gui.createrailwaysnavigator.route_details.title": "路线详情", + "gui.createrailwaysnavigator.route_details.departure": "出发自", + "gui.createrailwaysnavigator.route_details.next_transfer_time": "换乘于", + "gui.createrailwaysnavigator.route_details.transfer": "换乘", + "gui.createrailwaysnavigator.route_details.save_route": "保存线路", + + "gui.createrailwaysnavigator.route_overview.title": "路线详情", + "gui.createrailwaysnavigator.route_overview.journey_begins": "列车出发! %s 至 %s, 起始于 %s", + "gui.createrailwaysnavigator.route_overview.journey_begins_with_platform": "列车出发! %s 至 %s, 起始于 %s 站台 %s", + "gui.createrailwaysnavigator.route_overview.train_details": "%s 至 %s", + "gui.createrailwaysnavigator.route_overview.next_stop": "下一站: %s", + "gui.createrailwaysnavigator.route_overview.transfer": "换乘 %s → %s", + "gui.createrailwaysnavigator.route_overview.transfer_with_platform": "换乘 %s → %s 在站台 %s", + "gui.createrailwaysnavigator.route_overview.journey_completed": "旅程结束", + "gui.createrailwaysnavigator.route_overview.after_journey": "您已到达 %s. 感谢您的乘坐,祝您有美好的一天.", + "gui.createrailwaysnavigator.route_overview.next_connections": "下一站", + "gui.createrailwaysnavigator.route_overview.schedule_transfer": "换乘", + "gui.createrailwaysnavigator.route_overview.train_canceled": "列车已取消", + "gui.createrailwaysnavigator.route_overview.train_cancellation_info": "取消信息 %s", + "gui.createrailwaysnavigator.route_overview.stop_canceled": "❌ 取消", + "gui.createrailwaysnavigator.route_overview.connection_endangered": "不安全的线路", + "gui.createrailwaysnavigator.route_overview.connection_missed": "线路消失", + "gui.createrailwaysnavigator.route_overview.connection_canceled": "列车取消", + "gui.createrailwaysnavigator.route_overview.journey_interrupted": "您前往 %s 的旅程已中断。", + "gui.createrailwaysnavigator.route_overview.connection_missed_info": "由于列车延迟导致您无法换乘,请打开导航仪搜索更多线路。对于带来的不便我们深感歉意。", + "gui.createrailwaysnavigator.route_overview.train_canceled_info": "车次: %s: 车次已取消,请打开导航仪搜索更多线路。对于带来的不便我们深感歉意。", + "gui.createrailwaysnavigator.route_overview.train_canceled_title": "车次已取消", + "gui.createrailwaysnavigator.route_overview.journey_interrupted_info": "前往 %s 的旅程已中断。 请打开导航仪搜索更多线路", + "gui.createrailwaysnavigator.route_overview.options": "按 %s 展示选项.", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins.title": "正在前往 %s!", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins": "%s 至 %s, 起始于 %s", + "gui.createrailwaysnavigator.route_overview.notification.journey_begins_with_platform": "%s 至 %s, 起始于 %s 站台 %s", + "gui.createrailwaysnavigator.route_overview.notification.platform_changed.title": "您已切换站台!", + "gui.createrailwaysnavigator.route_overview.notification.platform_changed": "列车 %s 今日从站台 %s 离开.", + "gui.createrailwaysnavigator.route_overview.notification.train_delayed.title": "%s: 延迟抵达 %s", + "gui.createrailwaysnavigator.route_overview.notification.train_delayed": "推迟至 %s 原定 %s 抵达 %s", + "gui.createrailwaysnavigator.route_overview.notification.train_canceled.title": "%s: 车次取消", + "gui.createrailwaysnavigator.route_overview.notification.train_canceled": "今日原定从 %s 至 %s 的车次已经取消", + "gui.createrailwaysnavigator.route_overview.notification.transfer.title": "换乘列车即将到来", + "gui.createrailwaysnavigator.route_overview.notification.transfer": "换乘 %s → %s 于站台 %s", + "gui.createrailwaysnavigator.route_overview.notification.transfer_with_platform": "换乘 %s → %s 于站台 %s", + "gui.createrailwaysnavigator.route_overview.notification.connection_endangered.title": "不安全的线路!", + "gui.createrailwaysnavigator.route_overview.notification.connection_endangered": "您可能不会从 %s 抵达 %s.", + "gui.createrailwaysnavigator.route_overview.notification.connection_missed.title": "缺失线路", + "gui.createrailwaysnavigator.route_overview.notification.connection_missed": "从 %s 到 %s 线路已缺失", + "gui.createrailwaysnavigator.route_overview.notification.journey_completed.title": "您已抵达目的地!", + "gui.createrailwaysnavigator.route_overview.notification.journey_completed": "感谢您的乘坐,祝您有美好的一天", + "gui.createrailwaysnavigator.route_overview.date": "日期: %s, %s", + + "gui.createrailwaysnavigator.global_settings.title": "全局设定", + "gui.createrailwaysnavigator.global_settings.option.tooltip": "点击编辑", + "gui.createrailwaysnavigator.global_settings.option_alias.title": "列车站标签", + "gui.createrailwaysnavigator.global_settings.option_alias.description": "对于多站台的车站,您可以建立标签 (例如 MyStation 1, MyStation 2, ...) 以把它们归于一个车站下 (例如 MyStation)。", + "gui.createrailwaysnavigator.global_settings.option_blacklist.title": "车站黑名单", + "gui.createrailwaysnavigator.global_settings.option_blacklist.description": "黑名单中的车站将不会再搜索选项中出现.", + "gui.createrailwaysnavigator.global_settings.train_group.title": "列车组", + "gui.createrailwaysnavigator.global_settings.train_group.description": "将列车加入列车组以方便管理,用户可以选择列车组.", + "gui.createrailwaysnavigator.global_settings.train_blacklist.title": "火车黑名单", + "gui.createrailwaysnavigator.global_settings.train_blacklist.description": "黑名单中的火车将不会显示", + + "gui.createrailwaysnavigator.alias_settings.title": "列车站标签设定", + "gui.createrailwaysnavigator.alias_settings.summary": "包含 %s 个车站", + "gui.createrailwaysnavigator.alias_settings.editor": "最后由 %s 在 %s 编辑", + "gui.createrailwaysnavigator.alias_settings.add.tooltip": "加入新的入口", + "gui.createrailwaysnavigator.alias_settings.delete_alias.tooltip": "删除标签", + "gui.createrailwaysnavigator.alias_settings.delete_station.tooltip": "移除车站", + "gui.createrailwaysnavigator.alias_settings.add_station.tooltip": "添加车站", + "gui.createrailwaysnavigator.alias_settings.hint.station_name": "车站名称", + "gui.createrailwaysnavigator.alias_settings.hint.platform": "站台", + "gui.createrailwaysnavigator.alias_settings.enter_name": "在此输入名字", + + "gui.createrailwaysnavigator.train_group_settings.title": "列车组设置", + "gui.createrailwaysnavigator.train_group_settings.summary": "包含 %s 辆列车", + "gui.createrailwaysnavigator.train_group_settings.editor": "最后由 %s 在 %s 编辑", + "gui.createrailwaysnavigator.train_group_settings.delete_alias.tooltip": "删除列车组", + "gui.createrailwaysnavigator.train_group_settings.delete_station.tooltip": "移除列车", + "gui.createrailwaysnavigator.train_group_settings.add_station.tooltip": "添加列车", + + "gui.createrailwaysnavigator.blacklist.title": "列车站黑名单", + "gui.createrailwaysnavigator.blacklist.add.tooltip": "加入黑名单", + "gui.createrailwaysnavigator.blacklist.delete.tooltip": "移除黑名单", + + "gui.createrailwaysnavigator.train_blacklist.title": "列车黑名单", + "gui.createrailwaysnavigator.train_blacklist.add.tooltip": "加入黑名单", + "gui.createrailwaysnavigator.train_blacklist.delete.tooltip": "移除黑名单", + + "gui.createrailwaysnavigator.search_settings.title": "搜索设定", + "gui.createrailwaysnavigator.search_settings.transfer_time": "最短换乘时间", + "gui.createrailwaysnavigator.search_settings.transfer_time.description": "最短的需要换乘的时间. (一小时对应现实50秒)", + "gui.createrailwaysnavigator.search_settings.train_groups": "列车过滤器", + "gui.createrailwaysnavigator.search_settings.train_groups.description": "决定想使用的列车", + "gui.createrailwaysnavigator.search_settings.train_groups.overview": "%s 个筛选项已选择", + "gui.createrailwaysnavigator.search_settings.train_groups.overview.all": "全部", + "gui.createrailwaysnavigator.search_settings.train_groups.overview.none": "全部否", + "gui.createrailwaysnavigator.search_settings.train_groups.tooltip.reset": "重置筛选项", + + "gui.createrailwaysnavigator.new_text_entry.add.tooltip": "添加", + + "gui.createrailwaysnavigator.time": "时间: %s", + "gui.createrailwaysnavigator.time.now": "现在时间是:", + "gui.createrailwaysnavigator.time_format.dhm": "%s 日 %s 时. %s 分.", + "gui.createrailwaysnavigator.time_format.hm": "%s 时. %s 分.", + "gui.createrailwaysnavigator.time_format.m": "%s 分.", + + "gui.createrailwaysnavigator.platform": "站台", + "gui.createrailwaysnavigator.departure": "离开", + "gui.createrailwaysnavigator.destination": "终点站", + "gui.createrailwaysnavigator.line": "线路", + "gui.createrailwaysnavigator.following_trains": "下一趟列车:", + "gui.createrailwaysnavigator.via": "经停", + + "gui.createrailwaysnavigator.advanced_display_settings.title": "高级展示设置", + "gui.createrailwaysnavigator.advanced_display_settings.display_type": "展示类型", + "gui.createrailwaysnavigator.advanced_display_settings.display_type.description": "选择展示的信息", + "gui.createrailwaysnavigator.advanced_display_settings.info_type": "信息类型", + "gui.createrailwaysnavigator.advanced_display_settings.info_type.description": "展示信息的详细程度", + "gui.createrailwaysnavigator.advanced_display_settings.double_sided": "双面显示", + + "enum.createrailwaysnavigator.display_info_type": "展示类型", + "enum.createrailwaysnavigator.display_info_type.description": "展示信息的详细程度", + "enum.createrailwaysnavigator.display_info_type.simple": "简洁", + "enum.createrailwaysnavigator.display_info_type.info.simple": "只展示最重要的部分", + "enum.createrailwaysnavigator.display_info_type.detailed": "详细", + "enum.createrailwaysnavigator.display_info_type.info.detailed": "将展示更多细节,例如火车速度", + "enum.createrailwaysnavigator.display_info_type.informative": "全部展示", + "enum.createrailwaysnavigator.display_info_type.info.informative": "展示全部信息,不建议在小型展示牌上使用", + + "enum.createrailwaysnavigator.display_type": "展示类型", + "enum.createrailwaysnavigator.display_type.description": "选择展示的信息", + "enum.createrailwaysnavigator.display_type.train_destination": "列车终点站", + "enum.createrailwaysnavigator.display_type.info.train_destination": "在列车外显示列车的详细信息,如终点站,经停站等", + "enum.createrailwaysnavigator.display_type.passenger_information": "乘客信息", + "enum.createrailwaysnavigator.display_type.info.passenger_information": "在列车内部使用,展示路程信息", + "enum.createrailwaysnavigator.display_type.platform": "站台信息", + "enum.createrailwaysnavigator.display_type.info.platform": "在车站使用,可显示下一趟列车。无法在列车内部使用", + + "enum.createrailwaysnavigator.side": "显示方向", + "enum.createrailwaysnavigator.side.description": "显示信息的面", + "enum.createrailwaysnavigator.side.front": "正面", + "enum.createrailwaysnavigator.side.info.front": "(默认)只会在正面显示信息", + "enum.createrailwaysnavigator.side.both": "正反两面", + "enum.createrailwaysnavigator.side.info.both": "信息在两面都会显示", + + "enum.createrailwaysnavigator.time_display": "时间显示", + "enum.createrailwaysnavigator.time_display.description": "改变时间展示的方式", + "enum.createrailwaysnavigator.time_display.abs": "ABS", + "enum.createrailwaysnavigator.time_display.info.abs": "ABS (绝对时间)", + "enum.createrailwaysnavigator.time_display.eta": "ETA", + "enum.createrailwaysnavigator.time_display.info.eta": "ETA (预计到达时间)", + + "create.display_source.advanced_display": "高级显示", + "gui.createrailwaysnavigator.display_source.advanced_display.train_name_width": "列车名宽度", + "gui.createrailwaysnavigator.display_source.advanced_display.train_name_width.description": "以像素为单位 (默认: 16)", + "gui.createrailwaysnavigator.display_source.advanced_display.platform_width": "站台名宽度", + "gui.createrailwaysnavigator.display_source.advanced_display.platform_width.description": "以像素为单位 (默认: Auto)", + + "createrailwaysnavigator.moin": "moin" +} diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_cen.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_cen.json new file mode 100644 index 00000000..6297c662 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_cen.json @@ -0,0 +1,60 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 4, 6.5], + "to": [16, 12, 9.5], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_neg.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_neg.json new file mode 100644 index 00000000..fcaa1bda --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_neg.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 4, 0], + "to": [16, 12, 3], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_pos.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_pos.json new file mode 100644 index 00000000..0236a56c --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_cen_pos.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 4, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_cen.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_cen.json new file mode 100644 index 00000000..29a07ba8 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_cen.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 4, 6.5], + "to": [16, 12, 9.5], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_neg.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_neg.json new file mode 100644 index 00000000..b3b784d7 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_neg.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 4, 0], + "to": [16, 12, 3], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_pos.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_pos.json new file mode 100644 index 00000000..047f02c3 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_cen_pos.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 4, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_cen.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_cen.json new file mode 100644 index 00000000..067a2ca3 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_cen.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 0, 6.5], + "to": [16, 8, 9.5], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_neg.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_neg.json new file mode 100644 index 00000000..7f1fba1a --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_neg.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 3], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_pos.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_pos.json new file mode 100644 index 00000000..0fd706c7 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_neg_pos.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 0, 13], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_cen.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_cen.json new file mode 100644 index 00000000..55b4de20 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_cen.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 8, 6.5], + "to": [16, 16, 9.5], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_neg.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_neg.json new file mode 100644 index 00000000..705a87a2 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_neg.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 8, 0], + "to": [16, 16, 3], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_pos.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_pos.json new file mode 100644 index 00000000..665b098c --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_double_pos_pos.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 8, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 8], "texture": "#3", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_cen.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_cen.json new file mode 100644 index 00000000..cd5d0169 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_cen.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 0, 6.5], + "to": [16, 8, 9.5], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_neg.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_neg.json new file mode 100644 index 00000000..949021b4 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_neg.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 3], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_pos.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_pos.json new file mode 100644 index 00000000..bdfe2032 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_neg_pos.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 0, 13], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_cen.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_cen.json new file mode 100644 index 00000000..903787e0 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_cen.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 8, 6.5], + "to": [16, 16, 9.5], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_neg.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_neg.json new file mode 100644 index 00000000..74561ab5 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_neg.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 8, 0], + "to": [16, 16, 3], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_pos.json b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_pos.json new file mode 100644 index 00000000..ffbb04ce --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/block/advanced_display_half_panel_pos_pos.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "2": "createrailwaysnavigator:block/advanced_display_back", + "3": "createrailwaysnavigator:block/advanced_display_small", + "particle": "createrailwaysnavigator:block/advanced_display" + }, + "elements": [ + { + "from": [0, 8, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 8], "texture": "#3"}, + "east": {"uv": [13, 8, 14.5, 12], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 8, 8, 12], "texture": "#2", "cullface": "south"}, + "west": {"uv": [14.5, 8, 13, 12], "texture": "#2", "cullface": "west"}, + "up": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [13, 0, 14.5, 8], "rotation": 90, "texture": "#2", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [-1.5, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, -1], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.75, 1, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 0, -8] + }, + "fixed": { + "translation": [0, 0, -0.75], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/models/item/advanced_display_half_panel.json b/common/src/main/resources/assets/createrailwaysnavigator/models/item/advanced_display_half_panel.json new file mode 100644 index 00000000..7ac35311 --- /dev/null +++ b/common/src/main/resources/assets/createrailwaysnavigator/models/item/advanced_display_half_panel.json @@ -0,0 +1,3 @@ +{ + "parent": "createrailwaysnavigator:block/advanced_display_half_panel_cen_cen" +} \ No newline at end of file diff --git a/common/src/main/resources/assets/createrailwaysnavigator/textures/block/advanced_display_back.png b/common/src/main/resources/assets/createrailwaysnavigator/textures/block/advanced_display_back.png index 07681a5d..7cce0736 100644 Binary files a/common/src/main/resources/assets/createrailwaysnavigator/textures/block/advanced_display_back.png and b/common/src/main/resources/assets/createrailwaysnavigator/textures/block/advanced_display_back.png differ diff --git a/common/src/main/resources/data/createrailwaysnavigator/loot_tables/blocks/advanced_display_half_panel.json b/common/src/main/resources/data/createrailwaysnavigator/loot_tables/blocks/advanced_display_half_panel.json new file mode 100644 index 00000000..5fdeed6b --- /dev/null +++ b/common/src/main/resources/data/createrailwaysnavigator/loot_tables/blocks/advanced_display_half_panel.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "createrailwaysnavigator:advanced_display_half_panel" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } \ No newline at end of file diff --git a/common/src/main/resources/data/createrailwaysnavigator/tags/blocks/advanced_displays.json b/common/src/main/resources/data/createrailwaysnavigator/tags/blocks/advanced_displays.json index 26bd9002..56791a79 100644 --- a/common/src/main/resources/data/createrailwaysnavigator/tags/blocks/advanced_displays.json +++ b/common/src/main/resources/data/createrailwaysnavigator/tags/blocks/advanced_displays.json @@ -4,6 +4,7 @@ "createrailwaysnavigator:advanced_display", "createrailwaysnavigator:advanced_display_block", "createrailwaysnavigator:advanced_display_panel", + "createrailwaysnavigator:advanced_display_half_panel", "createrailwaysnavigator:advanced_display_small", "createrailwaysnavigator:advanced_display_sloped" ] diff --git a/common/src/main/resources/data/createrailwaysnavigator/tags/items/advanced_displays.json b/common/src/main/resources/data/createrailwaysnavigator/tags/items/advanced_displays.json index b8e9c2d2..07778035 100644 --- a/common/src/main/resources/data/createrailwaysnavigator/tags/items/advanced_displays.json +++ b/common/src/main/resources/data/createrailwaysnavigator/tags/items/advanced_displays.json @@ -4,6 +4,7 @@ "createrailwaysnavigator:advanced_display", "createrailwaysnavigator:advanced_display_block", "createrailwaysnavigator:advanced_display_panel", + "createrailwaysnavigator:advanced_display_half_panel", "createrailwaysnavigator:advanced_display_sloped", "createrailwaysnavigator:advanced_display_small" ] diff --git a/common/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/common/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 99aff283..059f2a61 100644 --- a/common/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/common/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -4,6 +4,7 @@ "createrailwaysnavigator:advanced_display", "createrailwaysnavigator:advanced_display_block", "createrailwaysnavigator:advanced_display_panel", + "createrailwaysnavigator:advanced_display_half_panel", "createrailwaysnavigator:advanced_display_small", "createrailwaysnavigator:advanced_display_sloped", "createrailwaysnavigator:train_station_clock" diff --git a/fabric/src/main/resources/data/createrailwaysnavigator/recipes/advanced_display_half_panel.json b/fabric/src/main/resources/data/createrailwaysnavigator/recipes/advanced_display_half_panel.json new file mode 100644 index 00000000..d9e43d49 --- /dev/null +++ b/fabric/src/main/resources/data/createrailwaysnavigator/recipes/advanced_display_half_panel.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "BBB" + ], + "key": { + "B": { + "item": "createrailwaysnavigator:advanced_display_panel" + } + }, + "result": { + "item": "createrailwaysnavigator:advanced_display_half_panel", + "count": 6 + } + } \ No newline at end of file diff --git a/forge/src/main/resources/data/createrailwaysnavigator/recipes/advanced_display_half_panel.json b/forge/src/main/resources/data/createrailwaysnavigator/recipes/advanced_display_half_panel.json new file mode 100644 index 00000000..d9e43d49 --- /dev/null +++ b/forge/src/main/resources/data/createrailwaysnavigator/recipes/advanced_display_half_panel.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "BBB" + ], + "key": { + "B": { + "item": "createrailwaysnavigator:advanced_display_panel" + } + }, + "result": { + "item": "createrailwaysnavigator:advanced_display_half_panel", + "count": 6 + } + } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index b7b48c0b..881ac97d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ minecraft_version=1.18.2 enabled_platforms=fabric,forge archives_base_name=createrailwaysnavigator -mod_version=0.5.2-beta-1.18.2 +mod_version=0.5.3-beta-1.18.2 maven_group=de.mrjulsen.crn parchmentmc_version=2022.11.06 diff --git a/update.json b/update.json index 0a432303..8e6347d0 100644 --- a/update.json +++ b/update.json @@ -1,7 +1,7 @@ { "promos": { - "1.18.2-latest": "0.5.1-1.18.2", - "1.18.2-recommended": "0.5.1-1.18.2" + "1.18.2-latest": "0.5.3-1.18.2", + "1.18.2-recommended": "0.5.3-1.18.2" }, "homepage": "https://www.curseforge.com/minecraft/mc-mods/create-railways-navigator" } \ No newline at end of file