Jump to content

[1.15.2] How can I get the block a water bucket was used on?


Zaboth

Recommended Posts

I am trying to add a check to see if a water bucket was used on an ice block.

 

This is my current implementation:

 

private static boolean wasBucketUsedOnIce(FillBucketEvent event) {

    Block targetedBlock = event.getWorld().getBlockState(new BlockPos(event.getTarget().getHitVec())).getBlock();

    return (targetedBlock == Blocks.ICE);
}

 

My problem is that this does not always return the block the water bucket was used on. It seems to depend on what the player is looking at after the water has been placed.

 

E.g.

 

In this case the targeted block is the ice block...

 

A.png.a7f04122c082f768f77ec6d88ec6f7be.png

 

But in this case the targeted block is the block the water is placed in...

 

B.png.2fd50ea9c1a174cb378577ab776af982.png

 

In either case I want my code to retrieve the ice block. However I am not sure how I can do this properly. 

 

I think one solution is to check if the targeted block is air, and if it is, get the next block along from the player's perspective. But I am not sure how to do this either.

 

Any advice will be greatly appreciated!

Edited by Zaboth
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.