No known bugs
This commit is contained in:
		@@ -3,22 +3,18 @@ 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.BlockFace;
 | 
			
		||||
import org.bukkit.entity.Entity;
 | 
			
		||||
import org.bukkit.entity.EntityType;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
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;
 | 
			
		||||
@@ -32,8 +28,13 @@ public class BlockStorage implements Listener {
 | 
			
		||||
	public void BlockBreak(BlockBreakEvent event){
 | 
			
		||||
		Block b = event.getBlock();
 | 
			
		||||
		Player p = event.getPlayer();
 | 
			
		||||
		if(plugin.canjoin){
 | 
			
		||||
			if(plugin.Playing.contains(p.getName())){
 | 
			
		||||
		String pname = p.getName();
 | 
			
		||||
		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!");
 | 
			
		||||
			}
 | 
			
		||||
			if(plugin.canjoin){
 | 
			
		||||
				if(plugin.config.getStringList("worlds").isEmpty() || (!plugin.config.getStringList("worlds").isEmpty() && plugin.config.getStringList("worlds").contains(p.getWorld().getName()))){
 | 
			
		||||
					String w = b.getWorld().getName();
 | 
			
		||||
					int x = b.getX();
 | 
			
		||||
@@ -42,118 +43,110 @@ public class BlockStorage implements Listener {
 | 
			
		||||
					int d = b.getTypeId();
 | 
			
		||||
					byte m = b.getData();
 | 
			
		||||
					String coords = w + "," + x + "," + y + "," + z + "," + d + "," + m;
 | 
			
		||||
					System.out.println("Leaf Break: " + coords);
 | 
			
		||||
					List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
 | 
			
		||||
					blocks.add(coords);
 | 
			
		||||
					plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
					plugin.saveConfig();
 | 
			
		||||
					List<String> blocks = plugin.data.getStringList("Blocks_Destroyed");
 | 
			
		||||
					if(!plugin.data.getStringList("Blocks_Placed").contains(w + "," + x + "," + y + "," + z)){
 | 
			
		||||
						blocks.add(coords);
 | 
			
		||||
						plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
						plugin.saveData();
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	/*@EventHandler
 | 
			
		||||
	public void creeperExplosion(EntityExplodeEvent event){
 | 
			
		||||
	@EventHandler
 | 
			
		||||
	public void Explosion(EntityExplodeEvent event){
 | 
			
		||||
		List<Block> blocksd = event.blockList();
 | 
			
		||||
		Entity e = event.getEntity();
 | 
			
		||||
		if(plugin.canjoin){
 | 
			
		||||
			if(plugin.config.getStringList("worlds").isEmpty() || (!plugin.config.getStringList("worlds").isEmpty() && plugin.config.getStringList("worlds").contains(event.getEntity().getWorld().getName()))){
 | 
			
		||||
				if(e.getType()== EntityType.PRIMED_TNT){
 | 
			
		||||
					if(!plugin.data.getStringList("Blocks_Placed").contains(e.getLocation().getWorld() + "," + e.getLocation().getX() + "," + e.getLocation().getY() + "," + e.getLocation().getZ()) /*|| !plugin.data.getStringList("Blocks_Destroyed").contains(e.getLocation().getWorld() + "," + e.getLocation().getX() + "," + e.getLocation().getY() + "," + e.getLocation().getZ())*/){
 | 
			
		||||
						List<String> blocks = plugin.data.getStringList("Blocks_Destroyed");
 | 
			
		||||
						blocks.add(e.getLocation().getWorld().getName() + "," + e.getLocation().getX() + "," + e.getLocation().getY() + "," + e.getLocation().getZ() + ",46" + ",0");
 | 
			
		||||
						plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
						plugin.saveData();
 | 
			
		||||
						plugin.getServer().broadcastMessage("TNT blew up!");
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				for(Block b:blocksd){
 | 
			
		||||
					String w = event.getEntity().getWorld().getName();
 | 
			
		||||
					int x = b.getX();
 | 
			
		||||
					int y = b.getY();
 | 
			
		||||
					int z = b.getZ();
 | 
			
		||||
					int d = b.getTypeId();
 | 
			
		||||
					byte m = b.getData();
 | 
			
		||||
					String coords = w + "," + x + "," + y + "," + z + "," + d + "," + m;
 | 
			
		||||
					List<String> blocks = plugin.data.getStringList("Blocks_Destroyed");
 | 
			
		||||
					if(!plugin.data.getStringList("Blocks_Placed").contains(w + "," + x + "," + y + "," + z) || !plugin.data.getStringList("Blocks_Destroyed").contains(w + "," + x + "," + y + "," + z)){
 | 
			
		||||
						blocks.add(coords);
 | 
			
		||||
						plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
						plugin.saveData();
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}	
 | 
			
		||||
	}
 | 
			
		||||
	@EventHandler
 | 
			
		||||
	public void burningBlocks(BlockBurnEvent event){
 | 
			
		||||
		Block b = event.getBlock();
 | 
			
		||||
		if(plugin.canjoin== true){
 | 
			
		||||
			for(Block b:event.blockList()){
 | 
			
		||||
			if(plugin.config.getStringList("worlds").isEmpty() || (!plugin.config.getStringList("worlds").isEmpty() && plugin.config.getStringList("worlds").contains(b.getWorld().getName()))){
 | 
			
		||||
				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();
 | 
			
		||||
				byte m = b.getData();
 | 
			
		||||
				String coords = w + "," + x + "," + y + "," + z + "," + d + "," + m;
 | 
			
		||||
				List<String> blocks = plugin.data.getStringList("Blocks_Destroyed");
 | 
			
		||||
				if(!plugin.data.getStringList("Blocks_Placed").contains(w + "," + x + "," + y + "," + z)){
 | 
			
		||||
					blocks.add(coords);
 | 
			
		||||
					plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
					plugin.saveData();
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@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) && !(d==13)){
 | 
			
		||||
				System.out.println("Place: " + coords);
 | 
			
		||||
				List<String> blocks = plugin.config.getStringList("Blocks_Placed");
 | 
			
		||||
				blocks.add(coords);
 | 
			
		||||
				plugin.config.set("Blocks_Placed", blocks);
 | 
			
		||||
				plugin.saveConfig();
 | 
			
		||||
			}else if (d == 12 || d == 13) {
 | 
			
		||||
				System.out.println("Sand/Gravel");
 | 
			
		||||
				int newy = y;
 | 
			
		||||
				int replaced = 0;
 | 
			
		||||
				Location l = b.getLocation();
 | 
			
		||||
				while(l.getBlock().getRelative(BlockFace.DOWN).getType()== Material.AIR){
 | 
			
		||||
					newy = newy-1;
 | 
			
		||||
					replaced = 0;
 | 
			
		||||
					System.out.println(newy);
 | 
			
		||||
				}
 | 
			
		||||
				while(l.getBlock().getRelative(BlockFace.DOWN).getType()== Material.WATER){
 | 
			
		||||
					newy = newy-1;
 | 
			
		||||
					replaced = 8;
 | 
			
		||||
				}
 | 
			
		||||
				while(l.getBlock().getRelative(BlockFace.DOWN).getType()== Material.LAVA){
 | 
			
		||||
					newy = newy-1;
 | 
			
		||||
					replaced = 10;
 | 
			
		||||
				}
 | 
			
		||||
				if(l.getBlock().getRelative(BlockFace.DOWN).getType()!= Material.AIR || l.getBlock().getRelative(BlockFace.DOWN).getType()!= Material.WATER || l.getBlock().getRelative(BlockFace.DOWN).getType()!= Material.LAVA){
 | 
			
		||||
					event.getPlayer().sendMessage(ChatColor.GREEN + "Block will land at " + x + ", " + newy + ", " + z + " and replaced " + replaced);
 | 
			
		||||
				}
 | 
			
		||||
				Location location = b.getLocation();
 | 
			
		||||
				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;
 | 
			
		||||
		Block b = event.getBlock();
 | 
			
		||||
		Player p = event.getPlayer();
 | 
			
		||||
		if(plugin.Playing.contains(p.getName())){
 | 
			
		||||
			if(plugin.canjoin){
 | 
			
		||||
				if(plugin.config.getStringList("worlds").isEmpty() || (!plugin.config.getStringList("worlds").isEmpty() && plugin.config.getStringList("worlds").contains(b.getWorld().getName()))){
 | 
			
		||||
					//TODO
 | 
			
		||||
					if((b.getType()== Material.SAND || b.getType()== Material.GRAVEL) && (b.getRelative(BlockFace.DOWN).getType()== Material.AIR || b.getRelative(BlockFace.DOWN).getType()== Material.WATER || b.getRelative(BlockFace.DOWN).getType()== Material.LAVA)){
 | 
			
		||||
						int n = b.getY() -1;
 | 
			
		||||
						while(b.getWorld().getBlockAt(b.getX(), n, b.getZ()).getType()== Material.AIR || b.getWorld().getBlockAt(b.getX(), n, b.getZ()).getType()== Material.WATER || b.getWorld().getBlockAt(b.getX(), n, b.getZ()).getType()== Material.LAVA){
 | 
			
		||||
							n = n -1;
 | 
			
		||||
							event.getPlayer().sendMessage(b.getWorld().getBlockAt(b.getX(), n, b.getZ()).getType().toString().toLowerCase());
 | 
			
		||||
							if(b.getWorld().getBlockAt(b.getX(), n, b.getZ()).getType()!= Material.AIR || b.getWorld().getBlockAt(b.getX(), n, b.getZ()).getType()!= Material.WATER || b.getWorld().getBlockAt(b.getX(), n, b.getZ()).getType()!= Material.LAVA){
 | 
			
		||||
								int l = n +1;
 | 
			
		||||
								Block br = b.getWorld().getBlockAt(b.getX(), l, b.getZ());
 | 
			
		||||
								String w = br.getWorld().getName();
 | 
			
		||||
								int x = br.getX();
 | 
			
		||||
								int y = br.getY();
 | 
			
		||||
								int z = br.getZ();
 | 
			
		||||
								String coords = w + "," + x + "," + y + "," + z;
 | 
			
		||||
								p.sendMessage(ChatColor.GREEN + "Sand/Gravel will land at " + coords);
 | 
			
		||||
								List<String> blocks = plugin.data.getStringList("Blocks_Placed");
 | 
			
		||||
								blocks.add(coords);
 | 
			
		||||
								plugin.data.set("Blocks_Placed", blocks);
 | 
			
		||||
								plugin.saveData();
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}else{
 | 
			
		||||
						if(b.getType()!= Material.SAND || b.getType()!= Material.GRAVEL){
 | 
			
		||||
							String w = b.getWorld().getName();
 | 
			
		||||
							int x = b.getX();
 | 
			
		||||
							int y = b.getY();
 | 
			
		||||
							int z = b.getZ();
 | 
			
		||||
							String coords = w + "," + x + "," + y + "," + z;
 | 
			
		||||
							List<String> blocks = plugin.data.getStringList("Blocks_Placed");
 | 
			
		||||
							blocks.add(coords);
 | 
			
		||||
							plugin.data.set("Blocks_Placed", blocks);
 | 
			
		||||
							plugin.saveData();
 | 
			
		||||
						}
 | 
			
		||||
						event.getPlayer().sendMessage("Block will land at: " + location);
 | 
			
		||||
						System.out.println("Sand/Gravel Place: " + coords);
 | 
			
		||||
						List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
 | 
			
		||||
						blocks.add(coords);
 | 
			
		||||
						plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
						plugin.saveConfig();
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
@@ -161,77 +154,68 @@ public class BlockStorage implements Listener {
 | 
			
		||||
	}
 | 
			
		||||
	@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;
 | 
			
		||||
			if(d != 51 && d != 2){
 | 
			
		||||
				System.out.println("Fade: " + coords);
 | 
			
		||||
				List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
 | 
			
		||||
				blocks.add(coords);
 | 
			
		||||
				plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.saveConfig();
 | 
			
		||||
		if(plugin.canjoin){
 | 
			
		||||
			if(plugin.Playing.contains(event.getPlayer().getName())){
 | 
			
		||||
				if(plugin.config.getStringList("worlds").isEmpty() || (!plugin.config.getStringList("worlds").isEmpty() && plugin.config.getStringList("worlds").contains(event.getPlayer().getWorld().getName()))){
 | 
			
		||||
					Block b = event.getBlockClicked().getRelative(event.getBlockFace());
 | 
			
		||||
					String w = b.getWorld().getName();
 | 
			
		||||
					int x = b.getX();
 | 
			
		||||
					int y = b.getY();
 | 
			
		||||
					int z = b.getZ();
 | 
			
		||||
					String coords = w + "," + x + "," + y + "," + z;
 | 
			
		||||
					List<String> blocks = plugin.data.getStringList("Blocks_Placed");
 | 
			
		||||
					blocks.add(coords);
 | 
			
		||||
					plugin.data.set("Blocks_Placed", blocks);
 | 
			
		||||
					plugin.saveData();
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@EventHandler
 | 
			
		||||
	public void bucketFill(PlayerBucketFillEvent event){
 | 
			
		||||
		if(plugin.canjoin){
 | 
			
		||||
			if(plugin.Playing.contains(event.getPlayer().getName())){
 | 
			
		||||
				if(plugin.config.getStringList("worlds").isEmpty() || (!plugin.config.getStringList("worlds").isEmpty() && plugin.config.getStringList("worlds").contains(event.getPlayer().getWorld().getName()))){
 | 
			
		||||
					Block b = event.getBlockClicked().getRelative(event.getBlockFace());
 | 
			
		||||
					String w = b.getWorld().getName();
 | 
			
		||||
					int x = b.getX();
 | 
			
		||||
					int y = b.getY();
 | 
			
		||||
					int z = b.getZ();
 | 
			
		||||
					int d = b.getTypeId();
 | 
			
		||||
					byte m = b.getData();
 | 
			
		||||
					String coords = w + "," + x + "," + y + "," + z + "," + d + "," + m;
 | 
			
		||||
					List<String> blocks = plugin.data.getStringList("Blocks_Destroyed");
 | 
			
		||||
					if(!plugin.data.getStringList("Blocks_Placed").contains(w + "," + x + "," + y + "," + z)){
 | 
			
		||||
						blocks.add(coords);
 | 
			
		||||
						plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
						plugin.saveData();
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@EventHandler
 | 
			
		||||
	public void blockMelt(BlockFadeEvent event){
 | 
			
		||||
		if(plugin.canjoin){
 | 
			
		||||
			if(plugin.config.getStringList("worlds").isEmpty() || (!plugin.config.getStringList("worlds").isEmpty() && plugin.config.getStringList("worlds").contains(event.getBlock().getWorld().getName()))){
 | 
			
		||||
				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();
 | 
			
		||||
				byte m = b.getData();
 | 
			
		||||
				String coords = w + "," + x + "," + y + "," + z + "," + d + "," + m;
 | 
			
		||||
				List<String> blocks = plugin.data.getStringList("Blocks_Destroyed");
 | 
			
		||||
				if(!plugin.data.getStringList("Blocks_Placed").contains(w + "," + x + "," + y + "," + z)){
 | 
			
		||||
					blocks.add(coords);
 | 
			
		||||
					plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
					plugin.saveData();
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	/*@EventHandler
 | 
			
		||||
	public void blockGrow(BlockGrowEvent event){
 | 
			
		||||
		if(plugin.canjoin== true){
 | 
			
		||||
			Block b = event.getBlock();
 | 
			
		||||
@@ -242,9 +226,9 @@ public class BlockStorage implements Listener {
 | 
			
		||||
			int d = b.getTypeId();
 | 
			
		||||
			String coords = w + "," + x + "," + y + "," + z + "," + d;
 | 
			
		||||
			System.out.println("Grow: " + coords);
 | 
			
		||||
			List<String> blocks = plugin.config.getStringList("Blocks_Placed");
 | 
			
		||||
			List<String> blocks = plugin.data.getStringList("Blocks_Placed");
 | 
			
		||||
			blocks.add(coords);
 | 
			
		||||
			plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
			plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
			plugin.saveConfig();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -259,9 +243,9 @@ public class BlockStorage implements Listener {
 | 
			
		||||
			int d = b.getTypeId();
 | 
			
		||||
			String coords = w + "," + x + "," + y + "," + z + "," + d;
 | 
			
		||||
			System.out.println("Snowfall: " + coords);
 | 
			
		||||
			List<String> blocks = plugin.config.getStringList("Blocks_Placed");
 | 
			
		||||
			List<String> blocks = plugin.data.getStringList("Blocks_Placed");
 | 
			
		||||
			blocks.add(coords);
 | 
			
		||||
			plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
			plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
			plugin.saveConfig();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -276,9 +260,9 @@ public class BlockStorage implements Listener {
 | 
			
		||||
				int d = b.getTypeId();
 | 
			
		||||
				String coords = w + "," + x + "," + y + "," + z + "," + d;
 | 
			
		||||
				System.out.println("Piston: " + coords);
 | 
			
		||||
				List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
 | 
			
		||||
				List<String> blocks = plugin.data.getStringList("Blocks_Destroyed");
 | 
			
		||||
				blocks.add(coords);
 | 
			
		||||
				plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.saveConfig();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@@ -297,9 +281,9 @@ public class BlockStorage implements Listener {
 | 
			
		||||
				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");
 | 
			
		||||
				List<String> blocks = plugin.data.getStringList("Blocks_Placed");
 | 
			
		||||
				blocks.add(coords);
 | 
			
		||||
				plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.saveConfig();
 | 
			
		||||
			}else if(changed == Material.WATER){
 | 
			
		||||
				Block b = event.getBlock();
 | 
			
		||||
@@ -310,9 +294,9 @@ public class BlockStorage implements Listener {
 | 
			
		||||
				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");
 | 
			
		||||
				List<String> blocks = plugin.data.getStringList("Blocks_Placed");
 | 
			
		||||
				blocks.add(coords);
 | 
			
		||||
				plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.saveConfig();
 | 
			
		||||
			}
 | 
			
		||||
		}else if (block.getType() == Material.SAND || block.getType() == Material.GRAVEL) {
 | 
			
		||||
@@ -325,9 +309,9 @@ public class BlockStorage implements Listener {
 | 
			
		||||
				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");
 | 
			
		||||
				List<String> blocks = plugin.data.getStringList("Blocks_Placed");
 | 
			
		||||
				blocks.add(coords);
 | 
			
		||||
				plugin.config.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.data.set("Blocks_Destroyed", blocks);
 | 
			
		||||
				plugin.saveConfig();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ package me.Travja.HungerArena;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
import org.bukkit.GameMode;
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.block.Block;
 | 
			
		||||
@@ -27,82 +28,35 @@ public class Chests implements Listener {
 | 
			
		||||
		Block block = event.getBlock();
 | 
			
		||||
		if(p.getItemInHand().getType()== Material.BLAZE_ROD && p.hasPermission("HungerArena.Chest.Store")){
 | 
			
		||||
			if(block.getState() instanceof Chest){
 | 
			
		||||
			event.setCancelled(true);
 | 
			
		||||
			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!");
 | 
			
		||||
				event.setCancelled(true);
 | 
			
		||||
				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);
 | 
			
		||||
				}
 | 
			
		||||
				List<String> list2 = plugin.getConfig().getStringList("StorageXYZ");
 | 
			
		||||
				if(!list2.contains(blockx + "," + blocky + "," + blockz)){
 | 
			
		||||
					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.GREEN + "Chest already stored!");
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}else if(p.getItemInHand().getType()== Material.BLAZE_ROD && !p.hasPermission("HungerArena.Chest.Store") && block.getState() instanceof Chest){
 | 
			
		||||
			event.setCancelled(true);
 | 
			
		||||
			p.sendMessage(ChatColor.RED + "You can't store chests!!");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@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(!plugin.restricted || (plugin.restricted && plugin.worlds.contains(p.getWorld().getName()))){
 | 
			
		||||
				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())) {
 | 
			
		||||
		}else if(p.hasPermission("HungerArena.Chest.Break")){
 | 
			
		||||
			Location blocklocation = event.getBlock().getLocation();
 | 
			
		||||
			int blockx = blocklocation.getBlockX();
 | 
			
		||||
			int blocky = blocklocation.getBlockY();
 | 
			
		||||
			int blockz = blocklocation.getBlockZ();
 | 
			
		||||
@@ -110,6 +64,7 @@ public class Chests implements Listener {
 | 
			
		||||
				if(p.hasPermission("HungerArena.Chest.Break")){
 | 
			
		||||
					List<String> list2 = plugin.getConfig().getStringList("StorageXYZ");
 | 
			
		||||
					list2.remove(blockx + "," + blocky + "," + blockz);
 | 
			
		||||
					plugin.getConfig().set("Storage." + blockx + "," + blocky+ "," + blockz, null);
 | 
			
		||||
					plugin.getConfig().set("StorageXYZ", list2);
 | 
			
		||||
					plugin.getConfig().options().copyDefaults(true);
 | 
			
		||||
					plugin.saveConfig();
 | 
			
		||||
@@ -121,4 +76,71 @@ public class Chests implements Listener {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@EventHandler
 | 
			
		||||
	public void ChestSaves(PlayerInteractEvent event){
 | 
			
		||||
		Block block = event.getClickedBlock();
 | 
			
		||||
		Player p = event.getPlayer();
 | 
			
		||||
		if(event.getAction()== Action.LEFT_CLICK_BLOCK || event.getAction()== Action.RIGHT_CLICK_BLOCK){
 | 
			
		||||
			if(p.getItemInHand().getType()== Material.BLAZE_ROD && event.getAction() == Action.LEFT_CLICK_BLOCK){
 | 
			
		||||
				if(!plugin.restricted || (plugin.restricted && plugin.worlds.contains(p.getWorld().getName()))){
 | 
			
		||||
					if(p.getGameMode().equals(GameMode.SURVIVAL)){
 | 
			
		||||
						if(block.getState() instanceof Chest){
 | 
			
		||||
							if(p.hasPermission("HungerArena.Chest.Store")){
 | 
			
		||||
								ItemStack[] itemsinchest = ((Chest) block.getState()).getInventory().getContents();
 | 
			
		||||
								List<String> list2 = plugin.getConfig().getStringList("StorageXYZ");
 | 
			
		||||
								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);
 | 
			
		||||
								}
 | 
			
		||||
								if(!list2.contains(blockx + "," + blocky + "," + blockz)){
 | 
			
		||||
									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.GREEN + "Chest already stored!");
 | 
			
		||||
								}
 | 
			
		||||
							}else{
 | 
			
		||||
								p.sendMessage(ChatColor.RED + "You don't have permission to store chests!");
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if(plugin.Playing.contains(p.getName()) && plugin.canjoin){
 | 
			
		||||
				if(!plugin.restricted || (plugin.restricted && plugin.worlds.contains(p.getWorld().getName()))){
 | 
			
		||||
					if(block.getState() instanceof Chest){
 | 
			
		||||
						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);
 | 
			
		||||
						}
 | 
			
		||||
						List<String> list2 = plugin.getConfig().getStringList("StorageXYZ");
 | 
			
		||||
						if(!list2.contains(blockx + "," + blocky + "," + blockz)){
 | 
			
		||||
							list2.add(blockx + "," + blocky + "," + blockz);
 | 
			
		||||
							plugin.getConfig().set("StorageXYZ", list2);
 | 
			
		||||
							plugin.getConfig().options().copyDefaults(true);
 | 
			
		||||
							plugin.saveConfig();
 | 
			
		||||
							p.sendMessage(ChatColor.GREEN + "Thank you for finding this undiscovered chest, it has been stored!!");
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -17,13 +17,40 @@ public class CommandBlock implements Listener {
 | 
			
		||||
		String cmd = event.getMessage();
 | 
			
		||||
		Player p = event.getPlayer();
 | 
			
		||||
		String pname = p.getName();
 | 
			
		||||
		if(!cmd.contains("/ha") && plugin.Playing.contains(pname) && plugin.canjoin== true){
 | 
			
		||||
			if(!cmd.contains("/login")){
 | 
			
		||||
				if(!p.hasPermission("HungerArena.UseCommands")){
 | 
			
		||||
		if(plugin.Playing.contains(pname)){
 | 
			
		||||
			if(!p.hasPermission("HungerArena.UseCommands")){
 | 
			
		||||
				for(String whitelist: plugin.management.getStringList("commands.whitelist")){
 | 
			
		||||
					if(!cmd.toLowerCase().contains(whitelist.toLowerCase()) && !cmd.toLowerCase().contains("/ha")){
 | 
			
		||||
						event.setCancelled(true);
 | 
			
		||||
						p.sendMessage(ChatColor.RED + "You are only allowed to perform the following commands:");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + whitelist);
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha close");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha help");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha join");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha kick [Player]");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha leave");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha list");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha open");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha ready");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha refill");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha reload");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha restart");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha rlist");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha setspawn");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha start");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha watch");
 | 
			
		||||
						p.sendMessage(ChatColor.AQUA + "/ha warpall");
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}else if(!cmd.toLowerCase().contains("/ha")){
 | 
			
		||||
				if(cmd.toLowerCase().contains("/spawn")){
 | 
			
		||||
					event.setCancelled(true);
 | 
			
		||||
					p.sendMessage(ChatColor.RED + "You are only allowed to use /ha commands!");
 | 
			
		||||
					p.sendMessage("You have perms for all commands except this one!");
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}else if(cmd.toLowerCase().equals("/back") && plugin.Dead.contains(pname) && plugin.canjoin== true){
 | 
			
		||||
			plugin.Tele.add(p);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,8 @@ import org.bukkit.event.EventHandler;
 | 
			
		||||
import org.bukkit.event.Listener;
 | 
			
		||||
import org.bukkit.event.entity.PlayerDeathEvent;
 | 
			
		||||
import org.bukkit.event.player.PlayerRespawnEvent;
 | 
			
		||||
import org.bukkit.potion.PotionEffect;
 | 
			
		||||
import org.bukkit.potion.PotionEffectType;
 | 
			
		||||
 | 
			
		||||
public class DeathListener implements Listener{
 | 
			
		||||
	public Main plugin;
 | 
			
		||||
@@ -17,7 +19,7 @@ public class DeathListener implements Listener{
 | 
			
		||||
	int i = 0;
 | 
			
		||||
	@EventHandler
 | 
			
		||||
	public void onPlayerRespawn(PlayerRespawnEvent event){
 | 
			
		||||
		Player p = event.getPlayer();
 | 
			
		||||
		final Player p = event.getPlayer();
 | 
			
		||||
		String pname = p.getName();
 | 
			
		||||
		if(plugin.Dead.contains(pname)){
 | 
			
		||||
			String[] Spawncoords = plugin.spawns.getString("Spawn_coords").split(",");
 | 
			
		||||
@@ -25,8 +27,12 @@ public class DeathListener implements Listener{
 | 
			
		||||
			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);
 | 
			
		||||
			final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
 | 
			
		||||
			Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
 | 
			
		||||
				public void run(){
 | 
			
		||||
					p.teleport(Spawn);
 | 
			
		||||
				}
 | 
			
		||||
			}, 10L);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	@EventHandler
 | 
			
		||||
@@ -42,7 +48,6 @@ public class DeathListener implements Listener{
 | 
			
		||||
		double spawny = Double.parseDouble(Spawncoords[1]);
 | 
			
		||||
		double spawnz = Double.parseDouble(Spawncoords[2]);
 | 
			
		||||
		Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
 | 
			
		||||
 | 
			
		||||
		if(plugin.Frozen.contains(pname) && plugin.Playing.contains(pname)){
 | 
			
		||||
			if(plugin.config.getString("Cannon_Death").equalsIgnoreCase("True")){
 | 
			
		||||
				double y = p.getLocation().getY();
 | 
			
		||||
@@ -66,23 +71,27 @@ public class DeathListener implements Listener{
 | 
			
		||||
					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);
 | 
			
		||||
					for(PotionEffect pe: winner.getActivePotionEffects()){
 | 
			
		||||
						PotionEffectType potion = pe.getType();
 | 
			
		||||
						winner.removePotionEffect(potion);
 | 
			
		||||
					}
 | 
			
		||||
					winner.teleport(Spawn);
 | 
			
		||||
					winner.getInventory().addItem(plugin.Reward);
 | 
			
		||||
					plugin.Playing.clear();
 | 
			
		||||
				}
 | 
			
		||||
				//Show spectators
 | 
			
		||||
					for(String sname: plugin.Watching){
 | 
			
		||||
						Player spectator = plugin.getServer().getPlayerExact(sname);
 | 
			
		||||
						spectator.setAllowFlight(false);
 | 
			
		||||
						spectator.teleport(spectator.getWorld().getSpawnLocation());
 | 
			
		||||
						for(Player online:plugin.getServer().getOnlinePlayers()){
 | 
			
		||||
							online.showPlayer(spectator);
 | 
			
		||||
						}
 | 
			
		||||
				for(String s1: plugin.Watching){
 | 
			
		||||
					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().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
 | 
			
		||||
						public void run(){
 | 
			
		||||
@@ -118,24 +127,25 @@ public class DeathListener implements Listener{
 | 
			
		||||
							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);
 | 
			
		||||
							for(PotionEffect pe: winner.getActivePotionEffects()){
 | 
			
		||||
								PotionEffectType potion = pe.getType();
 | 
			
		||||
								winner.removePotionEffect(potion);
 | 
			
		||||
							}
 | 
			
		||||
							winner.teleport(Spawn);
 | 
			
		||||
							winner.getInventory().addItem(plugin.Reward);
 | 
			
		||||
						}
 | 
			
		||||
						plugin.Playing.clear();
 | 
			
		||||
						//Show spectators
 | 
			
		||||
						if(!plugin.Watching.isEmpty()){
 | 
			
		||||
							for(i = 0; i < plugin.Watching.size(); i++){
 | 
			
		||||
								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);
 | 
			
		||||
								}
 | 
			
		||||
						for(String s1: plugin.Watching){
 | 
			
		||||
							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")){
 | 
			
		||||
@@ -158,24 +168,25 @@ public class DeathListener implements Listener{
 | 
			
		||||
							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);
 | 
			
		||||
							for(PotionEffect pe: winner.getActivePotionEffects()){
 | 
			
		||||
								PotionEffectType potion = pe.getType();
 | 
			
		||||
								winner.removePotionEffect(potion);
 | 
			
		||||
							}
 | 
			
		||||
							winner.teleport(Spawn);
 | 
			
		||||
							winner.getInventory().addItem(plugin.Reward);
 | 
			
		||||
						}
 | 
			
		||||
						plugin.Playing.clear();
 | 
			
		||||
						//Show spectators
 | 
			
		||||
						if(plugin.Watching.size() != 0){
 | 
			
		||||
							for(i = 0; i < plugin.Watching.size(); i++){
 | 
			
		||||
								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);
 | 
			
		||||
								}
 | 
			
		||||
						for(String s1: plugin.Watching){
 | 
			
		||||
							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")){
 | 
			
		||||
@@ -195,11 +206,15 @@ public class DeathListener implements Listener{
 | 
			
		||||
						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);
 | 
			
		||||
						for(PotionEffect pe: winner.getActivePotionEffects()){
 | 
			
		||||
							PotionEffectType potion = pe.getType();
 | 
			
		||||
							winner.removePotionEffect(potion);
 | 
			
		||||
						}
 | 
			
		||||
						winner.teleport(Spawn);
 | 
			
		||||
						winner.getInventory().addItem(plugin.Reward);
 | 
			
		||||
					}
 | 
			
		||||
					// Create the event here
 | 
			
		||||
@@ -208,15 +223,12 @@ public class DeathListener implements Listener{
 | 
			
		||||
					//Bukkit.getServer().getPluginManager().callEvent(winevent);
 | 
			
		||||
					plugin.Playing.clear();
 | 
			
		||||
					//Show spectators
 | 
			
		||||
					if(!plugin.Watching.isEmpty()){
 | 
			
		||||
						for(i = 0; i < plugin.Watching.size(); i++){
 | 
			
		||||
							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);
 | 
			
		||||
							}
 | 
			
		||||
					for(String s1: plugin.Watching){
 | 
			
		||||
						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")){
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
package me.Travja.HungerArena;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.World;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.event.EventHandler;
 | 
			
		||||
@@ -12,13 +11,39 @@ public class FreezeListener implements Listener {
 | 
			
		||||
	public FreezeListener(Main m) {
 | 
			
		||||
		this.plugin = m;
 | 
			
		||||
	}
 | 
			
		||||
	int i = 0;
 | 
			
		||||
	private boolean timeUp;
 | 
			
		||||
	@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")){
 | 
			
		||||
			if(plugin.config.getString("Explode_on_Move").equalsIgnoreCase("true")){
 | 
			
		||||
				if(plugin.Playing.size()>=1){
 | 
			
		||||
				for(String players:plugin.Playing){
 | 
			
		||||
					final Player playing = plugin.getServer().getPlayerExact(players);
 | 
			
		||||
					i = plugin.Playing.indexOf(players);
 | 
			
		||||
					if(!timeUp){
 | 
			
		||||
						if(!playing.getLocation().getBlock().getLocation().equals(plugin.location.get(i))){
 | 
			
		||||
							playing.teleport(plugin.location.get(i));
 | 
			
		||||
							plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
 | 
			
		||||
								public void run(){
 | 
			
		||||
									if(!timeUp){
 | 
			
		||||
										timeUp = true;
 | 
			
		||||
									}
 | 
			
		||||
								}
 | 
			
		||||
							},30L);
 | 
			
		||||
						}
 | 
			
		||||
					}else{
 | 
			
		||||
						if(!playing.getLocation().getBlock().getLocation().equals(plugin.location.get(i))){
 | 
			
		||||
							if(!plugin.Dead.contains(playing.getName())){
 | 
			
		||||
								World world = playing.getLocation().getWorld();
 | 
			
		||||
								world.createExplosion(playing.getLocation(), 0.0F, false);
 | 
			
		||||
								playing.setHealth(0);
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				/*if(plugin.Playing.size()>=1){
 | 
			
		||||
					String one = plugin.Playing.get(0);
 | 
			
		||||
					if(pname==one){
 | 
			
		||||
						Player tone = plugin.getServer().getPlayerExact(one);
 | 
			
		||||
@@ -473,9 +498,16 @@ public class FreezeListener implements Listener {
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				}*/
 | 
			
		||||
			}else{
 | 
			
		||||
				if(plugin.Playing.size()>=1){
 | 
			
		||||
				for(String players:plugin.Playing){
 | 
			
		||||
					Player playing = plugin.getServer().getPlayerExact(players);
 | 
			
		||||
					i = plugin.Playing.indexOf(players);
 | 
			
		||||
					if(!playing.getLocation().getBlock().getLocation().equals(plugin.location.get(i))){
 | 
			
		||||
						playing.teleport(plugin.location.get(i));
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				/*if(plugin.Playing.size()>=1){
 | 
			
		||||
					String one = plugin.Playing.get(0);
 | 
			
		||||
					if(pname==one){
 | 
			
		||||
						Player tone = plugin.getServer().getPlayerExact(one);
 | 
			
		||||
@@ -834,7 +866,7 @@ public class FreezeListener implements Listener {
 | 
			
		||||
							ttwentyfour.teleport(twentyfourspwn);
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				}*/
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -117,9 +117,7 @@ public class JoinAndQuitListener implements Listener {
 | 
			
		||||
									Bukkit.getServer().getPluginManager().callEvent(evt);
 | 
			
		||||
								}
 | 
			
		||||
								//Make spectators visible
 | 
			
		||||
								if(!plugin.Watching.isEmpty()){
 | 
			
		||||
									for(i = 0; i < plugin.Playing.size(); i++){
 | 
			
		||||
										String s = plugin.Watching.get(i++);
 | 
			
		||||
									for(String s: plugin.Watching){
 | 
			
		||||
										Player spectator = plugin.getServer().getPlayerExact(s);
 | 
			
		||||
										spectator.setAllowFlight(false);
 | 
			
		||||
										spectator.teleport(Spawn);
 | 
			
		||||
@@ -127,7 +125,6 @@ public class JoinAndQuitListener implements Listener {
 | 
			
		||||
											online.showPlayer(spectator);
 | 
			
		||||
										}
 | 
			
		||||
									}
 | 
			
		||||
								}
 | 
			
		||||
								if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
 | 
			
		||||
									Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
 | 
			
		||||
								}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,11 +8,16 @@ import java.util.HashSet;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.logging.Level;
 | 
			
		||||
import java.util.logging.Logger;
 | 
			
		||||
 | 
			
		||||
import net.milkbowl.vault.economy.Economy;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.World;
 | 
			
		||||
import org.bukkit.command.CommandExecutor;
 | 
			
		||||
import org.bukkit.configuration.file.FileConfiguration;
 | 
			
		||||
import org.bukkit.configuration.file.YamlConfiguration;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.event.Listener;
 | 
			
		||||
import org.bukkit.inventory.ItemStack;
 | 
			
		||||
import org.bukkit.plugin.RegisteredServiceProvider;
 | 
			
		||||
@@ -27,6 +32,8 @@ public class Main extends JavaPlugin{
 | 
			
		||||
	public ArrayList<String> Out = new ArrayList<String>();
 | 
			
		||||
	public ArrayList<String> Watching = new ArrayList<String>();
 | 
			
		||||
	public ArrayList<String> NeedConfirm = new ArrayList<String>();
 | 
			
		||||
	public ArrayList<Location> location = new ArrayList<Location>();
 | 
			
		||||
	public ArrayList<Player> Tele = new ArrayList<Player>();
 | 
			
		||||
	public HashSet<String> Frozen = new HashSet<String>();
 | 
			
		||||
	public List<String> worlds;
 | 
			
		||||
	public Listener DeathListener = new DeathListener(this);
 | 
			
		||||
@@ -36,7 +43,6 @@ public class Main extends JavaPlugin{
 | 
			
		||||
	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);
 | 
			
		||||
@@ -53,6 +59,10 @@ public class Main extends JavaPlugin{
 | 
			
		||||
	public FileConfiguration config;
 | 
			
		||||
	public FileConfiguration spawns = null;
 | 
			
		||||
	public File spawnsFile = null;
 | 
			
		||||
	public FileConfiguration data = null;
 | 
			
		||||
	public File dataFile = null;
 | 
			
		||||
	public File managementFile = null;
 | 
			
		||||
	public FileConfiguration management = null;
 | 
			
		||||
	public ItemStack Reward;
 | 
			
		||||
	public ItemStack Cost;
 | 
			
		||||
	public boolean vault = false;
 | 
			
		||||
@@ -61,9 +71,15 @@ public class Main extends JavaPlugin{
 | 
			
		||||
		config = this.getConfig();
 | 
			
		||||
		config.options().copyDefaults(true);
 | 
			
		||||
		this.saveDefaultConfig();
 | 
			
		||||
		this.getSpawns();
 | 
			
		||||
		spawns = this.getSpawns();
 | 
			
		||||
		spawns.options().copyDefaults(true);
 | 
			
		||||
		this.saveSpawns();
 | 
			
		||||
		data = this.getData();
 | 
			
		||||
		data.options().copyDefaults(true);
 | 
			
		||||
		this.saveData();
 | 
			
		||||
		management = this.getManagement();
 | 
			
		||||
		management.options().copyDefaults(true);
 | 
			
		||||
		this.saveManagement();
 | 
			
		||||
		log.info("[HungerArena] enabled v" + getDescription().getVersion());
 | 
			
		||||
		getServer().getPluginManager().registerEvents(DeathListener, this);
 | 
			
		||||
		getServer().getPluginManager().registerEvents(SpectatorListener, this);
 | 
			
		||||
@@ -72,7 +88,6 @@ public class Main extends JavaPlugin{
 | 
			
		||||
		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);
 | 
			
		||||
@@ -81,6 +96,19 @@ public class Main extends JavaPlugin{
 | 
			
		||||
		getCommand("Ha").setExecutor(HaCommands);
 | 
			
		||||
		getCommand("Sponsor").setExecutor(SponsorCommands);
 | 
			
		||||
		getCommand("Startpoint").setExecutor(SpawnsCommand);
 | 
			
		||||
		for(String spawnlocations:spawns.getStringList("Spawns")){
 | 
			
		||||
			String[] coords = spawnlocations.split(",");
 | 
			
		||||
			if(coords[4].equalsIgnoreCase("true")){
 | 
			
		||||
				double x = Double.parseDouble(coords[0]);
 | 
			
		||||
				double y = Double.parseDouble(coords[1]);
 | 
			
		||||
				double z = Double.parseDouble(coords[2]);
 | 
			
		||||
				String world = coords[3];
 | 
			
		||||
				World w = getServer().getWorld(world);
 | 
			
		||||
				Location loc = new Location(w, x, y, z);
 | 
			
		||||
				location.add(loc);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		System.out.println("[HungerArena] Loaded " + location.size() + " tribute spawns!");
 | 
			
		||||
		if (setupEconomy()) {
 | 
			
		||||
			log.info(ChatColor.AQUA + "[HungerArena] Found Vault! Hooking in for economy!");
 | 
			
		||||
		}
 | 
			
		||||
@@ -127,33 +155,91 @@ public class Main extends JavaPlugin{
 | 
			
		||||
		vault = true;
 | 
			
		||||
		return econ != null;
 | 
			
		||||
	}
 | 
			
		||||
    public void reloadSpawns() {
 | 
			
		||||
        if (spawnsFile == null) {
 | 
			
		||||
        spawnsFile = new File(getDataFolder(), "spawns.yml");
 | 
			
		||||
        }
 | 
			
		||||
        spawns = YamlConfiguration.loadConfiguration(spawnsFile);
 | 
			
		||||
     
 | 
			
		||||
        // Look for defaults in the jar
 | 
			
		||||
        InputStream defConfigStream = this.getResource("spawns.yml");
 | 
			
		||||
        if (defConfigStream != null) {
 | 
			
		||||
            YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
 | 
			
		||||
            spawns.setDefaults(defConfig);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public FileConfiguration getSpawns() {
 | 
			
		||||
        if (spawns == null) {
 | 
			
		||||
            this.reloadSpawns();
 | 
			
		||||
        }
 | 
			
		||||
        return spawns;
 | 
			
		||||
    }
 | 
			
		||||
    public void saveSpawns() {
 | 
			
		||||
        if (spawns == null || spawnsFile == null) {
 | 
			
		||||
        return;
 | 
			
		||||
        }
 | 
			
		||||
        try {
 | 
			
		||||
            getSpawns().save(spawnsFile);
 | 
			
		||||
        } catch (IOException ex) {
 | 
			
		||||
            this.getLogger().log(Level.SEVERE, "Could not save config to " + spawnsFile, ex);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
	public void reloadSpawns() {
 | 
			
		||||
		if (spawnsFile == null) {
 | 
			
		||||
			spawnsFile = new File(getDataFolder(), "spawns.yml");
 | 
			
		||||
		}
 | 
			
		||||
		spawns = YamlConfiguration.loadConfiguration(spawnsFile);
 | 
			
		||||
 | 
			
		||||
		// Look for defaults in the jar
 | 
			
		||||
		InputStream defConfigStream = this.getResource("spawns.yml");
 | 
			
		||||
		if (defConfigStream != null) {
 | 
			
		||||
			YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
 | 
			
		||||
			spawns.setDefaults(defConfig);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	public FileConfiguration getSpawns() {
 | 
			
		||||
		if (spawns == null) {
 | 
			
		||||
			this.reloadSpawns();
 | 
			
		||||
		}
 | 
			
		||||
		return spawns;
 | 
			
		||||
	}
 | 
			
		||||
	public void saveSpawns() {
 | 
			
		||||
		if (spawns == null || spawnsFile == null) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		try {
 | 
			
		||||
			getSpawns().save(spawnsFile);
 | 
			
		||||
		} catch (IOException ex) {
 | 
			
		||||
			this.getLogger().log(Level.SEVERE, "Could not save config to " + spawnsFile, ex);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	public void reloadData() {
 | 
			
		||||
		if (dataFile == null) {
 | 
			
		||||
			dataFile = new File(getDataFolder(), "Data.yml");
 | 
			
		||||
		}
 | 
			
		||||
		data = YamlConfiguration.loadConfiguration(dataFile);
 | 
			
		||||
 | 
			
		||||
		// Look for defaults in the jar
 | 
			
		||||
		InputStream defConfigStream = this.getResource("Data.yml");
 | 
			
		||||
		if (defConfigStream != null) {
 | 
			
		||||
			YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
 | 
			
		||||
			data.setDefaults(defConfig);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	public FileConfiguration getData() {
 | 
			
		||||
		if (data == null) {
 | 
			
		||||
			this.reloadData();
 | 
			
		||||
		}
 | 
			
		||||
		return data;
 | 
			
		||||
	}
 | 
			
		||||
	public void saveData() {
 | 
			
		||||
		if (data == null || dataFile == null) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		try {
 | 
			
		||||
			getData().save(dataFile);
 | 
			
		||||
		} catch (IOException ex) {
 | 
			
		||||
			this.getLogger().log(Level.SEVERE, "Could not save config to " + dataFile, ex);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	public void reloadManagement() {
 | 
			
		||||
		if (managementFile == null) {
 | 
			
		||||
			managementFile = new File(getDataFolder(), "commandAndBlockManagement.yml");
 | 
			
		||||
		}
 | 
			
		||||
		management = YamlConfiguration.loadConfiguration(managementFile);
 | 
			
		||||
 | 
			
		||||
		// Look for defaults in the jar
 | 
			
		||||
		InputStream defConfigStream = this.getResource("commandAndBlockManagement.yml");
 | 
			
		||||
		if (defConfigStream != null) {
 | 
			
		||||
			YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
 | 
			
		||||
			management.setDefaults(defConfig);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	public FileConfiguration getManagement() {
 | 
			
		||||
		if (management == null) {
 | 
			
		||||
			this.reloadManagement();
 | 
			
		||||
		}
 | 
			
		||||
		return management;
 | 
			
		||||
	}
 | 
			
		||||
	public void saveManagement() {
 | 
			
		||||
		if (management == null || managementFile == null) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		try {
 | 
			
		||||
			getManagement().save(managementFile);
 | 
			
		||||
		} catch (IOException ex) {
 | 
			
		||||
			this.getLogger().log(Level.SEVERE, "Could not save config to " + managementFile, ex);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,10 @@ package me.Travja.HungerArena;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.entity.Entity;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.entity.Projectile;
 | 
			
		||||
import org.bukkit.entity.Skeleton;
 | 
			
		||||
import org.bukkit.event.EventHandler;
 | 
			
		||||
import org.bukkit.event.EventPriority;
 | 
			
		||||
import org.bukkit.event.Listener;
 | 
			
		||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
 | 
			
		||||
 | 
			
		||||
@@ -11,13 +14,47 @@ public class PvP implements Listener {
 | 
			
		||||
	public PvP(Main m) {
 | 
			
		||||
		this.plugin = m;
 | 
			
		||||
	}
 | 
			
		||||
	@EventHandler
 | 
			
		||||
	@EventHandler(priority= EventPriority.MONITOR)
 | 
			
		||||
	public void PlayerPvP(EntityDamageByEntityEvent event){
 | 
			
		||||
		Entity p = event.getEntity();
 | 
			
		||||
		if(p instanceof Player){
 | 
			
		||||
		Entity d = event.getDamager();
 | 
			
		||||
		if(p instanceof Player && d instanceof Player){
 | 
			
		||||
			String pname = ((Player) p).getName();
 | 
			
		||||
			if(plugin.Playing.contains(pname) && plugin.canjoin== false){
 | 
			
		||||
				event.setCancelled(true);
 | 
			
		||||
			String dname = ((Player) d).getName();
 | 
			
		||||
			if(plugin.Playing.contains(pname) && plugin.Playing.contains(dname)){
 | 
			
		||||
				if(plugin.canjoin){
 | 
			
		||||
					if(event.isCancelled()){
 | 
			
		||||
						event.setCancelled(false);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}else if(plugin.Playing.contains(pname)){
 | 
			
		||||
				if(!plugin.canjoin){
 | 
			
		||||
					if(!event.isCancelled()){
 | 
			
		||||
						event.setCancelled(true);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}else if(!plugin.Playing.contains(pname) && plugin.Playing.contains(dname)){
 | 
			
		||||
				if(!event.isCancelled()){
 | 
			
		||||
					event.setCancelled(true);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}else if(p instanceof Player && d instanceof Projectile){
 | 
			
		||||
			Projectile projectile = (Projectile) d;
 | 
			
		||||
			String pname = ((Player) p).getName();
 | 
			
		||||
			if(projectile.getShooter() instanceof Player){
 | 
			
		||||
				if(plugin.Playing.contains(pname)){
 | 
			
		||||
					Player shooter = (Player) projectile.getShooter();
 | 
			
		||||
					if(plugin.Playing.contains(shooter.getName())){
 | 
			
		||||
						event.setCancelled(false);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}else if(projectile.getShooter() instanceof Entity){
 | 
			
		||||
				Entity e = projectile.getShooter();
 | 
			
		||||
				if(e instanceof Skeleton){
 | 
			
		||||
					if(plugin.Playing.contains(pname)){
 | 
			
		||||
						event.setCancelled(false);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
package me.Travja.HungerArena;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.command.Command;
 | 
			
		||||
@@ -12,19 +14,42 @@ public class SpawnsCommand implements CommandExecutor {
 | 
			
		||||
	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(!plugin.restricted || (plugin.restricted && plugin.worlds.contains(p.getWorld().getName()))){
 | 
			
		||||
					if(plugin.restricted && !plugin.worlds.contains(p.getWorld().getName())){
 | 
			
		||||
						p.sendMessage(ChatColor.GOLD + "We ran the command, however, this isn't a world you defined in the config...");
 | 
			
		||||
						p.sendMessage(ChatColor.GOLD + "If this is the right world, please disregard this message.");
 | 
			
		||||
					try{
 | 
			
		||||
						int i = Integer.parseInt(args[0]);
 | 
			
		||||
						if(i >= 1 && i <= 24){
 | 
			
		||||
							if(plugin.restricted && !plugin.worlds.contains(p.getWorld().getName())){
 | 
			
		||||
								p.sendMessage(ChatColor.GOLD + "We ran the command, however, this isn't a world you defined in the config...");
 | 
			
		||||
								p.sendMessage(ChatColor.GOLD + "If this is the right world, please disregard this message.");
 | 
			
		||||
							}
 | 
			
		||||
							Location ploc = p.getLocation().getBlock().getLocation();
 | 
			
		||||
							List<String> locations = plugin.spawns.getStringList("Spawns");
 | 
			
		||||
							double x = ploc.getX();
 | 
			
		||||
							double y = ploc.getY();
 | 
			
		||||
							double z = ploc.getZ();
 | 
			
		||||
							String w = ploc.getWorld().getName();
 | 
			
		||||
							String coords = x + "," + y + "," + z + "," + w + ",true";
 | 
			
		||||
							locations.set(i-1, coords);
 | 
			
		||||
							plugin.spawns.set("Spawns", locations);
 | 
			
		||||
							plugin.saveSpawns();
 | 
			
		||||
							plugin.location.add(new Location(ploc.getWorld(), x, y, z));
 | 
			
		||||
							p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute " + i);
 | 
			
		||||
						}else{
 | 
			
		||||
							p.sendMessage(ChatColor.RED + "You can't go past 24 or below 1!");
 | 
			
		||||
						}
 | 
			
		||||
					}catch(Exception e){
 | 
			
		||||
						p.sendMessage(ChatColor.RED + "Argument not an integer!");
 | 
			
		||||
					}
 | 
			
		||||
					Location ploc = p.getLocation().getBlock().getLocation();
 | 
			
		||||
					if(args[0].equalsIgnoreCase("1")){
 | 
			
		||||
				}
 | 
			
		||||
			}else{
 | 
			
		||||
				p.sendMessage(ChatColor.RED + "You don't have permission!");
 | 
			
		||||
			}
 | 
			
		||||
						/*if(args[0].equalsIgnoreCase("1")){
 | 
			
		||||
						double x = ploc.getX();
 | 
			
		||||
						double y = ploc.getY();
 | 
			
		||||
						double z = ploc.getZ();
 | 
			
		||||
@@ -239,11 +264,7 @@ public class SpawnsCommand implements CommandExecutor {
 | 
			
		||||
						plugin.spawns.set("Tribute_twentyfour_spawn", x + "," + y + "," + z + "," + w);
 | 
			
		||||
						plugin.saveSpawns();
 | 
			
		||||
						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;
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -36,28 +36,36 @@ public class SponsorCommands implements CommandExecutor {
 | 
			
		||||
						}
 | 
			
		||||
						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{
 | 
			
		||||
							try{
 | 
			
		||||
								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!");
 | 
			
		||||
								if((!plugin.management.getStringList("sponsors.blacklist").isEmpty() && !plugin.management.getStringList("sponsors.blacklist").contains(ID)) || plugin.management.getStringList("sponsors.blacklist").isEmpty()){
 | 
			
		||||
									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{
 | 
			
		||||
											target.sendMessage(ChatColor.AQUA + "You have been Sponsored!");
 | 
			
		||||
											target.getInventory().addItem(sponsoritem);
 | 
			
		||||
											p.sendMessage("You have sponsored " + target.getName() + "!");
 | 
			
		||||
											p.getInventory().removeItem(plugin.Cost);
 | 
			
		||||
											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 don't have the necessary items to sponsor!");
 | 
			
		||||
									p.sendMessage(ChatColor.RED + "You can't sponsor that item!");
 | 
			
		||||
									p.sendMessage(ChatColor.GREEN + "Other items you can't sponsor are:");
 | 
			
		||||
									for(String blacklist: plugin.management.getStringList("sponsors.blacklist")){
 | 
			
		||||
										p.sendMessage(ChatColor.AQUA + blacklist);
 | 
			
		||||
									}
 | 
			
		||||
								}
 | 
			
		||||
							}catch(Exception e){
 | 
			
		||||
								p.sendMessage(ChatColor.RED + "Something went wrong there... Make sure that you do like this /sponsor [name] [number] [number]");
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}else{
 | 
			
		||||
@@ -79,20 +87,28 @@ public class SponsorCommands implements CommandExecutor {
 | 
			
		||||
				}
 | 
			
		||||
				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!");
 | 
			
		||||
					int ID = Integer.parseInt(args[1]);
 | 
			
		||||
					int Amount = Integer.parseInt(args[2]);
 | 
			
		||||
					try{
 | 
			
		||||
						if((!plugin.management.getStringList("sponsors.blacklist").isEmpty() && !plugin.management.getStringList("sponsors.blacklist").contains(ID)) || plugin.management.getStringList("sponsors.blacklist").isEmpty()){
 | 
			
		||||
							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() + "!");
 | 
			
		||||
							}
 | 
			
		||||
						}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() + "!");
 | 
			
		||||
							sender.sendMessage(ChatColor.RED + "You can't sponsor that item!");
 | 
			
		||||
							sender.sendMessage(ChatColor.GREEN + "Other items you can't sponsor are:");
 | 
			
		||||
							for(String blacklist: plugin.management.getStringList("sponsors.blacklist")){
 | 
			
		||||
								sender.sendMessage(ChatColor.AQUA + blacklist);
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}catch(Exception e){
 | 
			
		||||
						sender.sendMessage(ChatColor.RED + "Something went wrong there... Make sure that you do like this /sponsor [name] [number] [number]");
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +1,29 @@
 | 
			
		||||
package me.Travja.HungerArena;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
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 event){
 | 
			
		||||
    	Player p = event.getPlayer();
 | 
			
		||||
    	List<String> worlds = plugin.config.getStringList("worlds");
 | 
			
		||||
    	if(worlds.contains(event.getTo().getWorld().getName()) && plugin.Tele.contains(p)){
 | 
			
		||||
    		event.setCancelled(true);
 | 
			
		||||
    		p.sendMessage(ChatColor.RED + "You are a dead tribute... How are you supposed to get back into the arena....");
 | 
			
		||||
    		plugin.Tele.remove(p);
 | 
			
		||||
    	}
 | 
			
		||||
    }
 | 
			
		||||
    /*@EventHandler          Unwanted right now...
 | 
			
		||||
    public void onTP(PlayerTeleportEvent evt) {
 | 
			
		||||
        @SuppressWarnings("unused")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user