anchor.diff:  
   
   /obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob)
  +
  +
   	if (istype(O,/obj/item/weapon/reagent_containers/glass) || \
   		istype(O,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass))
  +
   		if (beaker)
   			return 1
   		else
   			src.beaker =  O
   			user.drop_item()
   			O.loc = src
  -			src.verbs += /obj/machinery/reagentgrinder/verb/detach
   			update_icon()
   			src.updateUsrDialog()
   			return 0
  +
  +	if(holdingitems && holdingitems.len >= limit)
  +		usr << "The machine cannot hold anymore items."
  +		return 1
  +
  +	//Fill machine with the plantbag!
  +	if(istype(O, /obj/item/weapon/plantbag))
  +
  +		for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents)
  +			O.contents -= G
  +			G.loc = src
  +			holdingitems += G
  +			if((holdingitems && holdingitems.len >= 10) || beaker.reagents.total_volume >= 80) //Sanity checking so the blender doesn't overfill
  +				user << "You fill the All-In-One grinder to the brim."
  +				break
  +		if(src.contents.len < 10 && src.reagents.total_volume < 80)
  +			user << "You empty the plant bag into the All-In-One grinder."
  +
  +		src.updateUsrDialog()
  +		return 0
  +
   	if (!is_type_in_list(O, blend_items) && !is_type_in_list(O, juice_items))
   		user << "Cannot refine into a reagent."
   		return 1
  +
   	user.before_take_item(O)
  -	if(holdingitems && holdingitems.len == 0)
  -		src.verbs += /obj/machinery/reagentgrinder/verb/eject
   	O.loc = src
   	holdingitems += O
   	src.updateUsrDialog()
  
positive.code: 			var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
  			var/amount = get_juice_amount(O)
  
  			O.reagents.trans_id_to(beaker, r_id, min(amount, space))
  
  			if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
  				break
  		if(O.reagents.reagent_list.len == 0)
  			remove_object(O)
  
  
  	if(holdingitems && holdingitems.len == 0)
  		src.verbs -= /obj/machinery/reagentgrinder/verb/eject
  
  /obj/machinery/reagentgrinder/proc/grind()
  
  	power_change()
  	if(stat & (NOPOWER|BROKEN))
  		return
  	if (!beaker || beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
  		return
  	playsound(src.loc, 'blender.ogg', 50, 1)
  	inuse = 1
  
negative.code: 		O.reagents.trans_to(beaker, amount)
  		if(!O.reagents.total_volume)
  			remove_object(O)
  