Add sample nodes & setting to enable them
parent
62ae7918ed
commit
55770131f2
|
@ -18,7 +18,7 @@ A set of very simple models for [Minetest](https://www.minetest.net/).
|
|||
<img src="previews/cube_1x2x1_model.png" />
|
||||
|
||||
- texture map:
|
||||
<img src="previews/cube_1x2x1_map.png" />
|
||||
<img src="textures/simple_models_sample_cube_1x2x1_map.png" />
|
||||
|
||||
simple_models_panel_1x2x1:
|
||||
- for door or panel-like nodes with dimensions 1x2x1
|
||||
|
@ -27,7 +27,7 @@ simple_models_panel_1x2x1:
|
|||
<img src="previews/panel_1x2x1_model.png" />
|
||||
|
||||
- texture map:
|
||||
<img src="previews/panel_1x2x1_map.png" />
|
||||
<img src="textures/simple_models_sample_panel_1x2x1_map.png" />
|
||||
|
||||
simple_models_panel_rear_1x2x1:
|
||||
- for door or panel-like nodes with dimensions 1x2x1 positioned at rear
|
||||
|
|
5
init.lua
5
init.lua
|
@ -57,3 +57,8 @@ simple_models.panel_rear = simple_models.panel_rear_1x2x1
|
|||
if not core.global_exists("smodel") then
|
||||
smodel = simple_models
|
||||
end
|
||||
|
||||
|
||||
if core.settings:get_bool("simple_models.enable_samples", false) then
|
||||
dofile(core.get_modpath(core.get_current_modname()) .. "/samples.lua")
|
||||
end
|
||||
|
|
|
@ -0,0 +1,145 @@
|
|||
|
||||
core.register_node("simple_models:node_tall", {
|
||||
description = "Tall Node",
|
||||
drawtype = "mesh",
|
||||
mesh = smodel.cube.mesh,
|
||||
tiles = {"simple_models_sample_cube_1x2x1_map.png"},
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.cube.box,
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.cube.box,
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {oddly_breakable_by_hand=1},
|
||||
})
|
||||
|
||||
core.register_node("simple_models:panel", {
|
||||
description = "Panel",
|
||||
drawtype = "mesh",
|
||||
tiles = {"simple_models_sample_panel_1x2x1_map.png"},
|
||||
mesh = smodel.panel.mesh,
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.panel.box,
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.panel.box,
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {oddly_breakable_by_hand=1},
|
||||
|
||||
on_rightclick = function(pos, node, clicker, stack, pointed_thing)
|
||||
core.swap_node(pos, {
|
||||
name = "simple_models:panel_rear",
|
||||
param1 = node.param1,
|
||||
param2 = node.param2,
|
||||
})
|
||||
if core.global_exists("sounds") and sounds.woosh then
|
||||
sounds.woosh()
|
||||
end
|
||||
|
||||
return stack
|
||||
end,
|
||||
})
|
||||
|
||||
core.register_node("simple_models:panel_rear", {
|
||||
description = "Panel",
|
||||
drawtype = "mesh",
|
||||
tiles = {"simple_models_sample_panel_1x2x1_map.png"},
|
||||
mesh = smodel.panel_rear.mesh,
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.panel_rear.box,
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.panel_rear.box,
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {oddly_breakable_by_hand=1},
|
||||
|
||||
on_rightclick = function(pos, node, clicker, stack, pointed_thing)
|
||||
core.swap_node(pos, {
|
||||
name="simple_models:panel",
|
||||
param1 = node.param1,
|
||||
param2 = node.param2,
|
||||
})
|
||||
if core.global_exists("sounds") and sounds.woosh then
|
||||
sounds.woosh()
|
||||
end
|
||||
|
||||
return stack
|
||||
end,
|
||||
})
|
||||
|
||||
core.register_node("simple_models:door", {
|
||||
description = "Door",
|
||||
drawtype = "mesh",
|
||||
tiles = {"simple_models_sample_panel_1x2x1_map.png"},
|
||||
mesh = smodel.panel.mesh,
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.panel.box,
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.panel.box,
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {oddly_breakable_by_hand=1},
|
||||
|
||||
on_rightclick = function(pos, node, clicker, stack, pointed_thing)
|
||||
local rot = node.param2-1
|
||||
if rot < 0 then
|
||||
rot = 3
|
||||
end
|
||||
core.swap_node(pos, {
|
||||
name = "simple_models:door_open",
|
||||
param1 = node.param1,
|
||||
param2 = rot,
|
||||
})
|
||||
if core.global_exists("sounds") and sounds.door_open then
|
||||
sounds.door_open()
|
||||
end
|
||||
|
||||
return stack
|
||||
end,
|
||||
})
|
||||
|
||||
core.register_node("simple_models:door_open", {
|
||||
description = "Door",
|
||||
drawtype = "mesh",
|
||||
tiles = {"simple_models_sample_panel_1x2x1_map.png"},
|
||||
mesh = smodel.panel_rear.mesh,
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.panel_rear.box,
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = smodel.panel_rear.box,
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {oddly_breakable_by_hand=1},
|
||||
|
||||
on_rightclick = function(pos, node, clicker, stack, pointed_thing)
|
||||
local rot = node.param2+1
|
||||
if rot > 3 then
|
||||
rot = 0
|
||||
end
|
||||
core.swap_node(pos, {
|
||||
name = "simple_models:door",
|
||||
param1 = node.param1,
|
||||
param2 = rot,
|
||||
})
|
||||
if core.global_exists("sounds") and sounds.door_open then
|
||||
sounds.door_open()
|
||||
end
|
||||
|
||||
return stack
|
||||
end,
|
||||
})
|
|
@ -0,0 +1,3 @@
|
|||
|
||||
# Enables some sample nodes using models.
|
||||
simple_models.enable_samples (Enable node samples) bool false
|
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 257 B |
Before Width: | Height: | Size: 253 B After Width: | Height: | Size: 253 B |
Loading…
Reference in New Issue