-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding new mesecons/digiline devices #100
Comments
specing SX specing SX specing SX specing SX BuckarooBanzai |
et SX |
The4spaceconstants Huhhila et iceyou et |
wf13 et |
FeXoR |
I have no idea what this is refering to and if it is on-topic at all |
et Second time et is suggesting something without explaining what they mean. |
Yes, it would be great if only ideas that are explained reasonably well make it to this forum. The digiline device that reads formspecs, I can somehow understand what he wants. As I understand it, he is asking for a digilines fakeplayer. |
frog The4spaceconstants |
Orekart
If node-breaker gains digiline support, should it report the quantity of items inside or just binary state via reporting the item name; luaC support for node-breaker, how should it be done?
SX
If node breaker gets basic digiline support it should not be reporting anything but just triggering it via digiline, that is very simple addition and would probably be accepted to upstream mesecons as is. After that could possibly think about other features. Upgrade recipe would be nice thing but not sure if mesecons devs would accept that, could be done by adding new item or by adding metadata tag for upgraded item without adding new. I think most there do not care about recipes but more if it works well in creative mode, metadata recipe is bit harder to use with /give.
orekart
Why would they not accept it? I mean, it just seems like it will be updated soon anyways to get a better formspec compatible with mobile use (autocrafter PR was accepted for this same reason).
SX
Oh nvm, actually I mixed up things. This is pipeworks not mesecons. For mesecons it was just that simple change to make detector commands consistent and that's probably not a problem. And yes, pipeworks seems to be a lot more open to actual feature upgrades.
orekart
I think so, too. Without adding too much feature creep it could just be making sure the formspec is mobile-friendly and current, but then the digiline interfaces to go along with this. The question would be if it should just return the item type as event.msg when queried or if it would be reasonable to return the item name and the quantity as a table. Now that the mithril (technic) chest is pretty well understood, it would be an example of how to apply to the node-breaker and node-deployer.
Can node deployer deploy multiple nodes at once? I think not but I want to be sure. I know there can be overlapping loose items occupying the same block (when you drop a bunch of items from inventory).
SX
Currently node deployer can deploy 2 nodes, not at once but 2 positions.
orekart
I really don't know how to adapt that for digiline, but node-breaker should be pretty non-controversial
SX
For mithril chest it would be nice to actually implement inventory cache to make queries really cheap and fast. It should also be able to cut maybe 99% of processing time when using digiline injectors with mithril chests but might require support from pipeworks, too.
(Performance gains for lookups would come mostly from cutting every expensive call to c++ side of engine.)
orekart
Yeah, performance (real world) should improve, that is a benefit.
Are there any digilines enabled mesecons items that can be "activated"? As digiline filter injector is disqualified from this question because it doesn't react to mesecons (?)... that kind of makes the case for a digiline node breaker as mentioned otherwise.
The trouble is whether "activate" on nodebreaker should make its mesecons state toggle high/low momentarily; we could handwaive this away and say that mesecons is input-only for the node-breaker. However then you have the question of whether mesecons input state change to the nodebreaker should register as a digiline event.
SX
Does active node breaker activate mesecon wire on other side? Or does it activate mesecon conducting tube placed behind it?
orekart
SX: negative to both, tested now. It appears to be input-only. Should it report mesecons status though to digiline as an event or query-able condition?
SX
I'd say do not send unnecessary events that complicate code and increase workload without adding really anything new, querying also is unnecessary in my opinion because there's already multiple ways to see if it is activated by mesecons. ioexpander, lua controller, detectors and more.
orekart
Is there already a way to know what is in the node-breaker inventory slot?
SX
Only by tracking what you put there. I've done that with tree farm to know if there's chainsaw, fertilizer or being empty.
There was pull request (for mesecons modpack...) that would add things that can inspect inventory next to it.
orekart
That would be helpful yeah. Yet to activate node-breaker with digiline is really desireable.
SX
This one: minetest-mods/mesecons#540
In my opinion it would be better to create some mesecons-extras mods and put things like that there... it is unlikely that mesecons modpack would accept that anytime soon
Pull Request #540 - The Scanner Node
The scanner node will scan any inventory of the node behind it and output a signal depending on its configuration. It also has digilines support (which means every node with invent...
Huhhila
Tracking without querying can be somewhat unreliable. Which that kind of separate querying device could handle with somewhat less clutter than implementing such everywhere else.
SX
For extras mod like this there would also be:
minetest-mods/mesecons#509
minetest-mods/mesecons#489
minetest-mods/mesecons#491
So already a lot of content that could be added without thinking about (imo too strict) mesecons modpack requirements.
orekart
Is node-breaker pipeworks?
SX
Yes it is. None of these links are about node breaker but mesecons devices that would add some asked functionality and more.
And as you see all are pull requests, not just issues asking to implement something. There's code available and it can take years before merged to mesecons if miracle happens and those will get merged.
In my opinion most of that stuff does not belong to mesecons modpack, it should be separate mod that just depends on mesecons.
Anyone wants to grab code, refactor it if needed so it can be separate mod and test it? I could create project under mt-mods organization for that and add people who'd like to work on it to repo.
I could possibly write some code too but as I don't really need any of those devices for anything I'm not going to start it or do much preliminary testing.
Might be good to create issue for it, maybe someone is willing to do some work for it as all the code is there and just need to be collected and combined. Issue is good so that anyone can tell if they would like to start thing like this, mt-mods organization for project is good because there actually happens something and people do not fear that much introducing some new bugs to fix bigger problems or bring new features into game.
Hedgehog
So this is NOT related to the node-breaker or node-deployer issue already in the list?
SX
Not at all, it is about possibly adding completely new mesecons/digiline devices and putting together mod that provides those using code that already exists.
Only connection is that this extras mod, in addition to providing other cool stuff, might also solve some other things that were mentioned while discussing node breaker / deployer things.
The text was updated successfully, but these errors were encountered: