Skip to content

PlayerBucketEmptyEvent event is only called for fluid buckets but not for powder snow bucket #12239

Open

Description

@florianreuth

Expected behavior

PlayerBucketEmptyEvent events should be called for all types of bucket items (water/lava/powder snow) like PlayerBucketFillEvent is.

Observed/Actual behavior

The event isn't called for powder snow buckets.

Steps/models to reproduce

  1. Setup a Paper plugin
  2. Add listeners to the events mentioned above
  3. See that PlayerBucketEmptyEvent isn't called when using powdered snow buckets while the other one is.

Plugin and Datapack List

The server is running plain except my testing plugin adding event listeners to both events.

Paper version

[00:01:34 INFO]: Checking version, please wait...
[00:01:34 INFO]: This server is running Paper version 1.21.4-DEV (2025-03-07T23:01:15Z) (Implementing API version 1.21.4-R0.1-SNAPSHOT)
You are running a development version without access to version information
Previous version: 1.21.4-DEV-5538d24 (MC: 1.21.4)

Other

No response

Activity

  1. added theissue type on Mar 7, 2025
  2. 404Setup commented on Mar 8, 2025

    @404Setup

    It looks like powder snow calls BlockPlaceEvent instead of PlayerBucketEmptyEvent

  3. florianreuth commented on Mar 8, 2025

    @florianreuth
    ContributorAuthor

    Hm I see. If that's intended API design, I would suggest mentioning it in the java documentation of PlayerBucketEmptyEvent so people don't get confused.

  4. lynxplay commented on Mar 8, 2025

    @lynxplay
    Contributor

    Yea, I am a bit uncertain if we shouldn't be calling both here.

    The empty events are called way before the block placement happens, the solid bucket items pretend to be blocks however, idk if we could call that here.
    The fact that it is inconsistent on the fill and emptying is also annoying.

  5. florianreuth commented on Mar 8, 2025

    @florianreuth
    ContributorAuthor

    I would probably call PlayerBucketEmptyEvent and not call BlockPlaceEvent at all.

  6. RedstoneFuture commented on Jun 14, 2026

    @RedstoneFuture

    Yes. minecraft:water_bucket and minecraft:lava_bucket triggers PlayerBucketEmptyEvent and PlayerBucketFillEvent, but minecraft:powder_snow_bucket not. It should also be triggered there, because the Minecraft mechanics for emptying and filling buckets are the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    MC Issue

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions