Skocz do zawartości

yooniks

Użytkownik
  • Zawartość

    704
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    4

Ostatnia wygrana yooniks w dniu 29 października

Użytkownicy przyznają yooniks punkty reputacji!

8 obserwujących

O yooniks

Informacje

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

Metody kontaktu

Ostatnie wizyty

2516 wyświetleń profilu
  1. yooniks

    Deop plugin

    dobrze wielcy znawcy bukkita, a co jeżeli gracz nie jest na serwerze? przecież Server#getPlayer moze zwrocic nulla /\ @edit pan na górze ma piękną sygnaturę: while (this.isAlive()) { attemptSuicide(this); } isAlive() nie potrzebuje parametru z jakims obiektem, ale attemptSuicide to już tak? =/
  2. yooniks

    Kawałek kodu do usunięcia

    fuj ja tu przyszedłem tylko po to aby odradzić używania tego pluginu
  3. yooniks

    plugin na /item

    przepraszam bardzo, czy to czasem nie moj kod z bardzo bardzo starego pluginu? Jak kolega juz daje kod to najlepiej jakby był jego autorstwa i dobry,  nw czemu takie osoby się wypowiadają ;( castowanie playera do sendera kiedy to nawet nie jest potrzebne, ehh fuj, przeciez w StringUtilach jest metoda zwracajaca boolean, isNumeric(.) ktora jako parametr przyjmuje string, lub po prostu lapac numberformatexception????? kolega tak sie chwali a kod nawet nie jego =( zamiast proponować komuś naukę podstaw pierw sam się ich naucz a ten kod z itembuildera to juz wgl syf =(
  4. yooniks

    Plugin który wymusza bp

    nie po to autorzy mają paczkę i dają ją tylko wybranym, dobrym serwerom, które się czymś wyróżniają, a nie zwykłe easyhc, żeby losowe serwery sobie robiły na to pluginy =/ były już na to pluginy, ale to zablokowali po aktualizacji i wątpie, że da się to teraz zrobić, tymbardziej nikt by ci tego za free nie napisał XD
  5. yooniks

    Czy ten sposob na cooldown jest dobry czy lepiej uzyc HashMapy ?

    Bukkit.getServer().getScheduler().scheduleAsyncDelayedTask(Main.getPlugin(Main.class), new Runnable(){ public void run() { cooldownns.remove(p); } },100); gdzie lambda? i czemu nie runTaskLaterAsynchrously if(e.getItem().getType().equals(Material.NETHER_STAR)){ == if(p.getItemInHand() == null) return; e.getItem() i nie wiem od ktorej wersji, ale w nowszych jest juz event.hasItem() Player p = (Player) e.getPlayer(); czemu castujesz playera do playera ArrayList<Player> cooldownf = new ArrayList<>(); List<Player> cooldown = new ArrayList<>(); a tak poza tym to jezeli bylby to tylko jeden cooldown to uzylbym jakiejs mapy od guavy private final Cache<UUID, Integer> registerRequests = CacheBuilder .newBuilder().expireAfterWrite(60, TimeUnit.SECONDS).build(); chociaz nie wiem czy tutaj sie przyda mapka =/ najlepiej wedlug mnie byloby to trzymac w jakims userze i po prostu trzy longi no i ustawiasz je po prostu na System.currentTimeMillis() + TImeUnit.SECONDS.toMillis(10); czyli czas z teraz + 10 sekund - i masz 10 sekundowy cooldown, a w ifach sprawdzasz: if (user.cooldown(FIRST) > System.currentTimeMillis()) { player.sendMessage("Mozesz tego uzywac co 10 sekund!"); return; } user.putCooldown(FIRST, System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(10)); player.sendMessage("uzyto!");
  6. zawsze możesz sobie w np. pluginie na lobby trzymać listę serwerów (obiekty) z ilością graczy online itd i podczas wyłączania serwera wysyłać pluginmessage żeby poinformować bungee itd, tak samo podczas wlaczania, a w twoim pluginie to sprawdzać i jakoś przetwarzac, wtedy nie musisz pingowac, ale to alternatywa
  7. yooniks

    Errory

    pokaz plugin.yml i pelna klase main
  8. yooniks

    Otchłań v1.2.1

    Wszystko do zmiany, za dużo pisania w skrócie nie polecam na żaden serwer =/
  9. yooniks

    Border mapy

    tak, będzie tepal poza border (miałem tak w pluginie na uhc) https://hub.spigotmc.org/javadocs/spigot/org/bukkit/World.html#getWorldBorder-- czyli pobierasz gracza z np. eventu, pobierasz świat i worldbordera możesz sobie walnąć do zmiennej, ustawiać mu wielkość, pobierac itd.. A jak chcesz danemu graczowi to pakietami lecisz. Jeszcze gdzieś miałem metodę sprawdzajaca czy dana lokalizacja jest poza borderem, ale nie jestem teraz na kompie ;/
  10. yooniks

    Programista Java na Twój serwer Minecraft!

    Sam temat nie zachęca, konto masz dopiero kilka godzin, żadnych postów z pomaganiem (np. w dziale java, gdzie moglibyśmy zobaczyć czy się chociaż trochę znasz), żadnego portfolio, napisałeś, że zajmujesz się javą od ponad roku, a nie masz żadnych przykładowych projektów.. Każdy programista musi mieć jakieś portfolio, nikt nie pójdzie w ciemno. Nie wiem jak innych, ale mnie to nie zachęca Wszystko co można znaleźc w internecie - zedytowałeś jakiegoś kguildsa, jakiegoś limitera pakietów, proxy i sektorki - wszystko dostępne w internecie, chciałbym zobaczyć jakiś twój przykładowy projekt :d Nikt nie poleci w ciemno.
  11. siema

  12. yooniks

    Inventory

    public class SimplePlugin extends JavaPlugin { private InventoryManager inventoryManager; @Override public void onEnable() { final Inventory shopInventory = this.getServer().createInventory(null, 9*3, "Ekwipunek sklepu"); shopInventory.setItem(0, new ItemStack(Material.GLASS)); this.inventoryManager = new InventoryManager(shopInventory); } public InventoryManager getInventoryManager() { return this.inventoryManager; } } public class InventoryManager { private final Inventory shopInventory; public InventoryManager(Inventory shopInventory) { this.shopInventory = shopInventory; } public void openShopInventory(Player player) { player.openInventory(this.shopInventory); } } i w komendzie wtedy tylko: public class SimpleCommand implements CommandExecutor { private final InventoryManager inventoryManager; public SimpleCommand(InventoryManager inventoryManager) { this.inventoryManager = inventoryManager; } @Override public boolean onCommand(CommandSender sender, ....) { if (!(sender instanceof Player)) { sender.sendMessage("this command is only executable by player"); return true; } final Player player = (Player) sender; this.inventoryManager.openShopInventory(player); player.sendMessage(ChatColor.RED + "Otworzono ekwipunek sklepu!"); } } naprawde, zacznij sobie pierw od pisania malych programów, tak zeby kod ladnie wygladal i bylo to czytelne dla kazdego kto by ten kod czytał i żeby był w stanie ten twój kod zedytować i sie w nim połapać, bo jak zaczynasz od mc to później takie problemy są, że niby coś tam w bukkicie umiesz, ale nawet nie wiesz jak to działa i kod wychodzi tak jak wychodzi =/
  13. yooniks

    jak podmienić znaki z '&' na '§' w stringList

    Eh, no tak jest, jak piszesz pluginy, a nie ogarniasz javy Przecież jako parametry, przyjmujesz string w metodzie to nic dziwnego, że jest na czerwono jak chcesz dać listę? Zrób sobie kolejna metodę, która przyjmuję listę jako parametr i zwraca też listę. public static List<String> colored(List<String> list) { return list .stream() .map(string -> ChatColor.translateAlternateColorCodes('&', string)) .collect(Collectors.toList()); //mam troche przerwe z java i mc wiec moze cos pokrecilem, ale wydaje mi sie ze dobrze }
  14. yooniks

    [Optymalizacja] Automessage oraz inventory

    rozszerz klase o runnable, a wiadomosci dostarcz od razu w konstruktorze no i wtedy mozesz jeszcze od razu je skoloryzować i tyle, a w run() juz tylko sprawdzasz size listy itd no i: mozesz puszczac to async i uzyc od razu this.getServer().getScheduler() a nie Bukkit.getScheduler(), no ale jak kto woli, i tak wyjdzie na to samo nie rozumiem po co to printujecie =/ przeciez sam serwer juz to robi podczas wlaczania pluginu.. do tego println, a przeciez mozesz uzyc loggera ktory jest juz w javaplugin stringi porownujemy equals(), a enumy enum equals czyli == a itemshop.create.. to juz kompletnie fuj = ( uzyj jakiegos api, do tego masz przeciez petle, a ty odwalasz cos takiego: lore mozesz dac juz wgl do configu i te inventory wczytuj sobie tylko raz =/ przeciez przy kazdym wywolaniem tej metody robisz pelno akcji =/ sprobuj to skrocic, czyli przy onenable laduj to tylko raz, a w create...() tylko otwieraj inventory graczowi ogolnie te tworzenie itemkow wyglada okropnie, jest pelno api gotowych do gui =( np. opengui i ogolnie cancelowac event mozesz od razu po sprawdzeniu nazwy inventory, a nie przy kazdym sprawdzaniu nazwy itemu bo i tak wychodzi na to samo, do tego sprawdzaj czy item ma itemmete i displayname bo sie zdziwisz jak ci zacznie rzucac nulle
  15. yooniks

    kolejny problem z hash mapa

    eh.. tak jest jak piszesz pluginy pod mc, a jedyne co widziales to kod z dekompilatora public class PlayersHolder { private final Set<UUID> players = new HashSet<>(); private boolean contains(UUID uuid) { return this.players.contains(uuid); } private void add(UUID uuid) { this.players.add(uuid); } private void remove(UUID uuid) { this.players.remove(uuid); } } (zmien private na public bo robilem na szybko) private final PlayersHolder playersHolder = new PlayersHolder(); @EventHandler public void onJoin(PlayerJoinEvent event) { this.playersHolder.add(event.getPlayer().getUniqueId()); } @EventHandler public void onQuit(PlayerQuitEvent event) { this.playersHolder.remove(event.getPlayer().getUniqueId()); } //dodaj sobie jakis listener i wtedy: if (this.playersHolder.contains(player.getUniqueId()) { player.sendMessage("contains!"); }
×