You can use Java 8 with any version of Minecraft, though only newer versions of Forge will warn the user when they're using mods that require Java 8 while running an older version.
ConcurrentModificationException is also thrown when you add an element to a collection while iterating through it. World#spawnEntityInWorld adds the Entity to World#loadedEntityList, you call this while iterating through that list.
I solved this by creating a new list from the stream of matching EntityItems found in World#loadedEntityList (the Stream#collect call) and then iterating through the new list. This is probably more tedious and expensive to do without streams, so I'd recommend creating a list to store the EntityItems you want to spawn and then spawning them after the outer loop.
remainingInputs should also be declared in the outer loop.
Instead of creating the new list to store the EntityItem i want to spawn, i just declared a null EntityItem, assigned it in the loop in which i spawned the item previously, and then spawned it after a null check. It works perfectly, and doesn't lag with those 3 items.
Thanks for all the help.