From 95a5586e0fe196e2291acaf128b8d1b4f8a32510 Mon Sep 17 00:00:00 2001 From: Singularis Date: Mon, 21 Apr 2025 07:21:53 +0200 Subject: [advtrains] přechod na Advtrains 2.5.0 (první pokus) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - [ch_core/lib] drobná oprava - [advtrains_attachment_offset_patch] použití initial_properties --- advtrains_trackmap/viewer.lua | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 advtrains_trackmap/viewer.lua (limited to 'advtrains_trackmap/viewer.lua') diff --git a/advtrains_trackmap/viewer.lua b/advtrains_trackmap/viewer.lua new file mode 100644 index 0000000..b7205c8 --- /dev/null +++ b/advtrains_trackmap/viewer.lua @@ -0,0 +1,43 @@ +-- viewer.lua +-- standalone chatcommand/tool trackmap viewer window + +local tm = advtrains.trackmap + +local function node_left_click(pos, pname) + local node_ok, conns, rail_y=advtrains.get_rail_info_at(pos) + if not node_ok then + minetest.chat_send_player(pname, "Node is not a track!") + return + end + + local function node_callback(npos, conns, connid) + if vector.equals(pos, npos) then + return {color = "red"} + end + return nil + end + + local gridtbl = tm.generate_grid_map(pos, node_callback) + local fslabel = tm.render_grid_formspec(20, 20, gridtbl, {x=pos.x-35, z=pos.z-22}, 70, 44) + + minetest.show_formspec(pname, "advtrains_trackmap:test", fslabel) +end + + +minetest.register_craftitem("advtrains_trackmap:tool",{ + description = "Trackmap Tool\nPunch: Show map", + groups = {cracky=1}, -- key=name, value=rating; rating=1..3. + inventory_image = "at_il_tool.png", + wield_image = "at_il_tool.png", + stack_max = 1, + on_use = function(itemstack, player, pointed_thing) + local pname = player:get_player_name() + if not pname then + return + end + if pointed_thing.type=="node" then + local pos=pointed_thing.under + node_left_click(pos, pname) + end + end +}) \ No newline at end of file -- cgit v1.2.3