Skip to content

Update dependency net.minestom:minestom to v2025.07.10-1.21.7#23

Merged
theEvilReaper merged 2 commits into
masterfrom
renovate/minestom
Jul 12, 2025
Merged

Update dependency net.minestom:minestom to v2025.07.10-1.21.7#23
theEvilReaper merged 2 commits into
masterfrom
renovate/minestom

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Jul 10, 2025

This PR contains the following updates:

Package Change Age Confidence
net.minestom:minestom 2025.07.08-1.21.5 -> 2025.07.10-1.21.7 age confidence

Release Notes

minestom/minestom (net.minestom:minestom)

v2025.07.10-1.21.7

Compare Source

Minestom 1.21.7

The 1.21.7 (including 1.21.6) branch has now been merged, thanks to all who tested and contributed to it!

Dialogs

Dialogs in Minestom are represented by a series of records starting from one of the Dialog subclasses (looking at the required values should help to figure out how to construct them).

For example, here is the Dialog used for the Game Jam voting.

new ShowDialogPacket(new Dialog.Notice(
        new DialogMetadata(
                Component.text("Game Jam Scoring"),
                null,
                false,
                false,
                DialogAfterAction.CLOSE,
                List.of(new DialogBody.Item(
                        ItemStack.of(Material.PAPER),
                        new DialogBody.PlainMessage(Component.text("Rate this game jam entry on each category from 1-5"), 400),
                        true, true, 40, 10
                )),
                List.of(
                        new DialogInput.NumberRange("technical", 200, Component.text("Technical"), "options.generic_value", 1, 5, 3f, 1f),
                        new DialogInput.NumberRange("theme", 200, Component.text("Theme"), "options.generic_value", 1, 5, 3f, 1f),
                        new DialogInput.NumberRange("fun", 200, Component.text("Fun"), "options.generic_value", 1, 5, 3f, 1f),
                        new DialogInput.NumberRange("originality", 200, Component.text("Originality"), "options.generic_value", 1, 5, 3f, 1f),
                        new DialogInput.NumberRange("visuals", 200, Component.text("Visuals"), "options.generic_value", 1, 5, 3f, 1f)
                )
        ),
        new DialogActionButton(
                Component.text("Submit Scores"),
                Component.text("§7Click to submit your scoring."),
                100,
                new DialogAction.DynamicCustom(Key.key("gamejam.submit_scores"), CompoundBinaryTag.builder().build())
        )
));

To receive values you must use the DynamicCustom dialog action (or dynamic command if you want to run a command directly). Using DialogAction.Custom will not include the templated values. When a player performs the relevant action, a PlayerCustomClickEvent (or PlayerConfigCustomClickEvent if this happens in the configuration phase) will be emitted. For example:

globalEventHandler.addListener(PlayerCustomClickEvent.class, (event) -> {
    if (event.getKey().equals(Key.key("gamejam.submit_scores"))) {
        System.out.println("Game jam scores submitted by: " + event.getPlayer().getUsername());
        System.out.println("Payload: " + event.getPayload());
    }
});

Waypoints

Player locator bar waypoints are only exposed through the update waypoint packet (though I believe this API is sufficient). For example, to add a waypoint:

Player player = ...;
UUID theWaypointUuid = UUID.randomUUID();
Point somePosition = new Vec(50, 40, 50);

player.sendPacket(new TrackedWaypointPacket(TrackedWaypointPacket.Operation.TRACK, new TrackedWaypointPacket.Waypoint(
        Either.left(theWaypointUuid),
        TrackedWaypointPacket.Icon.DEFAULT,
        new TrackedWaypointPacket.Target.Vec3i(somePosition)
)));

If adventure supports waypoints we will implement that API. If not, its possible we will add an API to manage waypoints separately, not sure yet.

Misc Changes

  • The server list ping ResponseData has been replaced by an immutable builder (Status).
  • Many uses of wall-clock milliseconds have been replaced with nano seconds (via System.nanoTime() to mitigate clock sync differences).
  • Painting and item frame orientation is now set via the direction metadata property. Paintings may not have an UP or DOWN direction.
  • Adventure GsonComponentSerializer usages have been replaced with our Codec.COMPONENT, you are suggested to use this instead as well for better support.
  • TagStringIOExt has been removed as adventure now has native support for those operations. Adventure does not default to supporting heterogeneous lists in SNBT. MinestomAdventure.tagStringIO() exposes an instance with heterogeneous lists enabled.

Misc Future Tasks

  • Receiving transfers and correctly processing entity passenger/vehicle offsets remain as TODO items from 1.20.6.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 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 10, 2025
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Jul 11, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@theEvilReaper theEvilReaper merged commit 4cbc70d into master Jul 12, 2025
6 checks passed
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.

1 participant