The transposer is a very nice block, I've used a couple to make a dynamic modular railcraft steamturbine boiler manager.
It feeds up to 16 mini boilers with tiny amounts of creosote oil to fire them up but keep them quickly disableable (this isn't a word, right?...)
The problem is that the only way why it was possible to tell apart boilers from fueltanks and the turbine was due to the different liquid containers inside them.
My point is: why can't the transposer detect what block it is accessing?
Like .blockName(side)
The adapter for example has the opposite issue: it can't tell where a block is.
I found that out when I didnt yet know that the liquid container combinations are unique, so I wanted to find the boilers with adapters, which worked, until I wanted to know on which side they are...
So yeah, please add something like .blockName(side) or .blockId(side) to the transposer.
What you do is, you map all your adapters and transposers by device address, and then in software you know what and where they are. That's what I do.
In most cases I like that the computers are as abstract as possible in terms of identifying blocks or managing spatial coordinates. You need to know where something is? You need a GPS that gives you a reference. You need to know what device you're accessing? Sure! It's an energy_device, of course! I know it complicates things sometimes, but in general this is a very good thing!
Plus like I just mentioned you can map things, so you can go "alright this is device a8f so it's the one on the bottom floor with a tank to the east and a boiler to the west" BAM! You keep all that in a nicely structured lua table and everything works automagically.
Yeah, I don't see why this is a 'good thing'. There could be so much functionality to being able to read what block is beside a transposer, especially for more dynamic programs.
In the above example, why should I have to map all 100 transposers in a large setup when all I need to know is if the transposer is looking at a boiler or a fuel tank? A big point of programming is to make things _easier_ when doing things in large scale.
Why does there have to be a mindset of 'complicate all the things' in this mod? I mean, with your logic, we shouldn't even be able to determine what items are in an inventory. Every stack should just be referred to as item_stack from now on! Lets not even give transposers addresses, as that would be just _too useful_, and usefulness is a _bad thing_.
we have getInventoryName, is that not what you're asking for?
Ah, yes, my apologies. I didn't actually check beforehand to make sure @BloodyRain2k 's statements were true before I made said rant. getInventoryName works _mostly_ fine.
Though, it only gets the 'internal'(I think that's the correct term?) name of the inventory. For instance, a 'gold chest' from the Iron chest mod, and the 'iron chest' from the same mod, return the exact same name when getInventoryName is ran on them: ironchest:iron_chest. Lots of mods seem to retain the same name between similar blocks, and that could cause problems.
It is totally possible that the boilers and tanks from railcraft have the same internal name, causing @BloodyRain2k 's issue to still be a thing after all.
So since this topic is here, I would like to propose something like getInventoryDisplayName to allow transposers to return the actual displayed name of the inventory it is looking at.
i've decided to leave things how they are. some mods register items separately, some don't. you can also query the inventory size if that helps