Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.redgame;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.block.Sign;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.plugin.messaging.PluginMessageListener;
- import com.google.common.io.ByteArrayDataOutput;
- import com.google.common.io.ByteStreams;
- import net.redgame.sign.Create;
- import net.redgame.sign.Delete;
- public class Main extends JavaPlugin implements Listener, PluginMessageListener {
- @Override
- public void onEnable() {
- this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
- this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this);
- this.getServer().getMessenger().registerOutgoingPluginChannel(this, "InfoP");
- this.getServer().getMessenger().registerIncomingPluginChannel(this, "InfoP", this);
- PluginManager pm = Bukkit.getServer().getPluginManager();
- pm.registerEvents(this, this);
- pm.registerEvents(new Create(this), this);
- pm.registerEvents(new Delete(this), this);
- System.out.println("RedGame > enabled");
- }
- public void onDisable(){
- System.out.println("RedGame > disabled");
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- Player p = (Player) sender;
- if(label.equalsIgnoreCase("lobby")) {
- p.sendMessage("cpicpou");
- ByteArrayDataOutput out = ByteStreams.newDataOutput();
- out.writeUTF("Connect");
- out.writeUTF("serverB");
- p.sendPluginMessage(Bukkit.getPluginManager().getPlugin("RedGame"), "BungeeCord", out.toByteArray());
- }
- if(label.equalsIgnoreCase("testt")) {
- p.sendMessage(((CraftPlayer) p).getHandle().ping+"");
- ByteArrayOutputStream b = new ByteArrayOutputStream();
- DataOutputStream out = new DataOutputStream(b);
- try{
- out.writeUTF("subchannel");
- p.sendMessage("sending...");
- p.sendPluginMessage(this, "InfoP", b.toByteArray());
- p.sendMessage("sent!");
- } catch(Exception e){
- e.printStackTrace();
- }
- }
- return false;
- }
- @EventHandler
- public void onPlayerInteract(PlayerInteractEvent e) {
- Player p = (Player) e.getPlayer();
- if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
- Block b = e.getClickedBlock();
- if(b.getType() == Material.SIGN || b.getType() == Material.SIGN_POST || b.getType() == Material.WALL_SIGN) {
- Sign s = (Sign) b.getState();
- String[] lines = s.getLines();
- if(lines[1].equals("§9[Join]")) {
- Location loc = e.getClickedBlock().getLocation();
- String path = getConfig().getString(loc.getBlockX()+"_"+loc.getBlockY()+"_"+loc.getBlockZ()+".server");
- ByteArrayDataOutput out = ByteStreams.newDataOutput();
- out.writeUTF("Connect");
- out.writeUTF(path);
- p.sendPluginMessage(this, "BungeeCord", out.toByteArray());
- }
- }
- }
- }
- @Override
- public void onPluginMessageReceived(String channel, Player p, byte[] message) {
- DataInputStream in = new DataInputStream(new ByteArrayInputStream(message));
- p.sendMessage("received");
- try{
- String msg = in.readUTF();
- Bukkit.broadcastMessage(msg);
- } catch(Exception e){
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement