Add 3D torches
This commit is contained in:
parent
48e381c43f
commit
6ce55c41b7
47
mods/default/models/torch_floor.obj
Normal file
47
mods/default/models/torch_floor.obj
Normal file
@ -0,0 +1,47 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'torch_floor_BlockMen.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v 0.061653 -0.496733 0.061674
|
||||
v 0.061653 -0.496733 -0.062460
|
||||
v -0.059258 -0.496733 0.061674
|
||||
v -0.059258 -0.496733 -0.062460
|
||||
v -0.059994 -0.497234 0.497315
|
||||
v -0.059994 -0.497234 -0.498102
|
||||
v -0.059994 0.507706 -0.498102
|
||||
v -0.059994 0.507706 0.497315
|
||||
v -0.494900 0.507706 0.061709
|
||||
v -0.494900 -0.497234 0.061709
|
||||
v 0.497295 0.507706 0.061709
|
||||
v 0.497295 -0.497234 0.061709
|
||||
v 0.062686 0.507706 -0.498102
|
||||
v 0.062686 -0.497234 -0.498102
|
||||
v 0.062686 0.507706 0.497315
|
||||
v 0.062686 -0.497234 0.497315
|
||||
v -0.494900 0.507706 -0.063149
|
||||
v -0.494900 -0.497234 -0.063149
|
||||
v 0.497295 0.507706 -0.063149
|
||||
v 0.497295 -0.497234 -0.063149
|
||||
v -0.058217 0.134520 0.060216
|
||||
v -0.058217 0.135872 -0.061813
|
||||
v 0.061944 0.135872 -0.061813
|
||||
v 0.061944 0.134520 0.060216
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.437500 0.500000
|
||||
vt 0.562500 0.500000
|
||||
vt 0.562500 0.625000
|
||||
vt 0.437541 0.625000
|
||||
vt 0.437541 0.000000
|
||||
vt 0.562500 0.000000
|
||||
vt 0.562500 0.125000
|
||||
vt 0.437500 0.125000
|
||||
usemtl None
|
||||
s off
|
||||
f 11/1 9/2 10/3 12/4
|
||||
f 22/5 21/6 24/7 23/8
|
||||
f 17/2 19/1 20/4 18/3
|
||||
f 13/2 15/1 16/4 14/3
|
||||
f 3/9 4/10 2/11 1/12
|
||||
f 8/1 7/2 6/3 5/4
|
47
mods/default/models/torch_wall.obj
Normal file
47
mods/default/models/torch_wall.obj
Normal file
@ -0,0 +1,47 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'torch_wall_BlockMen.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v 0.061653 -0.554493 -0.328908
|
||||
v 0.061653 -0.442208 -0.381835
|
||||
v -0.059258 -0.554493 -0.328908
|
||||
v -0.059258 -0.442208 -0.381835
|
||||
v -0.059994 -0.948766 -0.143618
|
||||
v -0.059994 -0.048361 -0.568031
|
||||
v -0.059994 0.380112 0.340988
|
||||
v -0.059994 -0.520293 0.765401
|
||||
v -0.494900 -0.126265 0.579672
|
||||
v -0.494900 -0.554738 -0.329346
|
||||
v 0.497295 -0.126265 0.579672
|
||||
v 0.497295 -0.554738 -0.329346
|
||||
v 0.062686 0.380112 0.340988
|
||||
v 0.062686 -0.048361 -0.568031
|
||||
v 0.062686 -0.520293 0.765401
|
||||
v 0.062686 -0.948766 -0.143618
|
||||
v -0.494900 -0.013324 0.526437
|
||||
v -0.494900 -0.441797 -0.382582
|
||||
v 0.497295 -0.013324 0.526437
|
||||
v 0.497295 -0.441797 -0.382582
|
||||
v -0.058217 -0.284029 0.241470
|
||||
v -0.058217 -0.173071 0.190665
|
||||
v 0.061944 -0.173071 0.190665
|
||||
v 0.061944 -0.284029 0.241470
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.437500 0.500000
|
||||
vt 0.562500 0.500000
|
||||
vt 0.562500 0.625000
|
||||
vt 0.437541 0.625000
|
||||
vt 0.437541 0.000000
|
||||
vt 0.562500 0.000000
|
||||
vt 0.562500 0.125000
|
||||
vt 0.437500 0.125000
|
||||
usemtl None
|
||||
s off
|
||||
f 11/1 9/2 10/3 12/4
|
||||
f 22/5 21/6 24/7 23/8
|
||||
f 17/2 19/1 20/4 18/3
|
||||
f 13/2 15/1 16/4 14/3
|
||||
f 3/9 4/10 2/11 1/12
|
||||
f 8/1 7/2 6/3 5/4
|
File diff suppressed because it is too large
Load Diff
1584
mods/default/nodes/old.lua
Normal file
1584
mods/default/nodes/old.lua
Normal file
File diff suppressed because it is too large
Load Diff
106
mods/default/nodes/torch.lua
Normal file
106
mods/default/nodes/torch.lua
Normal file
@ -0,0 +1,106 @@
|
||||
minetest.register_craftitem("default:torch", {
|
||||
description = "Torch",
|
||||
inventory_image = "default_torch.png",
|
||||
wield_image = "default_torch.png",
|
||||
wield_scale = {x = 1, y = 1, z = 1 + 1/16},
|
||||
liquids_pointable = false,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local above = pointed_thing.above
|
||||
local under = pointed_thing.under
|
||||
local wdir = minetest.dir_to_wallmounted({x = under.x - above.x, y = under.y - above.y, z = under.z - above.z})
|
||||
if wdir < 1 then
|
||||
return itemstack
|
||||
end
|
||||
local fakestack = itemstack
|
||||
local retval = false
|
||||
if wdir <= 1 then
|
||||
retval = fakestack:set_name("default:torch_floor")
|
||||
else
|
||||
retval = fakestack:set_name("default:torch_wall")
|
||||
end
|
||||
if not retval then
|
||||
return itemstack
|
||||
end
|
||||
itemstack, retval = minetest.item_place(fakestack, placer, pointed_thing, dir)
|
||||
itemstack:set_name("default:torch")
|
||||
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("default:torch_floor", {
|
||||
description = "Torch",
|
||||
inventory_image = "default_torch.png",
|
||||
wield_image = "default_torch.png",
|
||||
wield_scale = {x = 1, y = 1, z = 1 + 1/16},
|
||||
drawtype = "mesh",
|
||||
mesh = "torch_floor.obj",
|
||||
tiles = {
|
||||
{
|
||||
name = "default_torch_on_floor_animated.png",
|
||||
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
|
||||
}
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
light_source = 13,
|
||||
groups = {choppy = 2, dig_immediate = 3, flammable = 1, not_in_creative_inventory = 1, attached_node = 1, torch = 1},
|
||||
drop = "default:torch",
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = {-1/16, -2/16, -1/16, 1/16, 0.5, 1/16},
|
||||
wall_bottom = {-1/16, -0.5, -1/16, 1/16, 2/16, 1/16},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("default:torch_wall", {
|
||||
inventory_image = "default_torch.png",
|
||||
wield_image = "default_torch.png",
|
||||
wield_scale = {x = 1, y = 1, z = 1 + 1/16},
|
||||
drawtype = "mesh",
|
||||
mesh = "torch_wall.obj",
|
||||
tiles = {
|
||||
{
|
||||
name = "default_torch_on_floor_animated.png",
|
||||
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
|
||||
}
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "wallmounted",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
light_source = 13,
|
||||
groups = {choppy = 2, dig_immediate = 3, flammable = 1, not_in_creative_inventory = 1, attached_node = 1, torch = 1},
|
||||
drop = "default:torch",
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = {-0.1, -0.1, -0.1, 0.1, 0.5, 0.1},
|
||||
wall_bottom = {-0.1, -0.5, -0.1, 0.1, 0.1, 0.1},
|
||||
wall_side = {-0.5, -0.3, -0.1, -0.2, 0.3, 0.1},
|
||||
},
|
||||
})
|
||||
|
||||
-- convert old torches and remove ceiling placed
|
||||
minetest.register_abm({
|
||||
nodenames = {"default:torch"},
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos)
|
||||
local n = minetest.get_node(pos)
|
||||
local def = minetest.registered_nodes[n.name]
|
||||
if n and def then
|
||||
local wdir = n.param2
|
||||
local node_name = "default:torch_wall"
|
||||
if wdir < 1 then
|
||||
minetest.remove_node(pos)
|
||||
minetest.add_item(pos, {name = "default:torch"})
|
||||
return
|
||||
elseif wdir <= 1 then
|
||||
node_name = "default:torch_floor"
|
||||
end
|
||||
minetest.set_node(pos, {name = node_name, param2 = wdir})
|
||||
end
|
||||
end
|
||||
})
|
Loading…
x
Reference in New Issue
Block a user