Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.Socket;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- public class StartPlugin extends JavaPlugin implements Listener {
- public static String name;
- public static Socket socket;
- public static BufferedReader in;
- public static PrintWriter out;
- public static Thread ClientThread;
- public static boolean Clientconnect = false;
- public static int port;
- public static String address;
- public static boolean Connected = false;
- public static String ServerName;
- public void onEnable(){
- PluginManager pm = getServer().getPluginManager();
- pm.registerEvents(this, this);
- saveDefaultConfig();
- getCommand("sc").setExecutor(new ScCommands());
- address = getConfig().getString("Server-Ip");
- try{
- port = Integer.parseInt("Server-Port");
- }catch(Exception e){
- port = 9001;
- }
- ServerName = getConfig().getString("Server-Name");
- getLogger().info(" is enabled");
- }
- public void onDisable(){
- try{
- in.close();
- out.close();
- socket.close();
- }catch(Exception e){
- }
- }
- public static void StartChat(){
- try{
- socket = new Socket(address, port);
- in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- out = new PrintWriter(socket.getOutputStream(), true);
- }catch(Exception e){
- Connected = false;
- }
- System.out.println("Starting Connection");
- while (Clientconnect)
- {
- try
- {
- String message = (String) in.readLine();
- if(message.startsWith("MESSAGE")){
- Bukkit.getServer().broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] "+ChatColor.GRAY+message.substring(8));
- }else if(message.startsWith("SUBMITNAME")){
- out.println(ServerName);
- Connected = true;
- }else if(message.startsWith("NAMEACCEPTED")){
- }else if(message.startsWith("COMMAND")){
- String[] cmd = message.split(" ");
- if(cmd[1].equalsIgnoreCase("welcome")){
- Bukkit.broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] Welcome "+cmd[2]+" To "+ServerName+"'s Chat!");
- }else if(message.startsWith("welcomeall")){
- Bukkit.broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] Welcome Everyone To "+ServerName+"'s Chat!");
- }
- }
- }
- catch (Exception e)
- {
- error = true;
- }
- }
- }
- public static boolean error;
- public static void stopChat(){
- try{
- out.println("Command Quit");
- in.close();
- out.close();
- socket.close();
- error= false;
- }catch(Exception e){
- error= true;
- }
- }
- public static boolean error() {
- return error;
- }
- @EventHandler
- public void onPlayerChat(AsyncPlayerChatEvent event)
- {
- if (Connected)
- {
- try{
- out.println(ServerName+": "+event.getMessage());
- }catch(Exception e){
- getLogger().severe("[Shadow Chat] Couldnt Print Message To Chat Server");
- }
- }
- }
- public static void setConnect(boolean b) {
- Clientconnect = b;
- }
- }
- Threaded version
- public void onEnable(){
- PluginManager pm = getServer().getPluginManager();
- pm.registerEvents(this, this);
- saveDefaultConfig();
- getCommand("sc").setExecutor(new ScCommands());
- address = getConfig().getString("Server-Ip");
- try{
- port = Integer.parseInt("Server-Port");
- }catch(Exception e){
- port = 9001;
- }
- ServerName = getConfig().getString("Server-Name");
- ClientThread = new Thread(new Runnable()
- {
- @Override
- public void run()
- {
- while (true)
- {
- if (Clientconnect)
- {
- try
- {
- String message = in.readLine();
- if(message.startsWith("MESSAGE")){
- Bukkit.getServer().broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] "+ChatColor.GRAY+message.substring(8));
- }else if(message.startsWith("SUBMITNAME")){
- out.println(ServerName);
- Connected = true;
- }else if(message.startsWith("NAMEACCEPTED")){
- }else if(message.startsWith("COMMAND")){
- String[] cmd = message.split(" ");
- if(cmd[1].equalsIgnoreCase("welcome")){
- Bukkit.broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] Welcome "+cmd[2]+" To "+ServerName+"'s Chat!");
- }else if(message.startsWith("welcomeall")){
- Bukkit.broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] Welcome Everyone To "+ServerName+"'s Chat!");
- }
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
- }
- });
- getLogger().info(" is enabled");
- }
- public void onDisable(){
- try{
- in.close();
- out.close();
- socket.close();
- }catch(Exception e){
- }
- }
- public static void StartChat(){
- try{
- ClientThread.start();
- socket = new Socket(address, port);
- in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- out = new PrintWriter(socket.getOutputStream(), true);
- }catch(Exception e){
- Connected = false;
- }
- }
- public static boolean error;
- public static void stopChat(){
- try{
- out.println("Command Quit");
- in.close();
- out.close();
- socket.close();
- error= false;
- }catch(Exception e){
- error= true;
- }
- }
- public static boolean error() {
- return error;
- }
- @EventHandler
- public void onPlayerChat(AsyncPlayerChatEvent event)
- {
- if (Connected)
- {
- try{
- out.println(ServerName+": "+event.getMessage());
- }catch(Exception e){
- getLogger().severe("[Shadow Chat] Couldnt Print Message To Chat Server");
- }
- }
- }
- public static void setConnect(boolean b) {
- Clientconnect = b;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement