]> git.lizzy.rs Git - hydra-dragonfire.git/blobdiff - example/print-node.lua
Event system
[hydra-dragonfire.git] / example / print-node.lua
index 3cf514e846cbe2a768490df64142cce9ef8fd93c..d72f4744476d665a6de0620b957039c7040a3a4f 100755 (executable)
@@ -1,20 +1,21 @@
 #!/usr/bin/env hydra-dragonfire
 local client = require("client")()
-client:enable("map")
 
-client:subscribe("move_player")
+client:enable("pkts", "map")
+client.pkts:subscribe("move_player")
+
 client:connect()
 
 local pos
 
-while not hydra.canceled() do
-       local pkt, interrupted = client:poll(1)
+while true do
+       local evt = client:poll(1)
 
-       if pkt then
-               pos = (pkt.pos / hydra.BS + vec3(0, -1, 0)):round()
-       elseif not interrupted then
+       if not evt or evt.type == "disconnect" or evt.type == "interrupt" then
                break
-       elseif pos then
+       elseif evt.type == "pkt" then
+               pos = (evt.pkt_data.pos / hydra.BS + vec3(0, -1, 0)):round()
+       elseif evt.type == "timeout" and pos then
                local node = client.map:node(pos)
                print(pos, node and node.param0)
        end