Allow snowballs to activate dripleafs with accesstrust

This commit is contained in:
Len 2022-07-31 22:23:31 +02:00
parent 3b163478ef
commit 20b341e46a

View File

@ -50,6 +50,7 @@ import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.Rabbit;
import org.bukkit.entity.Slime;
import org.bukkit.entity.Snowball;
import org.bukkit.entity.Tameable;
import org.bukkit.entity.ThrownPotion;
import org.bukkit.entity.Vehicle;
@ -263,7 +264,7 @@ public class EntityEventHandler implements Listener
{
Block block = event.getBlock();
Claim claim = this.dataStore.getClaimAt(block.getLocation(), false, null);
Bukkit.getLogger().info(event + "/n" + projectile);
// Wilderness rules
if (claim == null)
{
@ -283,7 +284,15 @@ public class EntityEventHandler implements Listener
if (shooter instanceof Player)
{
Supplier<String> denial = claim.checkPermission((Player) shooter, ClaimPermission.Build, event);
Supplier<String> denial;
if ((block.getType() == Material.BIG_DRIPLEAF || block.getType() == Material.SMALL_DRIPLEAF) && projectile instanceof Snowball)
{
denial = claim.checkPermission((Player) shooter, ClaimPermission.Access, event);
}
else
{
denial = claim.checkPermission((Player) shooter, ClaimPermission.Build, event);
}
// If the player cannot place the material being broken, disallow.
if (denial != null)