나는 정적 인벤토리를 여는 사인 가게에서 bukkit 플러그인을 만들고 키트를 얻기 위해 클릭합니다. 인벤토리를 설정 했으므로 표시가 클릭되면 열리고 원하는 항목이 표시됩니다. 그러나 인벤토리를 클릭하면 첫 번째 if 문은 false를 반환합니다.Minecraft Bukkit 로그인 인벤토리
@EventHandler
public void onInventoryClick(InventoryClickEvent e){
if (e.getInventory() == kitInvent){
Player player = (Player) e.getWhoClicked();
player.sendMessage("Kit Shop Opened");
if (e.getCurrentItem().getItemMeta().getDisplayName() == ChatColor.DARK_PURPLE + "Grenadier Kit"){
e.setCancelled(true);
player.getInventory().clear();
Potion potion = new Potion(PotionType.INSTANT_DAMAGE, 1);
potion.setSplash(true);
ItemStack grenadeStack = new ItemStack(Material.POTION, 32);
potion.apply(grenadeStack);
player.getInventory().addItem(grenadeStack);
}
}
}
그것은 내가 그것을 언급 할 때, 그것은 메시지를 전송하기 때문에 "만약 (e.getInventory()는 == kitInvent가)"부분은 "키트 숍 오픈"과거를 얻을 수 없습니다 여기 내 코드입니다.
또한 다음 if 문을 올바르게 수행하고 항목 제목을 확인합니다. 거기에 문제가 있었지만 이전 if 문으로 인해서인지 간단히 알지 못했습니다.
도움을 주시면 대단히 감사하겠습니다.
우리는'kitInvent'가 무엇인지, 당신이 무엇을하는지 알아야합니다. 코드를 업데이트하십시오. – bw2801
kitInvent는 키트 개체를 보관하기 위해 만든 인벤토리이며 클릭하면 선택할 수 있습니다. 기호가 무엇을 말했을 때 열 수는 있지만 위의 문제가 있습니다. 나는 그 안에 단 하나의 킷을 넣었으므로 괜찮습니다. 이것은 문제 코드 여야합니다. –