Browse Source

Updated PlayerListener.java to the correct file!

Olyol95 11 years ago
parent
commit
f9db8db53d
1 changed files with 91 additions and 242 deletions
  1. 91 242
      src/org/noip/olyol95/PlayerListener.java

+ 91 - 242
src/org/noip/olyol95/PlayerListener.java

@@ -1,263 +1,112 @@
 package org.noip.olyol95.tag;
 
-import java.util.ArrayList;
-
 import org.bukkit.ChatColor;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
-import org.bukkit.plugin.java.JavaPlugin;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+import org.bukkit.event.entity.EntityDamageByEntityEvent;
+import org.bukkit.event.player.PlayerInteractEntityEvent;
+import org.bukkit.event.player.PlayerQuitEvent;
 
-public final class Tag extends JavaPlugin {
+public class PlayerListener implements Listener {
 
-  private boolean enabled = true;
-	ArrayList<Player> list = new ArrayList<Player>();
-	Player tagged = null;
-	Player lasttagged = null;
+	private Tag main;
 	
-	@Override
-	public void onEnable() {
+	public PlayerListener(Tag main) {
 		
-		getLogger().info("Enabling Tag.");
-		enabled = true;
-		getServer().getPluginManager().registerEvents(new PlayerListener(this), this);
-		getLogger().info("Tag enabled successfully!");
+		this.main = main;
 		
 	}
-	 
-	@Override
-	public void onDisable() {
+	
+	@EventHandler(priority = EventPriority.HIGH)
+    public void onPlayerDamagePlayer(EntityDamageByEntityEvent event) {
+		 
+        if(event.getDamager() instanceof Player && event.getEntity() instanceof Player){
+       	 
+        	Player damager = (Player) event.getDamager();
+            Player victim = (Player) event.getEntity();
+
+            if (main.list.contains(damager) && main.list.contains(victim)) {
+            	
+            	victim.setHealth(victim.getMaxHealth());
+            	victim.setFoodLevel(20);
+            	victim.setExhaustion(0);
+            	victim.setFireTicks(0);
+            	
+            }
+        }
+	}
+	
+	@EventHandler(priority = EventPriority.HIGH)
+	public void onRightClick(PlayerInteractEntityEvent event) {
 		
-		getLogger().info("Disabling Insults.");
-		enabled = false;
-		messagePlayers(ChatColor.RED+"Sorry, game over! An admin has chosen to end your game.", null, null);
-		list.clear();
-		tagged = null;
-		lasttagged = null;
-		getLogger().info("Insults disabled successfully!");
+		if (event.getPlayer() instanceof Player && event.getRightClicked() instanceof Player) {
+			
+			Player player = event.getPlayer();
+			Player target = (Player) event.getRightClicked();
+			
+			if (main.list.contains(player) && main.list.contains(target)) {
+				  
+				if (player.equals(main.tagged)) {
+	            		
+          			if (target.equals(main.lasttagged)) {
+     		   
+          				player.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.RED+"No tag-backs!");
+     		   
+          			} else {
+     		   
+          				main.lasttagged = player;
+          				main.tagged = target;
+          				main.messagePlayers(ChatColor.GREEN+"Careful! "+ChatColor.RED+main.tagged.getPlayerListName()+ChatColor.GREEN+" is now IT!", main.tagged, null);
+          				main.tagged.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"You are now IT!");
+     		   
+          			}
+          			
+          		}
+				  
+			} else if (main.list.contains(player) && !main.list.contains(target) && player.equals(main.tagged)) {
+	            	
+				  player.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.RED+"This player is not in the game!");
+	            	
+	        }
+			  
+		}
 		
 	}
 	
-	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {   
+	@EventHandler(priority = EventPriority.NORMAL)
+	public void onPlayerQuit(PlayerQuitEvent event) {
+		
+		Player player = event.getPlayer();
 		
-		try {
+		if (main.list.contains(player)) {
+				
+			main.messagePlayers(ChatColor.RED+player.getDisplayName()+ChatColor.GREEN+" has left the game!", player, null);
 			
-	    	Player player = (Player)sender;
-	    			
-	    	if (cmd.getName().equalsIgnoreCase("tag")) {
-	    		
-	    		if (args.length > 1) {
-					
-					sender.sendMessage(ChatColor.RED + "Too many arguments!");
-					return false;
+			if(player.equals(main.tagged)) {
+			
+				if(main.list.size() != 1) {
 				
-				} else if(args[0].equalsIgnoreCase("join") && enabled) {
-		    		
-		    		if (player.hasPermission("tag.join") && player instanceof Player) {
-		    		
-		    			if (list.contains(player)) {
-		    				
-		    				player.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.RED+"You are already in the game!");
-		    				return true;
-		    		
-		    			}
-		    		
-		    			list.add(player);
-		    		
-		    			if(tagged == null) {
-		    			
-		    				tagged = player;
-		    				player.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"You have joined the game!\n"+ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"You are IT!");
-		    				return true;
-		    			
-		    			} else {
-		    		
-		    				player.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"You have joined the game!\n"+ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"Careful! "+ChatColor.RED+tagged.getPlayerListName()+ChatColor.GREEN+" is IT!");
-		    				messagePlayers(ChatColor.RED+player.getDisplayName()+ChatColor.GREEN+" has joined the game!", player, null);
-		    				return true;
-		    			
-		    			}
-		    			
-		    		} else {
-			    		
-			    		player.sendMessage(ChatColor.RED + "You do not have permission to do this!");
-		    			return true;
-			    		
-		    		}
-		    		
-				} else if (args[0].equalsIgnoreCase("leave") && enabled) {
-	    		
-					if (player.hasPermission("tag.leave") && player instanceof Player) {
-	    		
-						if (list.contains(player)) {
-	    				
-							player.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"You have left the game!");
-							messagePlayers(ChatColor.RED+player.getDisplayName()+ChatColor.GREEN+" has left the game!", player, null);
-	    				
-							if(player.equals(tagged)) {
-	    					
-								if (list.size() != 1) {
-	    							
-									do {
-										
-										int num = 0 + (int)(Math.random() * ((list.size()-1 - 0) + 1));
-										tagged = list.get(num);
-										
-									} while (tagged.equals(player));
-									
-									messagePlayers(ChatColor.GREEN+"Careful! "+ChatColor.RED+tagged.getPlayerListName()+ChatColor.GREEN+" is now IT!", tagged, player);
-									tagged.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"You are now IT!");
-									
-										
-								} else {
-	    							
-									tagged = null;
-	    							
-								}
-	    					
-							}
-	    		
-						} else if (!list.contains(player)) {
-							
-							player.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.RED+"You are not in a game!");
-							return true;
-							
-						}
+					do {
 						
-						list.remove(player);
-						return true;
-	
-					} else {
-		    		
-						player.sendMessage(ChatColor.RED + "You do not have permission to do this!");
-						return true;
-	    	
-					} 
-	    		
-				} else if (args[0].equalsIgnoreCase("on")) {
-	    		
-	    			if (!enabled && player.hasPermission("tag.on")) {
-	    				
-	    				sender.sendMessage(ChatColor.GREEN + "Tag enabled!");
-	    				onEnable();
-	    				return true;
-	    			
-	    			}
-	    			else if (!player.hasPermission("tag.on")) {
-	    	    		
-		    			sender.sendMessage(ChatColor.RED + "You do not have permission to do this!");
-		    			return true;
-		    		
-		    		}
-	    			else {
-	    			
-	    				sender.sendMessage(ChatColor.RED + "Tag is already enabled.");
-	    				return true;
-	    			
-	    			}
-	    	
-				} else if (args[0].equalsIgnoreCase("off")) {
-	    				
-	    			if (enabled && player.hasPermission("tag.off")) {
-	    				
-	    	    		sender.sendMessage(ChatColor.GREEN + "Tag disabled!");
-	    	    		onDisable();
-	    	    		return true;
-	    	    					
-	    	    	}
-	    			else if (!player.hasPermission("tag.off")) {
-	    				
-		    	    	sender.sendMessage(ChatColor.RED + "You do not have permission to do this!");
-		    	    	return true;
-		    	    				
-		    	    }
-	    			else {
-		    			
-	    				sender.sendMessage(ChatColor.RED + "Tag is already disabled.");
-	    				return true;
-	    			
-	    			}
-	    			
-	    	    } else if(args[0].equalsIgnoreCase("list") && enabled ) {
-	    	    	
-	    	    	if (player.hasPermission("tag.list")) {
-	    	    		
-	    	    		String message = "";
-	    	    	
-	    	    		for (Player p: list) {
-	    	    				
-	    	    			if (list.indexOf(p) == list.size()-1) {
-	    	    				
-	    	    				message = message+ChatColor.RED+p.getDisplayName()+ChatColor.GREEN+".";
-	    	    				
-	    	    			} else {
-	    	    				
-	    	    				message = message+ChatColor.RED+p.getDisplayName()+ChatColor.GREEN+", ";	
-	    	    				
-	    	    			}
-	    	    		
-	    	    		}
-	    	    	
-	    	    		sender.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"Current players in the tag game: "+message);
-	    	    		return true;
-	    	    	
-	    	    	} else {
-	    				
-		    	    	sender.sendMessage(ChatColor.RED + "You do not have permission to do this!");
-		    	    	return true;
-		    	    				
-		    	    }
-	    	    	
-	    	    } else if (args[0].equalsIgnoreCase("who") && enabled) {
-	    	    	
-	    	    	if (player.hasPermission("tag.who")) {
-	    	    		
-	    	    		if (player.equals(tagged)){
-	    	    			
-	    	    			sender.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"You are IT!");
-	    	    			return true;
-	    	    			
-	    	    		}else {
-	    	    			
-	    	    			try {
-	    	    				
-	    	    				sender.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"Careful! "+ChatColor.RED+tagged.getPlayerListName()+ChatColor.GREEN+" is IT!");
-	    	    				return true;
-	    	    				
-	    	    			} catch (Exception e) {
-	    	    				
-	    	    				sender.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"There are currently no players in the game!");
-	    	    				return true;
-	    	    				
-	    	    			}
-	    	    			
-	    	    		}
-	    	    		
-	    	    	} else {
-	    				
-		    	    	sender.sendMessage(ChatColor.RED + "You do not have permission to do this!");
-		    	    	return true;
-		    	    				
-		    	    }
-	    	    }
-    		}
-	    	
-		} catch (Exception e) { return false; }
+						int num = 0 + (int)(Math.random() * ((main.list.size()-1 - 0) + 1));
+						main.tagged = main.list.get(num);
+						
+					} while (main.tagged.equals(player));
+					
+					main.messagePlayers(ChatColor.GREEN+"Careful! "+ChatColor.RED+main.tagged.getPlayerListName()+ChatColor.GREEN+" is now IT!", main.tagged, null);
+					main.tagged.sendMessage(ChatColor.AQUA+"[TAG] "+ChatColor.GREEN+"You are now IT!");
+				
+				} else if (main.list.size() == 1) {
+			
+					main.tagged = null;
+			
+				}
+			}
+		}
 		
-		if (!enabled) { return true; }
-		else { return false; }
+		main.list.remove(player);
 		
-	 }
-	
-	 public void messagePlayers(String message, Player player, Player secondplayer) {
-		 
-		 for(Player p: list) {
-			 
-			 if (!p.equals(player) && !p.equals(secondplayer)) {
-				 
-				 p.sendMessage(ChatColor.AQUA+"[TAG] "+message);
-				 
-			 }
-		 }
-	 }
+	}
 }