Skip to content

fix(deps): update dependency net.minestom:minestom to v2026.07.22-26.2#92

Merged
renovate[bot] merged 1 commit into
masterfrom
renovate/patch-minestom
Jul 22, 2026
Merged

fix(deps): update dependency net.minestom:minestom to v2026.07.22-26.2#92
renovate[bot] merged 1 commit into
masterfrom
renovate/patch-minestom

Conversation

@renovate

@renovate renovate Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
net.minestom:minestom 2026.07.12-26.22026.07.22-26.2 age confidence

Release Notes

minestom/minestom (net.minestom:minestom)

v2026.07.22-26.2

Compare Source

This release continues the registry work introduced in 26.2. Registry backed protocol objects now expose their data directly, and new registry access APIs prepare Minestom for further registry cleanup. Compatibility bridges remain in place so projects can migrate gradually. Though they will be removed in the future.

This release also fixes races during login and chunk loading, and corrects the motion blocking heightmap for fluid and nonstandard block states.

Registry Access

RegistryData is now deprecated. Data belonging to blocks, materials, entity types, attributes, potion effects, villager professions, block sound types, and other static protocol objects can be read directly from those objects (#​3292).

For example:

float hardness = block.hardness();
boolean containsFluid = block.fluid();
Shape collisionShape = block.collisionShape();

EquipmentSlot equipmentSlot = material.equipmentSlot();
BoundingBox boundingBox = entityType.boundingBox();

The old registry() accessors remain available for now, but are deprecated for removal.

StaticProtocolObject now has an explicit registryKey() accessor #​3293. Static protocol objects still implement RegistryKey in this release, but that inheritance will be removed in a future release. Code that needs a key should begin requesting it explicitly:

RegistryKey<Block> blockKey = block.registryKey();

Tool#isCorrectForDrops and Tool#getSpeed now have overloads which accept a RegistryKey<Block>. Their Block overloads are deprecated.

The registries for the current server process are now available through MinecraftServer.getRegistries() and ServerProcess#registries() (#​3294). This avoids retrieving the entire server process when only its registries are needed:

Registries registries = MinecraftServer.getRegistries();

Generated registry keys and tags now use deterministic ordering (#​3291). BuiltinRegistries.BIOME is also the new name for the biome
registry key. The old BuiltinRegistries.WORLDGEN_BIOME field remains as a deprecated compatibility alias.

Migration Notes

Most migrations are direct replacements:

  • Replace calls through registry() with the matching accessor on the protocol object. For example, block.registry().hardness() becomes block.hardness() and entityType.registry().eyeHeight() becomes entityType.eyeHeight().
  • Replace Block#isAir, Block#isSolid, Block#isLiquid, and Block#isFluid with air, solid, liquid, and fluid. The old names are deprecated.
  • Replace Material#isArmor with Material#armor and Attribute#isSynced with Attribute#synced.
  • Block entity access now returns the protocol object rather than its key or numeric ID. Replace block.registry().isBlockEntity() with block.blockEntityType() != null. Replace block.registry().blockEntity() and block.registry().blockEntityId() with block.blockEntityType(), then use key() or id() on the null checked result when needed.
  • Replace block.registry().getBlockSoundType() with block.blockSoundType().
  • Replace entityType.registry().entityAttachments(name) with entityType.entityAttachments(name). The new method returns List<Vec> instead of raw coordinate lists. Code using the old singular entityAttachment(name) method should select the first entry when present.
  • Use StaticProtocolObject#registryKey() anywhere a static protocol object is being used as a registry key.
  • Replace BuiltinRegistries.WORLDGEN_BIOME with BuiltinRegistries.BIOME.
  • Six public static fields will become final in (#​3304). This includes ServerFlag.INSIDE_TEST, DataComponentPredicate.Damage.CODEC, and the FilteredText fields STRING_NETWORK_TYPE, STRING_CODEC, COMPONENT_NETWORK_TYPE, and COMPONENT_CODEC. Code can no longer replace these values. Start the JVM with -Dminestom.inside-test=true when the test flag is required, and store custom codecs or network types in project owned fields instead. Though this migration is unlikely to affect you.

Networking

The final GameProfile, including changes made by AsyncPlayerPreLoginEvent, is now published to the connection before the login success packet is sent (#​3300). This fixes a race where an immediate client acknowledgement could be handled before PlayerSocketConnection#gameProfile() exposed the final profile.

Worlds and Blocks

  • Concurrent requests for the same chunk now consistently share the in progress load, and completed or failed loads are removed safely from the loading registry (#​3303). The restrictions on reentrant calls from ChunkLoader#loadChunk are now documented as part of the loader contract.
  • MotionBlockingHeightmap now follows the block registry's blocksMotion and fluid properties (#​3305). Kelp is one concrete case fixed by this change: it contains fluid but is not solid, is not a liquid block, and has no waterlogged property, so the previous predicate ignored it. Kelp placed at Y=45 now correctly sets the motion blocking height to 45. Waterlogged states are also included, while solid blocks such as cobwebs and bamboo saplings that do not block motion are excluded.

Development

Error Prone and a wider set of javac lints are now enforced during builds, alongside updated style and incremental import checks (#​3301,#​3303).
JUnit was updated to 6.1.2 and the GraalVM Native Build Tools plugin to 1.1.5 (#​3299).

Full Changelog: Minestom/Minestom@2026.07.12-26.2...HEAD


Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • Between 08:00 AM and 05:59 PM, Monday through Friday (* 8-17 * * 1-5)
  • Automerge
    • Between 08:00 AM and 05:59 PM, Monday through Friday (* 8-17 * * 1-5)

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the Renovate label Jul 22, 2026
@renovate
renovate Bot requested a review from a team as a code owner July 22, 2026 07:34
@renovate
renovate Bot merged commit 99edc2d into master Jul 22, 2026
7 checks passed
@renovate
renovate Bot deleted the renovate/patch-minestom branch July 22, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants