skyboy / MineFactoryReloaded

104 stars 76 forks source link

[Suggestion] Universal Plastic Bottle to replace Milk Bottle (Milk bottle currently breaks Ender IO inventories filling water bottles) #654

Closed Semajor closed 6 years ago

Semajor commented 6 years ago

As the titles states, MFR is removing the water bottle recipe from EnderIO fluid tanks. I'm making an educated guess that either syringes or plastic cups are replacing the default bottle recipe, and that this isn't intended behavior. If it's intended that the bottle recipe gets replaced, can we get a toggle to turn the normal tank behavior back on?

It occurs whether EnderIO integration is turned on or off, using the latest versions of both mods. I tested with just the two mods installed on their own to be sure this wasn't something else conflicting. Nearly drove me mad trying to figure out why I couldn't automate my potion generator from extra utils with a fluid tank. Great work on the mod though, it's bring back some fun memories from Agrarian Skies 2 days!

P3pp3rF1y commented 6 years ago

So I am guessing that filling glass bottles with water isn't working for you (we don't seem to do anything special for water bottles so draining of those should work). That unfortunately seems to be a limitation of the capabilities attachment because we can only attach one fluid capability at a time, but there can possibly be more than one mod that wants to attach it like in this case. And when that happens whatever mod attaches the cap first wins.

We can't just turn off the fluid handler capability for glass bottles because then we wouldn't be able to fill them with milk to make MFR's milk bottle. (or we would have to do a ton of coding just for this special case and only MFR would be able to fill them). So the only real solution I see for this is a change to forge to keep some kind of fluid filling registry for items so that these can be used by more than one mod at a time.

Semajor commented 6 years ago

I am indeed referring to filling glass bottles with water in the EnderIO fluid tanks. They operate normally with right-clicking to fill from the tank etc, it's just the fluid tank inventory auto-filling them that breaks. The current workaround would be just using another activator (Mech User) and a source block of water to fill them, then pipe it through an item conduit.

So if I understand this correctly: to have a right-click fill from the world for the milk bottle, the capability has to be added to the glass bottle, which overrides the basic glass bottle capability. Considering the current uses for the milk bottle, which any item oredicted as milk can fill, that doesn't seem worth breaking the basic glass bottle for other mods that have a way to fill it with water from an inventory slot.

I would suggest creating a separate plastic bottle item that has the same properties as a glass bottle so the capability can be applied without affecting the original item. This would have the added benefit of perhaps also being filled via inventory slots since it would no longer conflict with the glass bottle.

I would dare to dream that you could just copy, retexture and rename/id a glass bottle to save some serious time coding. You'd also basically be adding future compatibility for any fluid you ever want to have in a bottle. Definitely keep up the great work on the mod as is, and I'll just mark this as a suggestion and change the title to reflect.