1Hubilol0 0 Opublikowano 4 lutego 2018 Udostępnij Opublikowano 4 lutego 2018 (edytowane) Czesc mam taki kod @EventHandler(ignoreCancelled = false, priority = EventPriority.HIGHEST) public void onDamage(EntityDamageEvent e){ Player p = (Player) e.getEntity(); p.sendMessage("§aDostales damage!"); p.sendMessage("§cDostales damage!"); p.getInventory().getHelmet().setDurability((short) -1); p.getInventory().getChestplate().setDurability((short) -1); p.getInventory().getLeggings().setDurability((short) -1); p.getInventory().getBoots().setDurability((short) -1); } } Chodzi zeby zbroja nie tracila na wytrzymalosci, z tym uderze z miecza sharpness 200 i zbroja peka... Pomocy. Probowalem z 0 i +10 ale tez nie dzialalo Edytowane 4 lutego 2018 przez Ixidi [code] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 4 lutego 2018 Udostępnij Opublikowano 4 lutego 2018 p.getInventory().getInventory().getHelmet().setDurability( (short) (p.getInventory().getHelmet().getDurability() - 1)); p.updateInventory(); nie wiem co dokladniej chcesz osiagnac, ale chyba o cos tkaiego ci chodzilo, i co do samego eventu ;/ jak juz chcesz to wybierz entitydamagebyentityevent, i do tego sprawdzaj czy e.getentity instanceof player bo inaczej castujesz playera do np. zombie i wywali bledy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 1Hubilol0 0 Opublikowano 4 lutego 2018 Autor Udostępnij Opublikowano 4 lutego 2018 @up chodzi mi właśnie o to aby ekwipunek był ew. wczytywany, aby w ogóle nie reagował na niszczenie się. Bo zbroja się naprawia przy słabszych uderzeniach, przy silniejszych na hita peka np helm Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 4 lutego 2018 Udostępnij Opublikowano 4 lutego 2018 to po prostu zakladaj tą samą zbroje, tylko z full durability Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 1Hubilol0 0 Opublikowano 4 lutego 2018 Autor Udostępnij Opublikowano 4 lutego 2018 moglbys podeslac jak to zrobic? bo ja nie wiem... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 598 Opublikowano 4 lutego 2018 Udostępnij Opublikowano 4 lutego 2018 @EventHandler(ignoreCancelled = false, priority = EventPriority.HIGHEST) public void onDamage(EntityDamageEvent e){ Player p = (Player) e.getEntity(); p.getInventory().setHelmet(p.getInventory().getHelmet().getDurability() - 1); p.getInventory().setChestplate(p.getInventory().getChestplate().getDurability() - 1); p.getInventory().setLeggings(p.getInventory().getLeggings().getDurability() - 1); p.getInventory().setBoots(p.getInventory().getBoots().getDurability() - 1); } 1Hubilol0 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 1Hubilol0 0 Opublikowano 4 lutego 2018 Autor Udostępnij Opublikowano 4 lutego 2018 (edytowane) @up setHelmet podswietla sie na czerwono... p.getInventory().setHelmet(p.getInventory().getHelmet().getDurability() - 1); Nie moglby ktos powiedziec o co chodzi? Edytowane 4 lutego 2018 przez 1Hubilol0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 krzysek 73 Opublikowano 4 lutego 2018 Udostępnij Opublikowano 4 lutego 2018 (edytowane) @1Hubilol0 Tak na wstępie. Krótko. Nie używaj paragrafów do nadawania kolorów, wystarczy korzystać z ChatColor.translateAlternateColorCodes. Efekt ten sam, a mniej obciąża. Ustawiasz parametr dla EventHandlera z ignoreCancelled na "false". Nie ma takiej potrzeby, domyślnie jest już tak ustawiony. Napisałem kawałek kodu: public class ArmorDurability implements Listener { @EventHandler(priority = EventPriority.HIGHEST) public void armorDurability(EntityDamageEvent e) { final Player player = (Player) e.getEntity(); player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&aDostales damage !")); player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cDostales damage !")); player.getInventory().setHelmet(restoreDurability(player.getInventory().getHelmet())); player.getInventory().setChestplate(restoreDurability(player.getInventory().getChestplate())); player.getInventory().setLeggings(restoreDurability(player.getInventory().getLeggings())); player.getInventory().setBoots(restoreDurability(player.getInventory().getBoots())); } protected ItemStack restoreDurability(final ItemStack itemStack) { itemStack.setDurability(itemStack.getType().getMaxDurability()); return itemStack; } } Powinno działać. Wystarczy sprawdzać maksymalną wytrzymałość danego przedmiotu, a następnie ustawić obecną na tą pobraną. Edytowane 4 lutego 2018 przez krzysek yooniks 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 1Hubilol0 0 Opublikowano 4 lutego 2018 Autor Udostępnij Opublikowano 4 lutego 2018 @up zbroja sie niszczy.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 717 Opublikowano 4 lutego 2018 Udostępnij Opublikowano 4 lutego 2018 Możesz ustawić niezniszczalność używając metody setUnbreakable(true) dla ItemMety. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 1Hubilol0 0 Opublikowano 4 lutego 2018 Autor Udostępnij Opublikowano 4 lutego 2018 @up jak? Dla calego seta mozesz napisac albo dla czesci Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 5 lutego 2018 Udostępnij Opublikowano 5 lutego 2018 @1Hubilol0 ItemStack#getItemMeta() czyli np: final boolean unbreakable = true; player.getInventory().getHelmet().getItemMeta().setUnbreakable(unbreakable); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 1Hubilol0 0 Opublikowano 5 lutego 2018 Autor Udostępnij Opublikowano 5 lutego 2018 @up podeslesz caly kod jak to zrobic przy uderzeniu? Chodzi mi o dodanie calego kodu ze zbroja zeby zawsze miala ubreaking bo to setunbreakable nie dziala Pomocy, moge kod na itemmeta czy cos zeby dodac setUnberakable do seta? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 1Hubilol0 0 Opublikowano 7 lutego 2018 Autor Udostępnij Opublikowano 7 lutego 2018 Ok, problem rozwiazany <3. Do zamknięcia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 717 Opublikowano 7 lutego 2018 Udostępnij Opublikowano 7 lutego 2018 Problem został rozwiązany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
1Hubilol0 0
Czesc mam taki kod
Chodzi zeby zbroja nie tracila na wytrzymalosci, z tym uderze z miecza sharpness 200 i zbroja peka... Pomocy.
Probowalem z 0 i +10 ale tez nie dzialalo
Edytowane przez Ixidi[code]
Odnośnik do komentarza
Udostępnij na innych stronach
14 odpowiedzi na to pytanie
Rekomendowane odpowiedzi