Karol123123123 16 Opublikowano 7 sierpnia 2021 Udostępnij Opublikowano 7 sierpnia 2021 (edytowane) Witam. Jak to przerobić tak żeby jak gracz kliknie w coś w gui to zamknie mu eq? @EventHandler public void onInventoryClick(InventoryClickEvent e) { if(!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Pomoc")); Player p = (Player) e.getWhoClicked(); e.setCancelled(true); p.closeInventory(); return; } } Edytowane 7 sierpnia 2021 przez Karol123123123 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 GRIERIOR 38 Opublikowano 7 sierpnia 2021 Udostępnij Opublikowano 7 sierpnia 2021 InventoryClickEvent posiada metodę getCurrentItem(), która zwraca podejrze po prostu ItemStack na który gracz kliknął, dalej chyba wiadomo, sprawdzasz co tam chcesz z tym itemem i tyle. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 550 Opublikowano 7 sierpnia 2021 Udostępnij Opublikowano 7 sierpnia 2021 Masz 2 wyjścia. Sprawdzać po przedmiocie lub po slocie 1. ItemStack itemStack = event.getCurrentItem(); /*tu sprawdzasz czy itemstack jest danym typem lub po itemmecie czy ma dana nazwe*/ 2. int slot = event.getSlot(); if (slot == 20) { /tu rob co chcesz } gnomq 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Karol123123123 16 Opublikowano 7 sierpnia 2021 Autor Udostępnij Opublikowano 7 sierpnia 2021 A nie idzie tego zrobić w szybszy sposob jak chce zrobić aby w całym GUI nie dało się klikac? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 550 Opublikowano 7 sierpnia 2021 Udostępnij Opublikowano 7 sierpnia 2021 e.setCancelled(true); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Karol123123123 16 Opublikowano 7 sierpnia 2021 Autor Udostępnij Opublikowano 7 sierpnia 2021 (edytowane) idk proboje juz na kilka sposobow i dalej mozna klikac w gui tutaj przyklad: package xyz.PomocGUI.main; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; public class Events implements Listener { Main plugin; public Events(Main M) { plugin = M; } @EventHandler public void onInventoryClick(InventoryClickEvent e) { if(!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Pomoc")) return; Player p = (Player) e.getWhoClicked(); e.setCancelled(true); p.closeInventory(); } } Edytowane 7 sierpnia 2021 przez Karol123123123 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 xMuffionex 105 Opublikowano 7 sierpnia 2021 Udostępnij Opublikowano 7 sierpnia 2021 Spróbuj wyprintowac do konsoli serwera coś po tym ifie w evencie abyś w ogóle sprawdził czy dobrze jest ten warunek skonstruowany bo tam też moze być błąd Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Zbucki 46 Opublikowano 7 sierpnia 2021 Udostępnij Opublikowano 7 sierpnia 2021 (edytowane) Na nowszych wersjach nazwe inventory w tym evencie pobiera się poprzez e.getView().getTitle(): package xyz.PomocGUI.main; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; public class Events implements Listener { Main plugin; public Events(Main M) { plugin = M; } @EventHandler public void onInventoryClick(InventoryClickEvent e) { if(!ChatColor.stripColor(e.getView().getTitle()).equalsIgnoreCase("Pomoc")) return; Player p = (Player) e.getWhoClicked(); e.setCancelled(true); p.closeInventory(); } } W starszych używasz inventory.getTitle() package xyz.PomocGUI.main; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; public class Events implements Listener { Main plugin; public Events(Main M) { plugin = M; } @EventHandler public void onInventoryClick(InventoryClickEvent e) { if(!ChatColor.stripColor(e.getInventory().getTitle()).equalsIgnoreCase("Pomoc")) return; Player p = (Player) e.getWhoClicked(); e.setCancelled(true); p.closeInventory(); } } Edytowane 7 sierpnia 2021 przez Zbucki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Karol123123123 16
Witam. Jak to przerobić tak żeby jak gracz kliknie w coś w gui to zamknie mu eq?
Odnośnik do komentarza
Udostępnij na innych stronach
7 odpowiedzi na to pytanie
Rekomendowane odpowiedzi