Skip to content

Comments

A lot of events#9

Open
yunuservices wants to merge 56 commits intoPumpkin-MC:masterfrom
yunuservices:feat/full-compability
Open

A lot of events#9
yunuservices wants to merge 56 commits intoPumpkin-MC:masterfrom
yunuservices:feat/full-compability

Conversation

@yunuservices
Copy link
Contributor

@yunuservices yunuservices commented Feb 6, 2026

Summary

Rebased eat/full-compability onto latest master, aligned bridge mappings for newly added events, and updated Rust dependencies to use git-based Pumpkin sources.

Depends on draft Pumpkin PR: Pumpkin-MC/Pumpkin#1446

Added Events

  • PlayerBedEnterEvent
  • PlayerBucketEmptyEvent
  • PlayerBucketFillEvent
  • PlayerDropItemEvent
  • PlayerExpChangeEvent
  • PlayerItemBreakEvent
  • PlayerItemConsumeEvent
  • PlayerItemDamageEvent
  • PlayerItemHeldEvent
  • PlayerItemMendEvent
  • PlayerKickEvent
  • PlayerLevelChangeEvent
  • PlayerToggleFlightEvent
  • BlockDispenseEvent
  • BlockFormEvent
  • BlockIgniteEvent
  • BlockMultiPlaceEvent
  • BlockRedstoneEvent
  • MoistureChangeEvent
  • NotePlayEvent
  • SignChangeEvent
  • TNTPrimeEvent

Validation

  • cargo check (repo: Pumpkin)
  • cargo check (repo: patchbukkit/rust)
  • ./gradlew.bat --no-daemon jar (Java 25)

@yunuservices yunuservices marked this pull request as ready for review February 6, 2026 11:22
@BjornTheProgrammer
Copy link
Collaborator

Absolutely fantastic work! Just a few general questions and recomendations before this can be considered to be merged after the Pumpkin PR is finished.

@yunuservices
Copy link
Contributor Author

  • Added explicit one-time limitation warnings for snapshot-based entity wrappers (PatchBukkitAbstractArrow, PatchBukkitArmorStand,
    PatchBukkitExperienceOrb, PatchBukkitFishHook, PatchBukkitItem, PatchBukkitProjectile) via PatchBukkitEntity warning helper.
    • Improved block synchronization so PatchBukkitBlock / PatchBukkitBlockState query native block state dynamically instead of relying on stale constructor
      assumptions.
    • getRelative(...) now resolves via world lookups rather than hardcoded air placeholders.
    • Refactored repetitive event registration in rust/src/java/native_callbacks/events.rs into a macro.
    • Removed unused legacy bridge files (handler_legacy.rs, events_legacy.rs) to avoid split/duplication confusion.
    • Updated Java command execution result plumbing to return handled/not-handled status (Result<bool>) instead of unconditional success count.
    • Clarified the clone() in native block callback and made lock-scope explicit before await.
    • PlayerLoginEvent factory now attempts to pass player address (when available) and applies disallow/allow semantics from kick message.
    • Removed unused protobuf wrappers import/file (google/protobuf/wrappers.proto) from bridge definitions.

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