Updated code.
This commit is contained in:
		
							
								
								
									
										289
									
								
								src/me/travja/hungerarena/BlockStorage.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										289
									
								
								src/me/travja/hungerarena/BlockStorage.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,289 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.bukkit.Location; | ||||
| import org.bukkit.Material; | ||||
| import org.bukkit.block.Block; | ||||
| import org.bukkit.block.BlockFace; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.block.BlockBreakEvent; | ||||
| import org.bukkit.event.block.BlockBurnEvent; | ||||
| import org.bukkit.event.block.BlockFadeEvent; | ||||
| import org.bukkit.event.block.BlockFormEvent; | ||||
| import org.bukkit.event.block.BlockGrowEvent; | ||||
| import org.bukkit.event.block.BlockPhysicsEvent; | ||||
| import org.bukkit.event.block.BlockPistonExtendEvent; | ||||
| import org.bukkit.event.block.BlockPlaceEvent; | ||||
| import org.bukkit.event.block.LeavesDecayEvent; | ||||
| import org.bukkit.event.entity.EntityExplodeEvent; | ||||
| import org.bukkit.event.player.PlayerBucketEmptyEvent; | ||||
| import org.bukkit.event.player.PlayerBucketFillEvent; | ||||
|  | ||||
| public class BlockStorage implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public BlockStorage(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	/*@EventHandler | ||||
| 	public void creeperExplosion(EntityExplodeEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			for(Block b:event.blockList()){ | ||||
| 				String w = b.getWorld().getName(); | ||||
| 				int x = b.getX(); | ||||
| 				int y = b.getY(); | ||||
| 				int z = b.getZ(); | ||||
| 				int d = b.getTypeId(); | ||||
| 				String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 				System.out.println("Explode: " + coords); | ||||
| 				List<String> blocks = plugin.config.getStringList("Blocks_Destroyed"); | ||||
| 				blocks.add(coords); | ||||
| 				plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 				plugin.saveConfig(); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void burningBlocks(BlockBurnEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block b = event.getBlock(); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			System.out.println("Burn: " + coords); | ||||
| 			List<String> blocks = plugin.config.getStringList("Blocks_Destroyed"); | ||||
| 			blocks.add(coords); | ||||
| 			plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 			plugin.saveConfig(); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void leafDecay(LeavesDecayEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block b = event.getBlock(); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			System.out.println("Decay: " + coords); | ||||
| 			List<String> blocks = plugin.config.getStringList("Blocks_Destroyed"); | ||||
| 			blocks.add(coords); | ||||
| 			plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 			plugin.saveConfig(); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void blockPlace(BlockPlaceEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block b = event.getBlock(); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			if(!(d== 51) && !(d==12){ | ||||
| 				System.out.println("Place: " + coords); | ||||
| 				List<String> blocks = plugin.config.getStringList("Blocks_Placed"); | ||||
| 				blocks.add(coords); | ||||
| 				plugin.config.set("Blocks_Placed", blocks); | ||||
| 				plugin.saveConfig(); | ||||
| 			} | ||||
| 			Location location = b.getLocation(); | ||||
| 			if (b.getType() == Material.SAND || b.getType() == Material.GRAVEL) { | ||||
| 				if (location.getBlock().getRelative(BlockFace.DOWN).getType() == Material.AIR) { | ||||
| 					int i = 0; | ||||
| 					for (i = location.getBlockY(); i > -1; i --) { | ||||
| 						location = new Location(location.getWorld(), location.getBlockX(), i,  location.getBlockZ()); | ||||
| 						if (location.getBlock().getType() != Material.AIR && location.getBlock().getType() != Material.WATER && location.getBlock().getType() != Material.LAVA) { | ||||
| 							break; | ||||
| 						} | ||||
| 						event.getPlayer().sendMessage("Block will land at: " + location); | ||||
| 						System.out.println("Sand Place: " + coords); | ||||
| 						List<String> blocks = plugin.config.getStringList("Blocks_Destroyed"); | ||||
| 						blocks.add(coords); | ||||
| 						plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 						plugin.saveConfig(); | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void bucketEmpty(PlayerBucketEmptyEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block clicked = event.getBlockClicked(); | ||||
| 			BlockFace face = event.getBlockFace(); | ||||
| 			Block b = clicked.getRelative(face); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			System.out.println("Bucket Empty: " + coords); | ||||
| 			List<String> blocks = plugin.config.getStringList("Blocks_Placed"); | ||||
| 			blocks.add(coords); | ||||
| 			plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 			plugin.saveConfig(); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void bucketFill(PlayerBucketFillEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block b = event.getBlockClicked(); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			System.out.println("Bucket Fill: " + coords); | ||||
| 			List<String> blocks = plugin.config.getStringList("Blocks_Destroyed"); | ||||
| 			blocks.add(coords); | ||||
| 			plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 			plugin.saveConfig(); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void blockBreak(BlockBreakEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block b = event.getBlock(); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			System.out.println("Break: " + coords); | ||||
| 			List<String> blocks = plugin.config.getStringList("Blocks_Destroyed"); | ||||
| 			blocks.add(coords); | ||||
| 			plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 			plugin.saveConfig(); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void blockMelt(BlockFadeEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block b = event.getBlock(); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			System.out.println("Fade: " + coords); | ||||
| 			List<String> blocks = plugin.config.getStringList("Blocks_Destroyed"); | ||||
| 			blocks.add(coords); | ||||
| 			plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 			plugin.saveConfig(); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void blockGrow(BlockGrowEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block b = event.getBlock(); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			System.out.println("Grow: " + coords); | ||||
| 			List<String> blocks = plugin.config.getStringList("Blocks_Placed"); | ||||
| 			blocks.add(coords); | ||||
| 			plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 			plugin.saveConfig(); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void blockForm(BlockFormEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			Block b = event.getBlock(); | ||||
| 			String w = b.getWorld().getName(); | ||||
| 			int x = b.getX(); | ||||
| 			int y = b.getY(); | ||||
| 			int z = b.getZ(); | ||||
| 			int d = b.getTypeId(); | ||||
| 			String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 			System.out.println("Snowfall: " + coords); | ||||
| 			List<String> blocks = plugin.config.getStringList("Blocks_Placed"); | ||||
| 			blocks.add(coords); | ||||
| 			plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 			plugin.saveConfig(); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void pistonPush(BlockPistonExtendEvent event){ | ||||
| 		if(plugin.canjoin== true){ | ||||
| 			for(Block b:event.getBlocks()){ | ||||
| 				String w = b.getWorld().getName(); | ||||
| 				int x = b.getX(); | ||||
| 				int y = b.getY(); | ||||
| 				int z = b.getZ(); | ||||
| 				int d = b.getTypeId(); | ||||
| 				String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 				System.out.println("Piston: " + coords); | ||||
| 				List<String> blocks = plugin.config.getStringList("Blocks_Destroyed"); | ||||
| 				blocks.add(coords); | ||||
| 				plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 				plugin.saveConfig(); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void onChange(BlockPhysicsEvent event){ | ||||
| 		Block block = event.getBlock(); | ||||
| 		Material changed = event.getChangedType(); | ||||
| 		if (block.getType() == Material.LAVA){ | ||||
| 			if (changed == Material.LAVA){ | ||||
| 				Block b = event.getBlock(); | ||||
| 				String w = b.getWorld().getName(); | ||||
| 				int x = b.getX(); | ||||
| 				int y = b.getY(); | ||||
| 				int z = b.getZ(); | ||||
| 				int d = b.getTypeId(); | ||||
| 				String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 				System.out.println("Lava Change: " + coords); | ||||
| 				List<String> blocks = plugin.config.getStringList("Blocks_Placed"); | ||||
| 				blocks.add(coords); | ||||
| 				plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 				plugin.saveConfig(); | ||||
| 			}else if(changed == Material.WATER){ | ||||
| 				Block b = event.getBlock(); | ||||
| 				String w = b.getWorld().getName(); | ||||
| 				int x = b.getX(); | ||||
| 				int y = b.getY(); | ||||
| 				int z = b.getZ(); | ||||
| 				int d = b.getTypeId(); | ||||
| 				String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 				System.out.println("Water Change: " + coords); | ||||
| 				List<String> blocks = plugin.config.getStringList("Blocks_Placed"); | ||||
| 				blocks.add(coords); | ||||
| 				plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 				plugin.saveConfig(); | ||||
| 			} | ||||
| 		}else if (block.getType() == Material.SAND || block.getType() == Material.GRAVEL) { | ||||
| 			if (changed == Material.AIR) { | ||||
| 				Block b = event.getBlock(); | ||||
| 				String w = b.getWorld().getName(); | ||||
| 				int x = b.getX(); | ||||
| 				int y = b.getY(); | ||||
| 				int z = b.getZ(); | ||||
| 				int d = b.getTypeId(); | ||||
| 				String coords = w + "," + x + "," + y + "," + z + "," + d; | ||||
| 				System.out.println("Sand/Gravel Fall: " + coords); | ||||
| 				List<String> blocks = plugin.config.getStringList("Blocks_Placed"); | ||||
| 				blocks.add(coords); | ||||
| 				plugin.config.set("Blocks_Destroyed", blocks); | ||||
| 				plugin.saveConfig(); | ||||
| 			} | ||||
| 		} | ||||
| 	}*/ | ||||
| } | ||||
							
								
								
									
										25
									
								
								src/me/travja/hungerarena/Blocks.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/me/travja/hungerarena/Blocks.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.block.BlockBreakEvent; | ||||
