From 02d4df7c55d537a1afdaec61d9809fa448e4b564 Mon Sep 17 00:00:00 2001 From: dragonruler1000 Date: Thu, 22 May 2025 20:14:18 -0500 Subject: [PATCH 1/2] Refactor teleportation logic and add custom dimension config Simplified portal activation logic to improve readability and efficiency, removing redundant checks and consolidating teleport code paths. Added configuration file for the "world1" custom dimension, defining its properties and behavior and fixing the bug I was having. --- .../hdm_mod/block/custom/Window.java | 67 +++++++------------ .../data/hdm_mod/dimension_type/world1.json | 15 +++++ 2 files changed, 38 insertions(+), 44 deletions(-) create mode 100644 src/main/resources/data/hdm_mod/dimension_type/world1.json diff --git a/src/main/java/us/minecraftchest2/hdm_mod/block/custom/Window.java b/src/main/java/us/minecraftchest2/hdm_mod/block/custom/Window.java index 3274282..13b77b3 100644 --- a/src/main/java/us/minecraftchest2/hdm_mod/block/custom/Window.java +++ b/src/main/java/us/minecraftchest2/hdm_mod/block/custom/Window.java @@ -104,56 +104,35 @@ public class Window extends HorizontalBlock { Hand handIn, BlockRayTraceResult hit ) { - // Only process on the server side, avoid duplicating logic on client - if (worldIn.isRemote()) return super.onBlockActivated(state, worldIn, pos, player, handIn, hit); - // Do nothing if the player is crouching (commonly used for alternative interactions) - if (player.isCrouching()) return super.onBlockActivated(state, worldIn, pos, player, handIn, hit); + if (!worldIn.isRemote() && !player.isCrouching()) { + MinecraftServer server = worldIn.getServer(); + if (server == null) return ActionResultType.PASS; - // Get the server instance safely - if (worldIn.getServer() == null) return super.onBlockActivated(state, worldIn, pos, player, handIn, hit); - MinecraftServer server = worldIn.getServer(); + boolean goingToCustom = worldIn.getDimensionKey() != ModDimensions.World1; - // Check if in custom dimension; if so, teleport to Overworld - if (worldIn.getDimensionKey() == ModDimensions.World1) { - ServerWorld overWorld = server.getWorld(World.OVERWORLD); - if (overWorld != null) { - player.changeDimension(overWorld, new SimpleTeleporter(pos, false)); - } - } + ServerWorld targetWorld = (worldIn.getDimensionKey() == ModDimensions.World1) + ? server.getWorld(World.OVERWORLD) + : server.getWorld(ModDimensions.World1); - // Set up for teleportation based on current dimension - ServerWorld targetWorld; - boolean goingToCustom = worldIn.getDimensionKey() != ModDimensions.World1; + if (worldIn.getDimensionKey() == ModDimensions.World1) { + ServerWorld overWorld = server.getWorld(World.OVERWORLD); + if (overWorld != null) { + player.changeDimension(overWorld, new SimpleTeleporter(pos, false)); + } + } - if (goingToCustom) { - // Teleporting from Overworld to custom dimension - targetWorld = server.getWorld(ModDimensions.World1); - } else { - // From custom dimension, teleport to Overworld - ServerWorld world1 = server.getWorld(ModDimensions.World1); - if (world1 != null) { - player.changeDimension(world1, new SimpleTeleporter(pos, true)); - } - targetWorld = server.getWorld(World.OVERWORLD); - } + if (targetWorld != null) { + SimpleTeleporter teleporter = new SimpleTeleporter(pos, goingToCustom); + player.changeDimension(targetWorld, teleporter); + } - // Attempt teleport if a valid world was found - if (targetWorld != null) { - SimpleTeleporter teleporter = new SimpleTeleporter(pos, goingToCustom); - player.changeDimension(targetWorld, teleporter); + System.out.println("[DEBUG] Portal activated on server!"); + player.sendMessage(new StringTextComponent("Teleport logic running!"), player.getUniqueID()); + player.sendMessage(new StringTextComponent("Teleport attempted!"), player.getUniqueID()); + return ActionResultType.SUCCESS; - // Notify the player about the result - if (teleporter.wasSuccessful()) { - player.sendMessage(new StringTextComponent("Teleportation successful!"), player.getUniqueID()); - } else { - player.sendMessage(new StringTextComponent("Teleportation failed: no safe location found."), player.getUniqueID()); - } - - return ActionResultType.SUCCESS; - } - - // Fall back to default processing if teleportation did not occur - return super.onBlockActivated(state, worldIn, pos, player, handIn, hit); + } + return super.onBlockActivated(state, worldIn, pos, player, handIn, hit); } /** diff --git a/src/main/resources/data/hdm_mod/dimension_type/world1.json b/src/main/resources/data/hdm_mod/dimension_type/world1.json new file mode 100644 index 0000000..460751b --- /dev/null +++ b/src/main/resources/data/hdm_mod/dimension_type/world1.json @@ -0,0 +1,15 @@ +{ + "logical_height": 256, + "infiniburn": "minecraft:infiniburn_overworld", + "effects": "minecraft:overworld", + "ambient_light": 0, + "bed_works": true, + "respawn_anchor_works": false, + "has_raids": true, + "ultrawarm": false, + "natural": true, + "coordinate_scale": 1, + "piglin_safe": false, + "has_skylight": true, + "has_ceiling": false +} \ No newline at end of file From a8d47d18453f4e6a6dd51fe10d5f5236343473e4 Mon Sep 17 00:00:00 2001 From: dragonruler1000 Date: Thu, 22 May 2025 20:54:02 -0500 Subject: [PATCH 2/2] Trying to fix broken textures Signed-off-by: dragonruler1000 --- .../assets/hdm_mod/blockstates/window.json | 5 + .../assets/hdm_mod/models/block/window.json | 153 +----------------- .../assets/hdm_mod/models/block/window1.json | 151 +++++++++++++++++ .../assets/hdm_mod/models/item/window.json | 3 + 4 files changed, 163 insertions(+), 149 deletions(-) create mode 100644 src/main/resources/assets/hdm_mod/blockstates/window.json create mode 100644 src/main/resources/assets/hdm_mod/models/block/window1.json create mode 100644 src/main/resources/assets/hdm_mod/models/item/window.json diff --git a/src/main/resources/assets/hdm_mod/blockstates/window.json b/src/main/resources/assets/hdm_mod/blockstates/window.json new file mode 100644 index 0000000..5bd80c6 --- /dev/null +++ b/src/main/resources/assets/hdm_mod/blockstates/window.json @@ -0,0 +1,5 @@ +{ + "variants": { + "main": {"model": "hdm_mod:block/window" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hdm_mod/models/block/window.json b/src/main/resources/assets/hdm_mod/models/block/window.json index 54c9c09..43306a9 100644 --- a/src/main/resources/assets/hdm_mod/models/block/window.json +++ b/src/main/resources/assets/hdm_mod/models/block/window.json @@ -1,151 +1,6 @@ { - "credit": "Made with Blockbench", - "textures": { - "1": "hdm_mod:block/brown", - "2": "hdm_mod:block/grey", - "particle": "hdm_mod:block/red" - }, - "elements": [ - { - "from": [5, 11, 5], - "to": [6, 13, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, - "faces": { - "north": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "east": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "south": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "west": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "up": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "down": {"uv": [0, 0, 1, 6], "texture": "#2"} - } - }, - { - "from": [4, 0, 4], - "to": [12, 1, 12], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, - "faces": { - "north": {"uv": [0, 0, 8, 8], "texture": "#1"}, - "east": {"uv": [0, 0, 8, 8], "texture": "#1"}, - "south": {"uv": [0, 0, 8, 8], "texture": "#1"}, - "west": {"uv": [0, 0, 8, 8], "texture": "#1"}, - "up": {"uv": [0, 0, 8, 8], "texture": "#1"}, - "down": {"uv": [0, 0, 8, 8], "texture": "#1"} - } - }, - { - "from": [5, 1, 5], - "to": [11, 2, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, - "faces": { - "north": {"uv": [0, 0, 6, 1], "texture": "#1"}, - "east": {"uv": [0, 0, 6, 1], "texture": "#1"}, - "south": {"uv": [0, 0, 6, 1], "texture": "#1"}, - "west": {"uv": [0, 0, 6, 1], "texture": "#1"}, - "up": {"uv": [0, 0, 6, 1], "texture": "#1"}, - "down": {"uv": [0, 0, 6, 1], "texture": "#1"} - } - }, - { - "from": [6, 2, 6], - "to": [10, 10, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, - "faces": { - "north": {"uv": [0, 0, 4, 8], "texture": "#1"}, - "east": {"uv": [0, 0, 4, 8], "texture": "#1"}, - "south": {"uv": [0, 0, 4, 8], "texture": "#1"}, - "west": {"uv": [0, 0, 4, 8], "texture": "#1"}, - "up": {"uv": [0, 0, 4, 8], "texture": "#1"}, - "down": {"uv": [0, 0, 4, 8], "texture": "#1"} - } - }, - { - "from": [5, 10, 4], - "to": [11, 11, 12], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, - "faces": { - "north": {"uv": [0, 0, 6, 8], "texture": "#2"}, - "east": {"uv": [0, 0, 6, 8], "texture": "#2"}, - "south": {"uv": [0, 0, 6, 8], "texture": "#2"}, - "west": {"uv": [0, 0, 6, 8], "texture": "#2"}, - "up": {"uv": [0, 0, 6, 8], "texture": "#2"}, - "down": {"uv": [0, 0, 6, 8], "texture": "#2"} - } - }, - { - "from": [5, 11, 4], - "to": [11, 12, 5], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, - "faces": { - "north": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "east": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "south": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "west": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "up": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "down": {"uv": [0, 0, 6, 1], "texture": "#2"} - } - }, - { - "from": [5, 11, 11], - "to": [11, 14, 12], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, - "faces": { - "north": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "east": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "south": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "west": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "up": {"uv": [0, 0, 6, 1], "texture": "#2"}, - "down": {"uv": [0, 0, 6, 1], "texture": "#2"} - } - }, - { - "from": [10, 11, 5], - "to": [11, 13, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, - "faces": { - "north": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "east": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "south": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "west": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "up": {"uv": [0, 0, 1, 6], "texture": "#2"}, - "down": {"uv": [0, 0, 1, 6], "texture": "#2"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [0, -180, 0], - "scale": [0.5, 0.69, 0.5] - }, - "thirdperson_lefthand": { - "rotation": [0, -180, 0], - "scale": [0.5, 0.69, 0.5] - }, - "firstperson_righthand": { - "translation": [0, 4, 2.5], - "scale": [0.5, 0.5, 0.5] - }, - "firstperson_lefthand": { - "translation": [0, 4, 2.5], - "scale": [0.5, 0.5, 0.5] - }, - "ground": { - "translation": [0, 2.25, 0], - "scale": [0.75, 0.75, 0.75] - }, - "gui": { - "rotation": [55, -125, 0], - "scale": [0.75, 0.75, 0.75] - }, - "head": { - "translation": [0, 14, 0] - } - }, - "groups": [ - { - "name": "VoxelShapes", - "origin": [8, 8, 8], - "color": 0, - "children": [0, 1, 2, 3, 4, 5, 6, 7] - } - ] + "parent": "block/cube_all", + "textures" : { + "all": "hdm_mod:block/grey" + } } \ No newline at end of file diff --git a/src/main/resources/assets/hdm_mod/models/block/window1.json b/src/main/resources/assets/hdm_mod/models/block/window1.json new file mode 100644 index 0000000..54c9c09 --- /dev/null +++ b/src/main/resources/assets/hdm_mod/models/block/window1.json @@ -0,0 +1,151 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "hdm_mod:block/brown", + "2": "hdm_mod:block/grey", + "particle": "hdm_mod:block/red" + }, + "elements": [ + { + "from": [5, 11, 5], + "to": [6, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "south": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "west": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "up": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "down": {"uv": [0, 0, 1, 6], "texture": "#2"} + } + }, + { + "from": [4, 0, 4], + "to": [12, 1, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#1"} + } + }, + { + "from": [5, 1, 5], + "to": [11, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#1"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#1"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#1"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 1], "texture": "#1"}, + "down": {"uv": [0, 0, 6, 1], "texture": "#1"} + } + }, + { + "from": [6, 2, 6], + "to": [10, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 8], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#1"}, + "up": {"uv": [0, 0, 4, 8], "texture": "#1"}, + "down": {"uv": [0, 0, 4, 8], "texture": "#1"} + } + }, + { + "from": [5, 10, 4], + "to": [11, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 8], "texture": "#2"}, + "east": {"uv": [0, 0, 6, 8], "texture": "#2"}, + "south": {"uv": [0, 0, 6, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 6, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 6, 8], "texture": "#2"}, + "down": {"uv": [0, 0, 6, 8], "texture": "#2"} + } + }, + { + "from": [5, 11, 4], + "to": [11, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "up": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [0, 0, 6, 1], "texture": "#2"} + } + }, + { + "from": [5, 11, 11], + "to": [11, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "up": {"uv": [0, 0, 6, 1], "texture": "#2"}, + "down": {"uv": [0, 0, 6, 1], "texture": "#2"} + } + }, + { + "from": [10, 11, 5], + "to": [11, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.3125, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "south": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "west": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "up": {"uv": [0, 0, 1, 6], "texture": "#2"}, + "down": {"uv": [0, 0, 1, 6], "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [0, -180, 0], + "scale": [0.5, 0.69, 0.5] + }, + "thirdperson_lefthand": { + "rotation": [0, -180, 0], + "scale": [0.5, 0.69, 0.5] + }, + "firstperson_righthand": { + "translation": [0, 4, 2.5], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "translation": [0, 4, 2.5], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [0, 2.25, 0], + "scale": [0.75, 0.75, 0.75] + }, + "gui": { + "rotation": [55, -125, 0], + "scale": [0.75, 0.75, 0.75] + }, + "head": { + "translation": [0, 14, 0] + } + }, + "groups": [ + { + "name": "VoxelShapes", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/hdm_mod/models/item/window.json b/src/main/resources/assets/hdm_mod/models/item/window.json new file mode 100644 index 0000000..97f1558 --- /dev/null +++ b/src/main/resources/assets/hdm_mod/models/item/window.json @@ -0,0 +1,3 @@ +{ + "parent": "hdm_mod:block/window" +} \ No newline at end of file