-
Ilość zawartości
81 -
Rejestracja
-
Ostatnia wizyta
Treść opublikowana przez insertt
-
wklej logi z błędem przy uruchomieniu
-
castujesz Playera z bukkita do swojego obiektu, który w żaden sposób nie jest powiązany z Playerem (nie dziedziczy po nim, nie implementuje etc.) i dlatego pewnie wywala ci ClassCastException, dlatego musisz stworzyć rejestr takich obiektów User, który będzie je tworzył i gdzieś trzymał, zapisywał itd
-
ale ty dziwnie to robisz, stwórz sobie plik tekstowy, wklej; java -Xmx1G -Xms1g -jar <nazwa_silnika> -o false pause podmieniajac <nazwa_silnika> na nazwe pliku silnika, zapisz jako plik z rozszerzeniem .bat i odpal
-
to zrob skrypt ktory bedzie go uruchamial, no chyba nie uruchamiasz go za pomoca 2x lpm
-
dodaj pause na końcu skryptu, nie będzie od razu zamykało i podaj błąd
-
do tego najlepiej stworzyć sobie framework od tworzenia gui, możesz wykorzystać mój: https://github.com/insertt/CustomWarps/tree/master/src/main/java/pl/insertt/customwarps/system/gui wtedy tworzysz sobie GuiItem z przypisaną akcją i przypisujesz je w odpowiednie miejsce do odpowiedniego GuiWindow.
-
nasłuchujesz eventu AsyncPlayerChatEvent i formatujesz za pomocą event.setFormat(), tylko musisz zrobić to z odpowiednim priorytetem - tak, aby nie rozsypać całego czatu, bo inne pluginy też mogą coś dodawać do formatu tego chatu.
-
chyba tylko ta stara wersja, bo te nowsze wymagają whitelisty.
-
ale co, jak - nie dałeś nawet błędu, nic : <
-
@EventHandler public void onInteract(final PlayerInteractEvent event) { if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { if(event.getClickedBlock().getState() instanceof Sign) { Sign sign = (Sign) event.getClickedBlock().getState(); sign.getLine(0); } } } no chyba, że chcesz coś szybszego, bo używanie BlockState tworzy nową instancję, to wtedy musisz użyć materiali.
-
Zadanie Durbality poprzez wcześniejszy e.setcanceled(true)
insertt odpowiedział(a) na xTea_199 pytanie w Pytania i problemy
jaki event cancellujesz? -
scoreboard sie nie pojawia, bo nie tworzysz dla gracza scoreboarda i go nie ustawiasz, a jedynie edytujesz objective, który też nie jest przypisany do żadnego scoreboarda. ps: if(p.getPlayer().isOnline()){ jeżeli robisz to w listenerze eventu PlayerJoinEvent, to ten warunek jest zbędny new Runnable(){ java 8 wprowadza lambdy, używaj ich : < Bukkit.getOfflinePlayer("") musisz pobierać jeszcze jego nazwe, bo tak to zwróci Ci referencje do tego obiektu, a nie jego nazwe. if(user.getGuild() != null){ Score s3 = ob.getScore(Bukkit.getOfflinePlayer("§7Gildia: §e" + user.getGuild())); s3.setScore(8); }else{ Score s3 = ob.getScore(Bukkit.getOfflinePlayer("§7Gildia: §eBrak gildii")); s3.setScore(8); } użyj ternary operatora. no i tworzenie taska jest zbędne, bo nie masz tutaj żadnego timera, scoreboard odświeżaj tylko przy aktualizacji informacji, nie obciążaj serwera zbędnymi taskami.
-
pobierasz klucze za pomocą jakiejś pętli i wsadzasz do TreeMapa: Map<String, Integer> top = new TreeMap<>(Collections.reverseOrder()); top.putAll(lista); a potem printujesz wyniki do gracza, czy to w for czy streamem, nie ma znaczenia
-
@EventHandler public void onCraft(PrepareItemCraftEvent event) { GregorianCalendar calendar = new GregorianCalendar(); calendar.setTimeInMillis(plugin.getConfig().getLong("date")); if(Date.from(calendar.toInstant()).after(new Date(System.currentTimeMillis()))) { event.getInventory().setResult(null); } } zarejestruj listener, dopasuj sobie date i ew. sposób cancellowania tego craftingu, bo nie testowałem. //Jesteś w dziale Skryptów, więc należy umieszczać skrypty z pluginu Skript
-
zaktualizuj funnyguilds, bo 3.9.9.1 to bardzo stara wersja.
-
to nie używaj tej wersji, bo jest przestarzała ;/ a tak to: Main.getInstance().getConfig().getString("motd").replace("%online", event.getPlayerCount())
-
String motd = StringUtils.replace(Main.getInstance().getConfig().getString("motd"), "%online", event.getPlayerCount()); (nie wiem czy jest taka metoda getPlayerCount(), popraw jakby nie pasowało) pobierasz instancje głównej klasy, potem konfiguracje i z konfiguracji pobierasz dany string i za pomocą metody z StringUtils (wbudowane w spigota od wersji 1.8, commons) replacujesz dany placeholder na podane dane z eventu i potem ustawiasz za pomocą: event.setMotd(motd); no oczywiście przy starcie pluginu musisz taką konfigurację generować jeżeli nie ma i stworzyć template w pliku config.yml lub za pomocą config.addDefaults()
-
Caused by: java.lang.ClassNotFoundException: com.mojang.authlib.GameProfile plugin jest na inną wersje a silnik jest na innej wersji, dopasuj.
-
czemu byte? data jest w short, a nie w byte jak dobrze pamiętam
-
wystarczy mieć weakhashmap/cache i trzymać przypisane ip do nicku a potem podmieniać, nic trudnego
- 52 odpowiedzi
-
Sprawdzanie czy dany item zmieści się do eq gracza!
insertt odpowiedział(a) na xTea_199 pytanie w Pytania i problemy
bo oczekujesz gotowców, a on daje ci tylko wskazówki, dlatego takim osobom jak ty nie warto pomagać -
Sprawdzanie czy dany item zmieści się do eq gracza!
insertt odpowiedział(a) na xTea_199 pytanie w Pytania i problemy
player.getInventory().firstEmpty() zwraca -1, jeżeli jest pełen ekwipunek -
ale jakiś błąd, cokolwiek? bo w sumie nie wiadomo co tu mogło się zepsuć
-
@EventHandler public void tab(PlayerChatTabCompleteEvent event) { if(event.getChatMessage().equalsIgnoreCase("?")) { event.getTabCompletions().clear(); } } najprostszy sposób, jeżeli chodzi o kod (można też się bawić w protocolliba etc.), ale też nie wiem czy działa, popróbuj. a jeżeli nie odpowiada ci kod, no to są gotowe pluginy: https://dev.bukkit.org/projects/hideandcustomplugins
-
Pobieranie Itemstacka z klasy i configu
insertt odpowiedział(a) na xTea_199 pytanie w Pytania i problemy
jeżeli chcesz pobierać itemstack z configu, to musisz go jakoś zparsować, bo bukkit nie będzie wiedział o co chodzi, czyli: ItemStack ciastki = new ItemStack(Material.getMaterial(plugin.getConfig().getString("itemstack-ciastkihehe")), 1); tylko ten material też może być nullem, jeżeli nazwa nie pasuje do żadnego z listy materiali, przez co będzie wywalać błąd, dlatego musisz sprawdzać takie rzeczy, powodzenia.
