diff options
author | orwell96 <orwell@bleipb.de> | 2018-06-05 15:33:34 +0200 |
---|---|---|
committer | orwell96 <orwell@bleipb.de> | 2018-06-14 17:39:42 +0200 |
commit | b8f2ccc63882c77832e99bb692a7c25d2cd3a6ab (patch) | |
tree | 2ed5a6a51e9a17d37c291cf3d33d03a1fe3ecff5 /advtrains_signals_ks/init.lua | |
parent | 105aacccf9304a4eddb4bee81eb9c64b63aae9f4 (diff) | |
download | advtrains-b8f2ccc63882c77832e99bb692a7c25d2cd3a6ab.tar.gz advtrains-b8f2ccc63882c77832e99bb692a7c25d2cd3a6ab.tar.bz2 advtrains-b8f2ccc63882c77832e99bb692a7c25d2cd3a6ab.zip |
Create models for Ks signals
Degrotate doesn't work for meshes (why?), so all I've done was pretty useless...
Diffstat (limited to 'advtrains_signals_ks/init.lua')
-rw-r--r-- | advtrains_signals_ks/init.lua | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/advtrains_signals_ks/init.lua b/advtrains_signals_ks/init.lua new file mode 100644 index 0000000..a4380d2 --- /dev/null +++ b/advtrains_signals_ks/init.lua @@ -0,0 +1,94 @@ +-- Ks Signals for advtrains +-- will implement the advtrains signal API (which does not exist yet) + +local function place_degrotate(pos, placer, itemstack, pointed_thing) + local yaw = placer:get_look_horizontal() + local param = math.floor(yaw * 90 / math.pi + 0.5) + local n = minetest.get_node(pos) + n.param2 = param + minetest.set_node(pos, n) +end + +minetest.register_node("advtrains_signals_ks:mast", { + drawtype = "mesh", + paramtype="light", + paramtype2="degrotate", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}, + }, + mesh = "advtrains_signals_ks_mast.obj", + tiles = {"advtrains_signals_ks_mast.png"}, + description="Ks Signal Mast", + sunlight_propagates=true, + groups = { + cracky=3, + not_blocking_trains=1, + --save_in_at_nodedb=2, + }, + after_place_node = place_degrotate, +}) + +minetest.register_node("advtrains_signals_ks:head_main", { + drawtype = "mesh", + paramtype="light", + paramtype2="degrotate", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}, + }, + mesh = "advtrains_signals_ks_head_main.obj", + tiles = {"advtrains_signals_ks_mast.png", "advtrains_signals_ks_head.png"}, + description="Ks Main Signal Screen", + sunlight_propagates=true, + groups = { + cracky=3, + not_blocking_trains=1, + --save_in_at_nodedb=2, + }, + after_place_node = place_degrotate, +}) + +minetest.register_node("advtrains_signals_ks:zs_top", { + drawtype = "mesh", + paramtype="light", + paramtype2="degrotate", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}, + }, + mesh = "advtrains_signals_ks_zs_top.obj", + tiles = {"advtrains_signals_ks_mast.png", "advtrains_signals_ks_head.png"}, + description="Ks Speed Restriction Signal (top)", + sunlight_propagates=true, + groups = { + cracky=3, + not_blocking_trains=1, + --save_in_at_nodedb=2, + }, + after_place_node = place_degrotate, +}) + +minetest.register_node("advtrains_signals_ks:zs_bottom", { + drawtype = "mesh", + paramtype="light", + paramtype2="degrotate", + walkable = false, + selection_box = { + type = "fixed", + fixed = {-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}, + }, + mesh = "advtrains_signals_ks_zs_bottom.obj", + tiles = {"advtrains_signals_ks_mast.png", "advtrains_signals_ks_head.png"}, + description="Ks Speed Restriction Signal (bottom)", + sunlight_propagates=true, + groups = { + cracky=3, + not_blocking_trains=1, + --save_in_at_nodedb=2, + }, + after_place_node = place_degrotate, +}) |