public void removeDisplay(String pname, int id, World world){	
		Player player = Bukkit.getServer().getPlayer(pname);
		
		//check if the display is still pending
		int counter = 0;
		boolean found = false;
		while(counter < displays.get(-2).size()){
			if(displays.get(-2).get(counter) != null){
				if(displays.get(-2).get(counter).getChestID() == id){
					displays.get(-1).add(displays.get(-2).get(counter));//add to unused list
					displays.get(-2).remove(counter);//remove display from pending
					found = true;
					counter = displays.get(-2).size();
					
					if(player != null){
						player.sendMessage(ChatColor.RED  + "Setup Cancelled for Display Chest ID#: " + id );
					}				
				}
			}
			counter++;
		}

		//not pending, remove display from HashTable
		if(!found){
			if(displays.get(id).get(0) != null){
				displays.get(-1).add(displays.get(id).get(0));//add to unused list
				
				/*String direction = displays.get(id).get(0).getDirection();
				Coords offset = displays.get(id).get(0).getOffset();
				int x = offset.getX();
				int y = offset.getY();
				int z = offset.getZ();

				//set all blocks at display offset to air
				
				//x--
				//y--
				if(direction.matches("[nN]|[nN]orth")){
					
					for(int i = 0; i < 9; i++){
						for(int j = 0; j < 6; j++){
							world.getBlockAt(new Location(world, x-i, y-j, z)).setTypeId(0);
						}
					}
				}
				
				//x++
				//y--
				else if(direction.matches("[sS]|[sS]outh")){

					for(int i = 0; i < 9; i++){
						for(int j = 0; j < 6; j++){
							world.getBlockAt(new Location(world, x+i, y-j, z)).setTypeId(0);
						}
					}
				}
				
				//z--
				//y--
				else if(direction.matches("[eE]|[eE]ast")){
					
					for(int i = 0; i < 9; i++){
						for(int j = 0; j < 6; j++){
							world.getBlockAt(new Location(world, x, y-j, z-i)).setTypeId(0);
						}
					}
				}
				
				//z++
				//y--
				else if(direction.matches("[wW]|[wW]est")){

					for(int i = 0; i < 9; i++){
						for(int j = 0; j < 6; j++){
							world.getBlockAt(new Location(world, x, y-j, z+i)).setTypeId(0);
						}
					}
				}
				
				//x++
				//z++
				else if(direction.matches("[uU]|[uU]p") || direction.matches("[dD]|[dD]own")){
					for(int i = 0; i < 9; i++){
						for(int j = 0; j < 6; j++){
							world.getBlockAt(new Location(world, x+i, y, z+j)).setTypeId(0);
						}
					}
				}*/
							
				displays.remove(id);
			}
			
			if(player != null){
				player.sendMessage(ChatColor.RED + "Unregistered Display Chest ID#: " + id);
			}
		}
	}