Skocz do zawartości

yooniks

Użytkownik
  • Ilość zawartości

    987
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    13

Treść opublikowana przez yooniks

  1. Próbowałeś w konfiguracji poszukać czegoś jak tab-complete? Może masz wyłączone/źle ustawione @edit teraz spojrzałem na tego commita i on jest sprzed 5 lat, czyli dawno w releases napewno jest i to nie dokończa komend tylko nicki graczy/serwery
  2. e tam o szczegóły się czepiacie, ja to bym bardziej tu wspomniał o tym ze napisałeś ze projekt będziesz rozwijał, a nie widzę tu nigdzie fajnie rozbudowanego projektu, za każdym dodawaniem nowego narkotyku musisz edytować doslownie każda klasę.. @up camelcase jest ♂ i nie "trzeba" tylko można, to już narzucanie code style'u.. i nie, nie powinno tylko może, kompilator i tak to normalnie potraktuje @edit @Sewer @down myslalem ze chodzi ci tylko o statyczne fieldy=(
  3. linia 63,probujesz pobrać drugi/trzeci element z tablicy, a jej wielkość jest po prostu mniejsza więc rzuca wyjatek
  4. rzeczywiscie, pomylilem sie, tak jak mowilem, bez dokumentacji slabo, teraz na komputerze jestem to ci nawet przyklad daje: final ItemStack item = null; final ItemMeta meta = item.getItemMeta(); final AttributeModifier attributeModifier = new AttributeModifier(UUID.randomUUID(), "coolAttribute", 1.4, Operation.ADD_NUMBER, EquipmentSlot.HAND); meta.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE, attributeModifier); item.setItemMeta(meta); Kazdy atrybut musi miec inne uuid (nie moze sie powtarzac, inaczej po prostu nie zostanie nadany) Atrybut dziala tylko w glownej rece (w tym przykladzie) Odsylam do dokumentacji po wiecej: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/AttributeModifier.html https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/meta/ItemMeta.html#addAttributeModifier-org.bukkit.attribute.Attribute-org.bukkit.attribute.AttributeModifier- @edit (itemstack dalem na null, tlyko dlatego ze to jest przyklad a potrzebowalem to zrobic w intelce, no a nie chcialo mi sie po prostu obiektu tworzyc, i tak nie musze tego testowac wiec dalem sobie nulla, zeby po prostu lapalo mi to jako itemstack)
  5. ja osobiście użyłem jakiegoś api nie wiedząc że taka metoda wgl istnieje w nowszych wersjach (lub już wcześniej istniała to się zalamalem) zapewne w pierwszym parametrze nazwa atrybutu (sprawdź czy istnieje jakaś klasa Attributes od bukkita, jak tak to pewnie tam siedzą statyczne stringi z poprawnymi nazwami) np. generic.attackDamage a drugi parametr to wartość czyli np. 1.4,potem musisz ponownie ustawić itemmete itemstackowi (niestety jestem na tel to nie przeczytam dokumentacji, a atrybuty nigdy mi potrzebne nie były, raz tylko zlecenie pisałem szgvkie)
  6. co na odwrót? pierw sprawdzasz czy jest nullem a potem czy nie jest podobny, jeżeli warunek się zmieni to przeskakujesz do następnego elementu
  7. jak ci jedno serduszko bije, pokaz kod
  8. Mozesz dodac atrybut generic.AttackDamage z powiekszonym damagem, lub po prostu tak jak napisales wykrywac uderzenia od moba, jego nazwe i wtedy powiekszac damage. e.setDamage(e.getDamage() + x);
  9. Tak jak napisal Ixidi, zamien na String.valueOf(jakisinnyobiekt) - piszesz core, a nie potrafisz takiej rzeczy ogarnac, to cos chyba jest nie tak =/
  10. Bukkit.getScheduler().scheduleSyncRepeatingTask(main, new Runnable() { public void run() { java.util.Collection<? extends Player> online_players = Bukkit.getOnlinePlayers(); for (Player p : online_players) { if ((p != null) && (p.isOnline())) { if (p.hasPermission("fts.use")) { if (!Settings.disabledWorlds.contains(p.getWorld().getName())) { uzywaj lambd i streamow.. do tego te niepotrzebne ify i nie wiem skad wziales ta kolekcje xd Bukkit.getOnlinePlayers() .stream() .filter(player -> player.hasPermission("permisja") && anotherCondition) .forEach(player -> { }); Podczas jakiego teleportowania?
  11. nasłuchujesz SignChangeEvent, pobierasz tabliczke i zapisujesz jej lokalizację, zmieniasz koordy y na y+2, spawnujesz particlesa metoda spawnparticle lub playeffect(już nie pamiętam) od worlda. (lub puszczasz taska który robi to co kilka sekund jeżeli chcesz to cały czas)
  12. yooniks

    MCP assets

    Minecraft coder pack (tak mysle)
  13. Nic nie wspomniał w czym ma być napisane, wiec pewnie tak Co do samego tematu, trochę lepiej jakbyś napisał chociaż w jakimś spoilerze kilka pluginów, które chcesz od devów, wtedy (moze nawet ja) bym wiedział czy to coś bardziej trudnego i czy mam na to czas(i czy faktycznie w tyle to wykonam)/czy potrafię to zrobić.
  14. yooniks

    PEX I CHAT

    Ale po co tyle ifow.. Przeciez kazda ranga ustawia graczowi okreslony prefix/suffix, wiec wystarczy cos takiego (kawalek z mojego chatu): String format = MessagesConfig.CHAT$FORMAT; final PermissionUser pexUser = PermissionsEx.getUser(player); format = StringUtils.replace(format, "{prefix}", pexUser.getPrefix()); format = StringUtils.replace(format, "{suffix}", pexUser.getSuffix()); format = StringUtils.replace(format, "{message}", "%2$s"); format = StringUtils.replace(format, "{name}", "%1$s"); event.setFormat(colored(format)); No, a z bilbiotekami mialbys latwiej jakbys uzywal mavena.. Wtedy dajesz tylko repozytorium od pexa i dependency, kopiuj-wklej A tak to musisz po prostu do bilbiotek wrzucic plugin (.jar) permissionsex tak samo jak wrzucales silnik/api.
  15. yooniks

    Serwer i silnik

    a widzisz wersje czy nie???
  16. no ale po co wgl zapisujesz takie coś,może jest jakiś lepszy sposób jak powiesz do czego to chcesz, no i tak jak wyżej napisał peridot, łatwo jest to zedytowac
  17. https://github.com/SocketByte/OpenSectors/blob/master/OpenSectorLinker/src/main/java/pl/socketbyte/opensectors/linker/util/Serializer.java
  18. yooniks

    Eq

    https://www.spigotmc.org/wiki/bbcode.1415/archive nasluchujesz inventoryclickevent
  19. przy większej ilości graczy event będzie działał o wiele więcej
  20. yooniks

    Gui

    Nie porównujemy enumów metodą equals, od tego jest == takie priority (high) jest niepotrzebne, zamiast 3 ify z returnami - wystarczy jeden z użyciem || (lub) action nigdy nie bedzie nullem, wiec taki if useless warunek nizej i tak sprawdza material, wiec ten if niepotrzebny no i jest od dawna metoda e.getItem() wiec pobieranie itemu z reki gracza jest bez sensu (tym bardziej chyba z tej glownej, bo przeciez gracz moze uzyc tez drugiej reki?) zastostuj sie do tych wszystkich rad do kodów które ci podesłali Małe wytłumaczenie co do samego tematu, jak chcesz zrobić sam: tworzysz klase implementująca listener, tworzysz metode z adnotacja @EventHandler, w parametrach dajesz PlayerInteractEvent (bo to go chcesz nasluchiwac) w metodzie sprawdzasz czy PlayerInteractEvent#getItem().getType() to Material.COMPASS -> otwierasz inventory, które najlepiej jest stworzyć w konstruktorze (tak zeby bylo tylko raz tworzone, a nie za kazdym razem przy evencie), inventory tworzysz uzywajac Bukkit.createInventory(inventoryHolder (najczesciej null), inventorySize, inventoryName);
  21. nie zmieniles najwazniejszego, czyli branie usera po kluczu (uuid), tylko znowu loopujesz całą mape, a tego wlasnie autor tematu nie chce, do tego od dawna jest pełno fajnych funkcji od javy 8, np. streamy, kod nawet lepiej by z nimi wygladal. public static User getUser(UUID uuid) { return users.get(uuid); } do tego zamiast jako typ mozesz trzymac concurrentmap lub map, a nie concurrenthashmap,
  22. delete from table lub truncate table zalecam te drugie
  23. zapewne w kazdym 'IDE' xd
  24. Niestety tylko zlecenie, chyba, że oferta jest naprawdę interesująca, możesz napisać prywatną wiadomość na discordzie lub tutaj.
  25. yooniks

    Level Gracza

    daj bez " "
×
×
  • Dodaj nową pozycję...