Closed Ocraw closed 3 weeks ago
Well that's unfortunate.
There is a way to "fix" this by giving the AP its own crafting inventory and implementing the crafting logic there, instead of re-using the player's inventory. But since it's not a small change, I'm not sure when I'll have the time to do the change and test it.
I'll give it a try but really just take it as no promises and little hopes, I just started with minetest.
Just an update: I had a go at this, and it works - in the sense that I can make a crafting grid in the AP's fake inventory, and it crafts. But it lacks many of the features the default crafting grid has (e.g. just clicking on the output item takes it by default, and immediately places a new copy of the output item (if enough input items remain) into the output slot. So it's nowhere near as easy to use. It also lacks the default shift+click the output slot to craft as many items as possible from the input stacks.
The problem is that these features aren't actually written using the Lua API (as far as I can tell) - and in fact, I believe they are unique non-API features hardcoded in the C++ code specifically for the "craft" and "craftpreview" inventory lists for each player.
So the current state of this:
I will try to make a new release to at least give back basic remote crafting functionality in Mineclonia, but this is now more complicated because I want to keep the old behavior for non-Mineclonia games (since new behavior has fewer features as described above)
In order to get fully-featured remote crafting grid functionality in Mineclonia, one of two things needs to happen. Either:
Bottom line though, I will aim to get an update to at least make the remote crafting usable by end of this weekend (while maintaining old, fully-featured crafting in non-Mineclonia games), but a proper fully-featured crafting grid in the Access Point won't be available for Mineclonia for a long time, possibly indefinitely if the Mineclonia devs are not open to adding/changing their API.
as posted on codeberg: this should actually be possible without mcla changing anything by just overwriting mcl_crafting_table.has_crafting_table and returning true depending in your own conditions.
I was however thinking we could also add a "crafting_table" group which it looks for by default so instead of rolling your own function you could just add your own node to that group.
(the 2nd option will ofc not be compatible to prior mcla versions).
Going to continue this discussion on codeberg, to keep it in one place there.
@Ocraw This should now be fixed in Release 1.2.8 https://github.com/ZenonSeth/logistica/releases/tag/1.2.8 - also available on ContentDB
Hey, great job! Vacation with limited internet at the moment, will take a look when possible. Edit: works like a charm!
Breaking the crafting in logistica formspec, not sure if this is fixable in logistica itself.
https://codeberg.org/mineclonia/mineclonia/src/commit/e80905d861e9c59f2924afdcf490bb1211eb0f52/mods/HUD/mcl_inventory/init.lua#L183