diff options
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | api.lua | 5 | ||||
| -rw-r--r-- | triggers.lua | 26 | 
3 files changed, 26 insertions, 7 deletions
@@ -97,6 +97,8 @@ Callbacks (register a function to be run)  * craft type: Craft something.  	* item: the crafted item type. If nil, all crafted items are counted  * death type: Die. +	* reason: the death reason, one of the types in PlayerHPChangeReason (see lua_api.txt) +				or nil for total deaths.  * chat type: Write a chat message.  * join type: Join the server.  * (for all types) target - how many times to dig/place/craft/etc. @@ -48,6 +48,11 @@ local function convert_data()  			data[from] = nil  		end +		data.death = { +			unknown = data.death, +			__total = data.death, +		} +  		-- Convert item db to new format  		local counted_items = {  			count = "dig", diff --git a/triggers.lua b/triggers.lua index 9721b38..6f39cf3 100644 --- a/triggers.lua +++ b/triggers.lua @@ -14,13 +14,6 @@  -- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.  -- -awards.register_trigger("death", { -	type = "counted", -	progress = "@1/@2 deaths", -	auto_description = { "Die once", "Die @1 times" }, -}) -minetest.register_on_dieplayer(awards.notify_death) -  awards.register_trigger("chat", {  	type = "counted", @@ -45,6 +38,25 @@ awards.register_trigger("join", {  minetest.register_on_joinplayer(awards.notify_join) +awards.register_trigger("death", { +	type = "counted_key", +	progress = "@1/@2 deaths", +	auto_description = { "Die once of @2", "Die @1 times of @2" }, +	auto_description_total = { "Die @1 times.", "Mine @1 times" }, +	get_key = function(self, def) +		return def.trigger.reason +	end, +}) +minetest.register_on_dieplayer(function(player, reason) +	if reason then +		reason = reason.type +	else +		reason = "unknown" +	end +	awards.notify_death(player, reason) +end) + +  awards.register_trigger("dig", {  	type = "counted_key",  	progress = "@1/@2 dug",  | 
