gniftygnome / ductwork

Simple duct-metaphor item distribution network mod
MIT License
2 stars 1 forks source link

[Request] Collector Connections #1

Closed Eldog02 closed 2 years ago

Eldog02 commented 2 years ago

First of all I just wanted to say that I love your mod. There are a few Fabric item transport mods, but for my tastes they're too bloated and strangely complex, like Simple Copper Pipes, or too basic, like Item Ducts. I think the superset of features you have is just about right. Your textures are also pretty damn nice, don't put yourself down!

That being said, since the Collector is meant to act as the hopper of the ductwork network, it would be SUPER convenient (and save a lot of space) if you could connect to the four sides directly adjacent to the input fan, as well as the back like you can now. Since hoppers can already do this (albeit only downwards) it's a bit disappointing that collectors can't.

gniftygnome commented 2 years ago

The main reason I did not do this was it's difficult to have an immersive method of placing the block when it has two different orientations. I don't want to add some kind of "wrench" item for this. Item Hoppers get around this by only having one orientation (and the other always faces up) which is pretty similar to what I do (only having one and the other faces away). OmniHopper has what's probably the best approach possible, but it's also pretty clever and I kind of don't want to compete with that mod.

That being said, I would welcome suggestions; maybe somebody else can come up with a clever way to address this. I'll also continue to think about it myself. Maybe if the block placed as it does today and you could shift-click it to change the output direction? (That's a bit funky because for Ductwork blocks the output is always the primary orientation, so it would be keeping the secondary orientation constant while changing the primary one, but I think it would feel more realistic than moving the whole collector head around...)

Eldog02 commented 2 years ago

Right now you have one vector of placement— where the player is looking. What you could do is let where the player is standing be the second vector? It might get confusing to place, of course. (This actually might be how omnihopper does it i've never used the mod)

Another option might be to just visually connect the duct like you only visually connect them to containers. In that case, though, you would probably have to account for only connecting to one output. I don't think it would be all that counterintuitive though.

Lastly, I know from a bit of datapacking experience that fabric has community item tags for things like steel ingots that are common in a lot of mods. Maybe it would be possible to piggyback off another mod with a wrench if a user has one installed that could rotate Ducts 180 degrees and change the output face of the Collector. Shift+right click could also carry the functions of a wrench if the user has none installed.

gniftygnome commented 2 years ago

Yes that is what OmniHopper does. It's surprisingly easy to get the hang of (and sometimes also quite a pain).

I never liked rail placement which connects to whatever it (predictably if you've bothered to remember what direction is North) thinks makes sense and even if I had a wrench for it I think I'd still dislike that. I'd rather it just place straight in the orientation based purely on the my orientation, and then I wrench it if I want a curve. I'll think about doing something "helpful" automatically but I probably won't.

I hadn't thought of using a wrench tag (in fabric that is c:wrenches) but it makes sense. It's easy enough to not require sneaking if the player has a wrench in their active hand. I'm feeling like I might go ahead and cook something up based on all of this but it'll have a couple downsides. One is I'll drop the full support for 1.18/1.18.1 because I'll be using tags more. Those will be just bugfix from here on out. The other is the Ductwork blocks aren't in Blockbench and I simplified the Collector's model quite a bit so I've got my work cut out to unsimplify it. That may take me a little while to get to.