diff options
| author | Wuzzy <Wuzzy@disroot.org> | 2022-10-08 18:29:22 +0200 |
|---|---|---|
| committer | sfan5 <sfan5@live.de> | 2022-10-23 21:58:56 +0200 |
| commit | 2da92ed81e9867483a4d49bc1f9cbfb104755ff7 (patch) | |
| tree | 13a66263e22c2b87a1c18f482c38cdccffb8cd86 /games/devtest/mods/callbacks | |
| parent | cb7b96fc90c4432938b0be4a98a3067e6a07b215 (diff) | |
| download | minetest-2da92ed81e9867483a4d49bc1f9cbfb104755ff7.tar.xz | |
DevTest: Move callback entities to callbacks mod
Diffstat (limited to 'games/devtest/mods/callbacks')
| -rw-r--r-- | games/devtest/mods/callbacks/entities.lua | 78 | ||||
| -rw-r--r-- | games/devtest/mods/callbacks/init.lua | 1 | ||||
| -rw-r--r-- | games/devtest/mods/callbacks/textures/callbacks_callback_entity.png | bin | 0 -> 156 bytes | |||
| -rw-r--r-- | games/devtest/mods/callbacks/textures/callbacks_callback_entity_step.png | bin | 0 -> 166 bytes |
4 files changed, 79 insertions, 0 deletions
diff --git a/games/devtest/mods/callbacks/entities.lua b/games/devtest/mods/callbacks/entities.lua new file mode 100644 index 000000000..6a7f13d75 --- /dev/null +++ b/games/devtest/mods/callbacks/entities.lua @@ -0,0 +1,78 @@ +-- Entities that test their callbacks + +local message = function(msg) + minetest.log("action", msg) + minetest.chat_send_all(msg) +end + +local get_object_name = function(obj) + local name = "<nil>" + if obj then + if obj:is_player() then + name = obj:get_player_name() + else + name = "<entity>" + end + end + return name +end + +local spos = function(self) + return minetest.pos_to_string(vector.round(self.object:get_pos())) +end + +-- Callback test entity (all callbacks except on_step) +minetest.register_entity("callbacks:callback", { + initial_properties = { + visual = "upright_sprite", + textures = { "callbacks_callback_entity.png" }, + }, + + on_activate = function(self, staticdata, dtime_s) + message("Callback entity: on_activate! pos="..spos(self).."; dtime_s="..dtime_s) + end, + on_deactivate = function(self, removal) + message("Callback entity: on_deactivate! pos="..spos(self) .. "; removal=" .. tostring(removal)) + end, + on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir, damage) + local name = get_object_name(puncher) + message( + "Callback entity: on_punch! ".. + "pos="..spos(self).."; puncher="..name.."; ".. + "time_from_last_punch="..time_from_last_punch.."; ".. + "tool_capabilities="..tostring(dump(tool_capabilities)).."; ".. + "dir="..tostring(dump(dir)).."; damage="..damage) + end, + on_rightclick = function(self, clicker) + local name = get_object_name(clicker) + message("Callback entity: on_rightclick! pos="..spos(self).."; clicker="..name) + end, + on_death = function(self, killer) + local name = get_object_name(killer) + message("Callback entity: on_death! pos="..spos(self).."; killer="..name) + end, + on_attach_child = function(self, child) + local name = get_object_name(child) + message("Callback entity: on_attach_child! pos="..spos(self).."; child="..name) + end, + on_detach_child = function(self, child) + local name = get_object_name(child) + message("Callback entity: on_detach_child! pos="..spos(self).."; child="..name) + end, + on_detach = function(self, parent) + local name = get_object_name(parent) + message("Callback entity: on_detach! pos="..spos(self).."; parent="..name) + end, + get_staticdata = function(self) + message("Callback entity: get_staticdata! pos="..spos(self)) + end, +}) + +-- Only test on_step callback +minetest.register_entity("callbacks:callback_step", { + visual = "upright_sprite", + textures = { "callbacks_callback_entity_step.png" }, + on_step = function(self, dtime) + message("on_step callback entity: on_step! pos="..spos(self).."; dtime="..dtime) + end, +}) diff --git a/games/devtest/mods/callbacks/init.lua b/games/devtest/mods/callbacks/init.lua index c5b0984d5..8f719a3f8 100644 --- a/games/devtest/mods/callbacks/init.lua +++ b/games/devtest/mods/callbacks/init.lua @@ -1,2 +1,3 @@ dofile(minetest.get_modpath("callbacks").."/items.lua") dofile(minetest.get_modpath("callbacks").."/nodes.lua") +dofile(minetest.get_modpath("callbacks").."/entities.lua") diff --git a/games/devtest/mods/callbacks/textures/callbacks_callback_entity.png b/games/devtest/mods/callbacks/textures/callbacks_callback_entity.png Binary files differnew file mode 100644 index 000000000..c4c9066d1 --- /dev/null +++ b/games/devtest/mods/callbacks/textures/callbacks_callback_entity.png diff --git a/games/devtest/mods/callbacks/textures/callbacks_callback_entity_step.png b/games/devtest/mods/callbacks/textures/callbacks_callback_entity_step.png Binary files differnew file mode 100644 index 000000000..b67506a97 --- /dev/null +++ b/games/devtest/mods/callbacks/textures/callbacks_callback_entity_step.png |
