CSM/SSM: Add on_mods_loaded callback (#7411)
[oweals/minetest.git] / clientmods / preview / init.lua
index bf5fb3db810acfbe031dec11ff8f2d85e5e7b906..bb8d1d600c5d8595d341fe482dc1899d9b1ef7ba 100644 (file)
@@ -7,16 +7,32 @@ dofile("preview:example.lua")
 core.register_on_shutdown(function()
        print("[PREVIEW] shutdown client")
 end)
+local id = nil
 
-core.register_on_connect(function()
-       print("[PREVIEW] Player connection completed")
-       local server_info = core.get_server_info()
-       print("Server version: " .. server_info.protocol_version)
-       print("Server ip: " .. server_info.ip)
-       print("Server address: " .. server_info.address)
-       print("Server port: " .. server_info.port)
+local server_info = core.get_server_info()
+print("Server version: " .. server_info.protocol_version)
+print("Server ip: " .. server_info.ip)
+print("Server address: " .. server_info.address)
+print("Server port: " .. server_info.port)
+mod_channel = core.mod_channel_join("experimental_preview")
 
-       mod_channel = core.mod_channel_join("experimental_preview")
+core.after(4, function()
+       if mod_channel:is_writeable() then
+               mod_channel:send_all("preview talk to experimental")
+       end
+end)
+
+core.after(1, function()
+       id = core.localplayer:hud_add({
+                       hud_elem_type = "text",
+                       name = "example",
+                       number = 0xff0000,
+                       position = {x=0, y=1},
+                       offset = {x=8, y=-8},
+                       text = "You are using the preview mod",
+                       scale = {x=200, y=60},
+                       alignment = {x=1, y=-1},
+       })
 end)
 
 core.register_on_modchannel_message(function(channel, sender, message)
@@ -32,6 +48,12 @@ core.register_on_modchannel_signal(function(channel, signal)
                        .. channel)
 end)
 
+core.register_on_inventory_open(function(inventory)
+       print("INVENTORY OPEN")
+       print(dump(inventory))
+       return false
+end)
+
 core.register_on_placenode(function(pointed_thing, node)
        print("The local player place a node!")
        print("pointed_thing :" .. dump(pointed_thing))
@@ -116,12 +138,6 @@ core.after(2, function()
        preview_minimap()
 end)
 
-core.after(4, function()
-       if mod_channel:is_writeable() then
-               mod_channel:send_all("preview talk to experimental")
-       end
-end)
-
 core.after(5, function()
        if core.ui.minimap then
                core.ui.minimap:show()
@@ -178,3 +194,14 @@ core.register_chatcommand("privs", {
                return true, core.privs_to_string(minetest.get_privilege_list())
        end,
 })
+
+core.register_chatcommand("text", {
+       func = function(param)
+               return core.localplayer:hud_change(id, "text", param)
+       end,
+})
+
+
+core.register_on_mods_loaded(function()
+       core.log("Yeah preview mod is loaded with other CSM mods.")
+end)