Skip to content

chore!: sync with upstream Minestom dd2ddbc - #28

Merged
oglassdev merged 7 commits into
masterfrom
sync/upstream-2026-10-12
Oct 12, 2026
Merged

oglassdev merged 7 commits into
masterfrom
sync/upstream-2026-10-12

Conversation

@oglassdev

Copy link
Copy Markdown

Upstream Minestom gained six commits since the last sync (5485bbd). This brings multistom up to Minestom/Minestom@dd2ddbc72d so we don't drift.

What comes in

Where multistom differs from upstream

  • Server: the factory keeps upstream's signature, so code written against upstream compiles unchanged. Each Server defaults to a factory bound to its own ServerProcess, and a connection that belongs to another process is refused and its channel closed. A null rejection happens before the connection is tracked.
  • CachedPacket: upstream's split is ported onto the PacketEncodingContext-keyed cache. One framed representation is still kept for the most recent context, but a different context now reuses the supplied packet instead of invoking the supplier again.
  • Tests: upstream's two new CachedPacket tests are ported into SendablePacketTest (multistom has no SendablePacketIntegrationTest). ProcessConnectionTest gains a test for the factory: a custom factory is used, null rejects the client, and a foreign-process connection is refused.

Breaking changes

  • ArgumentResourceLocation → ArgumentKey, ArgumentType.ResourceLocation() → ArgumentType.Key(), parser id "resourcelocation" → "key".
  • SlotDisplay.SmithingTrim.trimPattern is a Holder<TrimPattern> instead of a SlotDisplay.

Checks

Compiled core and demo, and ran SendablePacketTest, PlayerIntegrationTest, ArgumentTypeTest, ArgumentParserTest, ProcessConnectionTest, ProcessPacketOwnershipTest and NetworkPropertiesTest. The full suite was left to CI.

Merge with a merge commit so upstream's history stays an ancestor for the next sync.

🤖 Generated with Claude Code

xEcho1337 and others added 7 commits October 8, 2026 21:24
* fix: update SmithingTrim to use Holder for trimPattern

* adopt pattern matching for `pattern`
Checkouts use LF on every platform, and committed generated sources collapse in GitHub diffs.
…inestom#3412)

Reading the packet of a CachedPacket does not frame it.
Integrates Minestom/Minestom@dd2ddbc72d (6 commits): the socket connection
factory, CachedPacket caching its packet separately from the framed body,
cancellation of a setInstance replaced by a later call, and .gitattributes.

The connection factory keeps upstream's signature. Each Server defaults to a
factory bound to its owning ServerProcess and refuses a connection that
belongs to another process.

CachedPacket keeps one framed representation per encoding context and now
reuses the supplied packet across contexts, so asking for the packet no
longer frames it.

BREAKING CHANGE: ArgumentResourceLocation is renamed to ArgumentKey,
ArgumentType.ResourceLocation to ArgumentType.Key and the "resourcelocation"
parser id to "key". SlotDisplay.SmithingTrim's trimPattern is a
Holder<TrimPattern> instead of a SlotDisplay.
@github-actions

Copy link
Copy Markdown

Binary Compatibility

This Pull Request has introduced binary incompatible changes compared to the master branch.

What is Binary Compatibility?
Binary compatibility ensures that libraries compiled against Minestom can upgrade between versions without needing recompilation.

What should you do?

  • If unintentional, please restore the compatibility. Feel free to ask for help if you are unsure how to proceed.
  • If intentional, a maintainer will review them and label your PR as breaking, which will bypass this check. Please refer to CONTRIBUTING.md for requirements regarding breaking changes.
View offending signatures
Public/protected method removed or signature changed: net/minestom/server/command/builder/arguments/ArgumentType#ResourceLocation(Ljava/lang/String;)Lnet/minestom/server/command/builder/arguments/minecraft/ArgumentResourceLocation;
Class removed, made package-private or considered internal: net/minestom/server/command/builder/arguments/minecraft/ArgumentResourceLocation
Public/protected method removed or signature changed: net/minestom/server/recipe/display/SlotDisplay$SmithingTrim#<init>(Lnet/minestom/server/recipe/display/SlotDisplay;Lnet/minestom/server/recipe/display/SlotDisplay;Lnet/minestom/server/recipe/display/SlotDisplay;)V
Public/protected method removed or signature changed: net/minestom/server/recipe/display/SlotDisplay$SmithingTrim#trimPattern()Lnet/minestom/server/recipe/display/SlotDisplay;

@oglassdev
oglassdev merged commit 23ce06d into master Oct 12, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants