protected void attemptFeedSheep(Player player, Sheep sheep) {
		/* Support for sheared state (setting), using that now.
		 * If the sheep is sheared, then add to growing (if holding a food item and the sheep isn't growing already. Remove from naked list.
		 * If not sheared, then add to naked list.
		 */ 
		if ( sheep.isSheared() ) {
			// Sheep is already sheered, adding to growing list if holding a food item and not growing already
			SheepFeed.debug("Sheep is already sheered");
			if ( sheepFeedPlugin.isWoolGrowingSheep(sheep) ) {
				SheepFeed.debug("Sheep is already registered to grow wool");
				return;
			}
			// check whether player has the right item in hand
			ItemStack heldItemStack = player.getItemInHand();
			if ( !sheepFeedPlugin.config.isSheepFood(heldItemStack.getTypeId()) ) {
				// That's not sheep food! 
				SheepFeed.debug("Sheep would not like that food");
				return;
			}
			// not already scheduled to grow and correct food, remove one item and set growing schedule
			SheepFoodData foodData = sheepFeedPlugin.config.getFoodData(heldItemStack.getTypeId());
			SheepFeed.debug(foodData.toString());

			// check for permission
			if ( !this.sheepFeedPlugin.canFeed(player) ) {
				player.sendMessage("The sheep doesn't trust you and won't eat your "+ foodData.name +".");
			} else {
				// remove the food item
				SheepFeed.debug(" amount of "+ heldItemStack.getType().toString() +" held: "+ heldItemStack.getAmount());
				player.sendMessage("The sheep munches on the "+ foodData.name +" you fed it.");
				// reduce stack by one, but if it's the last item, remove the whole stack
				if ( heldItemStack.getAmount() == 1 ) {
					player.getInventory().clear(player.getInventory().getHeldItemSlot());
				} else {
					heldItemStack.setAmount(heldItemStack.getAmount()-1);
				}
				
				// schedule growing of wool
				this.sheepFeedPlugin.scheduleWoolGrowth(sheep, foodData);
			}
		}
	}