Storage Drawers

Storage Drawers

151M Downloads

Icy Needles and Snowballs merging

Pontiac76 opened this issue ยท 10 comments

commented

I'm playing the Regrowth mod pack, 1.8.8. I have the snowbell seeds grown and being harvested by buildcraft robots. The robots harvest the seeds, I see the icy needles and snowballs being transported to the storage drawer controller, but, depending on the proximity to the controller the drawer is, or whatever item is sitting in slot 1 in a 1x2 drawer is kept. So if snowballs are in slot one, icy needles are voided essentially.

I've also been able to replicate this by just having a 1x2 storage drawer, have some snowballs and icy needles on hand, and I can swap what the item is. So if I put in 16 snowballs into the icy needles slot, I get 16 icy needles and lose the snowballs. I can then take out the needles, double-click them where the snowballs are, and the needles get turned into snowballs. The number of items stay consistent, as in I never lose the number of items the manual way - they just get transformed, but, automation wise, I lose whatever is the furthest away from the controller or is in the biggest slot number.

commented

This means that they are ore-dictionary equivalent in a way that looks safe. The drawers won't convert anything that looks even a little ambiguous.

I don't see any default ore dictionary values for snowballs in Forge, so I assume thephoenixlodge must had added these for Regrowth. He can fix this by adding it to the drawers blacklist.

commented

It looks like you're right on that. Just did a dump;

cropSnowbell 1xitem.witchery:ingredient@78 witchery:ingredient Icy Needle
cropSnowbell 1xitem.snowball@0 minecraft:snowball Snowball

So the question I've got now (Not for you, but mostly for me) do I leave things as is, or, do I figure a way to store this separately, or, do I go monkey with the ore name and hope I don't wreck anything?

commented

For future reference, looking at this dump, what would happen if I started dumping fish into the drawers? They all have the same Ore Name. Would I get the same problem where whatever is closest to the drawer controller AND is in slot 1 would become the dominate species or the only thing collected?

(I smell exploit....)

commented

Since they (presumably) all come from the same mod, it's fine. The drawers assume that if a mod adds two or more items to the same key, it was never intended to be exchangeable.

commented

I think I get what you're saying. So in the case of the needles and snowballs, since they're from two different mods (Minecraft and Witchery) then Drawers handles them as one item. If they're the same mod (Fish = minecraft:fish) then they'd be treated as different items.

commented

Correct. The needles and snowballs look no different than two different mods adding a copper ingot.

There's even more rules and heuristics, such as ignoring keys that unify other keys. For example, if several mods register items into "ingotCopper" and "ingotTin", and then a third mod registers all those items with "ingotMetal", the ingotMetal key will be ignored because it could allow conversion between copper and tin.

It often results in the opposite problem, where conversions people expect to work don't, because additional ore dictionary registrations have created ambiguity.

commented

Good enough. At least I'm not banging my head against the wall anymore.

commented

FYI as of Storage Drawers 1.7.8, the controller will no longer unify snowballs and icy needles if they are both present in the managed drawers. This goes for any other ore dictionary unification.

commented

I'll update my end, but, why the change?

commented

It was brought up on FTB and I realized it was a good idea. If someone was going to have a separate drawer for two items, then it's a safe assumption they don't want them automatically converting into each other.