-
Ilość zawartości
987 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
13
Treść opublikowana przez yooniks
-
String deathMessage = messages.rankDeathMessage; deathMessage = StringUtils.replace(deathMessage, "{ATTACKER}", attacker.getName()); deathMessage = StringUtils.replace(deathMessage, "{VICTIM}", victim.getName()); deathMessage = StringUtils.replace(deathMessage, "{+}", Integer.toString(attackerEvent.getChange())); deathMessage = StringUtils.replace(deathMessage, "{-}", Integer.toString(victimEvent.getChange())); deathMessage = StringUtils.replace(deathMessage, "{POINTS-FORMAT}", IntegerRange.inRange(vP, config.pointsFormat)); deathMessage = StringUtils.replace(deathMessage, "{POINTS}", String.valueOf(victim.getRank().getPoints())); deathMessage = StringUtils.replace(deathMessage, "{WEAPON}", MaterialUtil.getMaterialName(a.getItemInHand().getType())); deathMessage = StringUtils.replace(deathMessage, "{REMAINING-HEALTH}", Double.toString(a.getHealth())); deathMessage = StringUtils.replace(deathMessage, "{REMAINING-HEARTS}", Double.toString(a.getHealth() / 2)); if (victim.hasGuild()) { deathMessage = StringUtils.replace(deathMessage, "{VTAG}", StringUtils.replace(config.chatGuild, "{TAG}", victim.getGuild().getTag())); } if (attacker.hasGuild()) { deathMessage = StringUtils.replace(deathMessage, "{ATAG}", StringUtils.replace(config.chatGuild, "{TAG}", attacker.getGuild().getTag())); } deathMessage = StringUtils.replace(deathMessage, "{VTAG}", ""); deathMessage = StringUtils.replace(deathMessage, "{ATAG}", ""); event.setDeathMessage(deathMessage); raczej bedzie pusta wiadomosc Zrób issue z propozycją na githubie: https://github.com/FunnyGuilds/FunnyGuilds/issues
-
Pisze to osoba ktora do teraz sama kradnie kod z kguildsow, i do tego polowe zdania piszesz po polsku, polowe po angielsku, czemu nie napiszesz 'klas' tylko piszesz 'class'? A no tak, przeciez tak piszą pseudoprogramisci. Do tego klasy to bedzie classes, nie class. @topic nikt nie bedzie ci dawal gotowca, wyjasniasz co ci nie dziala, dajesz urywki kodu, my ci pomagamy, ew. poprawiamy kod.
-
notepad++, kodowanie/formatowanie, górny pasek no chyba ze nie masz tego w pliku konfiguracyjnym, widzialem juz kilka razy takie cos, pewnie masz z wyciekow 'core' a w kodzie jest popsute formatowanie.
-
A githuba to sie uzywac nie potrafi? ;/ Wrzuc na githuba
-
W pliku konfiguracyjnym, w ftp na górnym pasku masz coś takiego jak formatowanie lub kodowanie, zmień na utf-8, i używaj " ", a nie ' ', bo w tym drugim nie bedzie ci działać np "\n" i tak dalej
-
psc, paypal, napisz na discordzie, masz go podanego jak wejdziesz w moj profil.
-
Jaki jest Nowy pakiet BlazingPack.pl
yooniks odpowiedział(a) na Trumpek pytanie w Pytania i problemy
Ale co ty robisz, jezu.. Przecież ta paczka jest specjalnie zaobfuscowana, i same stringe wysylane w bajtach sa zahaszowane zeby nie zrobiono takiego 'cracka', jak chcesz paczke to idz na ich tsa, siedź 10 godzin i czekaj aż ktoś cie movnie Jedyne co ci zostaje to zrobienie anticheata. (ale do innych rzeczy, typu wykrywanie antyknockbacka i aury) - do reszty masz nocheatplus //Łączę ~ JanekJaran -
Jaki jest Nowy pakiet BlazingPack.pl
yooniks odpowiedział(a) na Trumpek pytanie w Pytania i problemy
tzn. chcesz zrobić obejście, czy cracka blazingpacka? Nie róbcie takich pluginów bo przez to właśnie wychodzą takie kolejne aktualizacje (i przez obejścia) z innymi pakietami, a gdy macie start edycji czy coś to sie zdziwicie jak nagle zmienią pakiety -
Jaki jest Nowy pakiet BlazingPack.pl
yooniks odpowiedział(a) na Trumpek pytanie w Pytania i problemy
Najnowszy? I jeżeli działa ci na serwerze to bez problemu można 'zdebugować' jego pakiety. -
Hej, wczoraj nie miałem internetu przez cały dzień, nudziło mi się, wiec postanowiłem napisać sobie mały plugin, mianowicie na 'Wielkanocne skrzynki' - (magiczne skrzynki, tylko zmieniona nazwa, ) Plugin pisany ok. 1 godzine wczoraj, dzisiaj ok. 30 minut (poprawianie małych błędów) Plugin zawiera możliwość otworzenia od 1 do 6 skrzynek na raz, dodawania własnych itemów do dropu i tak dalej.. Pełny config: # Plugin's author: yooniks # Message when player opened chest # Available variables: {PLAYER} - player's name, {TYPE} - opening type, {ITEMS} list of dropped items open-message: |2- &8[-------&b&lEASTER CHESTS&8-------] &7Gracz &6{PLAYER} &7otworzyl wielkanocna skrzynke! &7Typ otwierania: &6{TYPE} &7Wydropione itemy: &6{ITEMS} &8[-------&b&lEASTER CHESTS&8-------] # Name of opening item name-chest: '&a&lWielkanocna skrzynia' # List of drop chest-drop: - material:DIAMOND_SWORD name:&6Przykladowy_drop lore:&6Pierwsza_linia%newline%&6Kolejna_linia - material:DIAMOND_PICKAXE enchants:DIG_SPEED;5%newline%DURABILITY;3 - material:GOLDEN_APPLE data:1 # Size of select's inventory select-inventory-size: '54' # Name of select's inventory select-inventory-name: Wybierz typ otwierania.. # Lore of opening item lore-chest: ['&8# &6Poloz na ziemi, aby &eOTWORZYC&6!', '&8# &7www.youtube.com/c/Enchanted3'] # MY-LOBBY.PL - coming soon.. Kod oraz download: https://github.com/yooniks/EasterChestsPlugin/ Prezentacja: https://www.youtube.com/watch?v=35xricwjAg0 Krytyka mile widziana, jeśli ktoś dobrze ogarnia kalkulacje w javie to w sumie mógłby mi powiedzieć jak moge to podmienić, kalkulacje to moja słaba strona kod: https://github.com/yooniks/EasterChestsPlugin/blob/master/src/main/java/xyz/yooniks/easterchests/util/InventoryUtil.java (metoda openOpeningInventory i coś tam jeszcze)
-
Jaki jest Nowy pakiet BlazingPack.pl
yooniks odpowiedział(a) na Trumpek pytanie w Pytania i problemy
Jeśli masz najnowszą wersję pluginu blazingpack, to moge, ale pewnie nie masz -
Jaki jest Nowy pakiet BlazingPack.pl
yooniks odpowiedział(a) na Trumpek pytanie w Pytania i problemy
Znajdz sobie plugin bpacka pod bungee, zrob plugin na nasluchiwanie pakietu custompayload i debuguj pakiet razem z channelem i data, jak chcesz string z bajtów to robisz new String(data); -
Zanim jakiś programista ci napisze plugin to popros o jakieś portfolio
-
I attacker.getWorld().equals("Lobby") zawsze będzie zwracać false bo porownujesz world do string
-
W adnotacji, tam gdzie dodajesz antylogout graczu itd dodaj (ignoreCancelled=true)
-
Lista: someList: - "someValue" - "someString" - "zbuckitopedal" private String getValuesToString() { final StringBuilder builder = new StringBuilder(); for (String someString : getConfig().getStringList("someList")) { builder.append(someString); builder.append(" "); //w sumie nie wiem czy potrzebne } return builder.toString(); } Sekcja: someSection: someKey: amount: 1 name: "zbuckitopedal" nextKey: amount: 3 name: "someName" private String getKeysAndValuesToString() { final StringBuilder builder = new StringBuilder(); for (String someKey : getConfig().getConfigurationSection("someSection").getKeys(false)) { final int amount = getConfig.getInt("someSection."+someKey+".amount"); final String name = getConfig().getString("someSection."+someKey+".name"); builder.append(someKey+", amount: "+amount+", name: "+name); builder.append(" "); //w sumie nie wiem czy potrzebne } return builder.toString(); }
-
String players = ""; ---> W tej linijce jest niby błąd for(String s : Main.getInst().getConfig().getConfigurationSection("list").getKeys(false)){ players = players + "" + s + ", "; i += 1; } nie łącz tak Stringów! Masz od tego StringBuilder Instancja moze zwracac nulla, lub sekcja z configu, pokaz config, tak jak napisal goto, i do tego gdzies zapisuj/wgrywaj config i do tego jezeli masz ta metode w klasie glownej to mozesz uzyc od razu getConfig(), bez pobierania instancji. dziwnie stawiam te przecinki
-
Jak chcesz sensowne odpowiedzi to szukaj na angielskich forach albo wal do kogoś ogarniajacego (np wizzard, themolka lub gotofinal) Od kiedy string to zmienna xd. String - 'jest to ciąg znaków'. Nie mam sensownego wyjaśnienia, ale po prostu: typ danych tak samo jak int (prymitywne) czy obiektowe Integer, tylko ze trzymasz tam np. tekst I nie arraylist tylko listy, a generalnie to kolekcje, mozesz tam trzymac liste okreslonych obiektow, masz linkedlist - np. 'trzyma poprawną kolejność, w której wrzucono obiekty do listy', copyonwritearraylist - arraylist tylko uzywasz tego np. do thread-safe, mozesz iterowac liste w jednym watku, a w drugim cos do niej wrzucac i nie rzuci ci wyjątku CME (concurrentmodificationexception) Definicja z oracle: A thread-safe variant of ArrayList in which all mutative operations (add, set, and so on) are implemented by making a fresh copy of the underlying array. This is ordinarily too costly, but may be more efficient than alternatives when traversal operations vastly outnumber mutations, and is useful when you cannot or don't want to synchronize traversals, yet need to preclude interference among concurrent threads. The "snapshot" style iterator method uses a reference to the state of the array at the point that the iterator was created. This array never changes during the lifetime of the iterator, so interference is impossible and the iterator is guaranteed not to throw ConcurrentModificationException. The iterator will not reflect additions, removals, or changes to the list since the iterator was created. Element-changing operations on iterators themselves (remove, set, and add) are not supported. These methods throw UnsupportedOperationException. Warto też przeczytać o setach. Instancja klasy to nic innego jak obiekt, a tworzysz ja za pomocą słowa 'new'. W bukkicie instancje głównej klasy możesz pobierać uzywajac JavaPlugin#getPlugin @TheMolkaPL może ci dobrze wytłumaczy, jest czesto aktywny
-
add 1 event-block to player's inventory
-
Co ma waga pluginu do działania oraz wydajności? Pewnie jeszcze wszystkie execute itd. do bazy masz w jednym wątku (No chyba ,że zrobiłeś to jakoś na bungee i bridge pod bukkita)
-
SimpleRegionMarket - nie jest juz wspierane ale gdzieś znajdziesz i dziala dobrze.
-
- a co do crasherek w casualproxy to są slabe, w wersji premium jest ich ponad 25 i o dużo lepszych
-
Payloadow rzadko kto juz używa, zaibstaluj viaversion i ustaw max wysłane pakiety na 200, może to pomoże, a jak chcesz porządnego fixa (napisałem go 3 tyg temu) to zapraszamy na pw, koszt 20-30zl, wymagany protocollib, plugin ma juz 5 serwerów i dziala git
-
Klasy nazywaj z dużej litery, fieldy typu: private static List<User> users = new ArrayList<User>(); rób jako finalne I co do samych userów: private static List<User> users = new ArrayList<User>(); public static User getUser(String name) { for(User u : getUsers()) { if(u.getName().equals(name)) { return u; } } return null; } Co jest szybsze, pobranie gracza poprzez key uuid: private final Map<UUID,User> users = new HashMap<>(); czy iteracja, i przy kazdym userze sprawdzanie czy jego nick jest rowny okreslonemu stringowi ;/ public class User { private String name; private Player p; private boolean isOpenChest; private Inventory inv; przypisywanie inventory na kazdego usera to slaby pomysl private Inventory inv; private int countdown = 0; public User(Player p) { this.name = p.getName(); this.p = p; this.isOpenChest = false; this.inv = null; } Inventory jest juz null, wiec ponowne przypisywanie troche bez sensu, chyba ze bedzie IDE wyswietlac cos typu 'variable.. might be not initialized' do tego w klasie glownej masz raz spacje, raz taby (lub 2 taby zamiast jednego) try { configExists(); } catch (Exception e) { e.printStackTrace(); } tutaj powinienes cos z tym robic Ode mnie to tyle, reszty nie mam czasu sprawdzić, ale ogólnie to fajny pomysł na plugin
-
Wystarczy raz cos załadować do bazy(np. MySQL) i przy każdym dołączeniu gracza na serwer odczytywać te dane. (Tak mam np. monety pod 3 różne serwery z bungee)
