Skocz do zawartości

yooniks

Użytkownik
  • Zawartość

    878
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    12

Ostatnia wygrana yooniks w dniu 11 lipca

Użytkownicy przyznają yooniks punkty reputacji!

O yooniks

  • Tytuł
    Znany

Informacje

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

Metody kontaktu

  • Discord
    yooniks#2411

Ostatnie wizyty

4 493 wyświetleń profilu
  1. yooniks

    Prościej

    no ja bym tego uzył, tylko coś takiego set {_areAllBlocksAnAir} loop 100 times: if block loop-index above player isn't air: set {_areAllBlocksAnAir} to false if {_areAllBlocksAnAir}: send "wszystkie bloki sa powietrzem"
  2. yooniks

    Zapis userow

    nie robie gotowców ani to czasu ani nerwów na zabawe z mysql, tymbardziej ze pewnie wszystko musiałbym ci edytować, ogarnij sobie technika ktory ci poprawi pluginy a nie napisze ze jest zajety :d lub czas na kolejnego technika?
  3. parametry serwera, silnik, pluginy? timingi
  4. Przejrzałem dwa pluginy, obydwa nadają efekt slow targetPlayer.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 500, 15)); sender.sendMessage(ChatColor.RED + "You turned " + args[0] + "'s world upside down!"); nie wiem czy to moze dzialac (i jakim cudem), ale sprobuj XD (chociaz stawiam na to ze to nie bedzie dzialac, w zyciu) - raczej chodzi o cos innego z "przewracaniem swiata do gory nogami" (inne znaczenie) no i jedynie cos takiego znalazlem https://minecraft.gamepedia.com/Erik_Broes to jakis npc/armorstand czy po prostu zwykly gracz? (uciales troche ssa wiec nie jestem pewien) wydaje mi sie ze z armorstandem byloby latwo.
  5. yooniks

    Zapis userow

    what no a jak robiles nowy wątek? mozesz zrobic executora, np. private final Executor executor = Executors.newFixedThreadPool(5); public void saveUser(User user) { final Runnable saveUser = () -> { //wszystko z baza itp }; executor.execute(saveUser); } pelno sposobow jest, a jak ci serwer nie wyrabia to chyba czas go ulepszyc (parametry) Pokaz swoj wczesniejszy kod lub jak wykonujesz zapytania. Gotowca tutaj nie dostaniesz, tymbardziej ze ani nie dales kodu ani nic. Po prostu chcesz zeby ktos zrobil ci super-kod na zapisywanie userow, a nawet nie wiemy co w tym userze masz. also uzywaj preparedstatement
  6. =( jak sie przed startem generuje chunki np. worldborderem to nie ma najmniejszego laga po takim czyms no przeciez nie masz jak tego przetestowac.. mozesz sprobowac z botami, tak zeby chodzily, zabijaly sie itp, ale boty to nie to samo co gracze - gracze kupuja rozne rzeczy, tworza klany itp. jedyne co ci moze dobrze sprawdzic wydajnosc to jakies beta-testy.
  7. yooniks

    Plugin z kodem

    tak jak wyzej. gdy juz nauczysz sie podstaw zacznij od jakichs poradnikow z bukkitem/spigotem - to nie to samo co skript nie zaczniesz od razu pisac fajnego kodu (dzialajacego)
  8. yooniks

    Blad z nikad

    No ale skad mamy wiedziec co jest nie tak? Widzimy jedynie błąd (skutek), a nie przyczynę (kod). Pokaż plugin.yml i klase Main, stawiam na to, że nie rejestrujesz komendy w plugin.yml.
  9. yooniks

    Czytanie z configu

    tak, for (String text : config.getConfigurationSection("testowe").getKeys(false)) { player.sendMessage(text); } pisane na tel ale chyba git
  10. Wygląda to jak kick reason z mojego publicznego pluginu, casualprotectora - https://www.spigotmc.org/resources/casualprotector-best-server-protector-antibot-anticrash.59866/ A więc standardowo są 3 opcje: bad-ip-checkers: ipintel: timeout: 2500 enabled: true query: "http://www.shroomery.org/ythan/proxycheck.php?ip={ADDRESS}" result: "Y" must-equal: false limitable: false stopforumspam: timeout: 2500 enabled: true query: "http://www.stopforumspam.com/api?ip={ADDRESS}" result: "<appears>yes</appears>" must-equal: false limitable: false ipapi: timeout: 3000 #change it to true ONLY if you have configured "allowed-countries" - otherwise all not polish players will be disconnected enabled: false limitable: true #limit per one minute - if reached limit - players will be allowed to join without checking if they are using vpn (only for 1 minute) limit: 147 #change this to your country.. allowed-countries: - "Poland" sprawdz tych dwóch pierwszych stronach jaki rezultat ci zwracają. (link masz w "query", w kazdej podsekcji - np. w ipintel, {ADDRESS} zamieniasz na swój adres ip - bez portu. trzecia opcja to sprawdzanie kraju, wpuszczane są osoby tylko z polski. Kod wygląda mniej więcej tak: package xyz.yooniks.protector.vpn; import com.google.gson.Gson; import java.io.IOException; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import xyz.yooniks.protector.vpn.AddressInfoResponse.VPNResponsable; public final class VPNDetectorIPApi implements VPNDetector, VPNResponsable { private static final Gson GSON = new Gson(); private final List<String> allowedCountries; private final int timeout; private final int limit; private final boolean limitable; private final AtomicInteger count = new AtomicInteger(); public VPNDetectorIPApi(List<String> allowedCountries, int timeout, int limit, boolean limitable) { this.allowedCountries = allowedCountries; this.timeout = timeout; this.limit = limit; this.limitable = limitable; } @Override public boolean isBad(String address) throws IOException { final AddressInfoResponse addressInfoResponse = this.info(address); return addressInfoResponse.isProxy() || !this.allowedCountries.contains(addressInfoResponse.getCountry()); } @Override public AddressInfoResponse info(String address) throws IOException { return GSON.fromJson(this.query("http://ip-api.com/json/" + address, this.timeout), AddressInfoResponse.class); } @Override public boolean isLimitable() { return limitable; } @Override public int getLimit() { return limit; } @Override public int count() { return this.count.getAndIncrement(); } @Override public void clearCount() { this.count.set(0); } } a wiec strona to http://ip-api.com/json/twoj_adres_np._127.0.0.1 - sam musisz dowiedziec sie ktora strona cie "wykrywa" jako, że używasz proxy. jest jeszcze możliwość, że technik tego serwera dodał w configu więcej stron do sprawdzania vpn/proxy, wtedy to juz musisz skontaktowac sie z serwerem. Strony też mogą stwierdzić w 100%, czy używasz vpn'a/proxy, tylko np. w 70% - no i wtedy i tak cie blokuje z tego co pamiętam. Dlatego w przyszłości mam zamiar dodać od ilu % ma blokować połączenia. Możesz równie dobrze napisać do administracji, i oni mogą dodać cie na liste "bypass" lub "whitelisted" w plikach ktore znajduja sie w folderze casualprotectora, lub przy uzyciu komendy /casualprotector bypass
  11. yooniks

    NPC

    Entity#getCustomName lub jakos po npc mozesz pobrac, nw jakiej biblioteki uzywasz. u mnie wgl kiedys jak sie bawilem npc to takiego eventu nie wykrywalo i musialem jakos inaczej to robic, byl od tego specjalny event, ale skoro mowisz ze ci dziala to powinno byc git.
  12. funnyguilds można tak skonfigurowac
  13. yooniks

    Gui z 4 slotami

    Dokładnie tak jak @up. Aby zrobić takie gui zamiast zwyczajnego wystarczy w parametrach od Bukkit.createInventory dodać InventoryType.HOPPER https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/InventoryType.html
×