Compare commits

..

2 commits

Author SHA1 Message Date
dragonruler1000
a8d47d1845 Trying to fix broken textures
Signed-off-by: dragonruler1000 <github@me.minecraftchest2.us>
2025-05-22 20:54:02 -05:00
dragonruler1000
02d4df7c55 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.
2025-05-22 20:14:18 -05:00
6 changed files with 201 additions and 193 deletions

View file

@ -104,16 +104,16 @@ 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);
// Get the server instance safely
if (worldIn.getServer() == null) return super.onBlockActivated(state, worldIn, pos, player, handIn, hit);
if (!worldIn.isRemote() && !player.isCrouching()) {
MinecraftServer server = worldIn.getServer();
if (server == null) return ActionResultType.PASS;
boolean goingToCustom = worldIn.getDimensionKey() != ModDimensions.World1;
ServerWorld targetWorld = (worldIn.getDimensionKey() == ModDimensions.World1)
? server.getWorld(World.OVERWORLD)
: server.getWorld(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) {
@ -121,38 +121,17 @@ public class Window extends HorizontalBlock {
}
}
// Set up for teleportation based on current dimension
ServerWorld targetWorld;
boolean goingToCustom = worldIn.getDimensionKey() != ModDimensions.World1;
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);
}
// Attempt teleport if a valid world was found
if (targetWorld != null) {
SimpleTeleporter teleporter = new SimpleTeleporter(pos, goingToCustom);
player.changeDimension(targetWorld, teleporter);
// 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());
}
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;
}
// Fall back to default processing if teleportation did not occur
}
return super.onBlockActivated(state, worldIn, pos, player, handIn, hit);
}

View file

@ -0,0 +1,5 @@
{
"variants": {
"main": {"model": "hdm_mod:block/window" }
}
}

View file

@ -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"}
"parent": "block/cube_all",
"textures" : {
"all": "hdm_mod:block/grey"
}
},
{
"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]
}
]
}

View file

@ -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]
}
]
}

View file

@ -0,0 +1,3 @@
{
"parent": "hdm_mod:block/window"
}

View file

@ -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
}