-
Ilość zawartości
987 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
13
Treść opublikowana przez yooniks
-
no przed chwilą wspomniałeś o tym ,że zrobiłeś core, a piszesz ,że nie potrafisz zrobić odczytywania tekstu z połaczenia http, co jest na pierwszych stronach w tutorialach na oracle no to jedyne co chyba zrobiles to zedytowales kguildsy, wiec nie ma sie czym chwalic ;/
-
KOD
-
wrzuć na bungee.
-
wersja 1.8 nie jest juz wspierana, tak samo repo usuniete, mozna znalezc tylko jarki w najgorszych zakamarkach internetu
-
Skoro nie potrafisz nawet zacząć to czemu bierzesz sie za proxy ;/
-
https://github.com/yooniks/SuperProxy pobierasz, wrzucasz package org.spacehq do projektu i tyle
-
WorldGuard - Wychodzenie z regionu
yooniks odpowiedział(a) na warchamer12 pytanie w Pytania i problemy
if (rm.getApplicableRegions(event.getFrom()) == null && rm.getApplicableRegions(event.getFrom()) != null) { tak jak wyzej, sprawdzasz czy jest nullem i czy nim nie jest, warunek sie nie spelni (o ile sie nie myle) UserUtil.getUserByNick(player.getName()).setParkour(null); UserUtil.getUserByNick(player.getName()).setStartState(false); do tego pewnie tą metodą wyszukujesz userów z listy i sprawdzasz czy ich nick jest taki sam jak podany, tak sie nie robi, no i do tego robisz to kilka razy zamiast raz zrobic sobie zmienna user ;/ return; } else { return; } cos mi sie tu zdaje ze kolega na sile probuje edytowac pluginy -
po tym moge stwierdzic, ze jestes jakims dzieciakiem, jezu ludzie przestancie z tym. Równie dobrze mogłbym wgrać kilka pluginów autorstwa kogoś innego - i co z tego? Ważne ,że działa, jest dobre i podoba się graczom. - pluginy wykonane przeze mnie (chociaz jak wyciekną to sie do nich nie przyznaje XD) @Ostry25 a rób ja nic nie strace, a plugin pisany za darmo, dawno zaczęty, moge to uznać za coś typu naukę @TheMolkaPL już zacząłem, ale trudno tak edytować stare pluginy
-
przyklad (slaby w flat jestem, jak cos zle to niech ktos mnie poprawi): package xyz.yooniks.simple; import lombok.Getter; import org.bukkit.plugin.java.JavaPlugin; import xyz.yooniks.simple.listener.PlayerJoinQuit; import xyz.yooniks.simple.user.UserManager; public final class SimplePlugin extends JavaPlugin { @Getter private final UserManager userManager; public SimplePlugin() { this.userManager = new UserManager(this); } @Override public void onEnable() { this.getServer().getPluginManager().registerEvents( new PlayerJoinQuit(this), this); } @Override public void onDisable() { } } package xyz.yooniks.simple.user; import lombok.AllArgsConstructor; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; import xyz.yooniks.simple.SimplePlugin; import java.util.HashMap; import java.util.Map; import java.util.UUID; @AllArgsConstructor public class UserManager { private final SimplePlugin plugin; private final Map<UUID, User> users = new HashMap<>(); public User getUser(Player player) { User user = this.users.get(player.getUniqueId()); if (user == null) { this.users.put(player.getUniqueId(), user = new User(this.plugin, player)); } return user; } public void remove(PlayerQuitEvent event) { final Player player = event.getPlayer(); final User user = this.getUser(player); user.quit(); this.users.remove(player.getUniqueId()); } } package xyz.yooniks.simple.user; import lombok.Getter; import lombok.Setter; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import xyz.yooniks.simple.SimplePlugin; import java.io.File; import java.io.IOException; import java.util.UUID; public class FlatUser { private FileConfiguration yaml; private final File file; private final SimplePlugin plugin; @Getter @Setter private int level; public FlatUser(SimplePlugin plugin, UUID uuid) { this.plugin = plugin; this.file = new File(plugin.getDataFolder() + "/users", uuid.toString() + ".yml"); this.plugin.getServer().getScheduler().runTaskAsynchronously(this.plugin, () -> { try { if (!file.exists()) file.createNewFile(); this.yaml = YamlConfiguration.loadConfiguration(file); this.yaml.options().copyDefaults(true); this.yaml.addDefault("level", 1); this.reload(false, true); } catch (IOException ex) { //do something } }); } private void loadValues() { this.level = this.yaml.getInt("level", 1); } public void quit() { this.yaml.options().copyDefaults(true); this.yaml.set("level", this.level); this.reload(true, false); } private void reload(boolean async, boolean load) { if (async) { this.plugin.getServer().getScheduler().runTaskAsynchronously(this.plugin, () -> reload(load)); return; } reload(load); } private void reload(boolean load) { try { this.yaml.save(this.file); if (load) this.loadValues(); } catch (IOException ex) { //do something } } } package xyz.yooniks.simple.user; import lombok.Getter; import org.bukkit.entity.Player; import xyz.yooniks.simple.SimplePlugin; import java.util.UUID; public class User extends FlatUser { @Getter private final UUID uuid; public User(SimplePlugin plugin, Player player) { super(plugin, player.getUniqueId()); this.uuid = player.getUniqueId(); } } package xyz.yooniks.simple.listener; import lombok.AllArgsConstructor; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; import xyz.yooniks.simple.SimplePlugin; import xyz.yooniks.simple.user.User; @AllArgsConstructor public class PlayerJoinQuit implements Listener { private final SimplePlugin plugin; @EventHandler public void onJoin(PlayerJoinEvent event) { final Player player = event.getPlayer(); final User user = this.plugin.getUserManager().getUser(player); this.plugin.getServer().getScheduler().runTaskLaterAsynchronously(this.plugin, () -> { if (player.isOnline()) { player.sendMessage(ChatColor.GREEN + "Twoj level: " + user.getLevel()); } }, 20L * 3); } @EventHandler public void onQuit(PlayerQuitEvent event) { plugin.getUserManager().remove(event); } } @edit wrzuc jeszcze to w onenable: if (!this.getDataFolder().exists()) { this.getDataFolder().mkdir(); } final File usersDir = new File(this.getDataFolder(), "users"); if (!usersDir.exists()) usersDir.mkdir();
-
for(String msg : fFile.getStringList("Rozmowa_" + string)) { moze zawiera 2 wiadomosci, a nie jedna? I to wszystko laduj raz, w tasku, przy wejsciu gracza. A po wyjsciu gracza aktualizuj plik i usuwaj dane tego 'gracza' @edit i jak robisz return to juz nie musisz robic else: if(!(e.getRightClicked() instanceof Villager)){ return; } else { if(e.getRightClicked().getCustomName().equalsIgnoreCase("Wojownik")){ clickedEntity(e.getPlayer(), "Wojownik", e.getRightClicked().getLocation()); e.setCancelled(true); } do tego taki plik moze nie istniec: File f = new File("plugins/VarRPG/Players/" + player.getPlayer().getName() + ".yml"); a ty nic z tym nie robisz ;/ do tego z playera pobierasz playera do tego stringi nie porownujemy poprzez == tylko equals if(yamlFile.getString("Postac.Klasa") == null|| yamlFile.getString("Postac.Klasa") == "Proces tworzenia"||yamlFile.getString("Postac.Klasa") == "Chuj"){
-
Zamiast oferować rangę za pieniadze napisz wprost, ze szukasz sponsora.. No i więcej o serwerze napisz, link do reklamy itd Sam zysków z serwera nie mam wiec pliki robie tylko w wolnym czasie,a wymagania duze
-
XD czym sie rozno jedno od drugiego? pakiety mozesz wysylac async i cos tam jeszcze, ale limit taki sam. (No chyba ze czegoś nie Wiem)
-
uzyjcie 'starts with' zamiast contains.
-
nie wiem co to znaczy ale pewnie chodzi ci o ustawianie velocity
-
Zatrzymanie programu po wykonaniu operacji.
yooniks odpowiedział(a) na KrejzolekPRO pytanie w Pytania i problemy
Bo poprawnie sie robi tak jak napisal molka https://docs.oracle.com/javase/tutorial/essential/io/scanning.html -
https://www.spigotmc.org/threads/tutorial-implement-mysql-in-your-plugin-with-pooling.61678/
-
1. po prostu po warunku rob System.out.println("sraka"); jezeli sie wykona to znaczy ze dziala, a ze reszte kodu masz po prostu zle zrobiona. czyli np: for(String zestaw1 : Main.getPlugin(Main.class).getConfig().getStringList("case.drop.zestawI.name")){ config nie istnieje, lub lista jest pusta 2.zamiast stringlist zwykly string, lol
-
Cooldown pomiędzy używaniem dźwigni, płytek naciskowych, czerwonej pochodni
yooniks odpowiedział(a) na Ozelot pytanie w Pytania i problemy
blablabla wgrywasz fastasyncredstone, fastasyncworldedit i po sprawie (juniks sie o tym dowiedzial dzieki vocanowi) -
daj kod, wytlumacz co chcesz zrobic, a co ci nie dziala dokladniej. bo nic z tego nie rozumiem, zamiast listy mozesz uzywac \n lub od razu inaczej, ale ja widze ze chcesz tu zrobic cos innego
-
Pisz pv, boli mnie zab, nie ruszam sie z łóżka, a dopiero za kilka dni mam wizytę.
-
Zamiast zaczynać od bukkita powinien nauczyc sie pierw podstaw Javy
-
Czy da sie naprawic kolory w jednej klasie?
yooniks odpowiedział(a) na xEver1337 pytanie w Pytania i problemy
to sie popisales nie dosc ze porawiasz osobe ktora napisała dobrze to jeszcze zamiast dac linka do dokumentacji dajesz zapewne kod z dekompilatora -
em, po pierwsze to aby zedytowac taki plugin - kod musi byc opensource lub trzeba dostac kod od autora pluginu i pozwolenie na jego dowolne edytowanie + tak na marginesie - takie cos kosztuje.
-
niech znajdzie sobie kogoś lepszego
-
On po prostu chce zebysmy mu znalezli te pluginu 'bo on nie umie ich znalezc'
