prevent interacting with cauldrons w/o container trust
This commit is contained in:
parent
6d14031a02
commit
5e8bbe75c3
|
|
@ -59,6 +59,7 @@ import org.bukkit.event.EventHandler;
|
|||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.CauldronLevelChangeEvent;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
|
|
@ -999,6 +1000,29 @@ class PlayerEventHandler implements Listener
|
|||
}
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
|
||||
public void onPlayerBucketatCauldron(CauldronLevelChangeEvent event)
|
||||
{
|
||||
if (!instance.claimsEnabledForWorld(event.getBlock().getWorld())) return;
|
||||
Entity entity = event.getEntity();
|
||||
Block block = event.getBlock();
|
||||
if (entity == null) return;
|
||||
if (entity instanceof Player player) {
|
||||
Claim claim = dataStore.getClaimAt(block.getLocation(), false, null);
|
||||
if (claim == null)
|
||||
return;
|
||||
|
||||
Supplier<String> allowContainer = claim.checkPermission(player, ClaimPermission.Inventory, event);
|
||||
|
||||
if (allowContainer != null)
|
||||
{
|
||||
event.setCancelled(true);
|
||||
GriefPrevention.sendMessage(player, TextMode.Err, allowContainer.get());
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//when a player interacts with the world
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
void onPlayerInteract(PlayerInteractEvent event)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user