Long awaited MT mod adding a kill history
Go to file
2021-05-23 19:37:27 +02:00
textures Optimize screenshot 2020-05-24 13:08:46 +02:00
default_config.json rolling-3 2020-02-29 13:06:58 +01:00
init.lua Code quality: use new modlib functionality 2020-07-30 00:06:50 +02:00
main.lua Fix crash when removing last kill message 2021-05-23 19:37:27 +02:00
mod.conf Refactor, make "default" mod optional 2020-11-28 16:12:28 +01:00
Readme.md Refactor, make "default" mod optional 2020-11-28 16:12:28 +01:00
screenshot.png Optimize screenshot 2020-05-24 13:08:46 +02:00
settingtypes.txt Add autogenerated settingtypes & improve configuration constraints 2020-06-02 23:09:04 +02:00

Kill History (deathlist)

A mod displaying a colored list of recent kills/deaths and the causes(killer, used item).

About

Depends on modlib and fire. Note: If there are other mods registering on_punchplayer or on_hp_change handlers, add them to the dependency list to make sure they execute before deathlist. Licensed under MIT.

Screenshot

Screenshot

API

deathlist provides a few internal functions, but the most common way to trigger a custom message is passing a custom type to set_hp:

-- example, kills player
player:set_hp(0, {
    -- killer, required
    killer = {
        -- name, required
        name = "singleplayer",
        -- color, optional integer, will be completed if valid playername
        color = 0xFFFFFF
    },
    -- method, required
    method = {
        -- image of used method, required
        image = "blank.png",
        -- name for logging, optional
        name = "blank"
    }
    -- victim, optional overrides
    victim = {
        -- name, optional
        name = "singleplayer",
        -- color, optional
        color = 0xFFFFFF
    }
})

Configuration

Default Configuration

{
  "max_messages":5,
  "mode":"list",
  "autoremove_interval":30,
  "hud_pos":{"x":0.75,"y":1},
  "hud_base_offset": {"x":0,"y":-122},
  "enable_environmental": true,
  "enable_unknown": false,
  "enable_forbidden_playernames": true,
  "environmental_reasons": {
    "falling":{
      "name":"Falling",
      "color":{"r": 255, "g": 255, "b":  255},
      "method":"deathlist_tombstone.png"
    },
    "unknown":{
      "name":"Something",
      "color":{"r": 255, "g": 255, "b":  255},
      "method":"deathlist_tombstone.png"
    },
    "drowning":{
      "color":{"r": 105, "g": 201, "b":  231},
      "method":"bubble.png",
      "nodes": {
        "default:water_flowing" : { "name" : "Water" }
      }
    },
    "node_damage":{
      "color":{"r": 255, "g": 255, "b":  255},
      "method":"generate",
      "nodes": {
        "default:lava_flowing" : { "name" : "Lava", "color" : {"r": 244, "g": 114, "b": 9}, "method" : "fire_basic_flame.png" },
        "default:lava_source" : { "color" : {"r": 244, "g": 114, "b": 9}, "method" : "fire_basic_flame.png" }
      }
    }
  }
}

Usage

max_messages

Maximum amount of messages to be displayed. Number > 0.

mode

String, either "stack" or "list". Specifies message orientation. A stack means that the most recent message is always on the top, while list means exactly the opposite.

autoremove_interval

Can be set to false or a positive number in seconds. Specifies how often messages are removed despite having enough space left for the purpose of not cluttering the HUD.

hud_pos

X- and Y-Coordinate, numbers, position on HUD.

hud_base_offset

X- and Y-Offset, numbers in pixels(?).

enable_environmental

Boolean, whether to enable environmental reasons inside kill history.

enable_unknown

Boolean, whether to enable unknown (none of falling, drowning or node_damage) reasons inside kill history.

enable_forbidden_playernames

Boolean, whether to disallow certain playernames in order to reduce confusion(such as "Lava", "Water", "Falling" or "Something")

environmental_reasons

Table/Dictionairy of possible deaths due to environment.

Basic structure of a kill message
  • name of killing thing, colorized using a color(table/dictionairy, r/g/b)
  • method used by the killing thing, a texture. If "generate" is specified and a node is responsible, the node texture will be used.
falling / unknown

Player died through falling or an unknown reason; no node responsible. One definition of name, color and method.

drowning / node_damage

Player died by drowning node or by taking node damage. A node must be responsible. Using the nodes table/dictionairy, you can specify overrides for each specific node concerning name, color, and method. If not specified, default values are taken.