-- Apply defaults and add to registered_* table
if itemdef.type == "node" then
+ -- Use the nodebox as selection box if it's not set manually
+ if itemdef.drawtype == "nodebox" and not itemdef.selection_box then
+ itemdef.selection_box = itemdef.node_box
+ end
setmetatable(itemdef, {__index = minetest.nodedef_default})
minetest.registered_nodes[itemdef.name] = itemdef
elseif itemdef.type == "craft" then
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
+
-- Alias the forbidden item names to "" so they can't be
-- created via itemstrings (e.g. /give)
local name
inventory_image = "unknown_item.png",
on_place = minetest.item_place,
on_drop = minetest.item_drop,
+ groups = {not_in_creative_inventory=1},
})
minetest.register_node(":air", {
description = "Air (you hacker you!)",
- inventory_image = "unknown_block.png",
- wield_image = "unknown_block.png",
+ inventory_image = "unknown_node.png",
+ wield_image = "unknown_node.png",
drawtype = "airlike",
paramtype = "light",
sunlight_propagates = true,
diggable = false,
buildable_to = true,
air_equivalent = true,
+ drop = "",
+ groups = {not_in_creative_inventory=1},
})
minetest.register_node(":ignore", {
description = "Ignore (you hacker you!)",
- inventory_image = "unknown_block.png",
- wield_image = "unknown_block.png",
+ inventory_image = "unknown_node.png",
+ wield_image = "unknown_node.png",
drawtype = "airlike",
paramtype = "none",
sunlight_propagates = false,
diggable = false,
buildable_to = true, -- A way to remove accidentally placed ignores
air_equivalent = true,
+ drop = "",
+ groups = {not_in_creative_inventory=1},
})
-- The hand (bare definition)
minetest.register_item(":", {
type = "none",
+ groups = {not_in_creative_inventory=1},
})
---
--- Creative inventory
---
-
-minetest.creative_inventory = {}
-
-minetest.add_to_creative_inventory = function(itemstring)
- table.insert(minetest.creative_inventory, itemstring)
-end
-
--
-- Callback registration
--
return t, registerfunc
end
+local function make_registration_reverse()
+ local t = {}
+ local registerfunc = function(func) table.insert(t, 1, func) end
+ return t, registerfunc
+end
+
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_dignodes, minetest.register_on_dignode = make_registration()
-minetest.registered_on_punchnodes, minetest.register_on_punchnode = make_registration()
minetest.registered_on_generateds, minetest.register_on_generated = make_registration()
minetest.registered_on_newplayers, minetest.register_on_newplayer = make_registration()
minetest.registered_on_dieplayers, minetest.register_on_dieplayer = make_registration()
minetest.registered_on_respawnplayers, minetest.register_on_respawnplayer = 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()