Skocz do zawartości
  • 0

Bungeecord getProxiedPlayers


XXXXXXXXXX

Pytanie

napisałem plugin pod bukkita z użyciem silnika bungeecord...


import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;

import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitTask;

public class Main extends JavaPlugin implements Listener{
	
	public static Main main;
	
	@Override
	public void onEnable(){
		main = this;
		
		getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
		task();Bukkit.getPluginManager().registerEvents(this, this);	
	}
	
	public static BukkitTask bt;
	
	public void task(){
		bt = Bukkit.getScheduler().runTaskTimer(main, new Runnable(){
			public void run(){
				if(ProxyServer.getInstance().getPlayers().size()<1) return;
				for(ProxiedPlayer pp : ProxyServer.getInstance().getPlayers()){
					pp.sendMessage(new TextComponent("xd"));
				}
			}
		}, 0L, 5 * 20L);
	}
	
	@Override
	public void onDisable(){
		main = null;
	}
	
	@EventHandler
	public void onJoin(PlayerJoinEvent e)
	{
		for(ProxiedPlayer pp : ProxyServer.getInstance().getPlayers()){
			pp.sendMessage(new TextComponent("xd"));
		}
	}
	
	public static Main getMain(){
		return main;
	}

}

i nie działa

oto błąd:

java.lang.NoClassDefFoundError: net/md_5/bungee/api/ProxyServer
at vimc.xireu.hammer.Main$1.run(Main.java:34) ~[?:?]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59) ~[server.jar:git-PaperSpigot-"8b18730"]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:349) [server.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:783) [server.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [server.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [server.jar:git-PaperSpigot-"8b18730"]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [server.jar:git-PaperSpigot-"8b18730"]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]

pomocy

Odnośnik do komentarza
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Cytat

napisałem plugin pod bukkita z użyciem silnika bungeecord...

wat? xD

BungeeCord to proxy do serwerów minecrafta i to jest osobna aplkacja i wtedy musisz napisać plugin pod bungeecorda - nie jest to żaden silnik.
I tak samo bukkit jest silnikiem i osobną aplikacją pod którą można pisać pluginy.

Nie możesz sobie tak losowo łączyć obu API...

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, XXXXXXXXXX napisał:

czyli jak mam napisać plugin żę gdy gracz dołączy na serwer sv1 to pisze na wszystkich serwerach ze wszedl na serwer?

 

Możesz taką wiadomość wysłać kanałem na bungeecord, a potem z bungeecorda kanałem na inne serwery ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Przecież towarzysze dobrze napisali. Możesz zrobić plugin na BungeeCord (nie do Bukkit!!), który będzie pisał wiadomość do wszystkich graczy na proxy, że ktoś dołączył. Albo możesz zrobić plugin BungeeCord, który przy wejściu jakiegoś gracza wysyła jakimś sposobem plugin channel (bo ten działa pakietami jakiegoś klienta, więc nie będzie działać jak nikogo na serwerze nie ma) do wszystkich instancji Bukkita, które to posiadają swój plugin, który taką wiadomość nasłuchują i informują graczy na serwerze o wejściu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
30 minut temu, XXXXXXXXXX napisał:

@Upppp debile które myślą że napiszą to co myślą i coś umieją :)

No tak wyzywanie nas jest świetnym sposobem :) Jeśli umiesz choć trochę język angielski to sobie poradzisz: https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Nie rozumiem po co od razu wyzywasz, skoro napisali ci jasno:

5 godzin temu, GotoFinal napisał:

wat? xD

BungeeCord to proxy do serwerów minecrafta i to jest osobna aplkacja i wtedy musisz napisać plugin pod bungeecorda - nie jest to żaden silnik.
I tak samo bukkit jest silnikiem i osobną aplikacją pod którą można pisać pluginy.

Nie możesz sobie tak losowo łączyć obu API...

lub sam error mowi sam za siebie, taka klasa nie istnieje w silniku ktorego uzywasz..

 

Wystarczy ze zrobisz taki sam plugin, tylko pod serwer proxy lub uzyjesz tych pieknych bungee kanałow (nie wiem w sumie jak to przetlumaczyc na polski)

https://www.spigotmc.org/threads/tutorial-advanced-plugin-messaging-spigot-bungeecord.53440/ - sam kiedys korzystalem i w sumie mialem uzywac do synchronizacji komend pomiedzy serwerami, ale jestem leniwy i nie zrobilem, a jakbym zrobil to bym udostepnil :pomysł:

 

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...