|  | ||||
| public class Blocks implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public Blocks(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void BreakBlock(BlockBreakEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getDisplayName(); | ||||
| 		if(plugin.Playing.contains(pname)){ | ||||
| 			if(plugin.config.getString("Protected_Arena").equalsIgnoreCase("True")){ | ||||
| 				event.setCancelled(true); | ||||
| 				p.sendMessage(ChatColor.RED + "You can't break blocks when you're playing!"); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										51
									
								
								src/me/travja/hungerarena/ChatListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								src/me/travja/hungerarena/ChatListener.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.entity.Entity; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.player.PlayerChatEvent; | ||||
|  | ||||
| public class ChatListener implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public ChatListener(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void TributeChat(PlayerChatEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Playing.contains(pname)){ | ||||
| 			String msg = "<" + ChatColor.RED + "[Tribute] " + ChatColor.WHITE + p.getName() + ">" + " " + event.getMessage(); | ||||
| 			if(plugin.config.getString("ChatClose").equalsIgnoreCase("True")){ | ||||
| 				double radius = plugin.config.getDouble("ChatClose_Radius"); | ||||
| 				List<Entity> near = p.getNearbyEntities(radius, radius, radius); | ||||
| 				event.setCancelled(true); | ||||
| 				if(!(near.size()== 0)){ | ||||
| 					p.sendMessage(msg); | ||||
| 					for(Entity e:near){ | ||||
| 						if(e instanceof Player){ | ||||
| 							((Player) e).sendMessage(msg); | ||||
| 						} | ||||
| 					} | ||||
| 				}else if(near.size()== 0){ | ||||
| 					p.sendMessage(msg); | ||||
| 					p.sendMessage(ChatColor.YELLOW + "No one near!"); | ||||
| 				}else if(!(near.size()== 0)){ | ||||
| 					for(Entity en:near){ | ||||
| 						if(!(en instanceof Player)){ | ||||
| 							p.sendMessage(msg); | ||||
| 							p.sendMessage(ChatColor.YELLOW + "No one near!"); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 			}else{ | ||||
| 				event.setCancelled(true); | ||||
| 				plugin.getServer().broadcastMessage(msg); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										84
									
								
								src/me/travja/hungerarena/Chests.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								src/me/travja/hungerarena/Chests.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.Location; | ||||
| import org.bukkit.Material; | ||||
| import org.bukkit.block.Block; | ||||
| import org.bukkit.block.Chest; | ||||
| 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.block.BlockBreakEvent; | ||||
| import org.bukkit.event.player.PlayerInteractEvent; | ||||
| import org.bukkit.inventory.ItemStack; | ||||
|  | ||||
| public class Chests implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public Chests(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void ChestSaves(PlayerInteractEvent event){ | ||||
| 		Block block = event.getClickedBlock(); | ||||
| 		Player p = event.getPlayer(); | ||||
| 		if(p.getItemInHand().getType()== Material.BLAZE_ROD && event.getAction() == Action.LEFT_CLICK_BLOCK){ | ||||
| 			if(block.getState() instanceof Chest){ | ||||
| 				if(p.hasPermission("HungerArena.Chest.Store")){ | ||||
| 					ItemStack[] itemsinchest = ((Chest) block.getState()).getInventory().getContents(); | ||||
| 					int blockx = block.getX(); | ||||
| 					int blocky = block.getY(); | ||||
| 					int blockz = block.getZ(); | ||||
| 					String blockw = block.getWorld().getName().toString(); | ||||
| 					if(!plugin.getConfig().contains("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X")){ | ||||
| 						plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X", blockx); | ||||
| 						plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); | ||||
| 						plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z",blockz); | ||||
| 						plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); | ||||
| 						plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); | ||||
| 					}else{ | ||||
| 						plugin.getConfig().set("Storage." + blockx + "," + blocky+ "," + blockz + ".Location.X",blockx); | ||||
| 						plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky); | ||||
| 						plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z", blockz); | ||||
| 						plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw); | ||||
| 						plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest); | ||||
| 					} | ||||
| 					List<String> list2 = plugin.getConfig().getStringList("StorageXYZ"); | ||||
| 					list2.add(blockx + "," + blocky + "," + blockz); | ||||
| 					plugin.getConfig().set("StorageXYZ", list2); | ||||
| 					plugin.getConfig().options().copyDefaults(true); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.GREEN + "Chest Stored!"); | ||||
| 				}else{ | ||||
| 					p.sendMessage(ChatColor.RED + "You don't have permission to store chests!"); | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void onBlockBreak(BlockBreakEvent event) { | ||||
| 		Player p = event.getPlayer(); | ||||
| 		Block block = event.getBlock(); | ||||
| 		Location blocklocation = event.getBlock().getLocation(); | ||||
| 		if (block.getState() instanceof Chest && !plugin.Playing.contains(p.getDisplayName())) { | ||||
| 			int blockx = blocklocation.getBlockX(); | ||||
| 			int blocky = blocklocation.getBlockY(); | ||||
| 			int blockz = blocklocation.getBlockZ(); | ||||
| 			if (plugin.getConfig().getStringList("StorageXYZ").contains(blockx + "," + blocky + "," + blockz)) { | ||||
| 				if(p.hasPermission("HungerArena.Chest.Break")){ | ||||
| 					List<String> list2 = plugin.getConfig().getStringList("StorageXYZ"); | ||||
| 					list2.remove(blockx + "," + blocky + "," + blockz); | ||||
| 					plugin.getConfig().set("StorageXYZ", list2); | ||||
| 					plugin.getConfig().options().copyDefaults(true); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage("Chest Removed!"); | ||||
| 				} else { | ||||
|                                     event.setCancelled(true); | ||||
|                                     p.sendMessage(ChatColor.RED + "[HungerArena] That's a storage chest! You don't have permission to break it!"); | ||||
|                                 } | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										27
									
								
								src/me/travja/hungerarena/CommandBlock.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/me/travja/hungerarena/CommandBlock.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.EventPriority; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.player.PlayerCommandPreprocessEvent; | ||||
|  | ||||
| public class CommandBlock implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public CommandBlock(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	@EventHandler(priority = EventPriority.HIGHEST) | ||||
| 	public void CatchCommand(PlayerCommandPreprocessEvent event){ | ||||
| 		String cmd = event.getMessage(); | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(!cmd.contains("/ha") && plugin.Playing.contains(pname) && plugin.canjoin== true){ | ||||
| 			if(!p.hasPermission("HungerArena.UseCommands")){ | ||||
| 				event.setCancelled(true); | ||||
| 				p.sendMessage(ChatColor.RED + "You are only allowed to use /ha commands!"); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										167
									
								
								src/me/travja/hungerarena/DeathListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								src/me/travja/hungerarena/DeathListener.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,167 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.*; | ||||
| import org.bukkit.configuration.file.FileConfiguration; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.entity.PlayerDeathEvent; | ||||
| import org.bukkit.event.player.PlayerRespawnEvent; | ||||
|  | ||||
| public class DeathListener implements Listener{ | ||||
| 	public Main plugin; | ||||
| 	public DeathListener(Main m){ | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	public FileConfiguration config; | ||||
| 	int i = 0; | ||||
| 	@EventHandler | ||||
| 	public void onPlayerRespawn(PlayerRespawnEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Dead.contains(pname)){ | ||||
| 			String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); | ||||
| 			World spawnw = plugin.getServer().getWorld(Spawncoords[3]); | ||||
| 			double spawnx = Double.parseDouble(Spawncoords[0]); | ||||
| 			double spawny = Double.parseDouble(Spawncoords[1]); | ||||
| 			double spawnz = Double.parseDouble(Spawncoords[2]); | ||||
| 			Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); | ||||
| 			event.setRespawnLocation(Spawn); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
|     @SuppressWarnings("SizeReplaceableByIsEmpty") | ||||
| 	public void onPlayerDeath(PlayerDeathEvent event){ | ||||
| 		Player p = event.getEntity(); | ||||
| 		Server s = p.getServer(); | ||||
| 		String pname = p.getName(); | ||||
| 		String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); | ||||
| 		World spawnw = plugin.getServer().getWorld(Spawncoords[3]); | ||||
| 		double spawnx = Double.parseDouble(Spawncoords[0]); | ||||
| 		double spawny = Double.parseDouble(Spawncoords[1]); | ||||
| 		double spawnz = Double.parseDouble(Spawncoords[2]); | ||||
| 		Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); | ||||
| 		if(plugin.Playing.contains(pname)){ | ||||
| 			if(plugin.config.getString("Cannon_Death").equalsIgnoreCase("True")){ | ||||
| 				double y = p.getLocation().getY(); | ||||
| 				double newy = y+200; | ||||
| 				double x = p.getLocation().getX(); | ||||
| 				double z = p.getLocation().getZ(); | ||||
| 				Location strike = new Location(p.getWorld(), x, newy, z); | ||||
| 				p.getWorld().strikeLightning(strike); | ||||
| 			} | ||||
| 			plugin.Dead.add(pname); | ||||
| 			plugin.Playing.remove(pname); | ||||
| 			String leftmsg = ChatColor.BLUE + "There are now " + plugin.Playing.size() + " tributes left!"; | ||||
| 			if(p.getKiller() instanceof Player){ | ||||
| 				if(p.getKiller().getItemInHand().getType().getId()== 0){ | ||||
| 					Player killer = p.getKiller(); | ||||
| 					String killername = killer.getName(); | ||||
| 					event.setDeathMessage(""); | ||||
| 					s.broadcastMessage(ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with their FIST!"); | ||||
| 					s.broadcastMessage(leftmsg); | ||||
| 					if(plugin.Playing.size()== 1 && plugin.canjoin== true){ | ||||
| 						//Announce winner | ||||
| 						String winnername = plugin.Playing.get(i++); | ||||
| 						Player winner = plugin.getServer().getPlayerExact(winnername); | ||||
| 						String winnername2 = winner.getName(); | ||||
| 						plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); | ||||
| 						winner.getInventory().clear(); | ||||
| 						winner.teleport(Spawn); | ||||
| 						winner.getInventory().setBoots(null); | ||||
| 						winner.getInventory().setChestplate(null); | ||||
| 						winner.getInventory().setHelmet(null); | ||||
| 						winner.getInventory().setLeggings(null); | ||||
| 						winner.getInventory().addItem(plugin.Reward); | ||||
| 						plugin.Playing.clear(); | ||||
| 						//Show spectators | ||||
| 						if(!plugin.Watching.isEmpty()){ | ||||
| 							String s1 = plugin.Watching.get(i++); | ||||
| 							Player spectator = plugin.getServer().getPlayerExact(s1); | ||||
| 							spectator.setAllowFlight(false); | ||||
| 							spectator.teleport(Spawn); | ||||
| 							for(Player online:plugin.getServer().getOnlinePlayers()){ | ||||
| 								online.showPlayer(spectator); | ||||
| 							} | ||||
| 						} | ||||
| 						if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ | ||||
| 							Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); | ||||
| 						} | ||||
| 					} | ||||
| 				}else{ | ||||
| 					Player killer = p.getKiller(); | ||||
| 					String killername = killer.getName(); | ||||
| 					Material weapon = killer.getItemInHand().getType(); | ||||
| 					String msg = ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with a(n) " + weapon; | ||||
| 					event.setDeathMessage(""); | ||||
| 					s.broadcastMessage(msg); | ||||
| 					s.broadcastMessage(leftmsg); | ||||
| 					if(plugin.Playing.size()== 1 && plugin.canjoin== true){ | ||||
| 						//Announce winner | ||||
| 						String winnername = plugin.Playing.get(i++); | ||||
| 						Player winner = plugin.getServer().getPlayerExact(winnername); | ||||
| 						String winnername2 = winner.getName(); | ||||
| 						plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); | ||||
| 						winner.getInventory().clear(); | ||||
| 						winner.teleport(Spawn); | ||||
| 						winner.getInventory().setBoots(null); | ||||
| 						winner.getInventory().setChestplate(null); | ||||
| 						winner.getInventory().setHelmet(null); | ||||
| 						winner.getInventory().setLeggings(null); | ||||
| 						winner.getInventory().addItem(plugin.Reward); | ||||
| 						plugin.Playing.clear(); | ||||
| 						//Show spectators | ||||
| 						if(plugin.Watching.size() != 0){ | ||||
| 							String s1 = plugin.Watching.get(i++); | ||||
| 							Player spectator = plugin.getServer().getPlayerExact(s1); | ||||
| 							spectator.setAllowFlight(false); | ||||
| 							spectator.teleport(Spawn); | ||||
| 							for(Player online:plugin.getServer().getOnlinePlayers()){ | ||||
| 								online.showPlayer(spectator); | ||||
| 							} | ||||
| 						} | ||||
| 						if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ | ||||
| 							Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 			}else{ | ||||
| 				event.setDeathMessage(""); | ||||
| 				s.broadcastMessage(ChatColor.LIGHT_PURPLE + pname + " died of natural causes!"); | ||||
| 				s.broadcastMessage(leftmsg); | ||||
| 				if(plugin.Playing.size()== 1 && plugin.canjoin== true){ | ||||
| 					//Announce winner | ||||
| 					String winnername = plugin.Playing.get(i++); | ||||
| 					Player winner = plugin.getServer().getPlayerExact(winnername); | ||||
| 					String winnername2 = winner.getName(); | ||||
| 					plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); | ||||
| 					winner.getInventory().clear(); | ||||
| 					winner.teleport(Spawn); | ||||
| 					winner.getInventory().setBoots(null); | ||||
| 					winner.getInventory().setChestplate(null); | ||||
| 					winner.getInventory().setHelmet(null); | ||||
| 					winner.getInventory().setLeggings(null); | ||||
| 					winner.getInventory().addItem(plugin.Reward); | ||||
|                                         // Create the event here | ||||
|                                         PlayerWinGamesEvent winevent = new PlayerWinGamesEvent(winner); | ||||
|                                         // Call the event | ||||
|                                         Bukkit.getServer().getPluginManager().callEvent(winevent); | ||||
| 					plugin.Playing.clear(); | ||||
| 					//Show spectators | ||||
| 					if(!plugin.Watching.isEmpty()){ | ||||
| 						String s1 = plugin.Watching.get(i++); | ||||
| 						Player spectator = plugin.getServer().getPlayerExact(s1); | ||||
| 						spectator.setAllowFlight(false); | ||||
| 						spectator.teleport(Spawn); | ||||
| 						for(Player online:plugin.getServer().getOnlinePlayers()){ | ||||
| 							online.showPlayer(spectator); | ||||
| 						} | ||||
| 					} | ||||
| 					if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ | ||||
| 						Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										32
									
								
								src/me/travja/hungerarena/DmgListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/me/travja/hungerarena/DmgListener.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.entity.Entity; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.entity.EntityDamageEvent; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author YoshiGenius | ||||
|  */ | ||||
| public class DmgListener implements Listener { | ||||
|      | ||||
|     public Main plugin; | ||||
|     public DmgListener(Main m) { | ||||
|         this.plugin = m; | ||||
|     } | ||||
|      | ||||
|     @EventHandler | ||||
|     public void onDmg(EntityDamageEvent evt) { | ||||
|         Entity e = evt.getEntity(); | ||||
|         if (e instanceof Player) { | ||||
|             Player p = (Player) e; | ||||
|             String pn = p.getName(); | ||||
|             if (plugin.Frozen.contains(pn)) { | ||||
|                 evt.setCancelled(true); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										24
									
								
								src/me/travja/hungerarena/FreezeListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/me/travja/hungerarena/FreezeListener.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.Location; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.player.PlayerMoveEvent; | ||||
| import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; | ||||
|  | ||||
| public class FreezeListener implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public FreezeListener(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void onPlayerMove(PlayerMoveEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Frozen.contains(pname) && plugin.config.getString("Frozen_Teleport").equalsIgnoreCase("True")){ | ||||
|                         Location from = event.getFrom(); | ||||
|                         p.teleport(from, TeleportCause.ENDER_PEARL); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										1402
									
								
								src/me/travja/hungerarena/HaCommands.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1402
									
								
								src/me/travja/hungerarena/HaCommands.java
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										137
									
								
								src/me/travja/hungerarena/JoinAndQuitListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								src/me/travja/hungerarena/JoinAndQuitListener.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,137 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.Location; | ||||
| import org.bukkit.World; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.player.PlayerJoinEvent; | ||||
| import org.bukkit.event.player.PlayerQuitEvent; | ||||
|  | ||||
| public class JoinAndQuitListener implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public JoinAndQuitListener(Main m) { | ||||
|                 this.plugin = m; | ||||
| 	} | ||||
| 	int i = 0; | ||||
|          | ||||
|         @EventHandler | ||||
|         public void onJoin(PlayerJoinEvent evt) { | ||||
|             Player p = evt.getPlayer(); | ||||
|             for (String s : plugin.Watching) { | ||||
|                 Player spectator = Bukkit.getServer().getPlayerExact(s); | ||||
|                 p.hidePlayer(spectator); | ||||
|             } | ||||
|         } | ||||
|          | ||||
| 	@EventHandler | ||||
| 	public void onPlayerJoin(PlayerJoinEvent event){ | ||||
| 		final Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(!plugin.Watching.isEmpty()){ | ||||
| 			String s = plugin.Watching.get(i++); | ||||
| 			Player spectator = plugin.getServer().getPlayerExact(s); | ||||
| 			p.hidePlayer(spectator); | ||||
| 		} | ||||
| 		if(plugin.Out.contains(pname)){ | ||||
| 			plugin.Playing.add(pname); | ||||
| 			plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ | ||||
| 				public void run(){ | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have saved yourself from being ejected from the arena!"); | ||||
| 				} | ||||
| 			}, 40L); | ||||
| 			plugin.Out.remove(pname); | ||||
| 		} | ||||
| 		if(plugin.Quit.contains(pname) || plugin.Dead.contains(pname)){ | ||||
| 			String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); | ||||
| 			String w = Spawncoords[3]; | ||||
| 			World spawnw = plugin.getServer().getWorld(w); | ||||
| 			double spawnx = Double.parseDouble(Spawncoords[0]); | ||||
| 			double spawny = Double.parseDouble(Spawncoords[1]); | ||||
| 			double spawnz = Double.parseDouble(Spawncoords[2]); | ||||
| 			final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); | ||||
| 			plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ | ||||
| 				public void run(){ | ||||
| 					p.teleport(Spawn); | ||||
| 					p.sendMessage(ChatColor.RED + "You have been teleported to spawn because you quit/forfeited!"); | ||||
| 				} | ||||
| 			}, 40L); | ||||
| 		} | ||||
| 	} | ||||
|          | ||||
|         @EventHandler | ||||
|         public void onQuit(PlayerQuitEvent evt) { | ||||
|             Player p = evt.getPlayer(); | ||||
|             String pname = p.getName(); | ||||
|             if (plugin.Frozen.contains(pname)) { | ||||
|                 plugin.Frozen.remove(pname); | ||||
|                 String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); | ||||
| 		String w = Spawncoords[3]; | ||||
| 		World spawnw = plugin.getServer().getWorld(w); | ||||
| 		double spawnx = Double.parseDouble(Spawncoords[0]); | ||||
| 		double spawny = Double.parseDouble(Spawncoords[1]); | ||||
| 		double spawnz = Double.parseDouble(Spawncoords[2]); | ||||
| 		Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); | ||||
|                 p.teleport(Spawn); | ||||
|             } | ||||
|         } | ||||
|          | ||||
| 	@EventHandler | ||||
| 	public void onPlayerQuit(PlayerQuitEvent event){ | ||||
| 		final Player p = event.getPlayer(); | ||||
| 		final String pname = p.getName(); | ||||
| 		String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); | ||||
| 		String w = Spawncoords[3]; | ||||
| 		World spawnw = plugin.getServer().getWorld(w); | ||||
| 		double spawnx = Double.parseDouble(Spawncoords[0]); | ||||
| 		double spawny = Double.parseDouble(Spawncoords[1]); | ||||
| 		double spawnz = Double.parseDouble(Spawncoords[2]); | ||||
| 		final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); | ||||
| 		if(plugin.Playing.contains(pname)){ | ||||
| 			plugin.Out.add(pname); | ||||
| 			plugin.Playing.remove(pname); | ||||
| 		} | ||||
| 		plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ | ||||
| 			public void run(){ | ||||
| 				if(plugin.Out.contains(pname)){ | ||||
| 					if(plugin.canjoin== true){ | ||||
| 						plugin.Quit.add(pname); | ||||
| 						plugin.Out.remove(pname); | ||||
| 						if(plugin.Playing.size()== 1){ | ||||
| 							//Announce Winner | ||||
| 							String winnername = plugin.Playing.get(i++); | ||||
| 							Player winner = plugin.getServer().getPlayerExact(winnername); | ||||
| 							String winnername2 = winner.getName(); | ||||
| 							p.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!"); | ||||
| 							winner.getInventory().clear(); | ||||
| 							winner.getInventory().setBoots(null); | ||||
| 							winner.getInventory().setChestplate(null); | ||||
| 							winner.getInventory().setHelmet(null); | ||||
| 							winner.getInventory().setLeggings(null); | ||||
| 							winner.getInventory().addItem(plugin.Reward); | ||||
|                                                         PlayerWinGamesEvent evt = new PlayerWinGamesEvent(winner); | ||||
|                                                         Bukkit.getServer().getPluginManager().callEvent(evt); | ||||
| 							//Make spectators visible | ||||
| 							if(!plugin.Watching.isEmpty()){ | ||||
| 								String s = plugin.Watching.get(i++); | ||||
| 								Player spectator = plugin.getServer().getPlayerExact(s); | ||||
| 								spectator.setAllowFlight(false); | ||||
| 								spectator.teleport(Spawn); | ||||
| 								for(Player online:plugin.getServer().getOnlinePlayers()){ | ||||
| 									online.showPlayer(spectator); | ||||
| 								} | ||||
| 							} | ||||
| 							if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){ | ||||
| 								Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); | ||||
| 							} | ||||
| 						} | ||||
| 					} | ||||
| 				}else{ | ||||
| 					plugin.Quit.add(pname); | ||||
| 				} | ||||
| 			} | ||||
| 		}, 1200L); | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										109
									
								
								src/me/travja/hungerarena/Main.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								src/me/travja/hungerarena/Main.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,109 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashSet; | ||||
| import java.util.logging.Logger; | ||||
| import net.milkbowl.vault.economy.Economy; | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.configuration.file.FileConfiguration; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.inventory.ItemStack; | ||||
| import org.bukkit.plugin.RegisteredServiceProvider; | ||||
| import org.bukkit.plugin.java.JavaPlugin; | ||||
|  | ||||
| public class Main extends JavaPlugin{ | ||||
| 	static final Logger log = Logger.getLogger("Minecraft"); | ||||
| 	public ArrayList<String> Playing = new ArrayList<String>(); | ||||
| 	public ArrayList<String> Ready = new ArrayList<String>(); | ||||
| 	public ArrayList<String> Dead = new ArrayList<String>(); | ||||
| 	public ArrayList<String> Quit = new ArrayList<String>(); | ||||
| 	public ArrayList<String> Out = new ArrayList<String>(); | ||||
| 	public ArrayList<String> Watching = new ArrayList<String>(); | ||||
| 	public ArrayList<String> NeedConfirm = new ArrayList<String>(); | ||||
| 	public HashSet<String> Frozen = new HashSet<String>(); | ||||
| 	public Listener DeathListener = new DeathListener(this); | ||||
| 	public Listener SpectatorListener = new SpectatorListener(this); | ||||
| 	public Listener FreezeListener = new FreezeListener(this); | ||||
| 	public Listener JoinAndQuitListener = new JoinAndQuitListener(this); | ||||
| 	public Listener ChatListener = new ChatListener(this); | ||||
| 	public Listener Chests = new Chests(this); | ||||
| 	public Listener PvP = new PvP(this); | ||||
| 	public Listener Blocks = new Blocks(this); | ||||
| 	public Listener CommandBlock = new CommandBlock(this); | ||||
|         public Listener Damage = new DmgListener(this); | ||||
|         public Listener Teleport = new TeleportListener(this); | ||||
| 	public Listener Signs = new Signs(this); | ||||
| 	public Listener BlockStorage = new BlockStorage(this); | ||||
|         public Listener WinGames = new WinGamesListener(this); | ||||
| 	public CommandExecutor HaCommands = new HaCommands(this); | ||||
| 	public CommandExecutor SponsorCommands = new SponsorCommands(this); | ||||
| 	public CommandExecutor SpawnsCommand = new SpawnsCommand(this); | ||||
| 	public boolean canjoin; | ||||
| 	public boolean exists; | ||||
| 	public FileConfiguration config = getConfig(); | ||||
| 	public ItemStack Reward; | ||||
| 	public ItemStack Cost; | ||||
|         public boolean vault = false; | ||||
|         public Economy econ = null; | ||||
| 	public void onEnable(){ | ||||
| 		log.info("[HungerArena] enabled v" + getDescription().getVersion()); | ||||
| 		config.options().copyDefaults(true); | ||||
| 		this.saveDefaultConfig(); | ||||
| 		getServer().getPluginManager().registerEvents(DeathListener, this); | ||||
| 		getServer().getPluginManager().registerEvents(SpectatorListener, this); | ||||
| 		getServer().getPluginManager().registerEvents(FreezeListener, this); | ||||
| 		getServer().getPluginManager().registerEvents(JoinAndQuitListener, this); | ||||
| 		getServer().getPluginManager().registerEvents(ChatListener, this); | ||||
| 		getServer().getPluginManager().registerEvents(Chests, this); | ||||
| 		getServer().getPluginManager().registerEvents(PvP, this); | ||||
| 		getServer().getPluginManager().registerEvents(Blocks, this); | ||||
| 		getServer().getPluginManager().registerEvents(CommandBlock, this); | ||||
| 		getServer().getPluginManager().registerEvents(Signs, this); | ||||
| 		getServer().getPluginManager().registerEvents(BlockStorage, this); | ||||
|                 getServer().getPluginManager().registerEvents(WinGames, this); | ||||
|                 getServer().getPluginManager().registerEvents(Damage, this); | ||||
| 		getCommand("Ha").setExecutor(HaCommands); | ||||
| 		getCommand("Sponsor").setExecutor(SponsorCommands); | ||||
| 		getCommand("Startpoint").setExecutor(SpawnsCommand); | ||||
|                 if (setupEconomy()) { | ||||
|                     log.info(ChatColor.AQUA + "[HungerArena] Found Vault! Hooking in for economy!"); | ||||
|                 } | ||||
|                 if (config.getDouble("config.version") != 1.3) { | ||||
|                     config.set("config.version", 1.3); | ||||
|                     config.set("eco.enabled", false); | ||||
|                     config.set("eco.reward", 100); | ||||
|                 } | ||||
|                 if (config.getBoolean("eco.enabled", true)) { | ||||
|                     if (vault == true) { | ||||
|                         log.info(ChatColor.AQUA + "Economy hook deployed."); | ||||
|                     } else { | ||||
|                         log.info(ChatColor.RED + "You want economy support... yet you don't have Vault. Sorry, can't give you it."); | ||||
|                     } | ||||
|                 } | ||||
|                 if (config.getBoolean("eco.enabled", false)) { | ||||
|                     if (vault == true) { | ||||
|                         log.info(ChatColor.GREEN + "We see that you have Vault on your server. To set economy support to true, enable it in the config."); | ||||
|                     } | ||||
|                 } | ||||
| 		Reward = new ItemStack(config.getInt("Reward.ID"), config.getInt("Reward.Amount")); | ||||
| 		Cost = new ItemStack(config.getInt("Sponsor_Cost.ID"), config.getInt("Sponsor_Cost.Amount")); | ||||
| 	} | ||||
|          | ||||
|     public void onDisable(){ | ||||
| 	log.info("[HungerArena] disabled v" + getDescription().getVersion()); | ||||
|     } | ||||
|          | ||||
|     public boolean setupEconomy() { | ||||
|         if (getServer().getPluginManager().getPlugin("Vault") == null) { | ||||
|             return false; | ||||
|         } | ||||
|         RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class); | ||||
|         if (rsp == null) { | ||||
|             return false; | ||||
|         } | ||||
|         econ = rsp.getProvider(); | ||||
|         vault = true; | ||||
|         return econ != null; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										27
									
								
								src/me/travja/hungerarena/PlayerWinGamesEvent.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/me/travja/hungerarena/PlayerWinGamesEvent.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.HandlerList; | ||||
| import org.bukkit.event.player.PlayerEvent; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author YoshiGenius | ||||
|  */ | ||||
| public class PlayerWinGamesEvent extends PlayerEvent { | ||||
|      | ||||
|     private static final HandlerList handlers = new HandlerList(); | ||||
|      | ||||
|     public PlayerWinGamesEvent(final Player p) { | ||||
|         super(p); | ||||
|     } | ||||
|      | ||||
|     public HandlerList getHandlers() { | ||||
|         return handlers; | ||||
|     } | ||||
|      | ||||
|     public static HandlerList getHandlerList() { | ||||
|         return handlers; | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										24
									
								
								src/me/travja/hungerarena/PvP.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/me/travja/hungerarena/PvP.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.entity.Entity; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.entity.EntityDamageByEntityEvent; | ||||
|  | ||||
| public class PvP implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public PvP(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void PlayerPvP(EntityDamageByEntityEvent event){ | ||||
| 		Entity p = event.getEntity(); | ||||
| 		if(p instanceof Player){ | ||||
| 			String pname = ((Player) p).getName(); | ||||
| 			if(plugin.Playing.contains(pname) && plugin.canjoin== false){ | ||||
| 				event.setCancelled(true); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										52
									
								
								src/me/travja/hungerarena/Signs.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/me/travja/hungerarena/Signs.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.Material; | ||||
| import org.bukkit.block.Block; | ||||
| 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.block.SignChangeEvent; | ||||
| import org.bukkit.event.player.PlayerInteractEvent; | ||||
|  | ||||
| public class Signs implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public Signs(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void Sign(PlayerInteractEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		Block b = event.getClickedBlock(); | ||||
|                 if (b == null) { | ||||
|                     return; | ||||
|                 } | ||||
| 		if(event.getAction()== Action.RIGHT_CLICK_BLOCK){ | ||||
| 			if(b.getType()== Material.SIGN || b.getType()==Material.SIGN_POST || b.getType()==Material.WALL_SIGN){ | ||||
| 				org.bukkit.block.Sign sign = (org.bukkit.block.Sign) b.getState(); | ||||
| 				String line1 = sign.getLine(0); | ||||
|                                 String line2 = sign.getLine(1); | ||||
|                                 String line3 = sign.getLine(2); | ||||
|                                 String line4 = sign.getLine(3); | ||||
| 				if(line1.equalsIgnoreCase(ChatColor.BLUE + "[HungerArena]") || line1.equalsIgnoreCase(ChatColor.BLUE + "[HA]")){ | ||||
| 					if(line2.equals("")){ | ||||
| 						p.performCommand("ha"); | ||||
| 					}else{ | ||||
| 						p.performCommand("ha " + line2); | ||||
| 					} | ||||
| 				} | ||||
| 				if(line1.equalsIgnoreCase(ChatColor.BLUE + "[Sponsor]")){ | ||||
| 					p.performCommand("sponsor " + line2 + " " + line3 + " " + line4); | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void Create(SignChangeEvent event){ | ||||
| 		String top = event.getLine(0); | ||||
| 		if(top.equalsIgnoreCase("[HungerArena]") || top.equalsIgnoreCase("[HA]") || top.equalsIgnoreCase("[Sponsor]")){ | ||||
| 			event.setLine(0, ChatColor.BLUE + top); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										243
									
								
								src/me/travja/hungerarena/SpawnsCommand.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										243
									
								
								src/me/travja/hungerarena/SpawnsCommand.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,243 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.bukkit.entity.Player; | ||||
|  | ||||
| public class SpawnsCommand implements CommandExecutor { | ||||
| 	public Main plugin; | ||||
| 	public SpawnsCommand(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { | ||||
| 		Player p = (Player) sender; | ||||
| 		if(cmd.getName().equalsIgnoreCase("StartPoint")){ | ||||
| 			if(p.hasPermission("HungerArena.StartPoint")){	 | ||||
| 				if(args[0].equalsIgnoreCase("1")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_one_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute one!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("2")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_two_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute two!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("3")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_three_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute three!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("4")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_four_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute four!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("5")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_five_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute five!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("6")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_six_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute six!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("7")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_seven_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute seven!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("8")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_eight_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eight!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("9")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_nine_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute nine!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("10")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_ten_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute ten!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("11")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_eleven_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eleven!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("12")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_twelve_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twelve!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("13")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_thirteen_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute thirteen!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("14")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_fourteen_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute fourteen!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("15")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_fifteen_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute fifteen!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("16")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_sixteen_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute sixteen!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("17")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_seventeen_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute seventeen!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("18")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_eighteen_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eighteen!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("19")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_nineteen_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute nineteen!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("20")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_twenty_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twenty!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("21")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_twentyone_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentyone!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("22")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_twentytwo_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentytwo!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("23")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_twentythree_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentythree!"); | ||||
| 				} | ||||
| 				if(args[0].equalsIgnoreCase("24")){ | ||||
| 					double x = p.getLocation().getX(); | ||||
| 					double y = p.getLocation().getY(); | ||||
| 					double z = p.getLocation().getZ(); | ||||
| 					String w = p.getWorld().getName(); | ||||
| 					plugin.config.set("Tribute_twentyfour_spawn", x + "," + y + "," + z + "," + w); | ||||
| 					plugin.saveConfig(); | ||||
| 					p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentyfour!"); | ||||
| 				} | ||||
| 			}else{ | ||||
| 				p.sendMessage(ChatColor.RED + "You don't have permission!"); | ||||
| 			} | ||||
| 		} | ||||
| 		return false; | ||||
| 	} | ||||
|  | ||||
| } | ||||
							
								
								
									
										132
									
								
								src/me/travja/hungerarena/SpectatorListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								src/me/travja/hungerarena/SpectatorListener.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,132 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.Location; | ||||
| import org.bukkit.World; | ||||
| import org.bukkit.entity.Entity; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.entity.Projectile; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.block.BlockBreakEvent; | ||||
| import org.bukkit.event.block.BlockPlaceEvent; | ||||
| import org.bukkit.event.entity.EntityDamageByEntityEvent; | ||||
| import org.bukkit.event.entity.EntityTargetEvent; | ||||
| import org.bukkit.event.player.*; | ||||
|  | ||||
| public class SpectatorListener implements Listener { | ||||
| 	public Main plugin; | ||||
| 	public SpectatorListener(Main m){ | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void SpectatorDrops(PlayerDropItemEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Watching.contains(pname)){ | ||||
| 			event.setCancelled(true); | ||||
| 			p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void SpectatorInteractBlock(PlayerInteractEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Watching.contains(pname)){ | ||||
| 			event.setCancelled(true); | ||||
| 			p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); | ||||
| 		} | ||||
| 	} | ||||
|          | ||||
|         @EventHandler | ||||
| 	public void SpectatorInteractEntity(PlayerInteractEntityEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Watching.contains(pname)){ | ||||
| 			event.setCancelled(true); | ||||
| 			p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void SpectatorItems(PlayerPickupItemEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Watching.contains(pname)){ | ||||
| 			event.setCancelled(true); | ||||
| 			p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void SpectatorPvP(EntityDamageByEntityEvent event){ | ||||
| 		Entity offense = event.getDamager(); | ||||
| 		if(offense instanceof Player){ | ||||
| 			Player Attacker = (Player) event.getDamager(); | ||||
| 			String attackerName = Attacker.getName(); | ||||
| 			if(plugin.Watching.contains(attackerName)){ | ||||
| 				event.setCancelled(true); | ||||
| 				Attacker.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); | ||||
| 			} | ||||
| 		}else if(event.getDamager() instanceof Projectile){ | ||||
| 			Projectile arrow = (Projectile) offense; | ||||
| 			if(arrow.getShooter() instanceof Player){ | ||||
| 				Player BowMan = (Player) arrow.getShooter(); | ||||
| 				String bowManName = BowMan.getName(); | ||||
| 				if(plugin.Watching.contains(bowManName)){ | ||||
| 					event.setCancelled(true); | ||||
| 					BowMan.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	@EventHandler | ||||
| 	public void SpectatorBlockBreak(BlockBreakEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Watching.contains(pname)){ | ||||
| 			event.setCancelled(true); | ||||
| 			p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); | ||||
| 		} | ||||
| 	} | ||||
|          | ||||
|         @EventHandler | ||||
| 	public void SpectatorBlockPlace(BlockPlaceEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Watching.contains(pname)){ | ||||
| 			event.setCancelled(true); | ||||
| 			p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); | ||||
| 		} | ||||
| 	} | ||||
|          | ||||
|         @EventHandler | ||||
| 	public void SpectatorQuit(PlayerQuitEvent event){ | ||||
| 		Player p = event.getPlayer(); | ||||
| 		String pname = p.getName(); | ||||
| 		if(plugin.Watching.contains(pname)){ | ||||
|                     plugin.Watching.remove(pname); | ||||
|                     String[] Spawncoords = plugin.config.getString("Spawn_coords").split(","); | ||||
| 		    String w = Spawncoords[3]; | ||||
| 		    World spawnw = plugin.getServer().getWorld(w); | ||||
| 		    double spawnx = Double.parseDouble(Spawncoords[0]); | ||||
| 		    double spawny = Double.parseDouble(Spawncoords[1]); | ||||
| 		    double spawnz = Double.parseDouble(Spawncoords[2]); | ||||
| 		    final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz); | ||||
|                     p.teleport(Spawn); | ||||
| 		} | ||||
| 	} | ||||
|          | ||||
| 	@EventHandler | ||||
| 	public void MobNerf(EntityTargetEvent event){ | ||||
| 		Entity target = event.getTarget(); | ||||
|                 Entity e = event.getEntity(); | ||||
|                 if (e instanceof Player) { | ||||
|                     return; | ||||
|                 } | ||||
| 		if(target instanceof Player){ | ||||
| 			String targetName = ((Player) target).getName(); | ||||
| 			if(plugin.Watching.contains(targetName)){ | ||||
| 			        event.setTarget(null); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										102
									
								
								src/me/travja/hungerarena/SponsorCommands.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								src/me/travja/hungerarena/SponsorCommands.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,102 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.bukkit.command.ConsoleCommandSender; | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.inventory.ItemStack; | ||||
|  | ||||
| public class SponsorCommands implements CommandExecutor { | ||||
| 	public Main plugin; | ||||
| 	public SponsorCommands(Main m) { | ||||
| 		this.plugin = m; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { | ||||
| 		if(cmd.getName().equalsIgnoreCase("Sponsor")){ | ||||
| 			if(sender instanceof Player){ | ||||
| 				Player p = (Player) sender; | ||||
| 				String pname = p.getName(); | ||||
| 				String epname = p.getName(); | ||||
| 				if(p.hasPermission("HungerArena.Sponsor")){ | ||||
| 					if(!plugin.Playing.contains(epname)){ | ||||
| 						if(args.length== 0){ | ||||
| 							p.sendMessage(ChatColor.RED + "You didn't specify a tribute!"); | ||||
| 							return false; | ||||
| 						} | ||||
| 						if(args.length== 1){ | ||||
| 							p.sendMessage(ChatColor.RED + "You didn't specify an item!"); | ||||
| 						} | ||||
| 						if(args.length== 2){ | ||||
| 							p.sendMessage(ChatColor.RED + "You didn't specify an amount!"); | ||||
| 						} | ||||
| 						if(args.length== 3){ | ||||
| 							Player target = Bukkit.getServer().getPlayer(args[0]); | ||||
| 							if(args[1].equalsIgnoreCase("57") || args[1].equalsIgnoreCase("7")){ | ||||
| 								p.sendMessage(ChatColor.RED + "You can't sponsor that item!"); | ||||
| 							}else{ | ||||
| 								int ID = Integer.parseInt(args[1]); | ||||
| 								int Amount = Integer.parseInt(args[2]); | ||||
| 								ItemStack sponsoritem = new ItemStack(ID, Amount); | ||||
| 								if(p.getInventory().contains(plugin.config.getInt("Sponsor_Cost.ID"), plugin.config.getInt("Sponsor_Cost.Amount")*Amount)){ | ||||
| 									if(!plugin.Playing.contains(target.getName())){ | ||||
| 										p.sendMessage(ChatColor.RED + "That person isn't playing!"); | ||||
| 									}else{ | ||||
| 										if(args[0].equalsIgnoreCase(pname)){ | ||||
| 											p.sendMessage(ChatColor.RED + "You can't sponsor yourself!"); | ||||
| 										}else{ | ||||
| 											target.sendMessage(ChatColor.AQUA + "You have been Sponsored!"); | ||||
| 											target.getInventory().addItem(sponsoritem); | ||||
| 											p.sendMessage("You have sponsored " + target.getName() + "!"); | ||||
| 											p.getInventory().removeItem(plugin.Cost); | ||||
| 										} | ||||
| 									} | ||||
| 								}else{ | ||||
| 									p.sendMessage(ChatColor.RED + "You don't have the necessary items to sponsor!"); | ||||
| 								} | ||||
| 							} | ||||
| 						} | ||||
| 					}else{ | ||||
| 						p.sendMessage(ChatColor.RED + "You are playing, you can't sponsor yourself!"); | ||||
| 					} | ||||
| 				}else{ | ||||
| 					p.sendMessage(ChatColor.RED + "You don't have permission!"); | ||||
| 				} | ||||
| 			}else if(sender instanceof ConsoleCommandSender){ | ||||
| 				if(args.length== 0){ | ||||
| 					sender.sendMessage(ChatColor.RED + "You didn't specify a tribute!"); | ||||
| 					return false; | ||||
| 				} | ||||
| 				if(args.length== 1){ | ||||
| 					sender.sendMessage(ChatColor.RED + "You didn't specify an item!"); | ||||
| 				} | ||||
| 				if(args.length== 2){ | ||||
| 					sender.sendMessage(ChatColor.RED + "You didn't specify an amount!"); | ||||
| 				} | ||||
| 				if(args.length== 3){ | ||||
| 					Player target = Bukkit.getPlayer(args[0]); | ||||
| 					if(args[1].equalsIgnoreCase("57") || args[1].equalsIgnoreCase("7")){ | ||||
| 						sender.sendMessage(ChatColor.RED + "You can't sponsor that item!"); | ||||
| 					}else{ | ||||
| 						int ID = Integer.parseInt(args[1]); | ||||
| 						int Amount = Integer.parseInt(args[2]); | ||||
| 						ItemStack sponsoritem = new ItemStack(ID, Amount); | ||||
| 						if(!plugin.Playing.contains(target.getName())){ | ||||
| 							sender.sendMessage(ChatColor.RED + "That person isn't playing!"); | ||||
| 						}else{ | ||||
| 							sender.sendMessage(ChatColor.RED + "You can't sponsor yourself!"); | ||||
| 							target.sendMessage(ChatColor.AQUA + "You have been Sponsored!"); | ||||
| 							target.getInventory().addItem(sponsoritem); | ||||
| 							sender.sendMessage("You have sponsored " + target.getName() + "!"); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		return false; | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										36
									
								
								src/me/travja/hungerarena/TeleportListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/me/travja/hungerarena/TeleportListener.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
| import org.bukkit.event.player.PlayerTeleportEvent; | ||||
| import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author YoshiGenius | ||||
|  */ | ||||
| public class TeleportListener implements Listener { | ||||
|      | ||||
|     public Main plugin; | ||||
|     public TeleportListener(Main m) { | ||||
|         this.plugin = m; | ||||
|     } | ||||
|      | ||||
|     @EventHandler | ||||
|     public void onTP(PlayerTeleportEvent evt) { | ||||
|         Player p = evt.getPlayer(); | ||||
|         TeleportCause tc = evt.getCause(); | ||||
|         if (tc == TeleportCause.ENDER_PEARL) { | ||||
|             return; | ||||
|         } | ||||
|         if (tc == TeleportCause.END_PORTAL) { | ||||
|             return; | ||||
|         } | ||||
|         if (tc == TeleportCause.NETHER_PORTAL) { | ||||
|             return; | ||||
|         } | ||||
|         evt.setCancelled(true); | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										24
									
								
								src/me/travja/hungerarena/WinGamesListener.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/me/travja/hungerarena/WinGamesListener.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| package me.travja.hungerarena; | ||||
|  | ||||
| import org.bukkit.entity.Player; | ||||
| import org.bukkit.event.EventHandler; | ||||
| import org.bukkit.event.Listener; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author YoshiGenius | ||||
|  */ | ||||
| public class WinGamesListener implements Listener { | ||||
|      | ||||
|     public Main plugin; | ||||
|     public WinGamesListener(Main m) { | ||||
| 	this.plugin = m; | ||||
|     } | ||||
|      | ||||
|     @EventHandler | ||||
|     public void onWin(PlayerWinGamesEvent evt) { | ||||
|         Player p = evt.getPlayer(); | ||||
|         plugin.econ.depositPlayer(p.getName(), plugin.config.getDouble("EcoReward")); | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 
				 YoshiGenius
					YoshiGenius