OneLiteFeatherNET / OneLiteFeatherNET/Voyager
Cosmetics framework: elytra skin slots
Nobody has claimed this yet.
- 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
-
CosmeticEntityDB 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)
-
/cosmeticscommand 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
CosmeticComponenton 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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