Skocz do zawartości

GotoFinal

Użytkownik
  • Ilość zawartości

    284
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    5

Treść opublikowana przez GotoFinal

  1. masz return w pętli.. więc tylko pierwszy gracz w pętli dostanie item, dobre IDE powinno podpowiedz że taka pętla nie ma sensu.
  2. za nazywanie temu "plugin nie działa" powinni banować. A zarejestrowałeś ten listener? I nie używaj getTypeID, tylko getType... numeryczne id nie są już wspierane. możesz też użyć r.nextBoolean skoro chcesz 50% A tak to nie działa bo dodałeś dziwny if: if (!shoot) { return; } i pewnie nigdzie tego nie zmieniasz
  3. GotoFinal

    HP Z LUKU

    @yooniks maxymalne hp: "+victim.getHealthScale() no niezbyt getMaxHealth jak już
  4. GotoFinal

    HP Z LUKU

    @yooniks Przecież nie znasz wszystkich pluginów na jego serwerze i tego jakie może wrzucić w przyszłości... więc nie dawaj mu kodu który psuje kompatybilność...
  5. GotoFinal

    HP Z LUKU

    no ale to wtedy nie ma nic do ilości HP, 1 serduszko nie musi nawet reprezentować 2 pkt HP, może reprezentować 1 lub 1000 - minecraft wspiera takie skalowanie. Więc takie dzielenie jest kompletnie niepoprawne i psuje kompatybilność z innymi pluginami które mogą modyfikować HP. Jak już dzielić to trzeba by obliczyć ilość HP przysługującą na jedno serce i wtedy wyświetlać uwzględniając ten fakt - np wyświetlać ilość HP jako emotki serc czy też dopisać że chodzi o serca a nie HP. Do tego zwyczajnie źle wtedy obliczasz tutaj: private double getHealth(Player target, double givenDamage) { final double health = ((target.getHealth()/2)-givenDamage); return health; } Bo od połowy hp gracza odejmujesz całość zadanego dmagae, co ma jeszcze mniej sensu. Więc nie dawaj takich kodów publicznie bo ci jakiś client kazał... a z klientem to warto pogadać czy na pewno rozumie to chce chce.
  6. GotoFinal

    HP Z LUKU

    @yooniks co ty tu odwalasz? czemu dzielisz health przez dwa? to nie ma żadnego sensu
  7. GotoFinal

    HP Z LUKU

    ale jaki ty masz dokładnie problem? wklej kod jaki aktualnie masz i co dokładnie chcesz uzyskać, bo nawet nie wiem o jakim evencie piszesz..
  8. GotoFinal

    xMetin

    public static String colorize(String msg) { String coloredMsg = ""; for (int i = 0; i < msg.length(); i++) { if (msg.charAt(i) == '&') { coloredMsg = coloredMsg + '�'; } else { coloredMsg = coloredMsg + msg.charAt(i); } } return coloredMsg; } po 1: w bukkcie jest od tego gotowa metoda: msg = ChatColor.translateAlternateColorCodes('&', msg); po 2: jak się operuje na stringach należy używać StringBuildera tak by nigdy w pętli nie dodawać do siebie stringów na takiej zasadzie, bo to bardzo wolne. Tyle razy ile string ma znaków, to tyle razy musisz kopiować całą jego zawartość i tworzyć nowy. Do tego klasy nazywa się zawsze z wielkiej litery. I do nazywania używa się języka angielskiego. Tak samo fajnie by było mieć wiadomości w osobnym pliku tak że każdy może sobie zmienić, lub nawet z systemem wybierania języka i domyślnymi wiadomościami dla pl/eng.
  9. jak już to private final List<String> msg = new ArrayList<>(); nie mozesz się odwołać do samego siebie.
  10. this.msg = Arrays.asList(""); tak się nie tworzy listy, tylko new ArrayList<>(), inaczej masz tylko array opakowane w liste, a to co innego.
  11. nie wiem, bo kompletnie nie zrozumiałem co chcesz, a wszystko to na co nie ma gotowej metody zawsze można zrobić samemu.
  12. Czy da się za pomocą bungeecorda pobrać dany serwer a następnie pobrać config z danego pluginu? wat? bungeecord to tylko proxy z kilkoma dodatkami. 2. ale skąd? jak z jednego z serwerów/bunge to wszystkie operacje są opisane tutaj https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/ 3. zacznij używać mavena <repositories> <repository> <id>sonatype-oss-repo</id> <url>https://oss.sonatype.org/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>net.md-5</groupId> <artifactId>bungeecord-api</artifactId> <version>1.12-SNAPSHOT</version> <scope>provided</scope> </dependency> </dependencies> do intellij jest też wygodny plugin co wygeneruje projekt do spigota/bungee z mavenem.
  13. No jak tak nie działa, to niestety z tego co wiem są tylko trzy sposoby: (i nie jestem pewien czy pierwszy działa poprawnie, dawno tego nie robiłem tam gdzie pracowałem to najczęściej używało się metody trzeciej, ale to dość sporo kodu więc nie znajdę i nie napiszę tego tutaj z palca, na pewno są jakiegoś gotowe biblioteki na spigotmc czy coś.) 1. Stworzyć prawdziwe kowadło i ustawić je jako holdera inventory: someBlock.setType(Material.ANVIL); Inventory inventory = Bukkit.createInventory((InventoryHolder) someBlock.getState(), InventoryType.ANVIL); someBlock to jakiś Block który sobie pobierasz, wydaje mi się że to też musi być block blisko gracza, ale możliwe że wystarczy że to jakiś block na załadowanym chunku - czyli np na spawnie. Ale nie zdziwię się wtedy jeśli przy zamykaniu EQ z itemami w środku wypadaną one obok kowadła zamiast gracza 2. Pakiety i tworzenie fałszywego bloku kowadła i fałszywego inventory kowadła i symulowanie każdej akcji ręcznie. 3. Kod z NMS by wymusić stworzenie fałszywego obiektu kowadła.
  14. oczywiście że nie.
  15. no pewnie zła konfiguracja, ale tak to autoin nie jest już wspierane, użyj fastlogin
  16. GotoFinal

    pewno pytanie

    ale z czym dokładnie masz problem? player.getInventory i tam masz metody jak np containsAtLeast, .remove, .removeItem .addItem https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/Inventory.html Tu masz opisane różne metody z inventory.
  17. No to dalej średniawy antybot, ale tak to zostaje to co napisałem w pierwszym poście, filtr do logów, lub poprawnie anty bota by wykonywał swoje sprawdzenia przed tą wiadomością.
  18. To jakie to dokładnie wiadomości? Wklej przykład
  19. to raczej słaby ten plugin na boty skoro boty zachodzą tak daleko że jest wiadomość o wejściu na serwer... Trzeba by dodać filtr do loggera, możesz poszukać jak to robi authme by usuwać z logów /login czy /register
  20. jak zostawało w tekście to wina pluginu ;/ pewnie robi idiotyczne replace każdego możliwego &X ale uwzględnił tylko kolory... wina że autor pluginu nie potrafi ich poprawnie pisać, zgłoś buga do autora, a tak to możesz to obejść używają tego znaku paragrafu §l
  21. nvm ah, uważaj na kolejność, bo pamiętam że działa tylko w określonej kolejności, &l&6 np, chyba że &l normlanie zostaje potem w tekście? to oznacza że autor pluginu zjebał i nie wspiera znaku & w poprawny sposób.
  22. ale co to dokładnie za plik? jak jakiś .properties z losowego pluginu to może że nie wspiera on &, możesz spróbować użyć § tylko wtedy uważaj na kodowanie pliku - najbezpieczniej użyć UTF-8
  23. ale jaki .zip? .jar to jest plik .zip - tylko końcówka inna dla łatwiejszego rozróżnienia. Chyba że to .zip z source code? A może w środku .zip-a jest .jar? sprawdzałeś?
  24. tak, ale warto pamiętać że można to obejść i zrobić też mapę sortowaną po wartości - a komparator można zrobić tak by w razie identycznej ilości punktów np porównywało inne dane, w ostateczności nawet wartość UUID gracza - dzięki czemu nie będzie duplikatów kluczy.
  25. czemu używasz tutaj obiektowego typu Boolean zamiast po prostu boolean? sprawdzenie czy args[0] == null nie ma sensu, bo nie ma takiej możliwości, argumentu może co najwyżej nie być - ale wtedy array jest mniejszego rozmiaru. I właśnie z tym masz błąd, musisz sprawdzać czy liczba argumentów jest większa lub równa 1 by móc bezpiecznie pobrać pierwszy - czyli ten z indexem 0.
×
×
  • Dodaj nową pozycję...