Skip to content

Add comprehensive API support for 1.21.x features#13798

Closed
ghost wants to merge 1 commit intomainfrom
unknown repository
Closed

Add comprehensive API support for 1.21.x features#13798
ghost wants to merge 1 commit intomainfrom
unknown repository

Conversation

@ghost
Copy link
Copy Markdown

@ghost ghost commented Apr 18, 2026

Summary

This Pull Request introduces comprehensive API support for several missing 1.21.x features, providing developers with better control over the latest Minecraft mechanics.

Key Changes

  • Creaking Heart API: Added getCreaking() and isActive() to CreakingHeart BlockState, and getCreakingHeart() to Creaking entity for bi-directional connectivity.
  • Breeze API: Fully implemented the Breeze interface with getInhaleTicks(), setInhaleTicks(), getJumpCooldown(), setJumpCooldown(), and isJumping().
  • Wolf Armor API: Added armor management methods to Wolf entity, including isWearingArmor(), getArmorDurability(), and setArmorDurability().
  • Wind Charge API: Enhanced AbstractWindCharge with explosion radius control (getExplosionRadius(), setExplosionRadius()) and origin tracking (isPlayerCreated()).

Rationale

These additions fill significant gaps in the current Paper API for 1.21.4 features. Currently, developers have to rely on NMS or packet interception to access these basic properties. By upstreaming these methods, we improve plugin stability and developer experience across the ecosystem.

All changes follow Paper's coding standards, including JSpecify nullability annotations and proper Javadoc documentation.

@masmc05
Copy link
Copy Markdown
Contributor

masmc05 commented Apr 18, 2026

Wolf Armor API:

That was already part of the API as entity equipment

@ghost
Copy link
Copy Markdown
Author

ghost commented Apr 18, 2026

Thanks for the feedback! While it is possible to use the generic equipment API, these methods are intended as "convenience methods." They make the new 1.21.4 wolf mechanics much easier to find and use for developers, without requiring manual null-checks or slot management every time.

@lynxplay
Copy link
Copy Markdown
Contributor

This seems like a partial duplicate of #12095
The other methods are very much just duplicate API surface, either covered by setYield or the equipment API.

@lynxplay lynxplay closed this Apr 18, 2026
@github-project-automation github-project-automation Bot moved this from Awaiting review to Closed in Paper PR Queue Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Closed

Development

Successfully merging this pull request may close these issues.

2 participants