개인 자료란 (JE)

  서버 커뮤니티

Profile airL 대표칭호 없음
Profile

질문하기 플러그인

마인크래프트 플러그인 질문

2020.10.13 조회 수 293 추천 수 0

혹시 JAVA에서  getItemInHand가 뭐로 데체되었는지 알수있을까요?

제가 우클릭 감지 플러그인을 만들고 있는데 getItemInHand가 없어져서요

도와주세요ㅠㅠ

6개의 댓글

허두
2020.10.13

이벤트 명을 알려주셔야 정확한 답이 가능할걸로 보입니다.

대부분 getHand(), getMainHand(), getMainHandItem(), getItem(), getMaterial() 등으로 바뀌었습니다!

JavaDocs를 참고해보세요! https://hub.spigotmc.org/javadocs/spigot/ 


PlayerInteractEvent의 경우, getHand()와 getItem(), getMaterial()이 사용 가능합니다 :)

airL
2020.10.13
@허두

PlayerInteractEvent가 맞습니다

그러면 getItemInHand()대신으로 무엇을 사용하면 되나요?

허두
2020.10.13
@airL

getItem()을 사용하시면 될듯 합니다!

제가 전에 짰던 코드입니다:

b2f256e91a5591ebbcbde6ab21b5b8e5.png


airL
2020.10.13
@허두

감사합니다 참고하겠습니다

airL
2020.10.13
@허두

혹시 소스코드를 볼수있을까요?

 

허두
2020.10.13
@airL

어... 코드가 도움될지는 모르겠지만... (단순히 색 지정해서 함수로 연결해주는 쪽이라)

// code licensed to Minecraft User: _HURDOO_
@EventHandler
    public void itemUse(PlayerInteractEvent e)
    {
        p = e.getPlayer();
        
        if( e.getAction().equals(Action.RIGHT_CLICK_AIR)
           && Material.HEART_OF_THE_SEA.equals(e.getItem().getType())
           && e.getItem().getItemMeta().hasLore())
        {
         if(e.getItem().getItemMeta().getLore().get(0).contains("red"))
         {
            e.setCancelled(true);
             ChatColor color = ChatColor.RED;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.RED);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("yellow"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.YELLOW;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.YELLOW);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("green"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.GREEN;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.LIME);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("aqua"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.AQUA;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.AQUA);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("blue"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.BLUE;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.BLUE);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("light_purple"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.LIGHT_PURPLE;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.FUCHSIA);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("gray"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.GRAY;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.SILVER);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("white"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.WHITE;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.WHITE);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("dark_red"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.DARK_RED;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.MAROON);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("gold"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.GOLD;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.ORANGE);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("dark_green"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.DARK_GREEN;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.GREEN);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("dark_aqua"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.DARK_AQUA;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.BLUE);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("dark_blue"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.DARK_BLUE;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.NAVY);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("dark_purple"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.DARK_PURPLE;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.PURPLE);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("dark_gray"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.DARK_GRAY;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.GRAY);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
         else if(e.getItem().getItemMeta().getLore().get(0).contains("black"))
         {
                e.setCancelled(true);
             ChatColor color = ChatColor.BLACK;
             LeatherArmorMeta armormeta = (LeatherArmorMeta) chestplate.getItemMeta();
             armormeta.setColor(Color.BLACK);
             summonMinipet(color, armormeta);
             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
         }
        }
    }

어라 나 왜 switch case 안썼지..