// Path: UltimateSurvivalGames/src/me/maker56/survivalgames/commands/messages/MessageHandler.java
// public class MessageHandler {
// 	
// 	private static HashMap<String, String> messages = new HashMap<>();
// 	private static List<String> withoutPrefix = new ArrayList<>();
// 	
// 	public static void reload() {
// 		messages.clear();
// 		for(String key : SurvivalGames.messages.getConfigurationSection("").getKeys(false)) {
// 			messages.put(key, replaceColors(SurvivalGames.messages.getString(key)));
// 		}
// 		
// 		withoutPrefix.add("prefix");
// 		withoutPrefix.add("stats-kills");
// 		withoutPrefix.add("stats-deaths");
// 		withoutPrefix.add("stats-kdr");
// 		withoutPrefix.add("stats-wins");
// 		withoutPrefix.add("stats-played");
// 		withoutPrefix.add("stats-points");
// 		withoutPrefix.add("stats-footer");
// 		
// 		System.out.println("[SurvivalGames] " + messages.size() + " messages loaded!");
// 	}
// 	
// 	public static String getMessage(String name) {
// 		if(messages.containsKey(name)) {
// 			if(withoutPrefix.contains(name)) {
// 				return messages.get(name);
// 			} else {
// 				return messages.get("prefix") + messages.get(name);
// 			}
// 		} else {
// 			return "§cMessage not found!";
// 		}
// 	}
// 	
// 	public static String replaceColors(String s) {
// 		return ChatColor.translateAlternateColorCodes('&', s);
// 	}
// 
// }
// 
// Path: UltimateSurvivalGames/src/me/maker56/survivalgames/reset/Selection.java
// public class Selection {
// 	
// 	private Location min, max;
// 	public int xMin, yMin, zMin, xMax, yMax, zMax;
// 	
// 	public Selection(Location min, Location max) {
// 		setMinimumLocation(min);
// 		setMaximumLocation(max);
// 	}
// 	
// 	private void redefineLocations() {
// 		if(min != null && max != null) {
// 			xMin = Math.min(min.getBlockX(), max.getBlockX());
// 			yMin = Math.min(min.getBlockY(), max.getBlockY());
// 			zMin = Math.min(min.getBlockZ(), max.getBlockZ());
// 			
// 			xMax = Math.max(min.getBlockX(), max.getBlockX());
// 			yMax = Math.max(min.getBlockY(), max.getBlockY());
// 			zMax = Math.max(min.getBlockZ(), max.getBlockZ());
// 		}
// 	}
// 	
// 	public void setMinimumLocation(Location min) {
// 		Util.debug("set selection min location: " + Util.serializeLocation(min, false));
// 		this.min = min;
// 		redefineLocations();
// 	}
// 	
// 	public void setMaximumLocation(Location max) {
// 		Util.debug("set selection max location: " + Util.serializeLocation(max, false));
// 		this.max = max;
// 		redefineLocations();
// 	}
// 	
// 	public Location getMinimumLocation() {
// 		return min;
// 	}
// 	
// 	public Location getMaximumLocation() {
// 		return max;
// 	}
// 	
// 	public int getLength() {
// 		return xMax - xMin + 1;
// 	}
// 	
// 	public int getWidth() {
// 		return zMax - zMin + 1;
// 	}
// 	
// 	public int getHeight() {
// 		return yMax - yMin + 1;
// 	}
// 	
// 	@Deprecated
// 	public List<Location> getSelectedLocations() {
// 		ArrayList<Location> al = new ArrayList<>();
// 		World world = min.getWorld();
// 
// 		for(int x = xMin; x <= xMax; x++) {
// 			for(int y = yMin; y <= yMax; y++) {
// 				for(int z = zMin; z <= zMax; z++) {
// 					al.add(new Location(world, x, y, z));
// 				}
// 			}
// 		}
// 		return al;
// 	}
// 	
// 	public boolean contains(Location loc) {
// 		return(loc.getBlockX() >= xMin && loc.getBlockX() <= xMax && loc.getBlockY() >= yMin && loc.getBlockY() <= yMax && loc.getBlockZ() >= zMin && loc.getBlockZ() <= zMax);
// 	}
// 	
// 	public int getSize() {
// 		return getLength() * getWidth() * getHeight();
// 	}
// 	
// 	public boolean isFullDefined() {
// 		return min != null && max != null;
// 	}
// 
// }


import java.util.HashMap;
import me.maker56.survivalgames.commands.messages.MessageHandler;
import me.maker56.survivalgames.reset.Selection;
import org.bukkit.Location;
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.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
package me.maker56.survivalgames.listener;




public class SelectionListener implements Listener {
	
	public static HashMap<String, Selection> selections = new HashMap<>();
	
