ez_top1 0 Opublikowano 29 czerwca 2022 Udostępnij Opublikowano 29 czerwca 2022 tak jak w temacie Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 29 czerwca 2022 Udostępnij Opublikowano 29 czerwca 2022 Ten temat został przeniesiony. Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323118 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 30 czerwca 2022 Udostępnij Opublikowano 30 czerwca 2022 Stwórz własny lub użyj gotowego serializera/deserializera itemów z tekstu Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323125 Udostępnij na innych stronach Więcej opcji udostępniania...
0 ez_top1 0 Opublikowano 30 czerwca 2022 Autor Udostępnij Opublikowano 30 czerwca 2022 5 godzin temu, kerpson napisał: Stwórz własny lub użyj gotowego serializera/deserializera itemów z tekstu public static String itemStackArrayToBase64(ItemStack[] items) throws IllegalStateException { try { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream(outputStream); // Write the size of the inventory dataOutput.writeInt(items.length); // Save every element in the list for (int i = 0; i < items.length; i++) { dataOutput.writeObject(items[i]); } // Serialize that array dataOutput.close(); return Base64Coder.encodeLines(outputStream.toByteArray()); } catch (Exception e) { throw new IllegalStateException("Unable to save item stacks.", e); } } public static ItemStack[] itemStackArrayFromBase64(String data) throws IOException { try { ByteArrayInputStream inputStream = new ByteArrayInputStream(Base64Coder.decodeLines(data)); BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream); ItemStack[] items = new ItemStack[dataInput.readInt()]; // Read the serialized inventory for (int i = 0; i < items.length; i++) { items[i] = (ItemStack) dataInput.readObject(); } dataInput.close(); return items; } catch (ClassNotFoundException e) { throw new IOException("Unable to decode class type.", e); } } takie cos? Wstawiam kod w code. Notatka dodana przez Glicz Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323129 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 30 czerwca 2022 Udostępnij Opublikowano 30 czerwca 2022 no na przykład tak Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323131 Udostępnij na innych stronach Więcej opcji udostępniania...
0 ez_top1 0 Opublikowano 30 czerwca 2022 Autor Udostępnij Opublikowano 30 czerwca 2022 15 minut temu, kerpson napisał: no na przykład tak i co teraz xD Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323132 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 719 Opublikowano 30 czerwca 2022 Udostępnij Opublikowano 30 czerwca 2022 I teraz możesz to wysyłać i odbierać https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/ Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323134 Udostępnij na innych stronach Więcej opcji udostępniania...
0 ez_top1 0 Opublikowano 30 czerwca 2022 Autor Udostępnij Opublikowano 30 czerwca 2022 1 godzinę temu, Ixidi napisał: I teraz możesz to wysyłać i odbierać https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/ mam to wyslac subchannelem? czy czym 1 godzinę temu, Ixidi napisał: I teraz możesz to wysyłać i odbierać https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/ zrobilem cos takiego komenda @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if(sender instanceof Player) { Player p = (Player) sender; if (args.length == 1) { ConnectUtil.sendPlayer(p, args[0]); p.sendMessage("Wyslano cie do servera" + args[0]); String is = Inv.itemStackArrayToBase64(p.getInventory().getContents()); ByteArrayOutputStream bb = new ByteArrayOutputStream(); DataOutputStream outt = new DataOutputStream(bb); try { outt.writeUTF("Forward"); outt.writeUTF("ALL"); outt.writeUTF("test"); outt.writeUTF(is); } catch (IOException e) { e.printStackTrace(); } p.sendPluginMessage(Main.getPlugin(), "BungeeCord", bb.toByteArray()); } } return false; } } odbieranie @Override public void onPluginMessageReceived(String channel, Player player, byte[] message) { if (!channel.equals("BungeeCord")) { return; } try { ByteArrayDataInput in = ByteStreams.newDataInput(message); String subChannel = in.readUTF(); if (!subChannel.equals("test")) { ItemStack[] is = Inv.itemStackArrayFromBase64(String.valueOf(message)); player.getInventory().setContents(is); } } catch (IOException e) { e.printStackTrace(); } } tylko cos mi nie dziala :c Łączę posty, wstawiam kod w code. Notatka dodana przez Glicz Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323135 Udostępnij na innych stronach Więcej opcji udostępniania...
0 kerpson 551 Opublikowano 30 czerwca 2022 Udostępnij Opublikowano 30 czerwca 2022 Wysyłasz wiadomość do bungeecorda, w której jest przetrzymywany ekwipunek gracza(zapisany w stringu), gdy to będzie potrzebne wysyłasz to na serwer docelowy. Ja szczerze mówiąc nie jestem zwolennikiem takich rozwiązań, w prawdzie kanały bungee są dobre, działają dobrze ale jednak wybrałbym jakąś bazę danych(chociażby redis który jest szybki, dynamiczny i w skrócie przeznaczony do tego typu działań) Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323144 Udostępnij na innych stronach Więcej opcji udostępniania...
0 ez_top1 0 Opublikowano 30 czerwca 2022 Autor Udostępnij Opublikowano 30 czerwca 2022 1 minutę temu, kerpson napisał: Wysyłasz wiadomość do bungeecorda, w której jest przetrzymywany ekwipunek gracza(zapisany w stringu), gdy to będzie potrzebne wysyłasz to na serwer docelowy. Ja szczerze mówiąc nie jestem zwolennikiem takich rozwiązań, w prawdzie kanały bungee są dobre, działają dobrze ale jednak wybrałbym jakąś bazę danych(chociażby redis który jest szybki, dynamiczny i w skrócie przeznaczony do tego typu działań) ale jakbyscie mogli pomoc z tym pluginem to byl bym bardzo wdzieczny. btw wiem ze lepsze rozwiazanie jest zrobienie redis lub kryoneta lub sockety ale poprostu potzebuje do jednego projektu Cytuj Odnośnik do komentarza https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/#findComment-323145 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
ez_top1 0
tak jak w temacie
Odnośnik do komentarza
https://skript.pl/temat/52948-jak-zrobic-w-pluginie-zapisywanie-itemow-kanalami-bungeecord/Udostępnij na innych stronach
9 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ą.