heobrine 0 Opublikowano 29 października 2023 Udostępnij Opublikowano 29 października 2023 Cześć, napisze mi ktoś kod pluginu (z importami cały ogl) jak zrobić przenoszenie komendą np. /boxpvp na tryb boxpvp (w pluginie na spigota) czyli że plugin spigot na przenoszenie przez bungee na np. boxpvp Cytuj Odnośnik do komentarza https://skript.pl/temat/56475-przenoszenie-na-inny-tryb/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 ivall 59 Opublikowano 29 października 2023 Udostępnij Opublikowano 29 października 2023 Ten temat został przeniesiony. Cytuj Odnośnik do komentarza https://skript.pl/temat/56475-przenoszenie-na-inny-tryb/#findComment-338485 Udostępnij na innych stronach Więcej opcji udostępniania...
0 prostychlop 0 Opublikowano 29 października 2023 Udostępnij Opublikowano 29 października 2023 (edytowane) 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); } } } Edytowane 29 października 2023 przez prostychlop Cytuj Odnośnik do komentarza https://skript.pl/temat/56475-przenoszenie-na-inny-tryb/#findComment-338487 Udostępnij na innych stronach Więcej opcji udostępniania...
0 heobrine 0 Opublikowano 29 października 2023 Autor Udostępnij Opublikowano 29 października 2023 47 minut temu, prostychlop napisał: 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); } } } jak ma działać ten kod, bo po wpisaniu komendy nic sie nie dzieje? (wersja 1.18.2 java 17) Cytuj Odnośnik do komentarza https://skript.pl/temat/56475-przenoszenie-na-inny-tryb/#findComment-338490 Udostępnij na innych stronach Więcej opcji udostępniania...
0 prostychlop 0 Opublikowano 29 października 2023 Udostępnij Opublikowano 29 października 2023 16 minut temu, heobrine napisał: jak ma działać ten kod, bo po wpisaniu komendy nic sie nie dzieje? (wersja 1.18.2 java 17) czy przy użyciu metody `switchServer(player, "glowny")` zmieniłeś "glowny" na nazwe serwera "boxpvp" którą ustawiłeś w bungeecord? Cytuj Odnośnik do komentarza https://skript.pl/temat/56475-przenoszenie-na-inny-tryb/#findComment-338491 Udostępnij na innych stronach Więcej opcji udostępniania...
0 heobrine 0 Opublikowano 29 października 2023 Autor Udostępnij Opublikowano 29 października 2023 27 minut temu, prostychlop napisał: czy przy użyciu metody `switchServer(player, "glowny")` zmieniłeś "glowny" na nazwe serwera "boxpvp" którą ustawiłeś w bungeecord? dobra nie ważne xD, juz działa Cytuj Odnośnik do komentarza https://skript.pl/temat/56475-przenoszenie-na-inny-tryb/#findComment-338493 Udostępnij na innych stronach Więcej opcji udostępniania...
0 prostychlop 0 Opublikowano 29 października 2023 Udostępnij Opublikowano 29 października 2023 to jak działa, to super ;D licze na repa Cytuj Odnośnik do komentarza https://skript.pl/temat/56475-przenoszenie-na-inny-tryb/#findComment-338495 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
heobrine 0
Cześć, napisze mi ktoś kod pluginu (z importami cały ogl) jak zrobić przenoszenie komendą np. /boxpvp na tryb boxpvp (w pluginie na spigota) czyli że plugin spigot na przenoszenie przez bungee na np. boxpvp
Odnośnik do komentarza
https://skript.pl/temat/56475-przenoszenie-na-inny-tryb/Udostępnij na innych stronach
6 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.