-
Notifications
You must be signed in to change notification settings - Fork 0
Deprecation rules
§ Deprecation rules in the Avoid Framework
Here are the rules:
-
Stable elements should use the annotation
@NeverRemoval.
Type presence doesn't always indicate all-member presence. -
Alpha elements should use the annotation
@Discouraged.
This means they're not yet fully established; incompatible changes may emerge. They should not be used on production. -
Incubating elements should use the annotation
@ApiStatus.Experimental.
This means they will probably stay, but they're still in development. -
Deprecated elements should use the annotation
@Deprecated.
This means they shouldn't be used anymore. -
Internal elements should use the annotation
@ApiStatus.Internal.
This means there's a high chance they might stop being available or get completely refactored, at any time.
Unfortunately sometimes I don't keep the @NeverRemoval promise. This happens mostly because an element that was supposed to stay may accidentally be referring to Avoid's or net.minecraft internals.
Here's how I would order the elements usability:
$\text{@NeverRemoval} > \text{@ApiStatus.Experimental} >$
$\text{unannotated} > \text{@ApiStatus.Internal} >$
$\text{@Deprecated} > \text{@Discouraged}$
Need access to an internal element?
- Check if there's a public way for this.
-
Make an issue. This will make the problem noticed.
You are encouraged to propose a solution.
©️ Copyright 2026 Olafcio (on behalf of the AvoidLib org)
📝 All Rights Reserved
Avoid Framework
🏚️ 1. Home
📽️ 2. Creating your mod
🌄 3. Adding assets to your mod
🧊 4. Creating a block
💧 5. Creating a fluid
✏️ 6. Creating an item
🎯 7. Creating an entity selector
🤖 8. Creating a command
⌨️ 9. Creating a keybind
🐺 10. Creating an entity
🌫️ 11. Creating a fog
🔩 12. Creating an item component
🔮 13. Creating an effect
📚 14. Language support & adding libraries
🚩 15. Deprecation rules
⏳ 16. Loading philosophy
Migrations