Skip to content

Adventure 5.0 #1253

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main/4
Choose a base branch
from
Open

Adventure 5.0 #1253

wants to merge 4 commits into from

Conversation

kezz
Copy link
Member

@kezz kezz commented Jun 27, 2025

Introduction

This PR exists to track the progress on Adventure 5.0. It only exists as a PR for review purposes, once Adventure 5.0 is complete, the main branch of the repo will be changed to main/5.

Discussion in this PR will be limited to reviews of the PR itself. For discussion about broader changes in Adventure 5.0, please see #1202.

To-do list:

The list below tracks remaining tasks. For reference, "refactor" means removal of all deprecations and refactoring of code to use modern Java language features.

  • Bump Java version to 21.
  • Refactor annotation-processors module.
  • Refactor api module.
  • Remove extra-kotlin module.
  • Refactor key module.
  • Refactor nbt module.
  • Refactor serializer-configurate-4 module.
  • Refactor text-logger-slf4j module.
  • Refactor text-minimessage module.
  • Refactor text-serializer-ansi module.
  • Refactor text-serializer-commons module.
  • Refactor text-serializer-gson module.
  • Refactor text-serializer-gson-legacy-impl module.
  • Refactor text-serializer-json module.
  • Refactor text-serializer-json-legacy module.
  • Refactor text-serializer-legacy module.
  • Refactor text-serializer-plain module.
  • Fix GitHub actions builds.
  • Check all Javadocs, IJ's reformatting changes JD references to impl classes and fucks up spacing for no reason

4.0 deprecations/changes

  • Deprecate Buildable interface

Add ApiStatus.NonExtendible to:

  • Title.Times
  • Sound.Builder
  • ResourcePackRequest (and Builder)
  • ResourcePackInfo (and Builder)
  • PointersSupplier (and Builder)
  • Pointers (and Builder)
  • Pointer
  • Identity
  • ComponentFlattener (and Builder)

Remaining discussion points

  • Do we bump to Java 25 upon release?
  • Look at other features targeted for 5.0 release.
  • Migrate to Jspecify?
  • Do we want to type click event?
  • Decide if we want Examinable to be public API or not
    atm it's literally just used for toString, but is sometimes in the API classes and sometimes impl only - we should be consistent here

@kezz kezz added this to the 5.0.0 milestone Jun 27, 2025
kezz added 2 commits June 27, 2025 12:53
…ures

Also adds a missing `PlatformAPI` annotation and removes an unused method in CallerClassFinder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant