public void handleDeath(final Player player) {
		// Player/NPC Death
		if ( player.getState() == Player.State.DEAD ) {
			//
			final Room room = getRoom( player.getLocation() );
			
			room.addItems( player.getInventory() );
			
			player.getInventory().removeIf( itemIsNotUnique() );

			//
			player.setLocation(Constants.VOID);

			//
			Thing corpse = new Thing("Corpse");

			// does corpse need to be a container
			//corpse.contents = new ArrayList<Item>();

			//corpse.contents.addAll( player.getInventory() );

			objectDB.addAsNew(corpse);
			objectDB.addThing(corpse);

			room.addThing(corpse);

			//Ghost ghost = new Ghost( player ); // ghosts?

			// TODO want to disable some regular player actions, but this flat out removes players from the game...
			//players.remove(player);
			
			final TimerTask tt = new TimerTask() {
				@Override public void run() {
					respawn(player, player.getLocation());
				}
			};

			int respawn_time = 5;

			timer.schedule(tt, respawn_time * 60000);
			
			send("You have died! (5 minutes til respawn)", player.getClient());
		}
	}