Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z pętlą white - wykonywanie się tylko raz


Rekomendowane odpowiedzi

Opublikowano

Witajcie,

Dlaczego petla WHILE sie tylko raz wykonuje przeciez warunek jest? W czym blad?

    @EventHandler
    public void onBlockPlace(BlockPlaceEvent e) {
        int i = -1;
        Location loc = e.getBlockPlaced().getLocation().add(0, i, 0);
        if(e.getPlayer().getItemInHand().hasItemMeta()) {
            if(e.getPlayer().getItemInHand().isSimilar(trololololalalal())) {
                if(wg.canBuild(e.getPlayer(), e.getBlock())) {
                    while(loc.getBlock().getType().equals(Material.AIR)) {
                        loc.getBlock().setType(Material.OBSIDIAN);
                        i--;
                        e.getPlayer().sendMessage("Petla... ["+i+"]");
                    }
                    e.getPlayer().sendMessage("Koniec Petli...");
                }
            }
        }
    }
Opublikowano

Może warunek jest spełniony tylko raz dlatego nigdy więcej sie nie wykona??

 

Ps: Zły dział

Opublikowano
Twoja pętla wykonuje się tylko wtedy gdy blok jest powietrzem. Ty w prętli zamieniasz sprawdzany blok na obsydian.

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Opublikowano

2UP twoja odpowiedz nic nie wniosla do tematu kolego... A czy zly dzial czy dobry nie ty decydujesz wiec shout up...

Warunek sie tylko raz wykonuje to akurat wiem tylko nie wiem jak to naprawic...


@Veasst wiesz jak to naprawic...?

Opublikowano
Nie wiem co chcesz dokładnie zrobić. Zamieniasz blok na obsydian jeśli ten jest powietrzem. Nie widzę potrzeby używania pętli tutaj.

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Opublikowano

Skoro boyfarmer, zrób to trochę inaczej:

­

@EventHandler
    public void onBlockPlace(BlockPlaceEvent e) {
        int i = -1;
        Location loc = e.getBlockPlaced().getLocation().add(0, i, 0);
        if(e.getPlayer().getItemInHand().hasItemMeta()) {
            if(e.getPlayer().getItemInHand().isSimilar(trololololalalal())) {
                if(wg.canBuild(e.getPlayer(), e.getBlock())) {
                    while(loc.getBlock().getType().equals(Material.BEDROCK)) {
                        loc.getBlock().setType(Material.OBSIDIAN);
                        i--;
                        loc = e.getBlockPlaced().getLocation().add(0, i, 0);
                        e.getPlayer().sendMessage("Petla... ["+i+"]");
                    }
                    e.getPlayer().sendMessage("Koniec Petli...");
                }
            }
        }
    }

Zrobiłbym to na twoim miejscu jeszcze inaczej, ale jestem leniem i nie chce mi się pisać dla ciebie gotowego kodu. Powinno działac, c*****o ale powinno.

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...