Skip to content

Conversation

@gabizou
Copy link
Member

@gabizou gabizou commented Oct 11, 2025

SpogneAPI | Sponge

This pull request updates Sponge to align with recent changes in Minecraft's permissions and command infrastructure, particularly focusing on replacing integer-based permission levels with the new PermissionLevel and PermissionSet abstractions. Additionally, it updates several APIs and accessors to reflect upstream changes, and ensures compatibility with the latest Minecraft snapshot.

Migration to new permission system and Minecraft version:

  • Updated all usages of integer-based permission levels to use PermissionLevel and PermissionSet, including command sources, player permissions, and login bypass logic. This affects method signatures, field types, and invoker/accessor interfaces throughout the codebase. [1] [2] [3] [4] [5] [6] [7] [8] [9]
  • Updated the Minecraft version to 25w41a in gradle.properties to track the latest snapshot.
  • Updated the SpongeAPI submodule to match the latest commit compatible with these changes.

API and accessor updates for upstream changes:

  • Changed method signatures and accessors to match upstream changes, such as passing ServerLevel to BaseCommandBlockAccessor::invoker$createSource, and updating TradeOfferGeneratorWrapper::getOffer to accept a ServerLevel parameter. [1] [2]
  • Updated ZombifiedPiglinAccessor to use persistentAngerEndTime (a long) instead of the previous remainingPersistentAngerTime (an int), and updated related data provider logic. [1] [2]

Game rules and world data improvements:

  • Changed PVP world property logic to read from the GameRules.RULE_PVP instead of relying on a server method, ensuring consistency with Minecraft's rule system.

These changes collectively modernize the permissions and command handling in Sponge, ensuring compatibility with the latest Minecraft server internals and improving maintainability going forward.

Introduced updates to reflect changes in Minecraft's
codebase, particularly around permissions, world
rules, and API adaptations. Adjusted permission
levels to integrate with new PermissionLevel and
PermissionSet systems while incorporating various
minor fixes and deprecations.

See: https://minecraft.wiki/w/Java_Edition_25w41a
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.

2 participants