[Mod] Kill History - Adds a kill history [deathlist]

Post Reply
User avatar
LMD
Member
Posts: 1400
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

[Mod] Kill History - Adds a kill history [deathlist]

by LMD » Post

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

Image


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:

Code: Select all

-- 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

Code: Select all

{
  "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.
Last edited by LMD on Mon Dec 28, 2020 17:33, edited 11 times in total.
My stuff: Projects - Mods - Website

Sokomine
Member
Posts: 4290
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] Kill History - finally a good kill history [deathl

by Sokomine » Post

It's such a short text. You could copy it over and show it in your posting.

From what I get, it seems to be a server global kill list? I'm mostly intrested in how many hostile mobs I killed over all the time I played on a server. Not so simple mobs has that now :-)
A list of my mods can be found here.

User avatar
LMD
Member
Posts: 1400
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: [Mod] Kill History - finally a good kill history [deathl

by LMD » Post

> It's such a short text. You could copy it over and show it in your posting.
Done. Good idea, probably.
> From what I get, it seems to be a server global kill list?
Yes.
> I'm mostly intrested in how many hostile mobs I killed over all the time I played on a server. Not so simple mobs has that now :-)
Probably a nice feature, but I'm not qsure how to implement something like this, concretely - couldn't it become spammy ? Which mobs should be taken into account ? How to retrieve the exact data ? Doesn't this mean overriding all mobs' on punched ? Hmmm...

BTW : NSSM is great !
My stuff: Projects - Mods - Website

Post Reply

Who is online

Users browsing this forum: No registered users and 31 guests