Closed Sparky983 closed 7 months ago
We are a text component/ingame UI library, not a "use Java features" library. This appears to be an issue that assumes we are the latter.
We are a text component/ingame UI library, not a "use Java features" library. This appears to be an issue that assumes we are the latter.
Sorry, I don't understand. I'm simply suggesting that in in Adventure 5.0.0, that interfaces such as Component
and Tag
become sealed
.
There are two main motivations for this change:
@ApiStatus.NonExtendable
in the type system.This change would need to be targeted for version 5.0.0 since it requires Java 17. It would also be very messy without the removal of
AbstractComponent
.Additionally, I would like to lightly suggest that version 5.0.0 be written in Java 21 so that Adventure itself can take advantage of Pattern Matching for Switch.