end
end
+local register_biome_raw = minetest.register_biome
+minetest.registered_biomes = {}
+function minetest.register_biome(biome)
+ minetest.registered_biomes[biome.name] = biome
+ register_biome_raw(biome)
+end
+
+function minetest.on_craft(itemstack, player, old_craft_list, craft_inv)
+ for _, func in ipairs(minetest.registered_on_crafts) do
+ itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack
+ end
+ return itemstack
+end
+
+function minetest.craft_predict(itemstack, player, old_craft_list, craft_inv)
+ for _, func in ipairs(minetest.registered_craft_predicts) do
+ itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack
+ end
+ return itemstack
+end
+
-- Alias the forbidden item names to "" so they can't be
-- created via itemstrings (e.g. /give)
local name
minetest.registered_on_chat_messages, minetest.register_on_chat_message = make_registration()
minetest.registered_globalsteps, minetest.register_globalstep = make_registration()
+minetest.registered_on_mapgen_inits, minetest.register_on_mapgen_init = make_registration()
minetest.registered_on_shutdown, minetest.register_on_shutdown = make_registration()
minetest.registered_on_punchnodes, minetest.register_on_punchnode = make_registration()
minetest.registered_on_placenodes, minetest.register_on_placenode = make_registration()
minetest.registered_on_joinplayers, minetest.register_on_joinplayer = make_registration()
minetest.registered_on_leaveplayers, minetest.register_on_leaveplayer = make_registration()
minetest.registered_on_player_receive_fields, minetest.register_on_player_receive_fields = make_registration_reverse()
+minetest.registered_on_cheats, minetest.register_on_cheat = make_registration()
+minetest.registered_on_crafts, minetest.register_on_craft = make_registration()
+minetest.registered_craft_predicts, minetest.register_craft_predict = make_registration()