Add 3D torches

This commit is contained in:
BlockMen 2015-10-10 22:25:38 +02:00
parent 48e381c43f
commit 6ce55c41b7
5 changed files with 1787 additions and 1637 deletions

View 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

View 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

File diff suppressed because it is too large Load Diff

View 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
})