feat: render GeckoLib cosmetics on player bodies

This commit is contained in:
2026-07-14 15:27:01 +02:00
parent c7bd7b8444
commit 53fbc1705c
3 changed files with 112 additions and 0 deletions
@@ -0,0 +1,26 @@
package de.fullrisk.citrusDev.client.cosmetic;
import com.geckolib.renderer.GeoObjectRenderer;
import com.geckolib.renderer.base.GeoRenderState;
import com.geckolib.renderer.base.RenderPassInfo;
import java.util.UUID;
public final class PlayerCosmeticRenderer extends GeoObjectRenderer<
PlayerCosmetic, CosmeticRenderData, GeoRenderState> {
public PlayerCosmeticRenderer() {
super(new PlayerCosmeticModel());
}
@Override
public long getInstanceId(PlayerCosmetic animatable, CosmeticRenderData data) {
UUID uuid = data.playerId();
return uuid.getMostSignificantBits() ^ uuid.getLeastSignificantBits();
}
@Override
public void adjustRenderPose(RenderPassInfo<GeoRenderState> renderPassInfo) {
// The layer already supplies a body-local pose; omit GeoObjectRenderer's block-centering offset.
}
}