Skip to content

Instantly share code, notes, and snippets.

@mworzala
Last active October 11, 2025 15:19
Show Gist options
  • Select an option

  • Save mworzala/4b7526d4f616d07b823c3f6f272ef689 to your computer and use it in GitHub Desktop.

Select an option

Save mworzala/4b7526d4f616d07b823c3f6f272ef689 to your computer and use it in GitHub Desktop.

Revisions

  1. mworzala revised this gist Oct 11, 2025. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions 1.21.10.md
    Original file line number Diff line number Diff line change
    @@ -28,6 +28,8 @@ This is a new segment to these release notes, a high level description of how so
    * Block collision and occlusion shapes are now distinct, they can be accessed with `myBlock.registry().collisionShape()` and `myBlock.registry().occlusionShape()` respectively.
    * `PlayerChangeHeldSlotEvent#getOldSlot` now returns a byte (inline with other methods about player held slots) instead of an int.
    * The `ResourceLocation` argument now uses an Adventure Key instead of a raw string.
    * Adventure API, Key, and NBT are exported as transitive dependencies of Minestom.
    * Fastutil is no longer exported as a transitive dependency of Minestom.

    ## Misc Future Tasks
    * Receiving transfers and correctly processing entity passenger/vehicle offsets remain as TODO items from 1.20.6.
  2. mworzala revised this gist Oct 11, 2025. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion 1.21.10.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@
    The 1.21.10 (including 1.21.9) branch has now been merged, thanks to all who tested and contributed to it!

    ## Java 25
    Minestom tracks the latest LTS version of Java. Since Java 25 has been released, it is now the minimum required version of Java to use Minestom.
    Minestom tracks the latest LTS version of Java. Since Java 25 has been released, it is now the minimum required version of Java to use Minestom. **To use Java 25 you must be on IntelliJ IDEA 2025.2 or higher**.

    In gradle (Kotlin), you can set the Java version as such:

  3. mworzala revised this gist Oct 11, 2025. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion 1.21.10.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    # Minestom 1.21.7
    # Minestom 1.21.10
    The 1.21.10 (including 1.21.9) branch has now been merged, thanks to all who tested and contributed to it!

    ## Java 25
  4. mworzala created this gist Oct 11, 2025.
    34 changes: 34 additions & 0 deletions 1.21.10.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,34 @@
    # Minestom 1.21.7
    The 1.21.10 (including 1.21.9) branch has now been merged, thanks to all who tested and contributed to it!

    ## Java 25
    Minestom tracks the latest LTS version of Java. Since Java 25 has been released, it is now the minimum required version of Java to use Minestom.

    In gradle (Kotlin), you can set the Java version as such:

    ```kotlin
    java {
    toolchain {
    languageVersion.set(JavaLanguageVersion.of(25))
    }
    }
    ```

    ## New in Minecraft
    This is a new segment to these release notes, a high level description of how some of the new Minecraft features appear in Minestom:

    * Mannequins and Copper Golems are now spawnable with the associated `EntityType` and `MannequinMeta`/`CopperGolemMeta`.
    * **Note:** Some fields from PlayerMeta were moved to the common AvatarMeta between player/mannequin. Offsets may have changed for those editing metadata manually for player entities.
    * Object text components may be used with the adventure API, see [Javadocs](https://jd.advntr.dev/api/4.25.0/net/kyori/adventure/text/ObjectComponent.html).
    * The server code of conduct may be sent during configuration with the `CodeOfConductPacket`, at which point you should block the `AsyncPlayerConfigurationEvent` until receiving a `ClientAcceptCodeOfConductPacket`.

    ## Misc Changes
    * The `IChunkLoader` interface has been renamed to `ChunkLoader`.
    * Minestom now tracks the server and client connection states separately, and play->configuration state changes only occur between ticks. These changes significantly improve stability when reentering the configuration phase from play. As such, `PlayerConnection#getConnectionState` has been fatally deprecated in favor `#getServerState` and `#getClientState`. When updating, `#getConnectionState` can be translated directly into `#getClientState` to preserve prior behavior. However, some logic may benefit from being side-state aware around configuration swaps.
    * Block collision and occlusion shapes are now distinct, they can be accessed with `myBlock.registry().collisionShape()` and `myBlock.registry().occlusionShape()` respectively.
    * `PlayerChangeHeldSlotEvent#getOldSlot` now returns a byte (inline with other methods about player held slots) instead of an int.
    * The `ResourceLocation` argument now uses an Adventure Key instead of a raw string.

    ## Misc Future Tasks
    * Receiving transfers and correctly processing entity passenger/vehicle offsets remain as TODO items from 1.20.6.
    * API to send and automatically wait for code of conduct acceptance from 1.21.9.