[SOLVED] Link Crafting mod and skyblock redo mod

Post Reply
Sporax
Member
Posts: 149
Joined: Mon Jul 11, 2016 16:33
GitHub: Sporax
IRC: Sporax
In-game: Sporax
Location: France

[SOLVED] Link Crafting mod and skyblock redo mod

by Sporax » Post

Hi Guys,

I need some help to link Crafting mod from Rubenwardi and Skyblock redo from rnd.

That's a simple modification but i'm not enough competent to do it.

I would like to use the function ("on_craft") for quests but it doesn't work cause of this crafting mod. This function detect when the right craft has been made. But crafting mod has its own crafting callback. I would like to detect when an item has been crafted.

I think that we have to modify this in order to detect the craft made with crafting and not the one by default...

Code: Select all

-- track craft item
minetest.register_on_craft(
function(itemstack, player, old_craft_grid, craft_inv)   track_quest(player:getpos(), itemstack:get_name(), player, "on_craft") end
)
(line 95 in skyblock.lua in skyblock folder in skyblock_redo mod)

Links:
skyblock_redo : viewtopic.php?t=19625
crafting : https://github.com/rubenwardy/crafting

Thanks for help

Sporax.

P.S: Sorry for all the mistakes i made in english, i'm french. If you have any question, please, ask me!
Last edited by Sporax on Wed Jan 22, 2020 14:28, edited 2 times in total.

User avatar
rubenwardy
Moderator
Posts: 6978
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

Re: Link Crafting mod and skyblock redo mod

by rubenwardy » Post

Apparently, I didn't document the function but here it is:

Code: Select all

crafting.register_on_craft(function(name, recipe))
    -- name: player name
    -- recipe: as given to register_craft
    print(name .. " crafts " .. ItemStack(output):to_string())
end)
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

Sporax
Member
Posts: 149
Joined: Mon Jul 11, 2016 16:33
GitHub: Sporax
IRC: Sporax
In-game: Sporax
Location: France

Re: Link Crafting mod and skyblock redo mod

by Sporax » Post

OKay it could help us.

i would like to make my problem a little bit more understandable. I have chage the function that we have to change :

Code: Select all

minetest.register_on_craft(
function(itemstack, player, old_craft_grid, craft_inv)   track_quest(player:getpos(), itemstack:get_name(), player, "on_craft") end
)
with :

Code: Select all

crafting.register_on_craft(function(player) 
	local outlistname = crafting.outlistname
	track_quest(player:getpos(), outlistname, player, "on_craft")
end)
When crafting.register_on_craft is called, we add the track_quest 'action' to count which item had been crafted...

i hope, i am a little bit more understandable now!

The problem with this, it's that i can't use..:

Code: Select all

2020-01-22 09:39:53: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'sfinv' in callback on_playerReceiveFields(): ...ents\Minetest\minetest\bin\..\mods\skyblock/skyblock.lua:105: attempt to call method 'getpos' (a nil value)
2020-01-22 09:39:53: ERROR[Main]: stack traceback:
2020-01-22 09:39:53: ERROR[Main]: 	...ents\Minetest\minetest\bin\..\mods\skyblock/skyblock.lua:105: in function <...ents\Minetest\minetest\bin\..\mods\skyblock/skyblock.lua:102>
2020-01-22 09:39:53: ERROR[Main]: 	...Documents\Minetest\minetest\bin\..\mods\crafting/api.lua:252: in function 'perform_craft'
2020-01-22 09:39:53: ERROR[Main]: 	...Documents\Minetest\minetest\bin\..\mods\crafting/gui.lua:183: in function 'result_select_on_receive_results'
2020-01-22 09:39:53: ERROR[Main]: 	...ents\Minetest\minetest\bin\..\mods\crafting/stations.lua:47: in function <...ents\Minetest\minetest\bin\..\mods\crafting/stations.lua:46>
2020-01-22 09:39:53: ERROR[Main]: 	...ments\Minetest\minetest\bin\..\builtin\game\register.lua:419: in function <...ments\Minetest\minetest\bin\..\builtin\game\register.lua:399>

Sporax
Member
Posts: 149
Joined: Mon Jul 11, 2016 16:33
GitHub: Sporax
IRC: Sporax
In-game: Sporax
Location: France

Re: Link Crafting mod and skyblock redo mod

by Sporax » Post

Finaly, i've understand what was required by the function...

Thanks rubenwardi, it helps me a lot!

Sporax.

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Semrush [Bot] and 5 guests