diff --git a/gradle.properties b/gradle.properties index 74749fc..2761ae0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ org.gradle.configuration-cache=false # Mod mod_id=video_player -mod_version=0.4.0 +mod_version=0.4.1 maven_group=com.ejclaw.videoplayer archives_base_name=video_player diff --git a/src/main/java/com/ejclaw/videoplayer/client/render/VideoAnchorRenderer.java b/src/main/java/com/ejclaw/videoplayer/client/render/VideoAnchorRenderer.java index ab075ea..dbb582b 100644 --- a/src/main/java/com/ejclaw/videoplayer/client/render/VideoAnchorRenderer.java +++ b/src/main/java/com/ejclaw/videoplayer/client/render/VideoAnchorRenderer.java @@ -67,9 +67,11 @@ public class VideoAnchorRenderer implements BlockEntityRenderer { /* identity: local +Z already faces world +Z (south) */ } - case NORTH -> pose.mulPose(Axis.YP.rotationDegrees(180F)); - case EAST -> pose.mulPose(Axis.YP.rotationDegrees(-90F)); - case WEST -> pose.mulPose(Axis.YP.rotationDegrees(90F)); - case UP -> pose.mulPose(Axis.XP.rotationDegrees(-90F)); - case DOWN -> pose.mulPose(Axis.XP.rotationDegrees(90F)); + case SOUTH -> { /* identity: local +Z = world +Z (south). +X = east, +Y = up. */ } + case NORTH -> pose.mulPose(Axis.YP.rotationDegrees(180F)); // +Z → -Z, +X → -X (west) + case EAST -> pose.mulPose(Axis.YP.rotationDegrees(90F)); // +Z → +X, +X → -Z (north) + case WEST -> pose.mulPose(Axis.YP.rotationDegrees(-90F)); // +Z → -X, +X → +Z (south) + case UP -> pose.mulPose(Axis.XP.rotationDegrees(-90F)); // +Z → +Y, +Y → -Z (north) + case DOWN -> pose.mulPose(Axis.XP.rotationDegrees(90F)); // +Z → -Y, +Y → +Z (south) } } diff --git a/src/main/resources/assets/video_player/items/video_stick.json b/src/main/resources/assets/video_player/items/video_stick.json new file mode 100644 index 0000000..c5c4ad9 --- /dev/null +++ b/src/main/resources/assets/video_player/items/video_stick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "video_player:item/video_stick" + } +}