Player Effects

Summary

This is an framework for assigning temporary status effects to players. This mod is aimed to modders and maybe interested people.

Profile

  • Name: Player Effects
  • Short name: playereffects
  • Current version: 1.2.0 (This is a SemVer.)
  • Dependencies: None!
  • License of everything: MIT License
  • Discussion page: here

Information for players

This mod alone is not aimed directly at players. Briefly, the point of this mod is to help other mods to implement temporary status effects for players in a clean and consistant way. Here is the information which may be relevant to you: Your current status effects are shown on the HUD on the right side, along with a timer which shows the time until the effect gets disabled. It is possible for the server to disable this feature entirely. Some status effects may also be hidden and are never exposed to the HUD.

You only have to install this mod iff you have a mod which implements Player Effects. Here is a list of known mods which do:

  • Magic Beans—Wuzzy’s Fork [magicbeans_w]

Information for server operators

By default, this mod stores the effects into the file playereffects.mt in the current world path every 10 seconds. On a regular server shutdown, this file is also written to. The data in this file is read when the mod is started.

It is save to delete playereffects.mt when the mod does currently not run. This simply erases all active and inactive effects when the server starts again.

You can disable the automatic saving in settings.lua.

Configuration

Player Effects can be configured. Just edit the file settings.lua. You find everything you need to know in that file. Be careful to not delete the lines, just edit them.

Information for modders

This is a framework for other mods to depend on. It provides means to define, apply and remove temporary status effects to players in a (hopefully) unobstrusive way. A status effect is an effect for a player which changes some property of the player. This property can be practically everything. Currently, the framework supports one kind of effect, which I call “exclusive effects”. For each property (speed, gravity, whatver), there can be only one effect in place at the same time. Here are some examples for possible status effects:

  • high walking speed (speed property)
  • high jump height (jump property)
  • low player gravity (gravity property)
  • high player gravity (gravity property)
  • having the X privilege granted (binary “do I have the property?” property) (yes, this is weird, but it works!)

The framework aims to provide means to define effect types and to apply and cancel effects to players. The framework aims to be a stable foundation stone. This means it needs a lot of testing.

Known bugs

Effect timers don’t stop when game gets paused

When you paused the game in singleplayer mode, the effect timers just continue as if nothing happened. Of course, all effect timers should be stopped while the game is paused, like everything else. Apparently this bug cannot be fixed with the current Lua API.

Reviews

Review

Do you recommend this mod?

  • No reviews, yet.

Used By