Skip to content

feat(config): add item list selector - #916

Closed
anolithme wants to merge 1 commit into
Polyfrost:v1from
anolithme:codex/item-list-selector
Closed

feat(config): add item list selector#916
anolithme wants to merge 1 commit into
Polyfrost:v1from
anolithme:codex/item-list-selector

Conversation

@anolithme

Copy link
Copy Markdown

Summary

  • add a reusable @ItemList config option backed by namespaced item IDs
  • support searchable single and multiple item selection, entry limits, removal, and drag reordering
  • render registered Minecraft item previews through a version-aware catalog service with bounded caching
  • add documentation, translations, a test configuration, and focused unit coverage

API

@ItemList(
    title = "Tracked items",
    description = "Items shown by the tracker",
    maxEntries = 8
)
public List<String> trackedItems = new ArrayList<>(List.of(
    "minecraft:diamond",
    "minecraft:golden_apple"
));

String[] and List<String> are supported. Setting maxEntries = 1 provides a single-item selector. Unknown registry IDs are preserved so temporarily missing modded items are not silently removed.

Testing

  • ./gradlew :modules:config-impl:j21Tests
  • ./gradlew :modules:internal:j21Tests
  • ./gradlew :modules:config-impl:apiCheck
  • classes for Minecraft 1.21.1, 1.21.4, 1.21.5, 1.21.8, 1.21.10, and 1.21.11
  • compileKotlin for Minecraft 26.1 and 26.2
  • manual verification on Fabric 1.21.11

Environment note

The full local 26.1 classes task requires a Java 25 toolchain because its ModMenu shim targets Java 25. The changed Kotlin source compiled successfully for both 26.1 and 26.2.

Closes #443

@anolithme anolithme closed this Aug 5, 2026
@anolithme
anolithme deleted the codex/item-list-selector branch August 5, 2026 00:50
@github-project-automation github-project-automation Bot moved this to Done in OneConfig Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[OC-6] Item list selector

1 participant