Add sample nodes & setting to enable them

master
Jordan Irwin 2021-08-23 15:27:48 -07:00
parent 62ae7918ed
commit 55770131f2
6 changed files with 155 additions and 2 deletions

View File

@ -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

View File

@ -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

145
samples.lua Normal file
View File

@ -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,
})

3
settingtypes.txt Normal file
View File

@ -0,0 +1,3 @@
# Enables some sample nodes using models.
simple_models.enable_samples (Enable node samples) bool false

View File

Before

Width:  |  Height:  |  Size: 257 B

After

Width:  |  Height:  |  Size: 257 B

View File

Before

Width:  |  Height:  |  Size: 253 B

After

Width:  |  Height:  |  Size: 253 B