Treat armorstand/itemframe interaction as container (#1208)

This commit is contained in:
CmdrKittens 2019-07-09 02:15:38 -04:00
parent d63adfc889
commit 868ab5c6c4

View File

@ -18,7 +18,6 @@ import com.massivecraft.factions.zcore.gui.FactionGUI;
import com.massivecraft.factions.zcore.persist.MemoryFPlayer;
import com.massivecraft.factions.zcore.util.TL;
import com.massivecraft.factions.zcore.util.TextUtil;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -247,6 +246,22 @@ public class FactionsPlayerListener implements Listener {
}
}
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPlayerInteract(PlayerInteractEntityEvent event) {
Material material = null;
switch (event.getRightClicked().getType()) {
case ARMOR_STAND:
material = Material.ARMOR_STAND;
break;
case ITEM_FRAME:
material = Material.ITEM_FRAME;
break;
}
if (material != null && !playerCanUseItemHere(event.getPlayer(), event.getRightClicked().getLocation(), material, false)) {
event.setCancelled(true);
}
}
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPlayerInteract(PlayerInteractEvent event) {
// only need to check right-clicks and physical as of MC 1.4+; good performance boost
@ -464,6 +479,8 @@ public class FactionsPlayerListener implements Listener {
case GRINDSTONE:
case SMOKER:
case STONECUTTER:
case ARMOR_STAND:
case ITEM_FRAME:
action = PermissableAction.CONTAINER;
break;
default: