[1.12] Transport Pipes not running validation checks
DarkGuardsman opened this issue ยท 6 comments
Issue description:
Transport pipes are not running any item validation check when working with IItemHandler capabilities. This causes inventories which expect validation to be run to have items in invalid slots.
Javadoc for isItemValid, which should be run before doing an insert call.
Version (make sure you are on the latest version before reporting):
Forge: 1.12.2-14.23.4.2759
Mekanism: 1.12.2-9.4.13.349
@DarkGuardsman Reading over the javadoc, I'm not sure of the necessity of this.
The line you linked (permalink) is a simulation. If a provider returns an empty stack, it accepted the item. IMO its a flaw in the receiver if it does not check an inserted item is 'valid' in terms of filters etc
Yes I read the docs that is why I posted this issue. Here are screenshots from the latest forge.
Problem is a lot of mods do not validate on insert. As it is expected that a mod calls isItemValid before calling insert. This results in mekanism forcing items into slots on a few mods that have not implemented isItemValid internally.
Ya that is what I was thinking as well. I recall previously there was some extract or getSlot functionality that did this behavior as a filter check. Regardless it would be cool if you could fix it as it will become more common for mods to use the method.
Just checking in, have you had a chance to work on this? If not care if I Pull Request the changes myself?