szymek12 0 Opublikowano 8 lipca 2021 Udostępnij Opublikowano 8 lipca 2021 Witam, stworzylem wlasne inventory z rangami (pokazuje jaki prefix ma dana ranga, uprawnienia itp). Wie ktos co zrobic aby gracze nie mogli wyjmowac z tego gui zadnego itemu? package test.events; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import net.md_5.bungee.api.ChatColor; import test.gui.RanksGUI; public class onInventory implements Listener { @EventHandler public void onInventory(InventoryClickEvent e) { if(!ChatColor.stripColor(e.getView().getTitle()).equalsIgnoreCase("rangi")) return; Player p = (Player) e.getWhoClicked(); e.setCancelled(true); if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || !e.getCurrentItem().hasItemMeta()) { p.closeInventory(); return; } switch(e.getCurrentItem().getType()) { case STONE: RanksGUI.openGUI(p); break; case GOLD_INGOT: RanksGUI.openGUI(p); break; case DIAMOND: RanksGUI.openGUI(p); default: p.closeInventory(); break; } } } Wstawiam kod w code. Notatka dodana przez Glicz Odnośnik do komentarza https://skript.pl/temat/49441-problem-z-pluginem/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 8 lipca 2021 Udostępnij Opublikowano 8 lipca 2021 Ten temat został przeniesiony. Odnośnik do komentarza https://skript.pl/temat/49441-problem-z-pluginem/#findComment-306766 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LeviBoyPL 161 Opublikowano 9 lipca 2021 Udostępnij Opublikowano 9 lipca 2021 Co się dzieje aktualnie? Odnośnik do komentarza https://skript.pl/temat/49441-problem-z-pluginem/#findComment-306788 Udostępnij na innych stronach Więcej opcji udostępniania...
0 szymek12 0 Opublikowano 9 lipca 2021 Autor Udostępnij Opublikowano 9 lipca 2021 2 godziny temu, LeviBoyPL napisał: Co się dzieje aktualnie? Gracze z utworzonego przeze mnie GUI moga wyjmowac rzeczy a nie powinni moc Odnośnik do komentarza https://skript.pl/temat/49441-problem-z-pluginem/#findComment-306795 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LeviBoyPL 161 Opublikowano 9 lipca 2021 Udostępnij Opublikowano 9 lipca 2021 W takim razie pierwszy warunek jest niespełniony i reszta kodu nie jest wykonywana, albo nie zarejestrowałeś listenera Odnośnik do komentarza https://skript.pl/temat/49441-problem-z-pluginem/#findComment-306798 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#25876 Opublikowano 9 lipca 2021 Udostępnij Opublikowano 9 lipca 2021 18 godzin temu, szymek12 napisał: case STONE: RanksGUI.openGUI(p); break; case GOLD_INGOT: RanksGUI.openGUI(p); break; case DIAMOND: RanksGUI.openGUI(p); Swoją drogą to może być zamienione na: case STONE: case GOLD_INGOT: case DIAMOND: RanksGUI.openGUI(p); break; Break w default, czyli tak naprawdę w ostatnim 'case' jest niepotrzebny, bo nic w switchu po nim nie ma, więc też nie ma czego przerywać. Powinieneś również rozważyć zmianę nazwy klasy, bo je się raczej nazywa PascalCase, no i nie tak jak metodę - nie w tym przypadku na pewno. Jeżeli chodzi o sam problem dlaczego dalej da się wyjmować przedmioty z GUI, to powinieneś również anulować InventoryDragEvent, bo samo Click może być najwyżej do shift + click. Odnośnik do komentarza https://skript.pl/temat/49441-problem-z-pluginem/#findComment-306799 Udostępnij na innych stronach Więcej opcji udostępniania...
0 szymek12 0 Opublikowano 9 lipca 2021 Autor Udostępnij Opublikowano 9 lipca 2021 55 minut temu, zrdzn napisał: Swoją drogą to może być zamienione na: case STONE: case GOLD_INGOT: case DIAMOND: RanksGUI.openGUI(p); break; Break w default, czyli tak naprawdę w ostatnim 'case' jest niepotrzebny, bo nic w switchu po nim nie ma, więc też nie ma czego przerywać. Powinieneś również rozważyć zmianę nazwy klasy, bo je się raczej nazywa PascalCase, no i nie tak jak metodę - nie w tym przypadku na pewno. Jeżeli chodzi o sam problem dlaczego dalej da się wyjmować przedmioty z GUI, to powinieneś również anulować InventoryDragEvent, bo samo Click może być najwyżej do shift + click. Dzięki za radę, zmieniłem te case na takie jak ty napisałeś. Co do problemu, okazało się, że umknęła mi jedna literka, która była napisana z wielkiej litery. W equalsignorecase zmieniłem tytuł na prawidłowy i już wszystko działa. Dzieki wszystkim za pomoc Odnośnik do komentarza https://skript.pl/temat/49441-problem-z-pluginem/#findComment-306800 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
szymek12 0
Witam, stworzylem wlasne inventory z rangami (pokazuje jaki prefix ma dana ranga, uprawnienia itp). Wie ktos co zrobic aby gracze nie mogli wyjmowac z tego gui zadnego itemu?
Wstawiam kod w code.
Notatka dodana przez Glicz
Odnośnik do komentarza
https://skript.pl/temat/49441-problem-z-pluginem/Udostępnij na innych stronach
6 odpowiedzi na to pytanie
Rekomendowane odpowiedzi