我想爲插件的bug編寫插件(ChestShop)。 當玩家右鍵點擊標誌(標誌的第2行是「B免費」或「免費」,第3行是「Iron_Ingot」)時,取消事件併發送消息。玩家簽名交互
public void onPlayerInteract(PlayerInteractEvent e){
Player player = e.getPlayer();
if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK) || e.getAction().equals(Action.LEFT_CLICK_BLOCK)){
if(e.getClickedBlock().getState() instanceof Sign){
Sign sign = (Sign) e.getClickedBlock().getState();
if(sign.getLine(2).equals("B Free") || sign.getLine(2).equals("Free")){
if(sign.getLine(3).equals("Iron_Ingot"))
e.setCancelled(true);
e.getPlayer().sendMessage("You can not click this sign");
}
}
}
}
我試過這個,但它沒有工作,哪部分代碼錯了? 我可以使用什麼方法?
什麼是Block.getState()? – TsundereBug
指定簽名使用它的塊。 – drhopeness
你忘了'@ EventHandler'? 還要確保你有註冊的事件。 –