Skocz do zawartości

prostychlop

Użytkownik
  • Ilość zawartości

    6
  • Rejestracja

  • Ostatnia wizyta

Treść opublikowana przez prostychlop

  1. to jak działa, to super ;D licze na repa
  2. czy przy użyciu metody `switchServer(player, "glowny")` zmieniłeś "glowny" na nazwe serwera "boxpvp" którą ustawiłeś w bungeecord?
  3. A sprawdzałeś w ogóle czy zapis tych sklepików jest w folderze pluginu?
  4. W głównej klasie dodaj coś takiego: getCommand("p").setExecutor(new KolorowaKomenda(this)); getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord"); getServer().getMessenger().registerIncomingPluginChannel(plugin, "BungeeCord", new KolorowaKomenda(this)); Oraz stwórz klase implementującą CommandExecutor oraz PluginMessageListener import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteStreams; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.messaging.PluginMessageListener; import org.jetbrains.annotations.NotNull; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; public class KolorowaKomenda implements CommandExecutor, PluginMessageListener { private final JavaPlugin instance; public KolorowaKomenda(JavaPlugin instance) { this.instance = instance; } @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if(sender instanceof Player player)switchServer(player, "glowny"); return false; } public void switchServer(Player player, String serverName) { ByteArrayOutputStream b = new ByteArrayOutputStream(); DataOutputStream out = new DataOutputStream(b); try { out.writeUTF("Connect"); out.writeUTF(serverName); } catch (IOException e) { e.printStackTrace(); } player.sendPluginMessage(instance, "BungeeCord", b.toByteArray()); } @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("Connect")) { String server = in.readUTF(); Bukkit.getServer().getLogger().info(player.getName() + " został przekierowany na serwer " + server); } } }
  5. Raczej ciężko będzie, jeżeli nie istnieje żaden dodatek do tego ponieważ otrzymanie skina/główny za pomocą obrazka dziala w taki sposób, że jednemu z wielu kont premium jest ustawiany nowy skin, a następnie zwraca on pewien obiekt z którego można pobrać różne dane jak strukture skina. https://mineskin.org/ API stworzone do tego
  6. prostychlop

    Skrypt gui

    taka sytuacja dzieje się gdy przed otwarciem nowego gui, graczowi zamkniesz stare (player's close inventory), jezeli zamiast tego po prostu otworzysz nowe gui, to klientowi nadpisze się nowo widoczne inventory a kursor powinien zostać w tym samym miejscu
×
×
  • Dodaj nową pozycję...