Bukkit 1.20.1 限制玩家操作箱子:无法取出或放入物品
import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.Inventory; import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener {
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
Player player = event.getPlayer();
Block clickedBlock = event.getClickedBlock();
// 检查玩家是否点击了箱子
if (clickedBlock != null && clickedBlock.getType() == Material.CHEST) {
// 检查玩家是否为OP
if (!player.isOp()) {
// 取消事件,阻止玩家打开箱子
event.setCancelled(true);
// 检查玩家是否按下了SHIFT键
if (event.getAction() == Action.RIGHT_CLICK_BLOCK && player.isSneaking()) {
// 取消事件,阻止玩家放入物品
event.setCancelled(true);
}
}
}
}
}
原文地址: https://www.cveoy.top/t/topic/fBrt 著作权归作者所有。请勿转载和采集!