2022-02-11 01:26:20 +01:00
|
|
|
-- rumble - Client side mod for Minetest
|
|
|
|
-- Scripted by: Li0n
|
|
|
|
|
|
|
|
local modname = minetest.get_current_modname()
|
|
|
|
local damage_taken = "["..modname.."]".." damage_taken "
|
|
|
|
local player_died = "["..modname.."]".." player_died"
|
2022-02-19 19:39:08 +01:00
|
|
|
local local_hp_change = "["..modname.."]".." hp_change "
|
|
|
|
local tnt_explode = "["..modname.."]".." tnt_explode "
|
2022-02-11 01:26:20 +01:00
|
|
|
-- local rightclick =
|
|
|
|
|
|
|
|
-- step 1 (start)
|
|
|
|
minetest.register_on_mods_loaded(function()
|
|
|
|
minetest.display_chat_message(modname.." mod loaded. May the rumble be with you!")
|
|
|
|
return false
|
|
|
|
end)
|
|
|
|
|
|
|
|
-- step 2 (get hurt)
|
|
|
|
minetest.register_on_damage_taken(function(hp)
|
|
|
|
minetest.display_chat_message(damage_taken..tostring(hp))
|
|
|
|
minetest.log("action", damage_taken..tostring(hp))
|
|
|
|
return false
|
|
|
|
end)
|
|
|
|
|
|
|
|
-- step 3 (die)
|
|
|
|
minetest.register_on_death(function()
|
|
|
|
minetest.display_chat_message(player_died)
|
|
|
|
minetest.log("action", player_died)
|
|
|
|
return false
|
|
|
|
end)
|
|
|
|
|
|
|
|
-- step 4 (track hp level)
|
2022-02-19 19:39:08 +01:00
|
|
|
minetest.register_on_hp_modification(function(hp)
|
|
|
|
minetest.display_chat_message(local_hp_change..tostring(hp))
|
|
|
|
minetest.log("action", local_hp_change..tostring(hp))
|
|
|
|
return false
|
|
|
|
end)
|
2022-02-11 01:26:20 +01:00
|
|
|
|
2022-02-19 19:39:08 +01:00
|
|
|
-- step 5 (griefer mode)
|
|
|
|
-- minetest.register_on_item_use(function(item, pointed_thing)
|
|
|
|
-- minetest.display_chat_message(tnt_explode..dump2(item)..dump2(pointed_thing))
|
|
|
|
-- minetest.log("action", tnt_explode..dump2(item)..dump2(pointed_thing))
|
2022-02-11 01:26:20 +01:00
|
|
|
-- return false
|
|
|
|
-- end)
|
2022-02-19 19:39:08 +01:00
|
|
|
|
|
|
|
-- minetest.register_on_receiving_chat_message(function(message))`
|
|
|
|
-- * Called always when a client receive a message
|
|
|
|
-- * Return `true` to mark the message as handled, which means that it will not be shown to chat
|
|
|
|
|
|
|
|
-- * `minetest.register_on_dignode(function(pos, node))`
|
|
|
|
-- * Called when the local player digs a node
|
|
|
|
-- * Newest functions are called first
|
|
|
|
-- * If any function returns true, the node isn't dug
|
|
|
|
|
|
|
|
-- * `minetest.register_on_placenode(function(pointed_thing, node))`
|
|
|
|
-- * Called when a node has been placed
|
|
|
|
|
|
|
|
-- * `minetest.register_on_item_use(function(item, pointed_thing))`
|
|
|
|
-- * Called when the local player uses an item.
|
|
|
|
-- * Newest functions are called first.
|
|
|
|
-- * If any function returns true, the item use is not sent to server.
|
|
|
|
|
|
|
|
-- * `minetest.after(time, func, ...)`
|
|
|
|
-- * Call the function `func` after `time` seconds, may be fractional
|
|
|
|
-- * Optional: Variable number of arguments that are passed to `func`
|
|
|
|
-- * `minetest.get_us_time()`
|
|
|
|
-- * Returns time with microsecond precision. May not return wall time.
|
|
|
|
-- * `minetest.get_timeofday()`
|
|
|
|
-- * Returns the time of day: `0` for midnight, `0.5` for midday
|
|
|
|
|
|
|
|
-- * `minetest.get_player_names()`
|
|
|
|
-- * Returns list of player names on server (nil if CSM_RF_READ_PLAYERINFO is enabled by server)
|
|
|
|
|
|
|
|
-- * `minetest.register_on_shutdown(function())`
|
|
|
|
-- * Called before client shutdown
|
|
|
|
-- * **Warning**: If the client terminates abnormally (i.e. crashes), the registered
|
|
|
|
-- callbacks **will likely not be run**. Data should be saved at
|
|
|
|
-- semi-frequent intervals as well as on server shutdown.
|