From 60d3d9f861b5b0aa807bf319b66eaa5f9862f2f9 Mon Sep 17 00:00:00 2001 From: Camotoy <20743703+Camotoy@users.noreply.github.com> Date: Sat, 27 Jul 2024 21:25:48 -0400 Subject: [PATCH] Visible skeleton horse saddles --- developer_documentation.md | 17 +++++++++++++++++ manifest.json | 4 ++-- ...on_horse_v1_and_v2.render_controllers.json | 19 +++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 render_controllers/skeleton_horse_v1_and_v2.render_controllers.json diff --git a/developer_documentation.md b/developer_documentation.md index 63832e6..1d7e831 100644 --- a/developer_documentation.md +++ b/developer_documentation.md @@ -11,6 +11,7 @@ * [Phantoms](#Phantoms) * [Player skin parts](#Player-skin-parts) * [Shulkers](#Shulkers) + * [Skeleton horses](#Skeleton-horses) * [Spectral arrow entities](#Spectral-arrow-entities) * [Spyglass animations](#Spyglass-animations) * [Zombie villager textures](#Zombie-villager-textures) @@ -191,6 +192,22 @@ In Java Edition, when a shulker is invisible, their "box" will be invisible. In ] ``` +### Skeleton horses + +Skeleton horses can have saddles in Java Edition, but Bedrock Edition hides them. In this pack, the parts in the render controller hiding the saddle textures are changed to match the other horse models' behavior. + +```json +"part_visibility": [ + { "*saddle*": "query.is_saddled" }, // Replaced from "false" + { "SaddleMouthLine": "query.is_saddled && query.has_rider" }, // Replaced from "false" + { "SaddleMouthLineR": "query.is_saddled && query.has_rider" }, // Replaced from "false" + { "Bag*": false }, + { "MuleEar*": false } +] +``` + +Note that the V3 renderer present in the example resource pack is unused (as of 1.21.2). + ### Spectral arrow entities The glowing effect and the spectral arrow item and entities do not exist on Bedrock Edition. However, as the spectral arrow entity is just a retexture of a normal arrow, so by defining a new texture for the arrow entity and setting a query, we can tell Bedrock to replace the texture in the render controller: diff --git a/manifest.json b/manifest.json index 111122c..623b0c3 100755 --- a/manifest.json +++ b/manifest.json @@ -4,7 +4,7 @@ "description": "Optional Bedrock resource pack to extend Geyser functionality", "name": "GeyserOptionalPack", "uuid": "e5f5c938-a701-11eb-b2a3-047d7bb283ba", - "version": [1, 0, 10], + "version": [1, 0, 11], "min_engine_version": [ 1, 16, 0 ] }, "modules": [ @@ -12,7 +12,7 @@ "description": "GeyserOptionalPack", "type": "resources", "uuid": "eebb4ea8-a701-11eb-95ba-047d7bb283ba", - "version": [1, 0, 10] + "version": [1, 0, 11] } ] } diff --git a/render_controllers/skeleton_horse_v1_and_v2.render_controllers.json b/render_controllers/skeleton_horse_v1_and_v2.render_controllers.json new file mode 100644 index 0000000..a098d8c --- /dev/null +++ b/render_controllers/skeleton_horse_v1_and_v2.render_controllers.json @@ -0,0 +1,19 @@ +{ + "format_version": "1.8.0", + "render_controllers": { + "controller.render.skeleton_horse.v1.and.v2": { + "part_visibility": [ + { "*saddle*": "query.is_saddled" }, + { "SaddleMouthLine": "query.is_saddled && query.has_rider" }, + { "SaddleMouthLineR": "query.is_saddled && query.has_rider" }, + { "Bag*": false }, + { "MuleEar*": false } + ], + "geometry": "Geometry.default", + "materials": [ + { "*": "Material.default" } + ], + "textures": [ "Texture.skeleton", "Texture.markings_none", "Texture.armor_none" ] + } + } +}