diff options
author | Linnea Gräf <nea@nea.moe> | 2025-06-26 19:58:00 +0200 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2025-06-26 19:58:00 +0200 |
commit | 1ae6a259609c29d353a2e7856739b6e2047e3ccc (patch) | |
tree | a219cf7c3c79ba2b38df81b103972b8db06b1dc3 /src | |
parent | a8f8382682fb70791ac5e5601f1c0c149df8c8eb (diff) | |
download | Firmament-1ae6a259609c29d353a2e7856739b6e2047e3ccc.tar.gz Firmament-1ae6a259609c29d353a2e7856739b6e2047e3ccc.tar.bz2 Firmament-1ae6a259609c29d353a2e7856739b6e2047e3ccc.zip |
fix: dev capes on people without regular capes not rendering
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/moe/nea/firmament/mixins/feature/devcosmetics/SaveCapeToPlayerEntityRenderState.java | 2 | ||||
-rw-r--r-- | src/main/kotlin/features/misc/CustomCapes.kt | 35 | ||||
-rw-r--r-- | src/main/kotlin/features/misc/Devs.kt | 19 | ||||
-rw-r--r-- | src/main/resources/assets/firmament/textures/cape/REUSE.toml | 5 | ||||
-rw-r--r-- | src/main/resources/assets/firmament/textures/cape/fsr_static.png | bin | 0 -> 21747 bytes |
5 files changed, 49 insertions, 12 deletions
diff --git a/src/main/java/moe/nea/firmament/mixins/feature/devcosmetics/SaveCapeToPlayerEntityRenderState.java b/src/main/java/moe/nea/firmament/mixins/feature/devcosmetics/SaveCapeToPlayerEntityRenderState.java index 72bb79a..ae9c743 100644 --- a/src/main/java/moe/nea/firmament/mixins/feature/devcosmetics/SaveCapeToPlayerEntityRenderState.java +++ b/src/main/java/moe/nea/firmament/mixins/feature/devcosmetics/SaveCapeToPlayerEntityRenderState.java @@ -14,6 +14,6 @@ public class SaveCapeToPlayerEntityRenderState { @Inject(method = "updateRenderState(Lnet/minecraft/client/network/AbstractClientPlayerEntity;Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;F)V", at = @At("TAIL")) private void addCustomCape(AbstractClientPlayerEntity abstractClientPlayerEntity, PlayerEntityRenderState playerEntityRenderState, float f, CallbackInfo ci) { -CustomCapes.addCapeData(abstractClientPlayerEntity, playerEntityRenderState); + CustomCapes.addCapeData(abstractClientPlayerEntity, playerEntityRenderState); } } diff --git a/src/main/kotlin/features/misc/CustomCapes.kt b/src/main/kotlin/features/misc/CustomCapes.kt index 5e4764e..a20707e 100644 --- a/src/main/kotlin/features/misc/CustomCapes.kt +++ b/src/main/kotlin/features/misc/CustomCapes.kt @@ -13,6 +13,7 @@ import net.minecraft.client.render.VertexConsumer import net.minecraft.client.render.VertexConsumerProvider import net.minecraft.client.render.entity.state.PlayerEntityRenderState import net.minecraft.client.util.BufferAllocator +import net.minecraft.client.util.SkinTextures import net.minecraft.util.Identifier import moe.nea.firmament.Firmament import moe.nea.firmament.util.MC @@ -109,10 +110,12 @@ object CustomCapes { 110.seconds ) ), -// FURFSKY( -// "FurfSky", -// TexturedCapeRenderer(Firmament.identifier("textures/cape/fsr_static.png")) -// ), + + FURFSKY_STATIC( + "FurfSky", + TexturedCapeRenderer(Firmament.identifier("textures/cape/fsr_static.png")) + ), + FIRMAMENT_STATIC( "Firmament", TexturedCapeRenderer(Firmament.identifier("textures/cape/firm_static.png")) @@ -123,11 +126,15 @@ object CustomCapes { } val byId = AllCapes.entries.associateBy { it.cape.id } - val byUuid = listOf( - Devs.nea to AllCapes.FIRMAMENT_ANIMATED, - Devs.kath to AllCapes.FIRMAMENT_STATIC, - Devs.jani to AllCapes.FIRMAMENT_ANIMATED, - ).flatMap { (dev, cape) -> dev.uuids.map { it to cape.cape } }.toMap() + val byUuid = + listOf( + listOf( + Devs.nea to AllCapes.FIRMAMENT_ANIMATED, + Devs.kath to AllCapes.FIRMAMENT_STATIC, + Devs.jani to AllCapes.FIRMAMENT_ANIMATED, + ), + Devs.FurfSky.all.map { it to AllCapes.FURFSKY_STATIC }, + ).flatten().flatMap { (dev, cape) -> dev.uuids.map { it to cape.cape } }.toMap() @JvmStatic fun render( @@ -157,7 +164,15 @@ object CustomCapes { capeStorage.cape_firmament = null } else { capeStorage.cape_firmament = cape - playerEntityRenderState.capeVisible = true; + playerEntityRenderState.skinTextures = SkinTextures( + playerEntityRenderState.skinTextures.texture, + playerEntityRenderState.skinTextures.textureUrl, + Firmament.identifier("placeholder/fake_cape"), + playerEntityRenderState.skinTextures.elytraTexture, + playerEntityRenderState.skinTextures.model, + playerEntityRenderState.skinTextures.secure, + ) + playerEntityRenderState.capeVisible = true } } diff --git a/src/main/kotlin/features/misc/Devs.kt b/src/main/kotlin/features/misc/Devs.kt index 7a5da2b..c7eff71 100644 --- a/src/main/kotlin/features/misc/Devs.kt +++ b/src/main/kotlin/features/misc/Devs.kt @@ -13,4 +13,23 @@ object Devs { val nea = Dev("d3cb85e2-3075-48a1-b213-a9bfb62360c1", "842204e6-6880-487b-ae5a-0595394f9948") val kath = Dev("add71246-c46e-455c-8345-c129ea6f146c", "b491990d-53fd-4c5f-a61e-19d58cc7eddf") val jani = Dev("8a9f1841-48e9-48ed-b14f-76a124e6c9df") + + object FurfSky { + val smolegit = Dev("02b38b96-eb19-405a-b319-d6bc00b26ab3") + val itsCen = Dev("ada70b5a-ac37-49d2-b18c-1351672f8051") + val webster = Dev("02166f1b-9e8d-4e48-9e18-ea7a4499492d") + val vrachel = Dev("22e98637-ba97-4b6b-a84f-fb57a461ce43") + val cunuduh = Dev("2a15e3b3-c46e-4718-b907-166e1ab2efdc") + val eiiies = Dev("2ae162f2-81a7-4f91-a4b2-104e78a0a7e1") + val june = Dev("2584a4e3-f917-4493-8ced-618391f3b44f") + val denasu = Dev("313cbd25-8ade-4e41-845c-5cab555a30c9") + val libyKiwii = Dev("4265c52e-bd6f-4d3c-9cf6-bdfc8fb58023") + val madeleaan = Dev("bcb119a3-6000-4324-bda1-744f00c44b31") + val turtleSP = Dev("f1ca1934-a582-4723-8283-89921d008657") + val all = listOf( + smolegit, itsCen, webster, vrachel, cunuduh, eiiies, + june, denasu, libyKiwii, madeleaan, turtleSP, + ) + } + } diff --git a/src/main/resources/assets/firmament/textures/cape/REUSE.toml b/src/main/resources/assets/firmament/textures/cape/REUSE.toml index 7cb21f2..ba721f7 100644 --- a/src/main/resources/assets/firmament/textures/cape/REUSE.toml +++ b/src/main/resources/assets/firmament/textures/cape/REUSE.toml @@ -13,4 +13,7 @@ path = ["firm_static.png"] SPDX-License-Identifier = "CC-BY-4.0" SPDX-FileCopyrightText = ["ic22487", "kathund"] - +[[annotations]] +path = ["fsr_static.png"] +SPDX-License-Identifier = "CC-BY-4.0" +SPDX-FileCopyrightText = ["Tendan"] diff --git a/src/main/resources/assets/firmament/textures/cape/fsr_static.png b/src/main/resources/assets/firmament/textures/cape/fsr_static.png Binary files differnew file mode 100644 index 0000000..de9cf35 --- /dev/null +++ b/src/main/resources/assets/firmament/textures/cape/fsr_static.png |