Find a pipeworks successor #5547

Open
opened 2023-11-23 00:07:53 +00:00 by AliasAlreadyTaken · 8 comments

Following #4514 and moving your-land/administration#112 to the public: This issue deals with finding a pipeworks successor and then benchmarking this successor against pipeworks.

First let's find the wishes we have towards a new machine mod, then gather a list of available machine mods, see how those wishes compare against each, then decide on one or more candidates.

So, what's the wishlist?

Following #4514 and moving your-land/administration#112 to the public: This issue deals with finding a pipeworks successor and then benchmarking this successor against pipeworks. First let's find the wishes we have towards a new machine mod, then gather a list of available machine mods, see how those wishes compare against each, then decide on one or more candidates. So, what's the wishlist?
AliasAlreadyTaken added the
1. kind/protocol
4. step/discussion
labels 2023-11-23 00:08:13 +00:00

I'm fine with pipeworks as a player.
If it's really necessary to find another I'd like to have the following:
Non-Breaking machines (In tubelib some machines break, which causes a lot of chaos if you build a more complex machine; don't know if this behavior is changeable by config)
Substitution for:
Autocrafter
Deployer
Pneumatic Tube segment
Detecting pneumatic tube
Stackwise Filter Injector
Itemwise Filter Injector
Adjustable Vacuuming tube
Sorting pneumatic Tube segment
Node breaker
A kind of One Way tube
Teleporting pneumatic Tube segment

Also it would be nice to have some automatic mill or grinder

new items should not have Balancing Issues (such as Gravel sieve in Tubelib or the recipe to get 2 Ingots from one ore by grinding it)

It really would be nice if those substitutions of the tube segements would not need more space than the existing tubes, cuz it would be a very exhausting work or maybe even impossible to rebuild complete storage system.

And ofc all these should be work with mesecons to make it run or switch of.

I'm fine with pipeworks as a player. If it's really necessary to find another I'd like to have the following: Non-Breaking machines (In tubelib some machines break, which causes a lot of chaos if you build a more complex machine; don't know if this behavior is changeable by config) Substitution for: Autocrafter Deployer Pneumatic Tube segment Detecting pneumatic tube Stackwise Filter Injector Itemwise Filter Injector Adjustable Vacuuming tube Sorting pneumatic Tube segment Node breaker A kind of One Way tube Teleporting pneumatic Tube segment Also it would be nice to have some automatic mill or grinder new items should not have Balancing Issues (such as Gravel sieve in Tubelib or the recipe to get 2 Ingots from one ore by grinding it) It really would be nice if those substitutions of the tube segements would not need more space than the existing tubes, cuz it would be a very exhausting work or maybe even impossible to rebuild complete storage system. And ofc all these should be work with mesecons to make it run or switch of.

And it needs to be low lag.

And it needs to be low lag.
  • Good way of controlling complex circuits (e.g. luacontroller)
  • Way of storing data in a globally-accessible database (e.g. techpack central server)
  • Way of creating custom formspecs (e.g. digistuff touchscreen)
  • Chest/tube that can detect items going through it (e.g. digilines chest)
  • Replacement for all the normal pipeworks items (node breaker, autocrafter, etc.)

Will edit this post and add more stuff later.

