Make unifieddyes hard dependency

master
Jordan Irwin 2021-04-20 03:21:31 -07:00
parent d43d88dcf2
commit 9198f0ab5d
2 changed files with 55 additions and 61 deletions

View File

@ -2,5 +2,4 @@ name = glass
description = Enhances default glass to make it colorable.
version = 1.0
author = Jordan Irwin (AntumDeluge)
depends = default
optional_depends = unifieddyes
depends = default, unifieddyes

113
nodes.lua
View File

@ -17,68 +17,63 @@
local S = core.get_translator()
local enable_colors = core.global_exists('unifieddyes') or core.get_modpath('unifieddyes')
local to_color = {
'default:glass',
'default:glass_cube',
'default:glass_doublepanel',
'default:glass_halfstair',
'default:glass_innerstair',
'default:glass_micropanel',
'default:glass_microslab',
'default:glass_nanoslab',
'default:glass_outerstair',
'default:glass_panel',
'default:glass_thinstair',
'default:obsidian_glass',
'default:obsidian_glass_cube',
'default:obsidian_glass_doublepanel',
'default:obsidian_glass_halfstair',
'default:obsidian_glass_innerstair',
'default:obsidian_glass_micropanel',
'default:obsidian_glass_microslab',
'default:obsidian_glass_nanoslab',
'default:obsidian_glass_outerstair',
'default:obsidian_glass_panel',
'default:obsidian_glass_thinstair',
}
local next = next
for _, glass_name in ipairs(to_color) do
if enable_colors then
local to_color = {
'default:glass',
'default:glass_cube',
'default:glass_doublepanel',
'default:glass_halfstair',
'default:glass_innerstair',
'default:glass_micropanel',
'default:glass_microslab',
'default:glass_nanoslab',
'default:glass_outerstair',
'default:glass_panel',
'default:glass_thinstair',
'default:obsidian_glass',
'default:obsidian_glass_cube',
'default:obsidian_glass_doublepanel',
'default:obsidian_glass_halfstair',
'default:obsidian_glass_innerstair',
'default:obsidian_glass_micropanel',
'default:obsidian_glass_microslab',
'default:obsidian_glass_nanoslab',
'default:obsidian_glass_outerstair',
'default:obsidian_glass_panel',
'default:obsidian_glass_thinstair',
}
local next = next
for _, old_glass in ipairs(to_color) do
local glass_def = {}
for k, v in pairs(core.registered_nodes[old_glass]) do
glass_def[k] = v
end
if next(glass_def) == nil then
core.log('warning', old_glass .. ' not registered, skipping ...')
goto continue
end
glass_def.paramtype2 = 'color'
glass_def.palette = 'unifieddyes_palette_extended.png'
glass_def.groups['ud_param2_colorable'] = 1
glass_def.on_dig = unifieddyes.on_dig
-- unregister old node
core.registered_nodes[old_glass] = nil
-- register new node
core.register_node(':' .. old_glass, glass_def)
::continue::
local glass_def = {}
for k, v in pairs(core.registered_nodes[glass_name]) do
glass_def[k] = v
end
-- backward compat (1.0)
if core.registered_nodes['default:glass'] then
core.register_alias('glass:plain', 'default:glass')
end
if core.registered_nodes['default:obsidian_glass'] then
core.register_alias('glass:obsidian', 'default:obsidian_glass')
if next(glass_def) == nil then
core.log('warning', glass_name .. ' not registered, skipping ...')
goto continue
end
glass_def.paramtype2 = 'color'
glass_def.palette = 'unifieddyes_palette_extended.png'
glass_def.groups['ud_param2_colorable'] = 1
glass_def.on_dig = unifieddyes.on_dig
-- unregister old node
core.registered_nodes[glass_name] = nil
-- register new node
core.register_node(':' .. glass_name, glass_def)
::continue::
end
-- backward compat (1.0)
if core.registered_nodes['default:glass'] then
core.register_alias('glass:plain', 'default:glass')
end
if core.registered_nodes['default:obsidian_glass'] then
core.register_alias('glass:obsidian', 'default:obsidian_glass')
end