KrejzolekPRO 600 Opublikowano 22 maja 2018 Udostępnij Opublikowano 22 maja 2018 (edytowane) No hej, kod: List<Material> drops = DropUtil.getDropsByChance(chance); if(drops != null || drops.size() == 0) { int amount = drops.size(); Material rolled = amount == 1 ? drops.get(0) : drops.get(random.nextInt(drops.size() -1)); event.getBlock().setType(rolled); event.getPlayer().sendMessage(ColorUtil.fixColor("&ePojawila sie ruda " + rolled.toString().replace("MATERIAL_", "").replace("DIAMOND_ORE", "diamentu").replace("EMERALD_ORE", "szmaragdu").replace("GOLD_ORE", "zlota").replace("IRON_ORE", "zelaza").replace("REDSTONE_ORE", "czerwonego proszku").replace("LAPIS_ORE", "lazurytu").replace("COAL_ORE", "wegla") + ", wykop ja!")); } Więc tak, chodzi o to, że poprawna wiadomość jest wysyłana, debugger, pokazywał poprawne dane, ale ustawianie bloku zmienną 'rolled' nie działa. Próbowałem już metodą taką, ale też nie działa. event.getBlock().getWorld().getBlockAt(event.getBlock().getLocation().setType(rolled)); Edytowane 22 maja 2018 przez KrejzolekPRO Odnośnik do komentarza https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 22 maja 2018 Udostępnij Opublikowano 22 maja 2018 (edytowane) List<Material> drops = DropUtil.getDropsByChance(chance); if(drops != null || drops.size() == 0) { int amount = drops.size(); Material rolled = amount == 1 ? drops.get(0) : drops.get(random.nextInt(drops.size() -1)); drops.size() moze zwraca 0? Sprawdzaj czy material rolled nie jest nullem, i zamiast event.getBlock().setType, uzywaj World#getBlockAt(coords x,y,z - int).setType, do tego rob inaczej replace, zrób sobie jakas mapke z aliasami czy cos, typu <Material, String> i po prostu wyszukuj z mapki No i daj caly kod bo po takim urywku to troche malo wrocilem z biegania, jestem zmeczony i spiacy, wiec moge sie troche mylic @edit no i to nie ma troche sensu Cytat event.getBlock().getWorld().getBlockAt(event.getBlock().getLocation().setType(rolled)); Edytowane 22 maja 2018 przez yooniks Odnośnik do komentarza https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/#findComment-180683 Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 600 Opublikowano 22 maja 2018 Autor Udostępnij Opublikowano 22 maja 2018 41 minut temu, yooniks napisał: List<Material> drops = DropUtil.getDropsByChance(chance); if(drops != null || drops.size() == 0) { int amount = drops.size(); Material rolled = amount == 1 ? drops.get(0) : drops.get(random.nextInt(drops.size() -1)); drops.size() moze zwraca 0? Sprawdzaj czy material rolled nie jest nullem, i zamiast event.getBlock().setType, uzywaj World#getBlockAt(coords x,y,z - int).setType, do tego rob inaczej replace, zrób sobie jakas mapke z aliasami czy cos, typu <Material, String> i po prostu wyszukuj z mapki No i daj caly kod bo po takim urywku to troche malo wrocilem z biegania, jestem zmeczony i spiacy, wiec moge sie troche mylic @edit no i to nie ma troche sensu nie ma sensu, bo się nawiasy pomyliły xD rolled nie jest nullem, bo debugger, który był wcześniej mi to pokazał Tu jest bład i powinno być != if(drops != null || drops.size() == 0) I obie metody nie ustawiają bloku Odnośnik do komentarza https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/#findComment-180700 Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 23 maja 2018 Udostępnij Opublikowano 23 maja 2018 11 godzin temu, KrejzolekPRO napisał: nie ma sensu, bo się nawiasy pomyliły xD rolled nie jest nullem, bo debugger, który był wcześniej mi to pokazał Tu jest bład i powinno być != if(drops != null || drops.size() == 0) I obie metody nie ustawiają bloku Pokaz czym jest event.getBlock (daj więcej kodu) I sprawdz czy nie jest on nullem Reedzev_ 1 Odnośnik do komentarza https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/#findComment-180714 Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 600 Opublikowano 23 maja 2018 Autor Udostępnij Opublikowano 23 maja 2018 10 minut temu, yooniks napisał: Pokaz czym jest event.getBlock (daj więcej kodu) I sprawdz czy nie jest on nullem event.getBlock() jest pobierany z BlockBreakEvent Odnośnik do komentarza https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/#findComment-180715 Udostępnij na innych stronach Więcej opcji udostępniania...
0 LloydPL 436 Opublikowano 23 maja 2018 Udostępnij Opublikowano 23 maja 2018 spróbuj zamiast zmiennej dać np. Material.GLASS żeby sprawdzić czy wgl coś postawi Odnośnik do komentarza https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/#findComment-180732 Udostępnij na innych stronach Więcej opcji udostępniania...
0 KrejzolekPRO 600 Opublikowano 23 maja 2018 Autor Udostępnij Opublikowano 23 maja 2018 2 godziny temu, LloydPL napisał: spróbuj zamiast zmiennej dać np. Material.GLASS żeby sprawdzić czy wgl coś postawi Wróciłem z domu i zrobiłem tak, ale też nie działa Dobra, spróbuje zmienić silnik na nowszą wersje Odnośnik do komentarza https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/#findComment-180755 Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 23 maja 2018 Udostępnij Opublikowano 23 maja 2018 (edytowane) 26 minut temu, KrejzolekPRO napisał: Wróciłem z domu i zrobiłem tak, ale też nie działa Dobra, spróbuje zmienić silnik na nowszą wersje sprobuj przed ustawieniem bloku zcancelowac event, czyli event.setCancelled(true); event.getBlock().setType(Material.GLASS); Edytowane 23 maja 2018 przez yooniks Odnośnik do komentarza https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/#findComment-180761 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
KrejzolekPRO 600
No hej, kod:
Więc tak, chodzi o to, że poprawna wiadomość jest wysyłana, debugger, pokazywał poprawne dane, ale ustawianie bloku zmienną 'rolled' nie działa. Próbowałem już metodą taką, ale też nie działa.
event.getBlock().getWorld().getBlockAt(event.getBlock().getLocation().setType(rolled));
Edytowane przez KrejzolekPROOdnośnik do komentarza
https://skript.pl/temat/27359-ustawianie-bloku-na-danej-lokalizacji/Udostępnij na innych stronach
7 odpowiedzi na to pytanie
Rekomendowane odpowiedzi