Skocz do zawartości

yooniks

Użytkownik
  • Ilość zawartości

    987
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    13

Treść opublikowana przez yooniks

  1. yooniks

    rozna ilosc

    final int amount = rand.nextInt(3); popraw na final int amount = rand.nextInt(3) + 1; bo inaczej bedzie odliczac od zera
  2. yooniks

    rozna ilosc

    if(Math.random() *100 < 1.125){ ItemStack item17 = new ItemBuilder(Material.COBBLESTONE, 1).addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4).setName(Util.Color("&aCobbleX")).toItemStack(); b.getWorld().dropItemNaturally(b.getLocation(), item17); } if(Math.random() *100 < 1.125) { final Random rand = new Random(); final int amount = rand.nextInt(3); final ItemStack item17 = new ItemBuilder(Material.COBBLESTONE, amount).addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 4).setName(Util.Color("&aCobbleX")).toItemStack(); b.getWorld().dropItemNaturally(b.getLocation(), item17); } o ile pamietam to chyba tak sie robilo xd
  3. yooniks

    rozna ilosc

    nie rozumiem pytania ;/
  4. yooniks

    Blazingpack

    a po co aktualizacja? skoro na cc i tak ludzie wchodza z obejsc tak samo jak mc4u i inne, i nie latwo obejsc bo prawie tak jak kazdy, a na mc4u to o wiele latwiej, bo sam mam takie obejscie male od kolegi i dziala na mc4u a na pvpbonsko raczej nie, ale nie testowalem. jak nie wiesz 'czy latwo go obejsc' i czym sie rozni ten od tego z cc/mc4u i innych to nie pisz bzdur
  5. public double promien; zmienic modyfikator dostepu na prywatny, trza.
  6. yooniks

    Blazingpack

    Po internecie lata blazingpack pvpbonsko i dziala na wiekszosci serwerow 1.8.8.
  7. yooniks

    [ Plugin ] LobbyCore

    Wyglada na to ze polowe odpowiedzi zedytowales, bo kilka osob cytuje cos czego nie widze, no ale ok. 1. Odróżnij hasha od obfuscacji. 2. Napisales ze hashujesz, bo 'taki yooniks ukradnie mi kod'. Z tego co ja tu widze: https://www.youtube.com/watch?v=Pp_a__WsnZY&feature=youtu.be 1:13 <- masz moją komende na broadcast, identyko taką jaką miałem w ml-lobbycore czy coś takiego, i to dawno, i piszesz ,że ukradne ci na to api, jak to przecież jest moje i miałem po prostu klase z metodami sendTitle(), sendSubTitle(), sendActionBar(), jesteś śmieszny. Łatwo jest zrobić taką sklejkę, wszystko co masz jest na necie. I te twoje śmieszne 'zahashowanie', jeśli to allatori lub stringer to po prostu javadeobfuscator.com i tyle, 1 minutka i kod prawie normalny. Kod twojej magicznej perły wyglądał dosłownie jak sraka, lobbycore pewnie jeszcze gorzej, nie chcesz dać src bo masz tam pewnie moje titleapi, które napisałem jak się uczyłem bukkitapi (czyli bardzo dawno temu) i kod rozwalony, raz tab, raz spacja, 99% kodu nie twoje. "Jestem młody, dopiero się uczę" - kradniesz kod, każdy raczej kiedyś kradł. Ale dla siebie, dla nauki itd. A nie od razu sklejał to z innymi gównami i sprzedawał jak nie znasz podstaw. I pewnie te twoje 'titleapi', które 'nie dasz bo ci ukradnę' pewnie dalej masz tylko na 1.8.8. Tutaj wrzuca sie pluginy po to ,aby ktoś ocenił ci kod, żebyś wiedział co poprawić, żeby się czegoś nauczyć, nie popełniać dalej tych samych błędów, lub po prostu, aby ludzie tego używali na serwerze. Ale tu to i to nie występuje, bo nie dajesz sourcecode i 'HASZUJESZ' plugin bo ci ukradnę kod <- nie możemy ocenić kodu, nie potrafisz przyjąć krytyki na klate, plugin gówniany i do tego zaobfuscowany, pewnie bedzie lagował przy 100 botach (zależy od tego co w tym pluginku masz). Czekam dalej na sourcecode. Rownie dobrze moze byc tam backdoor, nie chce mi sie deobfuscować bo mam nowy komputer i nie mam plików ze starego, czyli deobfuscatora też nie, ale chętnie bym to coś zdeobfuscował i wrzucił.
  8. yooniks

    Bungeecord

    Caused by: org.bukkit.plugin.messaging.ChannelNotRegisteredException: Attempted to send a plugin message through the unregistered channel `BungeeCord'. public class MyPlugin extends JavaPlugin implements PluginMessageListener { @Override public void onEnable() { this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord"); this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this); } @Override public void onPluginMessageReceived(String channel, Player player, byte[] message) { if (!channel.equals("BungeeCord")) { return; } ByteArrayDataInput in = ByteStreams.newDataInput(message); String subchannel = in.readUTF(); if (subchannel.equals("SomeSubChannel")) { // Use the code sample in the 'Response' sections below to read // the data. } } }
  9. Stringów nie sprawdzamy poprzez '==' tylko poprzez equals(), sprawdzaj czy e.getInventory() wgl istnieje (!=null), czy gracz kliknal w przedmiot a puste okno lub poza inventory, i czy ten przedmiot ma ItemMete z displayName, do tego zamiast Player#performCommand() uzywaj Server#dispatchCommand(), lub wgl calkiem rob to w metodach, i uzywaj cos typu 'powrot();'. public class DropBasic implements CommandExecutor, Listener { private JavaPlugin plugin; private final Inventory dropInventory; public DropBasic(JavaPlugin plugin){ this.plugin=plugin; this.plugin.getServer().getPluginManager().registerEvents(this,this.plugin); //chyba tak sie to rejestrowalo, pisze to w 'code' tutaj, a tak to mi intellij podpowiada :> this.dropInventory = plugin.getServer().createInventory(null,9,"Drop serwerowy"); this.dropInventory.setItem(0, stone()); } @Override public boolean onCommand(CommandSender sender, Command cmd, String l, String[] args) { Player p = (Player) sender; if(cmd.getName().equalsIgnoreCase("drop")){ p.openInventory(this.dropInventory); return true; } return false; } @EventHandler public void onInvClick(InventoryClickEvent e) { final Player p = (Player) e.getWhoClicked(); if (e.getInventory == null || e.getClickedItem() == null) return; if (e.getInventory.getTitle().toLowerCase().contains("drop serwerowy")) { final ItemStack is = e.getClickedItem(); if (is.getItemMeta() == null || is.getItemMeta().getDisplayName() == null) return; if (is.getItemMeta().getDisplayName().contains("stonehehe") { goToMenu1(p); } } return; } private ItemStack stone() { final ItemStack stone = new ItemStack(Material.STONE, 1) final ItemMeta stoneim = stone.getItemMeta(); List<String> stonelore = new ArrayList<>(); stonelore.add("§8» §7Kliknij aby zobaczyc drop ze stone"); stoneim.setDisplayName("stonehehe"); stoneim.setLore(stonelore); stone.setItemMeta(stoneim); return stone; } private void goToMenu1(Player p) { //ja zrobilbym enumy (MenuType) i tam trzymal AchievementsMenu, DropMenu itd. i po prostu przy metodzie z konstruktora bral enuma, ale tak bedzie ci latwiej <- p.closeInventory(); //otwierasz nowe inventory z nowymi itemami itd.. } } Inventory twórz jeden raz i po prostu wkladaj do niego itemy od razu, a nie caly czas przy komendzie tworzysz gui i wkladasz od nowa itemy, przeciez nie trzymasz tam niczego od gracza typu "twoj level", wiec na razie mozesz robic tak jak ci dalem, czyli tworzysz tylko raz inventory, przy tworzeniu instancji klasy. Pisane w 'code' od razu na forum, wiec moga byc jakies bledy.
  10. Stworzcie jakis sidebar, i go ustawcie jak gracz wbije pierwszy raz, potem juz tylko taskiem aktulizujcie jego score, a nie caly od nowa bo wtedy bedzie to dziwnie wygladac, tak jakby znikal i sie pojawial. a ty pierw naucz sie podstaw bo nie umiesz nawet klamr poprawnie stawiac i sie glowisz co nie dziala, do tego nie ustawiacie zadnego score z tego co widze z kodów ktore sa tutaj. Tylko tworzycie pusty scoreboard, i do tego task, poprawcie: new BukkitRunnable() { @Override public void run() { update(p); } }.runTaskTimer(plugin, 0L, 20L); Lub zrobcie po prostu w onenable jakiegos taska ktory aktualizuje juz od razu wszystkim.
  11. yooniks

    Bungeecord

    https://www.spigotmc.org/resources/ipwhitelist.61/ wrzucasz na easyhc i dajesz tam ip lobby i bungee
  12. yooniks

    Bungeecord

    ip-forward na true, i bungeecord tez w plikach konfiguracyjnych powinno pomoc, dodatkowo mozesz wgrac jeszcze ipwhitelist
  13. yooniks

    Bungeecord

    Trochę nie rozumiem, na lobby możesz wbić z dwóch klientów, a na easyhc już tylko z 'forceop', tak? Jeśli tak to po prostu pewnie masz inną wersje silnika na easyhc.
  14. https://www.spigotmc.org/threads/viaversion.127105/page-6 Poczytaj sobie, tu mieli podobne problemy.
  15. Spróbuje zrobić na to blokade w pluginie, jak bede mial czas @edit https://github.com/yooniks/PearlFixer zrobiłem na szybko, mam nadzieje ze bedzie dzialac, nigdy nie używałem ender perły w pluginach wiec może nie do końca działać, w razie problemów pisz. Zrobiłem mapkę zamiast listy, bo na początku miałem zamiar zrobić to inaczej, może kiedyś to zmienie jak bede miał czas, i powód, bo raczej nie ma to wiekszego znaczenia. (@editv2 poprawiono troszeczke kod, mapki pozmieniano na finalne, i troche zmieniono w obiekcie user, ale troszke zepsulem projekt w intellij, zbugowal mi sie z gitem i tego na razie nie zaktualizuje)
  16. @EventHandler public void onUsingWater(PlayerInteractEvent ev) { final Action ac = ev.getAction(); final ItemStack item = ev.getItem(); if (ac == Action.RIGHT_CLICK_BLOCK || ac == Action.RIGHT_CLICK_AIR) { if (item != null && item.getType.toString().toLowerCase().contains("water")) ev.setCancelled(true); } }
  17. yooniks

    dodanie

    set {_p} to arg-2 parsed as player kod... to {_p} powinno dzialac
  18. Ten plugin nie jest twój, jest z wycieków, nie jest publiczny, do tego pewnie masz zaobfuscowany. Forum (a raczej jego uzytkownicy[przynajmniej wiekszosc]) tego nie popierają wiec ci raczej nikt nie pomoze nawet z głupia bazą danych
  19. Tworzysz scoreboard, dodajesz mu score itd., po wbiciu gracza ustawiasz mu go, robisz jakiegos taska, w którym po prostu aktualizujesz go. Poczytaj jakis tutorial.
  20. yooniks

    problem z gui

    Wrzuć tu wszystkie klasy wraz z plikiem plugin.yml, dopiero wtedy to przejrzę.
  21. yooniks

    blokowanie gui

    package me.hotangel2k17.pl.commands; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; public class DropCommand implements CommandExecutor, Listener{ @Override public boolean onCommand(CommandSender s, Command cmd, String l, String[] args) { Player p = (Player) s; if(cmd.getName().equalsIgnoreCase("drop")){ final Inventory inv = Bukkit.getServer().createInventory(null,9,"drop"); inv.setItem(0, stone); p.openInventory(inv); return true; } return false; } @EventHandler public void onClick(InventoryClickEvent e){ if (e.getInventory().getTitle().equalsIgnoreCase("drop")){ if (e.getClickedItem() == null || e.getClickedItem().getItemMeta() == null) return; final Player p = (Player)e.getWhoClicked(); p.sendMessage("it's working!"); } } private ItemStack stone(){ ItemStack stone = new ItemStack(Material.CHEST, 1);{ ItemMeta stoneim = stone.getItemMeta(); stoneim.setDisplayName("§7§lStoneCase"); stone.setItemMeta(stoneim); return stone; } } + rejestracja eventu w onEnable. Pisane od razu w 'code' na forum wiec moze byc jakis maly blad z nawiasami lub klamrami.
  22. Wrzuć src na jakąś strone gdzie można przeglądać taki kod źródłowy, np. github.com, to ja chętnie ocenie ten kod, skoro jest taki 'wydajny itd.', bo założę się, że drop jak każdy, czyli podstawowe błędy.
  23. Comparator. https://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html lub jakas specjalna mapka/lista, jak chcesz kod to sam sobie poszukaj, tutaj wiekszosc osob tylko podpowiada lub pomaga z kodem, nie daje gotowców.
  24. yooniks

    Komenda

    sam dzial mowi o tym ze jest to temat o pomocy z pluginem, nie skryptem. I w dodatku autor wspomina o tym @topic Listener, event InventoryClickEvent, sprawdzasz kliknięty przedmiot, wykonujesz komendę, Bukkit#dispatchCommand
  25. yooniks

    Pomocy fast :(

    ItemStack ew = new ItemStack(Material.ENDER_STONE, 1);{ ItemMeta im = ew.getItemMeta(); im.setDisplayName("§9§lEnd"); ew.setItemMeta(im); } to popraw, @Override public boolean onCommand(CommandSender sender, Command cmd, String l, String[] args) { if(cmd.getName().equalsIgnoreCase("drop")){ inv = Bukkit.createInventory(null, 9, "§5§lTeleportation menu");{ inv.setItem(0, blank); inv.setItem(1, blank); inv.setItem(2, ow); inv.setItem(3, blank); inv.setItem(4, nw); inv.setItem(5, blank); inv.setItem(6, ew); inv.setItem(7, blank); inv.setItem(8, blank); } } return false; } i to, no i dodaj Player#openInventory(inv);
×
×
  • Dodaj nową pozycję...