mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-17 20:11:21 +02:00
Fix broken preventmodify permissions check in invsee (*scowls at ementalo*)
Also added check to prevent duping items
This commit is contained in:
@@ -14,6 +14,7 @@ import java.util.logging.Level;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.HumanEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@@ -24,6 +25,7 @@ import org.bukkit.event.inventory.InventoryType;
|
|||||||
import org.bukkit.event.player.PlayerLoginEvent.Result;
|
import org.bukkit.event.player.PlayerLoginEvent.Result;
|
||||||
import org.bukkit.event.player.*;
|
import org.bukkit.event.player.*;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||||
|
import org.bukkit.inventory.InventoryHolder;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
@@ -427,11 +429,16 @@ public class EssentialsPlayerListener implements Listener
|
|||||||
if (event.getView().getTopInventory().getType() == InventoryType.PLAYER)
|
if (event.getView().getTopInventory().getType() == InventoryType.PLAYER)
|
||||||
{
|
{
|
||||||
final User user = ess.getUser(event.getWhoClicked());
|
final User user = ess.getUser(event.getWhoClicked());
|
||||||
final User invOwner = ess.getUser(event.getView().getPlayer());
|
final InventoryHolder invHolder = event.getView().getTopInventory().getHolder();
|
||||||
if (user.isInvSee() && (!user.isAuthorized("essentials.invsee.modify")
|
if (invHolder != null && invHolder instanceof HumanEntity)
|
||||||
|| invOwner.isAuthorized("essentials.invsee.preventmodify")))
|
|
||||||
{
|
{
|
||||||
event.setCancelled(true);
|
final User invOwner = ess.getUser((HumanEntity)invHolder);
|
||||||
|
if (user.isInvSee() && (!user.isAuthorized("essentials.invsee.modify")
|
||||||
|
|| invOwner.isAuthorized("essentials.invsee.preventmodify")
|
||||||
|
|| !invOwner.isOnline()))
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user