Skip to content

Fix Cape Elytra textures#5968

Open
letsgoawaydev wants to merge 2 commits intoGeyserMC:masterfrom
letsgoawaydev:elytra-cape-fix
Open

Fix Cape Elytra textures#5968
letsgoawaydev wants to merge 2 commits intoGeyserMC:masterfrom
letsgoawaydev:elytra-cape-fix

Conversation

@letsgoawaydev
Copy link
Contributor

Closes #4374.

However, due to a bug in the Bedrock Edition client, the elytras will swap with another player (see video below).

ScreenRecording_11-04-2025_19-58-25_1.mov

packet.setOldSkinName("");
packet.setNewSkinName(skin.textureUrl());
packet.setSkin(getSkin(session, skin.textureUrl(), skin, cape, geometry));
packet.setSkin(getSkin(session, skin.textureUrl(), skin, cape, geometry, false, true));
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick, maybeee use isPersona, isCapeOnClassic instead of false, true here...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont really see a reason for this considering java players are considered classic skins anyway

Copy link
Member

@onebeastchris onebeastchris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like "persona" is always false here, so i'm unsure what that's good for... esp if Geyser doesn't support those skins anyways :p

Does just setting the capeOnClassic property work? Would rather just change that tbh

Comment on lines +131 to +132
boolean isPersona = false;
boolean isCapeOnClassic = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these local variables? Doesn't seem like they're used for anything else

.geometryData(geometry.geometryData().isBlank() ? GEOMETRY : geometry.geometryData())
.premium(true)
.capeId(cape.capeId())
.fullSkinId(skinId)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why was this removed?

@letsgoawaydev
Copy link
Contributor Author

i think it does, will clean up this pr when i get the time

@onebeastchris
Copy link
Member

Honestly, given that https://bugs-legacy.mojang.com/browse/MCPE-53595 existed for years.. i'm unsure if we should implement this. For players, seeing the same cape everywhere might be more confusing compared to not seeing any capes on elytras...

@onebeastchris onebeastchris added PR: On hold When a PR is on hold like if it requires a dependency to be updated first Client Bug labels Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Client Bug PR: On hold When a PR is on hold like if it requires a dependency to be updated first

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Elytra cape texture doesn't get displayed on Bedrock

3 participants