forked from Mirrorlandia_minetest/minetest
Fix missing ignore textures (#7326)
This commit is contained in:
parent
6d6b894c7a
commit
22df02d25b
@ -116,8 +116,6 @@ function core.register_item(name, itemdef)
|
|||||||
end
|
end
|
||||||
itemdef.name = name
|
itemdef.name = name
|
||||||
|
|
||||||
local is_overriding = core.registered_items[name]
|
|
||||||
|
|
||||||
-- Apply defaults and add to registered_* table
|
-- Apply defaults and add to registered_* table
|
||||||
if itemdef.type == "node" then
|
if itemdef.type == "node" then
|
||||||
-- Use the nodebox as selection box if it's not set manually
|
-- Use the nodebox as selection box if it's not set manually
|
||||||
@ -179,13 +177,7 @@ function core.register_item(name, itemdef)
|
|||||||
--core.log("Registering item: " .. itemdef.name)
|
--core.log("Registering item: " .. itemdef.name)
|
||||||
core.registered_items[itemdef.name] = itemdef
|
core.registered_items[itemdef.name] = itemdef
|
||||||
core.registered_aliases[itemdef.name] = nil
|
core.registered_aliases[itemdef.name] = nil
|
||||||
|
register_item_raw(itemdef)
|
||||||
-- Used to allow builtin to register ignore to registered_items
|
|
||||||
if name ~= "ignore" then
|
|
||||||
register_item_raw(itemdef)
|
|
||||||
elseif is_overriding then
|
|
||||||
core.log("warning", "Attempted redefinition of \"ignore\"")
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function core.unregister_item(name)
|
function core.unregister_item(name)
|
||||||
|
@ -1228,15 +1228,9 @@ content_t NodeDefManager::set(const std::string &name, const ContentFeatures &de
|
|||||||
{
|
{
|
||||||
// Pre-conditions
|
// Pre-conditions
|
||||||
assert(name != "");
|
assert(name != "");
|
||||||
|
assert(name != "ignore");
|
||||||
assert(name == def.name);
|
assert(name == def.name);
|
||||||
|
|
||||||
// Don't allow redefining ignore (but allow air and unknown)
|
|
||||||
if (name == "ignore") {
|
|
||||||
warningstream << "NodeDefManager: Ignoring "
|
|
||||||
"CONTENT_IGNORE redefinition"<<std::endl;
|
|
||||||
return CONTENT_IGNORE;
|
|
||||||
}
|
|
||||||
|
|
||||||
content_t id = CONTENT_IGNORE;
|
content_t id = CONTENT_IGNORE;
|
||||||
if (!m_name_id_mapping.getId(name, id)) { // ignore aliases
|
if (!m_name_id_mapping.getId(name, id)) { // ignore aliases
|
||||||
// Get new id
|
// Get new id
|
||||||
|
@ -536,11 +536,16 @@ int ModApiItemMod::l_register_item_raw(lua_State *L)
|
|||||||
idef->registerItem(def);
|
idef->registerItem(def);
|
||||||
|
|
||||||
// Read the node definition (content features) and register it
|
// Read the node definition (content features) and register it
|
||||||
if(def.type == ITEM_NODE){
|
if (def.type == ITEM_NODE) {
|
||||||
ContentFeatures f = read_content_features(L, table);
|
ContentFeatures f = read_content_features(L, table);
|
||||||
|
// when a mod reregisters ignore, only texture changes and such should
|
||||||
|
// be done
|
||||||
|
if (f.name == "ignore")
|
||||||
|
return 0;
|
||||||
|
|
||||||
content_t id = ndef->set(f.name, f);
|
content_t id = ndef->set(f.name, f);
|
||||||
|
|
||||||
if(id > MAX_REGISTERED_CONTENT){
|
if (id > MAX_REGISTERED_CONTENT) {
|
||||||
throw LuaError("Number of registerable nodes ("
|
throw LuaError("Number of registerable nodes ("
|
||||||
+ itos(MAX_REGISTERED_CONTENT+1)
|
+ itos(MAX_REGISTERED_CONTENT+1)
|
||||||
+ ") exceeded (" + name + ")");
|
+ ") exceeded (" + name + ")");
|
||||||
|
Loading…
Reference in New Issue
Block a user