* Good way of controlling complex circuits (e.g. luacontroller) * Way of storing data in a globally-accessible database (e.g. techpack [central server](https://github.com/joe7575/techpack/wiki/SaferLua-Controller#Central-Server)) * Way of creating custom formspecs (e.g. digistuff touchscreen) * Chest/tube that can detect items going through it (e.g. digilines chest) * Replacement for all the normal pipeworks items (node breaker, autocrafter, etc.) Will edit this post and add more stuff later.

I think there is probably no viable existing alternative other tan tubelib/techpack (and derivatives) and pipeworks (and derivatives) ... at least I am not aware of any, so in the end, something new may need to be created.

There are few ideas or notes I may have about this from my experience here and elsewhere:

  • be worldedit load/save firendly. Tubelib/techpack stores some information not in node metadata but aside (mod metadata). Saving an area with tube/tech components and loading it elsewhere or moving/removing existing components via worldedit will likely result in weird behavior and/or server crashes.
  • support groups in equivalent of sorting tube/distributor - if you have 140 tree species, you often want to send all group:leaves one way and group:wood the other, without having to configure each direction with specific list of 140 items (there is usually limit of 4-8 item types for each direction) ... same applies for autocrafter, you'd want to configure crafting of mulch from any leaves and any trunk that gets thrown inside and not just some specific ones.
  • have good visual and maybe audio representation of possible problems (distributor unable to push items due to congestion, broken tubes, ...)
  • Have a solution (that does not need any kind of digilines/lua "magic") for autocrafter configured with a recipe that takes more than 1 kind of items so it will not fill with single type of item and stalling (as you are then not able to push the other type(s) of item to complete the recipe.

Nice to have: colored tubes (the color would have no influence on function, but may help with orienting in complex machinery, i.e. you use blue tube for input tubes, red for output, yellow for inter-machine connections for example and tube with interleaving stripes of green and black for routing waste products)

I think there is probably no viable existing alternative other tan tubelib/techpack (and derivatives) and pipeworks (and derivatives) ... at least I am not aware of any, so in the end, something new may need to be created. There are few ideas or notes I may have about this from my experience here and elsewhere: * be worldedit load/save firendly. Tubelib/techpack stores some information not in node metadata but aside (mod metadata). Saving an area with tube/tech components and loading it elsewhere or moving/removing existing components via worldedit will likely result in weird behavior and/or server crashes. * support groups in equivalent of sorting tube/distributor - if you have 140 tree species, you often want to send all group:leaves one way and group:wood the other, without having to configure each direction with specific list of 140 items (there is usually limit of 4-8 item types for each direction) ... same applies for autocrafter, you'd want to configure crafting of mulch from any leaves and any trunk that gets thrown inside and not just some specific ones. * have good visual and maybe audio representation of possible problems (distributor unable to push items due to congestion, broken tubes, ...) * Have a solution (that does not need any kind of digilines/lua "magic") for autocrafter configured with a recipe that takes more than 1 kind of items so it will not fill with single type of item and stalling (as you are then not able to push the other type(s) of item to complete the recipe. Nice to have: colored tubes (the color would have no influence on function, but may help with orienting in complex machinery, i.e. you use blue tube for input tubes, red for output, yellow for inter-machine connections for example and tube with interleaving stripes of green and black for routing waste products)
Member

i spent an hour looking around, and while there's other machine mods, there's nothing out there currently that'd be a suitable replacement for pipeworks.

most fundamental features of pipeworks:

  1. can move specific items from one node's inventory to another node's inventory
  2. autocrafter
  3. deployer (places nodes in the world, or calls an item's on_place callback)
  4. node breaker (breaks a node, or calls an item's on_use callback)
  5. dispenser (drops an item in the world)
  6. vacuum tube (sucks items out of the world into an inventory)
  7. limited manipulation of fluids

(1) is the most important by far, and there is nothing currently existing that can do this besides pipeworks, tubelib, new_factory, and various hopper mods. none are suitable. the workbench already does (2), though poorly - it could be improved though. (3) and (4) shouldn't be too hard to replicate if we've got access to a decent fake player. (5) and (6) are pretty trivial. for (7), the relevant nodes from pipeworks should probably remain functional.

most fundamental flaws of pipeworks:

  1. the fake player ("wielder") causes a lot of crashes
  2. the items in tubes cause lag in several ways - both server-side and client-side

our other outstanding pipeworks issues:

i spent an hour looking around, and while there's other machine mods, there's nothing out there currently that'd be a suitable replacement for pipeworks. most fundamental features of pipeworks: 1. can move specific items from one node's inventory to another node's inventory 2. autocrafter 3. deployer (places nodes in the world, or calls an item's `on_place` callback) 4. node breaker (breaks a node, or calls an item's `on_use` callback) 5. dispenser (drops an item in the world) 6. vacuum tube (sucks items out of the world into an inventory) 7. limited manipulation of fluids (1) is the most important by far, and there is *nothing* currently existing that can do this besides pipeworks, tubelib, [new_factory](https://gitea.your-land.de/your-land/bugtracker/issues/4243), and various hopper mods. none are suitable. the workbench already does (2), though poorly - it could be improved though. (3) and (4) shouldn't be too hard to replicate if we've got access to a decent fake player. (5) and (6) are pretty trivial. for (7), the relevant nodes from pipeworks should probably remain functional. most fundamental flaws of pipeworks: 1. the fake player ("wielder") causes a lot of crashes 2. the items in tubes cause lag in several ways - both server-side and client-side our other outstanding pipeworks issues: * https://gitea.your-land.de/your-land/bugtracker/issues/3452 * https://gitea.your-land.de/your-land/bugtracker/issues/3697 * https://gitea.your-land.de/your-land/bugtracker/issues/3957 * https://gitea.your-land.de/your-land/bugtracker/issues/4236 * https://gitea.your-land.de/your-land/bugtracker/issues/4289 * https://gitea.your-land.de/your-land/bugtracker/issues/4591 * https://gitea.your-land.de/your-land/bugtracker/issues/4614 * https://gitea.your-land.de/your-land/bugtracker/issues/4850 * https://gitea.your-land.de/your-land/bugtracker/issues/5157 * https://gitea.your-land.de/your-land/bugtracker/issues/5548

So essentially, "Find a pipeworks successor" may perhaps turn into "Create a pipeworks successor". Other realistic alternatives are waiting for a potentially long time until one appears, or stay with pipeworks.

So essentially, "Find a pipeworks successor" may perhaps turn into "Create a pipeworks successor". Other realistic alternatives are waiting for a potentially long time until one appears, or stay with pipeworks.

Perhaps this could somehow be integrated into 1.4 Classes & Magic with "move item" and "craft item" etc. spells?

Perhaps this could somehow be integrated into 1.4 Classes & Magic with "move item" and "craft item" etc. spells?
Member

copied from the admin issue so that other people can see:

Another attempt at replacing pipeworks

https://forum.minetest.net/viewtopic.php?t=29956

very interesting, but that mod reminds me of applied energistics/ae2 for minecraft. it operates on a very different model from pipeworks or tubelib. instead of pushing items between arbitrary inventories, it is designed mostly as an advanced multi-step on-demand autocrafting system. you can e.g. ask it for 24 enchanted mithril swords, and if there's enough mithril lumps, wood, and mese in its mass storage system, it'll smelt the ore, craft sticks, craft swords, then enchant them, and leave them in the mass storage inventory. AE2 was one of my absolute favorite minecraft mods, but i'm not sure it's a good fit for your-land. and it's not really a pipeworks replacement. in particular, it lacks anything like a node breaker, deployer, or dispenser (though it does have something like a vacuum tube).

copied from the admin issue so that other people can see: > Another attempt at replacing pipeworks > > https://forum.minetest.net/viewtopic.php?t=29956 very interesting, but that mod reminds me of [applied energistics/ae2](https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2) for minecraft. it operates on a *very* different model from pipeworks or tubelib. instead of pushing items between arbitrary inventories, it is designed mostly as an advanced multi-step on-demand autocrafting system. you can e.g. ask it for 24 enchanted mithril swords, and if there's enough mithril lumps, wood, and mese in its mass storage system, it'll smelt the ore, craft sticks, craft swords, then enchant them, and leave them in the mass storage inventory. AE2 was one of my absolute favorite minecraft mods, but i'm not sure it's a good fit for your-land. and it's not really a pipeworks replacement. in particular, it lacks anything like a node breaker, deployer, or dispenser (though it does have something like a vacuum tube).
Sign in to join this conversation.
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#5547
No description provided.