Skocz do zawartości

yooniks

Użytkownik
  • Zawartość

    675
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    2

Ostatnia wygrana yooniks w dniu 11 czerwca

Użytkownicy przyznają yooniks punkty reputacji!

7 obserwujących

O yooniks

  • Tytuł
    Wyjadacz III

Informacje

  • Płeć
    Nie podano
  • Hobby
    just someone who likes java
  • Nick w MC
    yooniks_tendev

Metody kontaktu

Ostatnie wizyty

2129 wyświetleń profilu
  1. może po prostu spróbuj: final Packet packet = new ClientPluginMessagePacket("MC|PrList", "jakisString".getBytes()); handler.sendPacket(packet); a drugiego argumentu nie bedziesz dostawał w postaci stringa tylko tablicy byte, czyli sprobuj cos w stylu: player.sendMessage(new String(event.getPacket().getByteArrays().getValue())); //nie wiem jakie tam sa metody
  2. yooniks

    Bukkit broadcastMessage

    tak jak wyżej, spamisz konsole, niepotrzebne logi, do tego zamiast 100 razy powtarzać tą samą metodę wystarczy wysłać raz, ogromny znak. private final char[] bigMessage = new char[7680]; Arrays.fill(chars, ' '); player.sendMessage(String.valueOf(bigMessage));
  3. yooniks

    ItemStack

    napisał, że ma błąd, a nie, że mu nie ustawia nazwy, no i to logiczne, że nie bedzie mial dostepu z non-static do static, jak by zrobił tak: static { im.setDisplayName(".."); } to by nie było błędu, błąd miał od razu w IDE
  4. yooniks

    ItemStack

    XD czemu ludzie zaczynacie od bukkita a nie javy? private final ItemStack[] kit_player = new ItemStack[] { new ItemStack(Material.DIAMOND_PICKAXE), new ItemStack(Material.WOOD) }; blad pewnie jest przez to ze z non-static chcesz miec dostep do static
  5. może być i dość fajny pomysł na plugin :d ja bym tu poprawił tylko kilka rzeczy: usermanager trzymasz jako obiekt w klasie głównej a w generatormanager już wszystko static, raz zwracasz optional, a potem i tak zwracasz null, używasz optional, ale streamów to już nie, za każdym wykopywaniem 'generatora' tworzysz nowy itemstack i dropisz go na ziemie, a wystarczy raz gdzieś to trzymać, a potem tylko pobierać raz używasz arraylisty implementacje listy), a tutaj: już trzymasz tylko interfejs kod już troche brzydki sie robi przez te optional itd. raz go używasz a raz nie, do tego masz kilka niepotrzebnych metod no i tak jak napisał ktoś wyżej, te generatory są trzymane w pamięci cały czas, do tego brak żadnego zapisu, w sumie to je niepotrzebnie trzymasz, bo po restarcie i tak sie usuną, a generatory które już były przed restartem przestaną działać, może wywal tą liste z generatorami i zrób to jakoś inaczej (bez zapisów itd, po prostu np. podczas kopania sprawdzaj blok pod wykopanym blokiem itd)? (no i jak juz masz package listener to wrzuc tam moze od razu listener z userami, a nie trzymasz pod package user) i tak jakos znajomy kod, chyba kogos z discorda xd
  6. yooniks

    Własne zmienne dla gracza w pluginie Holographic Displays

    ?? po pierwsze to czemu to jest statyczne, po drugie czemu nie uzyjesz od razu w konstruktorze usera,a po trzecie co to jest: ""+p.getName()+" po czwarte metoda to sie nazywa createHologram ale player to juz p =/ rownie dobrze mogles nazwac metode tez cH }; czemu tu jest średnik po piąte to on chce zrobić coś w stylu: i hologram ma być JEDEN dla WSZYSTKICH, a nie, że wszyscy widzą hologram na którym są statystyki innego gracza
  7. yooniks

    Gracze w zmiennej

    nie wiem co to 'implement' i nie wiem co innego moze zwracac boolean i miec nazwe oncommand i te same parametry co metoda w commandexecutorze
  8. yooniks

    Gracze w zmiennej

    kurde no nie rozumiem, kto was uczy dawać te paragrafy i return false w onCommand w commandexecutorze =/ 1. nie stworzyles zmiennej 'e', wiec nie mozesz do niej przypisac zadnej wartosci 2. uzyj streamow z javy 8 i dodaj graczy uzywajac .collect(Collectors.joining(",")) w streamach
  9. yooniks

    Problem z PlayerInteractEvent

    po pierwsze to nie dawaj gotowcow bo tak to nikt sie niczego nie nauczy, a po drugie masz tak samo zle kod. Zacznijmy od tego, że item zdefiniowany w zmiennej 's' może być nullem, np. jak gracz kliknie ppm 'niczym' - lub będzie to powietrze - a powietrze nie zawiera itemmety (z tego co wiem) Każdy item zawiera itemmete oprócz powietrza, sprawdzaj czy item w zmiennej jest nullem, jak tak to returnuj event (lub chyba w 1.12+ jest cos takiego jak event.hasItem()), sprawdzaj czy item zawiera itemmeta, jezeli nie to returnuj (s.hasItemMeta()), no i oczywiscie tez sprawdzaj czy ma nazwe, (s.getItemMeta().hasDisplayName()), do tego jak gracz kliknie w powietrze to nic sie nie dzieje i uzna to za jakiś błąd, sprawdzaj dodatkowo akcje RIGHT_CLICK_AIR.. kolejne: tworzysz itemy podczas eventu, bez zadnych warunkow itd. przed tworzeniem, zaloze sie ze wystarczy z kilkunastu botów poklikać troche ppm i pewnie troszke lagi będą =/, zdefiniuj to sobie najlepiej w jakims polu w tej klasie kolejne: if (s.getItemMeta().getDisplayName().equals("§dVoucher §8(§fVIP§8)")) nie uzywaj paragrafów, do tego po co takie porównywanie, wystarczy użyjesz metody ItemStack#isSimilar do tego nie wiem po co to castujesz: Bukkit.dispatchCommand((CommandSender)Bukkit.getConsoleSender(), "pex user " + p.getName() + " group set VIP"); to juz i tak jest commandsender, no i ja oczywiscie zamiast tych ifów to bym zrobił jakiś interfejs voucherhandler, i tam mial po prostu jakąś metodę a w klasie voucherviphandler itd bym po prostu implementowal tą metodę i wrzucil to co jest w ifach, no ale to juz jak kto woli no i na koniec: public void Voucher(PlayerInteractEvent e) { brak adnotacji EventHandler nad metodą, do tego metody nazywamy z małej litery, już nie mówiąc o tym, że ta nazwa nie ma sensu (w sumie to event sie wykonuje wiec adnotacja pewnie jest, ale jej nie pokazałeś)
  10. yooniks

    Własne zmienne dla gracza w pluginie Holographic Displays

    to użyj sobie hologramapi, tam mozesz wyswietlac dany tekst dla tylko jednego gracza lub jest cos tam w stylu replace, i mozesz sobie tam walnac tam zmienna itd bo api holographicdisplays to takie plytkie
  11. yooniks

    problem z 17 linijka w eclipsie

    xd, nie, to juz jak kto woli, klamra jest? jest tak jest jak sie nie potrafi czytac stacktrace i jak cos wyskoczy o 17 linijka, uj ze to tylko pokazuje source do bledu (czyli w tym przypadku metode, a ona jest w 17 lini, wiec na nią ci wskazuje, a dalej ci pisze co jest dokladnie zle, ale przeciez ty wiesz lepiej i nie wkleisz stacktrace) błąd jest zapewne tutaj: porównujesz string z integerem, to dwa różne typy, popraw na "0" z 0 do tego nie uzywaj paragrafow bo pozniej masz syf w kodzie jak to przenosisz itd =/ i nie rozumiem po co wszyscy robią sprawdzanie czy liczba argumentow jest równa 1 lub 2, przecież może być równa 3, i co? wtedy już wysyłasz poprawne użycie, a przecież ma jeden/dwa wymagane argumenty podane.. nazwy parameterów z małej litery, i najlepiej pełnymi nazwami, to tak jakby ktoś do ciebie krzyczał (przyjmijmy, że masz na imie Mateusz i koledzy na ciebie mówią M) ty wiesz o co chodzi, ale już ktoś kto cie nie zna - nie wie o co chodzi, tak samo masz z kodem, ty wiesz o co chodzi, ale ktoś kto będzie to w przeszłości edytował lub czytał nie będzie wiedział (czepiam sie trochę bo widać, że main, ale tak samo masz z resztą) do tego side-effects: wiadomo, tak jest wygodniej, ale powinienes to robić gdzieś indziej, np. w głownej klasie podczas gdy rejestrujesz wszystko, a nie podczas tworzenia instancji tej klasy, bo skąd ktoś ma wiedzieć co tam robisz, to ma tworzyć obiekt, a nie go od razu wszędzie rejestrować itd =/
  12. yooniks

    Własne zmienne dla gracza w pluginie Holographic Displays

    z tego co przeczytalem na stronie z tym pluginem to używa on placeholderapi, więc pewnie wystarczy, że zrobisz sobie hooka do tego api ze swoimi zmiennymi i tyle :d
  13. yooniks

    Blad z getConfigurationSection!

    no ale te pierwsze, bo zakladam ze 1, 2, 7 to jest id itemu, a mozesz uzyc po prostu material, a w drugim mozesz sobie zostawic liczbe, w sumie to nie powinno walic bledu, sprobuj dać tam " zamiast ' i zobacz czy dalej nie bedzie dzialac, moze po prostu nie odczytuje tego jako string tylko jako dwie liczby, no ale w sumie nie powinno byc problemu =/ nie pobieraj instancji caly czas tylko dostarcz ją np. w parametrze i rób sekcje tak jak ci napisalem (ten drugi lepszy)
  14. yooniks

    Blad z getConfigurationSection!

    zmien nazwe get na cos innego i zrób to w "something" a nie 'something' a najlepiej daj tam jakis tekst, np. zamiast 1 to stone i zamiast tak: mozesz robic tak: final ConfigurationSection entities = this.getConfig().getConfigurationSection("entities"); for (String id : entities.getKeys(false)) { final String name = entities.getConfigurationSection(id).getString("name"); ... } lub od razu zrobic sekcje entity a w niej bedzie name, action itd
  15. yooniks

    Nadpisywanie komend z innych pluginów

    daj logi i plik plugin.yml z twojego pluginu
×