Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.beshographix.tsigns;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.net.InetSocketAddress;
- import java.net.Socket;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.block.Sign;
- public class Signs {
- private Location location;
- private Sign sign;
- private String name, ip;
- private int port;
- private static boolean online;
- public Signs (Location location, String name, String ip, int port){
- this.location = location;
- this.sign = (Sign) location.getBlock().getState();
- this.name = name;
- this.ip = ip;
- this.port = port;
- }
- /*
- * <join>
- * <name>
- * <motd>
- * <current/max>
- */
- public Location getLocation(){
- return location;
- }
- public String getName(){
- return name;
- }
- public String getIP(){
- return ip;
- }
- public int getPort(){
- return port;
- }
- public boolean isOnline(){
- return online;
- }
- public void update(){
- try {
- Socket socket = new Socket();
- socket.connect(new InetSocketAddress(ip, port), 1 * 1000);
- DataOutputStream out = new DataOutputStream(socket.getOutputStream());
- DataInputStream in = new DataInputStream(socket.getInputStream());
- out.write(0xFE);
- StringBuilder str = new StringBuilder();
- int b;
- while ((b = in.read()) != -1) {
- if (b != 0 && b > 16 && b != 255 && b != 23 && b != 24) {
- str.append((char) b);
- }
- }
- /*
- <Name>
- <IP>
- <Current/Max>
- <MOTD>
- */
- online.set(true);
- String[] data = str.toString().split("§");
- String motd = data[0];
- int onlinePlayers = Integer.valueOf(data[1]);
- int maxPlayers = Integer.valueOf(data[2]);
- sign.setLine(0, "§1[Join]");
- sign.setLine(1, name);
- sign.setLine(2, (motd).replace("&", "§"));
- sign.setLine(3, "§a" + onlinePlayers + "/" + maxPlayers);
- socket.close();
- } catch (Exception e) {
- sign.setLine(0, "§4\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588");
- sign.setLine(1, "§4Restarting");
- sign.setLine(2, name);
- sign.setLine(3, "§4\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588");
- }
- sign.update();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment