Skocz do zawartości

yooniks

Użytkownik
  • Ilość zawartości

    987
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    13

Treść opublikowana przez yooniks

  1. może przeteleportuj do tej lokalizacji? jakieś błędy? nie będę patrzył w dokumentację ale w tej metodzie setlocation parametrem nie powinno być location?
  2. nic nie widzę na zdjęciach, rozmazany kod, czemu nie wkleisz go po prostu jako jeden kod, tak samo logi
  3. buduj projekt artefaktami bo maven nie znajduje nms, lub wysyłaj actionbara refleksjami/czymś innym, nie używaj po prostu nms
  4. tak jak wyzej /\ najedz na ten blad i pokaz co tam pisze, to moze byc cokolwiek, a z fusów nie wróżymyyy, jak dodasz zdjecie z bledem to zedytuje tą odpowiedź
  5. Kurde na zaawansowany skrypt to mi to nie wygląda =/ wiecej wiadomosci o autorze i skrypcie niz kodu i tez nie wiem od czego zmienne {hl} i {ab} bo bugow to tu raczej nie bedzie a zapychac variables tym to bez sensu
  6. no i bardzo ładnie, na spigotmc już by cię zwyzywali, tak się rodzą serwery z najlepszymi core pvp. jeszcze żeby ten kod był dobry
  7. Witam. Tutaj nie robimy wszystkiego za ciebie, pomagamy z kodem a nie robimy go za ciebie Napisz czego nie umiesz, a my ci to wytłumaczymy lub powiemy czemu aktualny kod nie dziala
  8. yooniks

    Sklep

    a jak inaczej gui chcesz zrobic bez ustawiania slotow
  9. w metodzie getchance podajesz sam ℅ ℅ dropu pomiędzy 0 a 100
  10. nie https://www.jetbrains.com/help/idea/working-with-artifacts.html https://4programmers.net/Forum/Java/253391-tworzenia_jara_w_intelij_ serio tak trudno wpisac to w google
  11. https://github.com/KarolekFM/karolekDrop/blob/master/src/main/java/net/karolek/drop/utils/RandomUtil.java uzyj tej metody od sprawdzania szansy
  12. jakby co to zeby zrobic to inaczej to po prostu: int count = 0; final String message = "SIEMa"; for (int i = 0; i < message.length(); i++) { if (Character.isUpperCase(message.charAt(i))) { count++; } } final float percent = count * 100.0F / message.length(); a w configu ustawiasz od ilu procentu ma cancelowac wiadomosc z capslockiem :d powyzszy kod zwraca poprawnie 80%
  13. No taki sobie bym powiedzial, kod nie powala tutaj chyba chciales && dac i to co od razu zauwazylem: wszedzie traktujesz wartosc dla "enabled" jako string, zamiast po prostu boolean.. Nie uzywaj tez soutów (System.out#println) od tego masz loggera ten replace tez niepotrzebny.. do tego masz jeszcze chatcolor.translatealternatecolorcodes nie dla zabawy, a wszyscy w pierwszych pluginach uzywaja replace ehh po co ten listener w mainie? nazewnictwo klas tez takie aby było zamiast za kazdym razem to pobierac z configu i sprawdzac to wystarczy raz zaladowac i trzymac w finalnej zmiennej, wgl po co ta opcja do wylaczania pluginu ("enabled") skoro plugin i tak sie wlacza i rejestruje eventy tylko nic nie robi w nich, bez sensu, jakby ktos chcial wylaczyc to by wyrzucil plugin lub powinien sie wgl nie ladowac skoro juz taka opcje dodajesz no nie wiem czy ten equals to bedzie dzialal tak jak kazdy chce, (myslalem ze ogolnie wszystkie litery z duzej litery zablokowane) i ten setmessage w else niepotrzebny tak samo te wiadomosci wszystkie moglbys tylko raz ladowac, a nie za kazdym razem od nowa kolorowac, pobierac z configu i laczyc A tak to moze byc ;d chociaz pluginow na to jest juz pelno, a pomysly na tym forum sie powtarzają
  14. Download nie działa, dalej czekam na source code. @edit mediafire wyrzucalo jakies bledy od http ale za 10 razem sie udalo, a wiec tak: public class User { public static List<String> gracze; public class UserManager { private static Map<Player, User> users; trzymasz graczy w klasie User (nie dosc ze lista to jeszcze bedziesz po nicku szukal) i do tego UserManager, (trzymanie playera zamiast uuid = ) public class Task extends BukkitRunnable { public Task() { super(); } public void run() { final Player p; final Location l1; final Player player; Location l2; final Location location; UserManager.getUsers().values().forEach(user -> { p = user.getPlayer(); l1 = p.getLocation(); new Thread(() -> { try { Thread.sleep(1000L); l2 = player.getLocation(); if (location.equals((Object)l2)) { CO TO public static String fixColor(final String text) { return text.replace(">>", "»").replace("<<", "«").replace("&", "§"); } =( prawie wszystko w sumie nie twoje xd a jak juz twoje to zrobione i pomieszane jak kupa ten task to juz wgl, nw jak ty to robiles, nie polecam nawet wgrywac tego na serwer xd dziala tylko na 1.8.8 bo uzywasz nms od 1_8_r3, na innych wersjach wywali blad circlegui 1:1 gui myhardow, w userze trzymasz playera, do tego pod nazwa "nick", trzymasz userow po playerze a nie po uuid, noo slabo i tyle
  15. Jedyne co próbowałeś to nie swojego kodu ;/ tu jest jeszcze 10 ifow ktore wykonują to samo, widać że nic tylko ukradłeś komuś cała klasę. Jak ma tag na zielono to warunek z equals się spelnia(nawet nie wiem gdzie te kolorki ale zgaduje że jak ta sama gildia tylko to wtedy zielony tag), pewnie coś źle zrobiłeś w metodzie equals lub coś jest pomieszane po relogu
  16. Nie jestem pewien czy da się wykryć czy gracz zamknął książkę ;/ raczej nie tu masz otwieranie https://www.spigotmc.org/threads/resource-bookutil-1-8-1-9.131549/
  17. yooniks

    Kolejny problem

    jest od tego metoda w worldborderze, możesz to po prostu wyrenderowac przed startem edycji żeby potem nie musiało się renderowac
  18. tak jak napisał kolega wyżej a ty masz chociaz dokument ukończenia szkoły podstawowej? po twojej ortografii jestem trochę zmieszany;/ programistą mogę nazywać się nawet jak zrobię prosty program hello world.. już więcej w domu się nauczę o programowaniu niż w tym technikum na informatyce - uwierz ze z programowania nic tam nie ma, a word mi do życia nie jest potrzebny XD Jestem aktualnie na takim profilu i za ciekawie to tu nie jest, jeżeli pada słowo programowanie to każdy jest od razu przerażony
  19. jak już zaczynasz z java to też warto nauczyć sie czytać dokumentację, wtedy byś wiedział co ci kolega wysłał
  20. yooniks

    Komenda na /pomoc

    Kurde naucz sie podstaw to nie bedziesz pytał o tak banalne rzeczy.. I zamiast w configu robic 10 list od wiadomosci 10 komend to wystarczy zrobic od razu sekcje z komendami, ich aliasami i wiadomosciami do gracza po ich uzyciu przyklad konfiguracji yaml: commands: /pomoc: aliases: ['/help', '/plzhelp'] message: "It's first line!\nAnd it's second line!" #... i tak caly czas do tego gdzies to wszystko czytasz i ladujesz komendy do listy (tworzysz obiekty, najlepiej: public class Command { private final String name; private final Set<String> aliases; //constructor and getters } ), a w evencie playercommandpreprocessevent sprawdzasz czy event.getmessage() znajduje sie w elemencie z listy lub czy aliasy elementu (petla for, a najlepiej streamem) to event.getmessage() - jezeli tak to wysylasz wiadomosc z obiektu @edit nie uzywaj paragrafow, i yaml wspiera teksty wielo-linijkowe, czyli mozesz uzywac \n (jest na to wiele innych sposobow, ale to najlepiej ogarniesz) no a tak to wystarczy przeczytac dokumentacje lub po prostu jakis poradnik dla plikow konfiguracji bukkita, YamlConfiguration#getStringList
  21. yooniks

    Title

    nie
  22. yooniks

    Baza MySQL

    a gdzie blad? z fusow wróżymy? gdyby bylo cos trudniejszego bez stacktrace bym nie doszedl do problemu, ale to pewnie przez to ze nie inicjujesz zmiennej storage wiec rzuca nulla, tak jest jak sie przepisuje kod, (chyba?) bo coś podobnego kiedyś widziałem w myhardach protected void database() { boolean c = storage.connect(); if (c) { storage.createTables(); } } ^ tutaj przypisuj wartosc zmiennej storage
  23. Czy ja wiem, ja tam czytalem wiele poradnikow i nie widzialem managerow =( No ja myśle, że taki usermanager, którego chcesz używać to najczęściej tylko mapka z userami (i ew. dodatkowe cache), a zapis (do jakiejs bazy danych) powinien byc jeszcze w oddzielnej klasie. https://github.com/yooniks/NatalciaGuilds/blob/master/natalciaguilds-bukkit/src/main/java/xyz/yooniks/natalciaguilds/bukkit/user/UserManagerImpl.java public class UserManager { private final Map<UUID, User> userMap = new HashMap<>(); private final Cache<UUID, User> userCache = CacheBuilder.newBuilder() .expireAfterWrite(30, TimeUnit.MINUTES) .build(); public User createUser(UUID uuid) { User user = this.userMap.get(uuid); if (user == null) { final User cachedUser = this.userCache.getIfPresent(uuid); if (cachedUser != null) { this.userMap.put(uuid, user = cachedUser); return user; } this.userMap.put(uuid, user = new UserImpl(uuid)); } return user; } public void removeUser(UUID uuid) { final User user = this.userMap.get(uuid); if (user != null) { this.userCache.put(uuid, user); } this.userMap.remove(uuid); } } przy kazdym wyjsciu gracza z serwera wywolujesz na nim metode removeUse, no a gdy po prostu chcesz sie dodstac do usera to wywolujesz komende createUser (ktora pomimo nazwy - moze mylic, ale nie tworzy usera za kazdym razem - gdy owy juz istnieje to po prostu go zwraca, ew. gdy nie istnial ale istnieje taki user w userCache (tzn. wyszedl i wrocil w ciagu 30 minut) to wrzuca do mapki z powrotem tego usera i go zwraca)
  24. yooniks

    NS-CustomCMD

    To ja jeszcze czepne sie tego: import org.bukkit.craftbukkit.v1_8_R3.CraftServer; brak wsparcia dla wersji innych niz 1.8.8 public class Config { public FileConfiguration cfg = Main.getInst().getConfig(); public void load() { for(String a : cfg.getConfigurationSection("commands").getKeys(false)){ String name = a; List<String> content = cfg.getStringList("commands."+a); ((CraftServer) Main.getInst().getServer()).getCommandMap().register(name, new CustomCommand(name,content)); } } } 1. package "files" a plikow to raczej nie dotyczy, tylko konfiguracji 2. no w sumie konfiguracji to tez nie bo to laduje komendy tylko z configu (nawet nazwa klasy myląca) for(String a : cfg.getConfigurationSection("commands").getKeys(false)){ String name = a; List<String> content = cfg.getStringList("commands."+a); nie latwiej i czytelniej for (String name : section.getKeys(false)) { } lub nawet stream ze sprowadzaniem (poprzez .map()) do obiektu CustomCommand i po prostu rejestracja no i ogolnie tak jakos niechlujnie napisane=(
  25. stringutils.center()? lub możesz zrobić statycznego fielda ze spacjami i go cały czas dodawac do swojego stringa
×
×
  • Dodaj nową pozycję...