Usunięty#19006 26 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 (edytowane) Witam a więc mam kod na blokade stawiania bedrocka i beacona przez osobe ktora nie ma jakiejs permisji public void onPlace(BlockPlaceEvent e) { Block block = e.getBlock(); Player p = e.getPlayer(); if(e.getBlock().getType().equals(Material.BEDROCK)) { if(!p.hasPermission("bcode.security.place.bedrock")) { e.setCancelled(true); p.sendMessage("§7Nie mozesz tego zrobic! (§9bcode.security.place.bedrock§7)"); } else{ e.setCancelled(false); } } else if(e.getBlock().getType().equals(Material.BEACON)); if(!p.hasPermission("bcode.security.place.beacon")) { e.setCancelled(true); p.sendMessage("§7Nie mozesz tego zrobic! (§9bcode.security.place.beacon§7)"); } } } gdy stawiam bedrocka lub beacona nie majac zadnej permisji ani opa to dalej da się stawiać Edytowane 12 grudnia 2020 przez jhgggg Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 534 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 event zarejestrowany? if(e.getBlock().getType().equals(Material.BEDROCK)) { if(!p.hasPermission("bcode.security.place.bedrock")) { e.setCancelled(true); p.sendMessage("§7Nie mozesz tego zrobic! (§9bcode.security.place.bedrock§7)"); return; } } else if(e.getBlock().getType().equals(Material.BEACON)); if(!p.hasPermission("bcode.security.place.beacon")) { e.setCancelled(true); p.sendMessage("§7Nie mozesz tego zrobic! (§9bcode.security.place.beacon§7)"); return; } } troszke poprawiony kod Dodatkowo enumy porównujemy poprzez == a nie .equals, tzn if getType() == Material.BEACON Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1824 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 1. Jeżeli już utworzyłeś zmienną 'block', to z niej korzystaj. 2. Do porównywania enumów powinieneś wykorzystywać operator '==', nie metodę equals(). 3. Blok 'else' w linijce 8 jest całkowicie zbędny, gdyż wartość od cancela domyślnie to 'false'. Co do samego kodu nie widzę innych błędów, błąd może być również zawarty w nazwie permisji albo w źle zarejestrowanym evencie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#19006 26 Opublikowano 12 grudnia 2020 Autor Udostępnij Opublikowano 12 grudnia 2020 (edytowane) Dalej nie działa obecny kod: public class OnPlaceListener implements Listener{ public void onPlace(BlockPlaceEvent e) { Player p = e.getPlayer(); if(e.getBlock().getType() == Material.BEDROCK) { if(!p.hasPermission("bcode.security.place.bedrock")) { e.setCancelled(true); p.sendMessage("§7Nie mozesz tego zrobic! (§9bcode.security.place.bedrock§7)"); return; } } else if(e.getBlock().getType() == Material.BEACON); if(!p.hasPermission("bcode.security.place.beacon")) { e.setCancelled(true); p.sendMessage("§7Nie mozesz tego zrobic! (§9bcode.security.place.beacon§7)"); return; } } } public class Main extends JavaPlugin{ public void onEnable() { Bukkit.getPluginManager().registerEvents(new OnBreakListener(), this); Bukkit.getPluginManager().registerEvents(new OnPlaceListener(), this); } } ? Edytowane 12 grudnia 2020 przez jhgggg poprawka Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#29721 19 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 (edytowane) Brakuje klamry otwierającej w 11 linijce. Edytowane 12 grudnia 2020 przez nof Kormic 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#19006 26 Opublikowano 12 grudnia 2020 Autor Udostępnij Opublikowano 12 grudnia 2020 (edytowane) Godzinę temu, nof napisał: Brakuje klamry otwierającej w 11 Dodałem klamre i dalej nie działa.. stawiam bez opa, bez zadnych permisji, eventy zarejestrowałem (u góry kod głównej klasy) ale dalej nie działa, nawet wiadomości nie wysyła Edytowane 12 grudnia 2020 przez jhgggg Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 534 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 dodaj @EventHandler nad metodą Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#34161 123 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 Problem został rozwiązany. Z powodu "oznacz jako najlepsza odpowiedź". nwse 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Usunięty#19006 26
Witam a więc mam kod na blokade stawiania bedrocka i beacona przez osobe ktora nie ma jakiejs permisji
gdy stawiam bedrocka lub beacona nie majac zadnej permisji ani opa to dalej da się stawiać
Edytowane przez jhggggOdnośnik do komentarza
Udostępnij na innych stronach
7 odpowiedzi na to pytanie
Rekomendowane odpowiedzi