private void freezePlayer(Player p) {
		List<Item> itemsInInventory = p.getInventoryItems();
		for (int i = 0; i < itemsInInventory.size(); i++) {
			server.queuePlayerUpdate(new RemoveFromInventoryEvent(0), p.getID());
		}
		List<Location> dropLocs = p.getSurroundingLocations();
		int i = 0;
		for (Item item: itemsInInventory) {
			while (!(board.containsLocation(dropLocs.get(i))
					&& board.tileAt(dropLocs.get(i)).isTraversable()
					&& this.isFree(dropLocs.get(i)))) {
				i++;
			}
			for (int id: playerIDs.keySet()) {
				server.queuePlayerUpdate(new PlaceItemEvent(dropLocs.get(i), item), id);
			}
			this.board.tileAt(dropLocs.get(i)).place(item);
			i++;
		}
		for (int id: playerIDs.keySet()) {
			server.queuePlayerUpdate(new FreezePlayerEvent(p.getID()), id);
		}
		p.emptyInventory();
	}