2 Commits

Author SHA1 Message Date
89b0ed7366 optimize textures 2023-01-04 19:40:25 +01:00
860d3f53d0 overhaul colored nodes handling 2023-01-04 19:36:50 +01:00
8 changed files with 85 additions and 29 deletions

View File

@ -33,9 +33,12 @@ dofile(MP.."/octagon_panes.lua")
dofile(MP.."/forcefield.lua")
dofile(MP.."/crafts.lua")
if minetest.get_modpath("unifieddyes") then
-- register colored nodes
dofile(MP.."/nodes_colored.lua")
end
if minetest.get_modpath("letters") then
-- register letter nodes
dofile(MP.."/letters.lua")
end
minetest.log("action", "[scifi_nodes] loaded.")
end

View File

@ -131,8 +131,8 @@ minetest.register_abm({
nodenames = {"scifi_nodes:egg"},
interval = 30, chance = 10,
action = function(pos, node, _, _)
minetest.add_entity(pos, "scifi_mobs:xenomorph")
minetest.remove_node(pos)
minetest.env:add_entity(pos, "scifi_mobs:xenomorph")
minetest.env:remove_node(pos)
end
})
end
@ -189,12 +189,12 @@ minetest.register_node("scifi_nodes:pad", {
if minetest.get_node({x=ppos.x, y=ppos.y, z=ppos.z}).name == "scifi_nodes:pad" then
clicker:setpos(position2)
end
local objs = minetest.get_objects_inside_radius(pos, 3)
local objs = minetest.env:get_objects_inside_radius(pos, 3)
for _, obj in pairs(objs) do
if obj:get_luaentity() and not obj:is_player() then
if obj:get_luaentity().name == "__builtin:item" then
local item1 = obj:get_luaentity().itemstring
local obj2 = minetest.add_entity(position2, "__builtin:item")
local obj2 = minetest.env:add_entity(position2, "__builtin:item")
obj2:get_luaentity():set_item(item1)
obj:remove()
end
@ -223,12 +223,12 @@ minetest.register_node("scifi_nodes:pad", {
if minetest.get_node({x=ppos.x, y=ppos.y, z=ppos.z}).name == "scifi_nodes:pad" then
clicker:setpos(position1)
end
local objs = minetest.get_objects_inside_radius(pos, 3)
local objs = minetest.env:get_objects_inside_radius(pos, 3)
for _, obj in pairs(objs) do
if obj:get_luaentity() and not obj:is_player() then
if obj:get_luaentity().name == "__builtin:item" then
local item1 = obj:get_luaentity().itemstring
local obj2 = minetest.add_entity(position1, "__builtin:item")
local obj2 = minetest.env:add_entity(position1, "__builtin:item")
obj2:get_luaentity():set_item(item1)
obj:remove()
end

View File

@ -642,28 +642,13 @@ for _, row in ipairs(nodetypes) do
node_def.palette = "unifieddyes_palette_extended.png"
node_def.groups.ud_param2_colorable = 1
node_def.airbrush_replacement_node = "scifi_nodes:"..name.."_colored"
-- NOTE: about the "Node scifi_nodes:xxx has a palette, but not a suitable paramtype2" warning:
-- inserting "color" here (which would be the proper type) results in wrong
-- colored original nodes due to existing param2type = "facedir"
-- a migration lbm for those might be the proper solution but has to be thoroughly tested first
node_def.paramtype2 = nil
end
-- register node
minetest.register_node("scifi_nodes:"..name, node_def)
if is_colorable and has_unifieddyes_mod then
-- register colored node
minetest.register_node("scifi_nodes:"..name.."_colored", {
description = desc,
tiles = {"scifi_nodes_"..name..".png"},
groups = {
cracky = 1,
ud_param2_colorable = 1,
not_in_creative_inventory = 1
},
palette = "unifieddyes_palette_extended.png",
paramtype = "light",
paramtype2 = "color",
light_source = light,
sounds = scifi_nodes.node_sound_glass_defaults(),
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig
})
end
end

68
nodes_colored.lua Normal file
View File

@ -0,0 +1,68 @@
minetest.register_node("scifi_nodes:whiteoct_colored", {
description = "white octagon",
tiles = {"scifi_nodes_super_white.png"},
overlay_tiles = {{ name = "scifi_nodes_whiteoct_overlay.png", color = "white" }},
groups = {
cracky = 1,
ud_param2_colorable = 1,
not_in_creative_inventory = 1
},
palette = "unifieddyes_palette_extended.png",
paramtype = "light",
paramtype2 = "color",
sounds = scifi_nodes.node_sound_glass_defaults(),
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig
})
minetest.register_node("scifi_nodes:whitetile_colored", {
description = "white tile2",
tiles = {"scifi_nodes_whitetile.png"},
overlay_tiles = {{ name = "scifi_nodes_whitetile_overlay.png", color = "white" }},
groups = {
cracky = 1,
ud_param2_colorable = 1,
not_in_creative_inventory = 1
},
palette = "unifieddyes_palette_extended.png",
paramtype = "light",
paramtype2 = "color",
sounds = scifi_nodes.node_sound_glass_defaults(),
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig
})
minetest.register_node("scifi_nodes:white_colored", {
description = "plastic wall",
tiles = {"scifi_nodes_white.png"},
-- NOTE: colorless overlay not enabled for the plastic wall node, doesn't look that natural
-- overlay_tiles = {{ name = "scifi_nodes_white_overlay.png", color = "white" }},
groups = {
cracky = 1,
ud_param2_colorable = 1,
not_in_creative_inventory = 1
},
palette = "unifieddyes_palette_extended.png",
paramtype = "light",
paramtype2 = "color",
sounds = scifi_nodes.node_sound_glass_defaults(),
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig
})
minetest.register_node("scifi_nodes:white2_colored", {
description = "plastic",
tiles = {"scifi_nodes_white2.png"},
groups = {
cracky = 1,
ud_param2_colorable = 1,
not_in_creative_inventory = 1
},
palette = "unifieddyes_palette_extended.png",
paramtype = "light",
paramtype2 = "color",
sounds = scifi_nodes.node_sound_glass_defaults(),
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 566 B

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B