Gość Usunięty#19006 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 https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 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 https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/#findComment-272938 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 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 https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/#findComment-272939 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#19006 Opublikowano 12 grudnia 2020 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 https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/#findComment-272941 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#29721 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 (edytowane) Brakuje klamry otwierającej w 11 linijce. Edytowane 12 grudnia 2020 przez nof Odnośnik do komentarza https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/#findComment-272946 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#19006 Opublikowano 12 grudnia 2020 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 https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/#findComment-272957 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 dodaj @EventHandler nad metodą Odnośnik do komentarza https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/#findComment-272960 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#34161 Opublikowano 12 grudnia 2020 Udostępnij Opublikowano 12 grudnia 2020 Problem został rozwiązany. Z powodu "oznacz jako najlepsza odpowiedź". Odnośnik do komentarza https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/#findComment-272964 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Gość Usunięty#19006
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 przez jhggggOdnośnik do komentarza
https://skript.pl/temat/43588-co-tu-jest-%C5%BAle/Udostępnij na innych stronach
7 odpowiedzi na to pytanie
Rekomendowane odpowiedzi