Require container trust to let pets sit down
This commit is contained in:
parent
3155c65320
commit
9fe7f8258d
|
|
@ -50,6 +50,7 @@ import org.bukkit.entity.Item;
|
|||
import org.bukkit.entity.Llama;
|
||||
import org.bukkit.entity.Mule;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Sittable;
|
||||
import org.bukkit.entity.Tameable;
|
||||
import org.bukkit.entity.Vehicle;
|
||||
import org.bukkit.entity.Villager;
|
||||
|
|
@ -532,6 +533,23 @@ class PlayerEventHandler implements Listener
|
|||
{
|
||||
this.onPlayerInteractEntity((PlayerInteractEntityEvent) event);
|
||||
}
|
||||
Player player = event.getPlayer();
|
||||
Entity entity = event.getRightClicked();
|
||||
if (entity instanceof Sittable sittable)
|
||||
{
|
||||
PlayerData playerData = this.dataStore.getPlayerData(player.getUniqueId());
|
||||
Claim claim = this.dataStore.getClaimAt(entity.getLocation(), false, playerData.lastClaim);
|
||||
if (claim != null)
|
||||
{
|
||||
final Supplier<String> noContainersReason = claim.checkPermission(player, ClaimPermission.Inventory, event);
|
||||
if (noContainersReason != null)
|
||||
{
|
||||
GriefPrevention.sendMessage(player, TextMode.Err, noContainersReason.get());
|
||||
event.setCancelled(true);
|
||||
sittable.setSitting(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//when a player interacts with an entity...
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user