Advertisement
Guest User

Untitled

a guest
Jul 1st, 2014
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.95 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.io.PrintWriter;
  4. import java.net.Socket;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.event.EventHandler;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.event.player.AsyncPlayerChatEvent;
  11. import org.bukkit.plugin.PluginManager;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. public class StartPlugin extends JavaPlugin implements Listener {
  15.    
  16.     public static String name;
  17.     public static Socket socket;
  18.     public static BufferedReader in;
  19.     public static PrintWriter out;
  20.     public static Thread ClientThread;
  21.     public static boolean Clientconnect = false;
  22.     public static int port;
  23.     public static String address;
  24.      
  25.     public static boolean Connected = false;
  26.     public static String ServerName;
  27.  
  28.     public void onEnable(){
  29.          PluginManager pm = getServer().getPluginManager();
  30.          pm.registerEvents(this, this);
  31.         saveDefaultConfig();
  32.         getCommand("sc").setExecutor(new ScCommands());
  33.         address = getConfig().getString("Server-Ip");
  34.         try{
  35.             port = Integer.parseInt("Server-Port");
  36.         }catch(Exception e){
  37.             port = 9001;
  38.         }
  39.         ServerName = getConfig().getString("Server-Name");
  40.         getLogger().info(" is enabled");
  41.     }
  42.     public void onDisable(){
  43.         try{
  44.             in.close();
  45.             out.close();
  46.             socket.close();
  47.         }catch(Exception e){
  48.            
  49.         }
  50.     }
  51.     public static void StartChat(){
  52.         try{
  53.             socket = new Socket(address, port);
  54.             in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  55.             out = new PrintWriter(socket.getOutputStream(), true);
  56.         }catch(Exception e){
  57.             Connected = false;
  58.         }
  59.             System.out.println("Starting Connection");
  60.             while (Clientconnect)
  61.             {
  62.                 try
  63.                     {
  64.                         String message = (String) in.readLine();
  65.                         if(message.startsWith("MESSAGE")){
  66.                             Bukkit.getServer().broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] "+ChatColor.GRAY+message.substring(8));
  67.                         }else if(message.startsWith("SUBMITNAME")){
  68.                             out.println(ServerName);
  69.                             Connected = true;
  70.                         }else if(message.startsWith("NAMEACCEPTED")){
  71.                            
  72.                         }else if(message.startsWith("COMMAND")){
  73.                             String[] cmd = message.split(" ");
  74.                             if(cmd[1].equalsIgnoreCase("welcome")){
  75.                                 Bukkit.broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] Welcome "+cmd[2]+" To "+ServerName+"'s Chat!");
  76.                             }else if(message.startsWith("welcomeall")){
  77.                                 Bukkit.broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] Welcome Everyone To "+ServerName+"'s Chat!");
  78.                             }
  79.                         }
  80.                        
  81.                     }
  82.                     catch (Exception e)
  83.                     {
  84.                         error = true;
  85.                     }
  86.             }
  87.         }
  88.     public static boolean error;
  89.     public static void stopChat(){
  90.         try{
  91.             out.println("Command Quit");
  92.             in.close();
  93.             out.close();
  94.             socket.close();
  95.             error= false;
  96.         }catch(Exception e){
  97.             error= true;
  98.         }
  99.     }
  100.     public static boolean error() {
  101.         return error;
  102.     }
  103.     @EventHandler
  104.     public void onPlayerChat(AsyncPlayerChatEvent event)
  105.     {
  106.         if (Connected)
  107.         {
  108.             try{
  109.                 out.println(ServerName+": "+event.getMessage());
  110.             }catch(Exception e){
  111.                 getLogger().severe("[Shadow Chat] Couldnt Print Message To Chat Server");
  112.             }
  113.         }
  114.     }
  115.     public static void setConnect(boolean b) {
  116.         Clientconnect = b;
  117.     }
  118.  
  119. }
  120.  
  121.  
  122. Threaded version
  123. public void onEnable(){
  124. PluginManager pm = getServer().getPluginManager();
  125. pm.registerEvents(this, this);
  126. saveDefaultConfig();
  127. getCommand("sc").setExecutor(new ScCommands());
  128. address = getConfig().getString("Server-Ip");
  129. try{
  130. port = Integer.parseInt("Server-Port");
  131. }catch(Exception e){
  132. port = 9001;
  133. }
  134. ServerName = getConfig().getString("Server-Name");
  135. ClientThread = new Thread(new Runnable()
  136. {
  137. @Override
  138. public void run()
  139. {
  140. while (true)
  141. {
  142. if (Clientconnect)
  143. {
  144. try
  145. {
  146. String message = in.readLine();
  147. if(message.startsWith("MESSAGE")){
  148. Bukkit.getServer().broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] "+ChatColor.GRAY+message.substring(8));
  149. }else if(message.startsWith("SUBMITNAME")){
  150. out.println(ServerName);
  151. Connected = true;
  152. }else if(message.startsWith("NAMEACCEPTED")){
  153.  
  154. }else if(message.startsWith("COMMAND")){
  155. String[] cmd = message.split(" ");
  156. if(cmd[1].equalsIgnoreCase("welcome")){
  157. Bukkit.broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] Welcome "+cmd[2]+" To "+ServerName+"'s Chat!");
  158. }else if(message.startsWith("welcomeall")){
  159. Bukkit.broadcastMessage(ChatColor.DARK_GRAY+"[Shadow Chat] Welcome Everyone To "+ServerName+"'s Chat!");
  160. }
  161. }
  162. }
  163. catch (Exception e)
  164. {
  165. e.printStackTrace();
  166. }
  167. }
  168. }
  169. }
  170. });
  171. getLogger().info(" is enabled");
  172. }
  173. public void onDisable(){
  174. try{
  175. in.close();
  176. out.close();
  177. socket.close();
  178. }catch(Exception e){
  179.  
  180. }
  181. }
  182. public static void StartChat(){
  183. try{
  184. ClientThread.start();
  185. socket = new Socket(address, port);
  186. in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  187. out = new PrintWriter(socket.getOutputStream(), true);
  188. }catch(Exception e){
  189. Connected = false;
  190. }
  191.  
  192. }
  193. public static boolean error;
  194. public static void stopChat(){
  195. try{
  196. out.println("Command Quit");
  197. in.close();
  198. out.close();
  199. socket.close();
  200. error= false;
  201. }catch(Exception e){
  202. error= true;
  203. }
  204. }
  205. public static boolean error() {
  206. return error;
  207. }
  208. @EventHandler
  209. public void onPlayerChat(AsyncPlayerChatEvent event)
  210. {
  211. if (Connected)
  212. {
  213. try{
  214. out.println(ServerName+": "+event.getMessage());
  215. }catch(Exception e){
  216. getLogger().severe("[Shadow Chat] Couldnt Print Message To Chat Server");
  217. }
  218. }
  219. }
  220. public static void setConnect(boolean b) {
  221. Clientconnect = b;
  222. }
  223.  
  224. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement