sorcery  Artifact [13321ca8da]

Artifact 13321ca8da718a17f4834eae13a73da6b1644bed7d2abd264d862ae9910bc381:

  • File compat.lua — part of check-in [3f6a913e4e] at 2020-09-29 12:40:28 on branch trunk — * remove former hacky registration system, replace with consistent and flexible API; rewrite metal/gem generation to take advantage of this new API; tweaks to init system to enable world-local tweaks to lore and sorcery behavior * initial documentation commit * initial steps towards calendar - add default date format, astrolabe; prepare infra for division/melding/transmutation spells, various tweaks and fixes (user: lexi, size: 1893) [annotate] [blame] [check-ins using]

local brass, silver

if minetest.get_modpath("moreores") then
	silver = 'moreores:silver'
else
	minetest.register_alias('moreores:silver_ingot','sorcery:silver_ingot')
	minetest.register_alias('moreores:silver_block','sorcery:silver_block')
end

if minetest.get_modpath("basic_materials") then
	brass = 'basic_materials:brass'
elseif minetest.get_modpath("morelights") then
	brass = 'morelights_vintage:brass'
else
	minetest.register_alias('basic_materials:brass_ingot', 'sorcery:brass_ingot')
	minetest.register_alias('basic_materials:brass_block', 'sorcery:brass_block')
	minetest.register_alias('morelights_vintage:brass_block', 'sorcery:brass_block')
	minetest.register_alias('morelights_vintage:brass_ingot', 'sorcery:brass_ingot')
end

if brass then
	minetest.register_alias('sorcery:brass_ingot',brass..'_ingot')
	minetest.register_alias('sorcery:brass_block',brass..'_block')
end
if silver then
	minetest.register_alias('sorcery:silver_ingot',silver..'_ingot')
	minetest.register_alias('sorcery:silver_block',silver..'_block')
end

if minetest.get_modpath("new_campfire") then
	minetest.register_alias('sorcery:ash', 'new_campfire:ash')
else
	minetest.register_craftitem('sorcery:ash', {
		description = 'Ash';
		inventory_image = 'sorcery_iron_powder.png^[colorize:#FFFFFF:60';
	})
	minetest.register_alias('new_campfire:ash', 'sorcery:ash')
end

-- xdecor offers a conflicting and somewhat poorly designed enchantment
-- mechanism; make it inaccessible but don't fuck up already existing
-- enchanters in the world
minetest.clear_craft { output='xdecor:enchantment_table'; }
minetest.override_item('xdecor:enchantment_table', {
	groups = sorcery.lib.tbl.merge(minetest.registered_items['xdecor:enchantment_table'].groups, {
		not_in_creative_inventory = 1;
	})
})

return {
	defp = function(name)
		return minetest.registered_items[name] or minetest.registered_aliases[name]
	end;
}