OneLiteFeatherNET / OneLiteFeatherNET/Voyager

Cosmetics framework: elytra skin slots

Open
#140 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

gameplay P2 release
Dominant language
Java
Stars
0
Forks
0
Avg merge
2d 21h
Merged PRs (30d)
12

Description

Description

Cosmetic customization (custom elytra textures/skins) is the primary monetization and progression hook. A framework for equipping, storing, and rendering custom elytra skins must be in place for release.

Acceptance Criteria

  • CosmeticEntity DB schema: player UUID, cosmetic type (ELYTRA_SKIN), cosmetic ID, unlocked date
  • A player's equipped elytra skin is loaded on join and applied to their armor slot
  • At least 3 default skins are shipped with the server (resource pack textures)
  • /cosmetics command opens a chat-menu or inventory UI showing owned and available skins
  • Selecting a skin equips it immediately (visible to all players in the instance)
  • Skin unlocks are gated by a CosmeticUnlockService (extensible for future monetization)
  • Unit test: equip skin → verify armor slot has correct NBT / texture data

Technical Details

  • Elytra texture customization uses resource pack + item NBT in Minestom
  • CosmeticComponent on the player ECS entity holds the active cosmetic set
  • Framework must be extensible (future: trails, aura effects)

Dependencies

  • "Persist player profiles on first join" (Alpha) must be done first for the player entity

Estimate

L

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

First verify that “Persist player profiles on first join” is complete, then inspect the player ECS entity and existing profile persistence. Map the CosmeticEntity schema, CosmeticComponent, CosmeticUnlockService, and /cosmetics entry point before implementing the acceptance criteria. Done means skins persist, equip visibly, ship with three defaults, and the unit test verifies the armor-slot NBT or texture data.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.