	@EventHandler
	public void onPlayerInteract(PlayerInteractEvent event) {
		Player p = event.getPlayer();
		ItemStack is = p.getItemInHand();
		
		if(is == null) {
			return;
		}
		
		ItemMeta im = is.getItemMeta();
		
		if(im == null)
			return;
		
		if(im.getDisplayName() == null)
			return;
		
		if(im.getDisplayName().equals("SurvivalGames Selection Tool")) {
			event.setCancelled(true);
// Path: UltimateSurvivalGames/src/me/maker56/survivalgames/commands/messages/MessageHandler.java
// public class MessageHandler {
// 	
// 	private static HashMap<String, String> messages = new HashMap<>();
// 	private static List<String> withoutPrefix = new ArrayList<>();
// 	
// 	public static void reload() {
// 		messages.clear();
// 		for(String key : SurvivalGames.messages.getConfigurationSection("").getKeys(false)) {
// 			messages.put(key, replaceColors(SurvivalGames.messages.getString(key)));
// 		}
// 		
// 		withoutPrefix.add("prefix");
// 		withoutPrefix.add("stats-kills");
// 		withoutPrefix.add("stats-deaths");
// 		withoutPrefix.add("stats-kdr");
// 		withoutPrefix.add("stats-wins");
// 		withoutPrefix.add("stats-played");
// 		withoutPrefix.add("stats-points");
// 		withoutPrefix.add("stats-footer");
// 		
// 		System.out.println("[SurvivalGames] " + messages.size() + " messages loaded!");
// 	}
// 	
// 	public static String getMessage(String name) {
// 		if(messages.containsKey(name)) {
// 			if(withoutPrefix.contains(name)) {
// 				return messages.get(name);
// 			} else {
// 				return messages.get("prefix") + messages.get(name);
// 			}
// 		} else {
// 			return "§cMessage not found!";
// 		}
// 	}
// 	
// 	public static String replaceColors(String s) {
// 		return ChatColor.translateAlternateColorCodes('&', s);
// 	}
// 
// }
// 
// Path: UltimateSurvivalGames/src/me/maker56/survivalgames/reset/Selection.java
// public class Selection {
// 	
// 	private Location min, max;
// 	public int xMin, yMin, zMin, xMax, yMax, zMax;
// 	
// 	public Selection(Location min, Location max) {
// 		setMinimumLocation(min);
// 		setMaximumLocation(max);
// 	}
// 	
// 	private void redefineLocations() {
// 		if(min != null && max != null) {
// 			xMin = Math.min(min.getBlockX(), max.getBlockX());
// 			yMin = Math.min(min.getBlockY(), max.getBlockY());
// 			zMin = Math.min(min.getBlockZ(), max.getBlockZ());
// 			
// 			xMax = Math.max(min.getBlockX(), max.getBlockX());
// 			yMax = Math.max(min.getBlockY(), max.getBlockY());
// 			zMax = Math.max(min.getBlockZ(), max.getBlockZ());
// 		}
// 	}
// 	
// 	public void setMinimumLocation(Location min) {
// 		Util.debug("set selection min location: " + Util.serializeLocation(min, false));
// 		this.min = min;
// 		redefineLocations();
// 	}
// 	
// 	public void setMaximumLocation(Location max) {
// 		Util.debug("set selection max location: " + Util.serializeLocation(max, false));
// 		this.max = max;
// 		redefineLocations();
// 	}
// 	
// 	public Location getMinimumLocation() {
// 		return min;
// 	}
// 	
// 	public Location getMaximumLocation() {
// 		return max;
// 	}
// 	
// 	public int getLength() {
// 		return xMax - xMin + 1;
// 	}
// 	
// 	public int getWidth() {
// 		return zMax - zMin + 1;
// 	}
// 	
// 	public int getHeight() {
// 		return yMax - yMin + 1;
// 	}
// 	
// 	@Deprecated
// 	public List<Location> getSelectedLocations() {
// 		ArrayList<Location> al = new ArrayList<>();
// 		World world = min.getWorld();
// 
// 		for(int x = xMin; x <= xMax; x++) {
// 			for(int y = yMin; y <= yMax; y++) {
// 				for(int z = zMin; z <= zMax; z++) {
// 					al.add(new Location(world, x, y, z));
// 				}
// 			}
// 		}
// 		return al;
// 	}
// 	
// 	public boolean contains(Location loc) {
// 		return(loc.getBlockX() >= xMin && loc.getBlockX() <= xMax && loc.getBlockY() >= yMin && loc.getBlockY() <= yMax && loc.getBlockZ() >= zMin && loc.getBlockZ() <= zMax);
// 	}
// 	
// 	public int getSize() {
// 		return getLength() * getWidth() * getHeight();
// 	}
// 	
// 	public boolean isFullDefined() {
// 		return min != null && max != null;
// 	}
// 
// }


// Path: UltimateSurvivalGames/src/me/maker56/survivalgames/listener/SelectionListener.java
import java.util.HashMap;
import me.maker56.survivalgames.commands.messages.MessageHandler;
import me.maker56.survivalgames.reset.Selection;
import org.bukkit.Location;
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.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

package me.maker56.survivalgames.listener;




public class SelectionListener implements Listener {
	
	public static HashMap<String, Selection> selections = new HashMap<>();
	
	@EventHandler
	public void onPlayerInteract(PlayerInteractEvent event) {
		Player p = event.getPlayer();
		ItemStack is = p.getItemInHand();
		
		if(is == null) {
			return;
		}
		
		ItemMeta im = is.getItemMeta();
		
		if(im == null)
			return;
		
		if(im.getDisplayName() == null)
			return;
		
		if(im.getDisplayName().equals("SurvivalGames Selection Tool")) {
			event.setCancelled(true);
			String message = MessageHandler.getMessage("prefix");