aboutsummaryrefslogtreecommitdiff
path: root/games/devtest/mods/callbacks
diff options
context:
space:
mode:
authorWuzzy <Wuzzy@disroot.org>2022-10-08 18:29:22 +0200
committersfan5 <sfan5@live.de>2022-10-23 21:58:56 +0200
commit2da92ed81e9867483a4d49bc1f9cbfb104755ff7 (patch)
tree13a66263e22c2b87a1c18f482c38cdccffb8cd86 /games/devtest/mods/callbacks
parentcb7b96fc90c4432938b0be4a98a3067e6a07b215 (diff)
downloadminetest-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.lua78
-rw-r--r--games/devtest/mods/callbacks/init.lua1
-rw-r--r--games/devtest/mods/callbacks/textures/callbacks_callback_entity.pngbin0 -> 156 bytes
-rw-r--r--games/devtest/mods/callbacks/textures/callbacks_callback_entity_step.pngbin0 -> 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
new file mode 100644
index 000000000..c4c9066d1
--- /dev/null
+++ b/games/devtest/mods/callbacks/textures/callbacks_callback_entity.png
Binary files differ
diff --git a/games/devtest/mods/callbacks/textures/callbacks_callback_entity_step.png b/games/devtest/mods/callbacks/textures/callbacks_callback_entity_step.png
new file mode 100644
index 000000000..b67506a97
--- /dev/null
+++ b/games/devtest/mods/callbacks/textures/callbacks_callback_entity_step.png
Binary files differ