mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-22 10:31:06 +01:00
Make end rods use a mesh model
* merged the 3 textures of the end rod into one * made a proper image mask for the colored end rods * (used to be hardcoded & didn't work for higher-res texture packs)
This commit is contained in:
parent
c31226041f
commit
1476c7ae59
7 changed files with 74 additions and 24 deletions
|
@ -60,32 +60,20 @@ minetest.register_node("mcl_end:purpur_pillar", {
|
||||||
})
|
})
|
||||||
|
|
||||||
local end_rod_name = "mcl_end:end_rod"
|
local end_rod_name = "mcl_end:end_rod"
|
||||||
local end_rod_side_tex = "mcl_end_end_rod_side.png"
|
|
||||||
local end_rod_def = {
|
local end_rod_def = {
|
||||||
description = S("End Rod"),
|
description = S("End Rod"),
|
||||||
_doc_items_longdesc = S("End rods are decorative light sources."),
|
_doc_items_longdesc = S("End rods are decorative light sources."),
|
||||||
tiles = {
|
tiles = {
|
||||||
"mcl_end_end_rod_top.png",
|
"mcl_end_end_rod.png",
|
||||||
"mcl_end_end_rod_bottom.png",
|
|
||||||
end_rod_side_tex,
|
|
||||||
end_rod_side_tex,
|
|
||||||
end_rod_side_tex,
|
|
||||||
end_rod_side_tex,
|
|
||||||
},
|
},
|
||||||
drawtype = "nodebox",
|
drawtype = "mesh",
|
||||||
|
mesh = "mcl_end_rod.obj",
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
light_source = minetest.LIGHT_MAX,
|
light_source = minetest.LIGHT_MAX,
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
groups = { dig_immediate=3, deco_block=1, destroy_by_lava_flow=1, end_rod=1 },
|
groups = { dig_immediate=3, deco_block=1, destroy_by_lava_flow=1, end_rod=1 },
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{-0.125, -0.5, -0.125, 0.125, -0.4375, 0.125}, -- Base
|
|
||||||
{-0.0625, -0.4375, -0.0625, 0.0625, 0.5, 0.0625}, -- Rod
|
|
||||||
},
|
|
||||||
},
|
|
||||||
selection_box = {
|
selection_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
|
@ -156,8 +144,7 @@ local colored_end_rods = {
|
||||||
{"lime", S("Lime End Rod"), "green"},
|
{"lime", S("Lime End Rod"), "green"},
|
||||||
{"lightblue", S("Light Blue End Rod"), "lightblue"},
|
{"lightblue", S("Light Blue End Rod"), "lightblue"},
|
||||||
}
|
}
|
||||||
local top_mask = "^[mask:mobs_mc_empty.png\\^[fill\\:2x2\\:7,7\\:white"
|
local end_rod_mask = "^[mask:mcl_end_end_rod_mask.png"
|
||||||
local side_mask = "^[mask:mobs_mc_empty.png\\^[fill\\:16x15\\:0,0\\:white"
|
|
||||||
for num, row in ipairs(colored_end_rods) do
|
for num, row in ipairs(colored_end_rods) do
|
||||||
local name = row[1]
|
local name = row[1]
|
||||||
local desc = row[2]
|
local desc = row[2]
|
||||||
|
@ -168,16 +155,12 @@ for num, row in ipairs(colored_end_rods) do
|
||||||
def._doc_items_create_entry = false
|
def._doc_items_create_entry = false
|
||||||
local side_tex
|
local side_tex
|
||||||
if name == "pink" then
|
if name == "pink" then
|
||||||
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. top_mask .. "^[multiply:" .. name .. "^[hsl:0:300)"
|
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. end_rod_mask .. "^[multiply:" .. name .. "^[hsl:0:300)"
|
||||||
side_tex = end_rod_side_tex .. "^(" .. end_rod_side_tex .. side_mask .. "^[multiply:" .. name .. "^[hsl:0:300)"
|
|
||||||
elseif num > 4 then
|
elseif num > 4 then
|
||||||
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. top_mask .. "^[multiply:" .. name .. "^[hsl:0:300^[opacity:120)"
|
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. end_rod_mask .. "^[multiply:" .. name .. "^[hsl:0:300^[opacity:120)"
|
||||||
side_tex = end_rod_side_tex .. "^(" .. end_rod_side_tex .. side_mask .. "^[multiply:" .. name .. "^[hsl:0:300^[opacity:120)"
|
|
||||||
else
|
else
|
||||||
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. top_mask .. "^[multiply:" .. name .. "^[hsl:0:-100^[opacity:170)"
|
def.tiles[1] = def.tiles[1] .. "^(" .. def.tiles[1] .. end_rod_mask .. "^[multiply:" .. name .. "^[hsl:0:-100^[opacity:170)"
|
||||||
side_tex = end_rod_side_tex .. "^(" .. end_rod_side_tex .. side_mask .. "^[multiply:" .. name .. "^[hsl:0:-100^[opacity:170)"
|
|
||||||
end
|
end
|
||||||
for i=3, 6 do def.tiles[i] = side_tex end
|
|
||||||
minetest.register_node(end_rod_name.."_"..name, def)
|
minetest.register_node(end_rod_name.."_"..name, def)
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
|
|
67
mods/ITEMS/mcl_end/models/mcl_end_rod.obj
Normal file
67
mods/ITEMS/mcl_end/models/mcl_end_rod.obj
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# Blender 3.6.7
|
||||||
|
# www.blender.org
|
||||||
|
o Cube
|
||||||
|
v 0.125000 -0.437500 -0.125000
|
||||||
|
v 0.125000 -0.500000 -0.125000
|
||||||
|
v 0.125000 -0.437500 0.125000
|
||||||
|
v 0.125000 -0.500000 0.125000
|
||||||
|
v -0.125000 -0.437500 -0.125000
|
||||||
|
v -0.125000 -0.500000 -0.125000
|
||||||
|
v -0.125000 -0.437500 0.125000
|
||||||
|
v -0.125000 -0.500000 0.125000
|
||||||
|
v -0.062500 -0.437500 0.062500
|
||||||
|
v -0.062500 0.500000 0.062500
|
||||||
|
v -0.062500 -0.437500 -0.062500
|
||||||
|
v -0.062500 0.500000 -0.062500
|
||||||
|
v 0.062500 -0.437500 0.062500
|
||||||
|
v 0.062500 0.500000 0.062500
|
||||||
|
v 0.062500 -0.437500 -0.062500
|
||||||
|
v 0.062500 0.500000 -0.062500
|
||||||
|
vn -0.0000 1.0000 -0.0000
|
||||||
|
vn -0.0000 -0.0000 1.0000
|
||||||
|
vn -1.0000 -0.0000 -0.0000
|
||||||
|
vn -0.0000 -1.0000 -0.0000
|
||||||
|
vn 1.0000 -0.0000 -0.0000
|
||||||
|
vn -0.0000 -0.0000 -1.0000
|
||||||
|
vt 0.250000 1.000000
|
||||||
|
vt -0.000000 1.000000
|
||||||
|
vt -0.000000 0.750000
|
||||||
|
vt 0.250000 0.750000
|
||||||
|
vt 0.250000 0.000000
|
||||||
|
vt 0.250000 0.062500
|
||||||
|
vt 0.000000 0.062500
|
||||||
|
vt 0.000000 0.000000
|
||||||
|
vt 1.000000 0.000000
|
||||||
|
vt 1.000000 0.062500
|
||||||
|
vt 0.750000 0.062500
|
||||||
|
vt 0.750000 0.000000
|
||||||
|
vt 0.000000 0.437500
|
||||||
|
vt 0.250000 0.437500
|
||||||
|
vt 0.250000 0.687500
|
||||||
|
vt 0.000000 0.687500
|
||||||
|
vt 0.500000 0.000000
|
||||||
|
vt 0.500000 0.062500
|
||||||
|
vt 1.000000 1.000000
|
||||||
|
vt 0.875000 1.000000
|
||||||
|
vt 0.875000 0.062500
|
||||||
|
vt 0.750000 1.000000
|
||||||
|
vt 0.625000 1.000000
|
||||||
|
vt 0.625000 0.062500
|
||||||
|
vt 0.500000 1.000000
|
||||||
|
vt 0.187500 0.812500
|
||||||
|
vt 0.187500 0.937500
|
||||||
|
vt 0.062500 0.937500
|
||||||
|
vt 0.062500 0.812500
|
||||||
|
s 0
|
||||||
|
f 1/1/1 5/2/1 7/3/1 3/4/1
|
||||||
|
f 4/5/2 3/6/2 7/7/2 8/8/2
|
||||||
|
f 8/9/3 7/10/3 5/11/3 6/12/3
|
||||||
|
f 6/13/4 2/14/4 4/15/4 8/16/4
|
||||||
|
f 2/17/5 1/18/5 3/6/5 4/5/5
|
||||||
|
f 6/12/6 5/11/6 1/18/6 2/17/6
|
||||||
|
f 9/10/3 10/19/3 12/20/3 11/21/3
|
||||||
|
f 11/21/6 12/20/6 16/22/6 15/11/6
|
||||||
|
f 15/11/5 16/22/5 14/23/5 13/24/5
|
||||||
|
f 13/24/2 14/23/2 10/25/2 9/18/2
|
||||||
|
f 11/26/4 15/27/4 13/28/4 9/29/4
|
||||||
|
f 16/27/1 12/28/1 10/29/1 14/26/1
|
BIN
textures/mcl_end_end_rod.png
Normal file
BIN
textures/mcl_end_end_rod.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 139 B |
Binary file not shown.
Before Width: | Height: | Size: 78 B |
BIN
textures/mcl_end_end_rod_mask.png
Normal file
BIN
textures/mcl_end_end_rod_mask.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 87 B |
Binary file not shown.
Before Width: | Height: | Size: 103 B |
Binary file not shown.
Before Width: | Height: | Size: 87 B |
Loading…
Reference in a new issue