이해도 | 중급자 |
---|---|
게임버전 (JE) | 1.20.1 |
게임버전 (BE) | 관련없음 |
안녕하세요! 제가 플러그인을 만들고 있었습니다.
그런데 계속 에러가 발생하고 null 처리하면 작동을 안해서 조금 힘들었는데요
몇일 정도 생각해보다 답이 안나와서 올려봅니다
원하는 동작은 플레이어 인벤토리에 아이템을 클릭시 EnchanttableMenu의 4번 슬롯으로 아이템이 복제되길 바랍니다.
부가 코드부분입니다.
@EventHandler
public void PlayerClickBlock(PlayerInteractEvent e) {
if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
//코드
if(e.getClickedBlock().getType().equals(Material.ENCHANTING_TABLE) ){
e.setCancelled(true);
Inventory enchanttableMune = Bukkit.createInventory(null, 27, "\uEAAA"+ ChatColor.WHITE + "\uEDDD");
e.getPlayer().openInventory(enchanttableMune);
}
//코드
}
}
주요 코드는 이부분입니다.
@EventHandler
public void onInventoryClick(InventoryClickEvent e) {
if (ChatColor.stripColor(e.getView().getTitle()).equalsIgnoreCase("\uEAAA\uEDDD")){
e.setCancelled(true);
enchanttableMune.setItem(4,e.getCurrentItem());
}
}
yerin
2024.07.28아 해결방법을 찾았습니다.
인벤토리 이름을 바로 사용하지 말고
이런식으로 .getInventory();사용하면 해결이 되네요
@EventHandler
public void onInventoryClick(InventoryClickEvent e) {
if (ChatColor.stripColor(e.getView().getTitle()).equalsIgnoreCase("\uEAAA\uEDDD Enchant")){
e.setCancelled(true);
e.getInventory().setItem(4,e.getCurrentItem());
}
qsef1256
2024.07.28일단 한마포 에서는
단락 > 코드
를 사용하면 코드 블록을 사용할 수 있습니다. 다음부터는 그렇게 올려주시길 바라고요,지금 오류가 났다고 하는데 그래서 무슨 오류가 난 건지, 뭐가 문제 인건지가 하나도 안 적혀있습니다. 오류 로그와 예상되는(원하는) 동작을 적어서 올려주시기 바랍니다. 원래 이렇게 올리면 답변이 안 달립니다. 주의 해주시기 바랍니다.