Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.chris.testing;
- import java.util.function.Consumer;
- import java.util.logging.Logger;
- import javax.inject.Inject;
- import org.spongepowered.api.Game;
- import org.spongepowered.api.Platform.Type;
- import org.spongepowered.api.entity.living.player.Player;
- import org.spongepowered.api.event.Listener;
- import org.spongepowered.api.event.game.state.GameStartedServerEvent;
- import org.spongepowered.api.event.network.ClientConnectionEvent;
- import org.spongepowered.api.network.ChannelBinding;
- import org.spongepowered.api.network.ChannelBuf;
- import org.spongepowered.api.network.RawDataListener;
- import org.spongepowered.api.network.RemoteConnection;
- import org.spongepowered.api.plugin.Plugin;
- @Plugin(id = "NetworkTest", name = "NetworkTest", version = "0.1")
- public class NetworkTest implements RawDataListener
- {
- @Inject Game game;
- @Inject Logger logger;
- private ChannelBinding.RawDataChannel rawDataChannel;
- public NetworkTest()
- {
- }
- @Listener
- public void onInit(GameStartedServerEvent event)
- {
- rawDataChannel = this.game.getChannelRegistrar().createRawChannel(this, "TEST_CHANNEL");
- rawDataChannel.addListener(this);
- }
- @Listener
- public void onPlayerJoin(ClientConnectionEvent.Join event)
- {
- logger.info("sending packet to : " + event.getTargetEntity().getName());
- sendPacket(event.getTargetEntity(), new String[] {"Test"});
- }
- public void handlePayload(ChannelBuf data, RemoteConnection connection, Type side)
- {
- logger.info(new String(data.array()).trim());
- }
- public void sendPacket(Player player, String[] messages)
- {
- rawDataChannel.sendTo(player, buf ->
- {
- for(String message : messages)
- {
- buf.writeString(message);
- }
- });
- }
- public void sendPacket(Player player, Consumer<ChannelBuf> payload)
- {
- rawDataChannel.sendTo(player, payload);
- }
- public void sendToAll(String[] messages)
- {
- rawDataChannel.sendToAll(buf ->{
- for(String message : messages)
- {
- buf.writeString(message);
- }
- });
- }
- public void sendToAll(Consumer<ChannelBuf> payload)
- {
- rawDataChannel.sendToAll(payload);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement