Skip to content

Commit

Permalink
fix: InsightsPlugin#219, waterlogged blocks
Browse files Browse the repository at this point in the history
  • Loading branch information
Jsinco committed Feb 2, 2025
1 parent 6357698 commit c19d48c
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Changelog
- 1.21.4 Support by @Jsinco
- Fix [#219](https://github.com/InsightsPlugin/Insights/issues/219), waterlogged blocks being counted on bucket filling. By @Jsinco
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.Directional;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.block.BlockBreakEvent;
Expand All @@ -38,6 +39,8 @@
import org.bukkit.event.block.SpongeAbsorbEvent;
import org.bukkit.event.player.PlayerBucketEmptyEvent;
import org.bukkit.event.player.PlayerBucketFillEvent;
import org.jetbrains.annotations.Nullable;

import java.util.List;
import java.util.Optional;

Expand Down Expand Up @@ -188,9 +191,17 @@ public void onPlayerBucketFill(PlayerBucketFillEvent event) {
var block = event.getBlock();
var itemStack = event.getItemStack();
if (itemStack != null && itemStack.getType() == Material.MILK_BUCKET) return;
var material = block.getType();

// When a block is waterlogged, it returns the waterlogged block instead of WATER, LAVA, etc.
if (block.getBlockData() instanceof Waterlogged waterlogged && waterlogged.isWaterlogged()) {
// As far as I'm aware, waterlogged blocks must always be with water,
// so we can confidently say this is water we're checking for.
material = Material.WATER;
}

// Handle the removal
handleRemoval(event.getPlayer(), block.getLocation(), ScanObject.of(block.getType()), 1, false);
handleRemoval(event.getPlayer(), block.getLocation(), ScanObject.of(material), 1, false);
}

private Block getTopNonGravityBlock(Block start) {
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ plugins {
val name = "Insights"
group = "dev.frankheijden.insights"
val dependencyDir = "$group.dependencies"
version = "6.19.4"
version = "6.19.5"

subprojects {
apply(plugin = "java")
Expand Down

0 comments on commit c19d48c

Please sign in to comment.