An open API service indexing awesome lists of open source software.

https://github.com/mrquackduck/messagesonhead

Minecraft Paper plugin (1.19.4+) that shows messages of players above their heads.
https://github.com/mrquackduck/messagesonhead

java messages minecraft papermc papermc-plugin

Last synced: 2 months ago
JSON representation

Minecraft Paper plugin (1.19.4+) that shows messages of players above their heads.

Awesome Lists containing this project

README

          


MessagesOnHead





**MessagesOnHead** is a **Paper (1.19.4+)** plugin that shows messages above players' heads for a little time when they send messages to the chat.\
The plugin's functionality is based on the [Text Display](https://minecraft.wiki/w/Display#Text_Displays) entity.

> [!IMPORTANT]
> The plugin **might not work correctly** in Minecraft versions **1.20.2 to 1.21.5**. You may notice unusually large gaps between messages. Unfortunately, this issue cannot be fixed because of version-specific changes in these Minecraft versions.
>
> \* The last plugin version that supports **Minecraft 1.19.4 and above** is [Release 1.2.3](https://github.com/MrQuackDuck/MessagesOnHead/releases/tag/1.2.3).\
> **All newer** versions of the plugin require your server to be running **at least version 1.21.6**.

### 👀 Preview

### 🌠 Key features
- **Limit per line**: you can configure the symbols limit for each line in the `symbolsPerLine` field.
- **Max symbols limit**: you can configure the max amount of symbols per message in the `symbolsLimit` field (_'...' will be appended if the limit is reached_).
- **Timer**: you can enable/disable the timer at the end of the message that shows how much time is left until the message is gone.
- **Time scaling**: you can make longer messages exist for more time.
- **Colors and style**: you can choose the color of the text, its background, whether the text is shadowed and the color for the timer.
- **Rotation**: you may configure how a text display will rotate in the `pivotAxis` field.
- **Visibility**: you may hide messages from their sender via the `visibleToSender` field as well as choose whose messages will be shown globally using the `messagesonhead.show` permission. It's also possible to toggle visibility via the `/moh toggle` command.
- **Adjustable gaps**: you may configure gaps between messages and above player's head in `gapBetweenMessages` and `gapAboveHead` fields.
- **PlaceholderAPI support**: you can configure a placeholder that will color your text displays.

### 🔞 Permissions

- `messagesonhead.show` _(**true** by default)_ — Whether messages will appear above player's head.
- `messagesonhead.toggle` _(**true** by default)_ — Whether players can use the `/moh toggle` command.
- `messagesonhead.admin` _(for **operators** by default)_ — Allows to use the `/moh` command.

### 💻 Commands

- `/moh info` — shows commands info.
- `/moh toggle` — toggles player's ability to see messages of players on their heads.
- `/moh reload` — reloads the config and makes a cleanup by removing all entities related to the plugin.
- `/moh say ` — says a message on behalf of the player.

Aliases: `/messagesonhead`.

### 📄 Default config

```yml
symbolsPerLine: 30
# If the limit is reached, the three dots will be added at the end. -1 means there's no limit
symbolsLimit: -1
# Initial amount of seconds for the message to exist
timeToExist: 2
# Whether a message will be visible to its sender
visibleToSender: true

# Whether a longer message will exist for more time
scalingEnabled: true
# Scaling coefficient per symbol in seconds. For example, a message with 50 symbols
# will exist for extra 5 seconds if the coefficient is set to 0.1 (because 0.1 * 50 = 5)
scalingCoefficient: 0.05

# Distances between messages / above player's head
gapBetweenMessages: 0.3
gapAboveHead: 0.4

textColor: "#FFFFFF"

timerEnabled: true
# Minimum message length threshold for the timer to be displayed
minSymbolsForTimer: 0
timerFormat: " (%.1f)"
timerColor: "#F4CA16"

backgroundEnabled: true
backgroundColor: "#000000"
# Range: [0, 100]
backgroundTransparencyPercentage: 100

# Whether a text will have a shadow
isShadowed: true

# How a text display can pivot:
# VERTICAL - Can pivot around vertical axis
# HORIZONTAL - Can pivot around horizontal axis
# CENTER - Can pivot around center point
# FIXED - No rotation
pivotAxis: "VERTICAL"

# You may enable this if you use a plugin for per-player chat color customization (e.g., EZColors, ChatColor etc.)
placeholderApiIntegration: false
# Name of a placeholder that will be put before each text line
colorPlaceholder: "%ezcolors_color%"
# Format for text lines if `placeholderApiIntegration` is true
lineFormat: "&[defaultColor]&[colorPlaceholder][message]"

messages:
"prefix": "F4CA16[MessagesOnHead]"
"info-title": " D9E6EDCommands list:"
"info-toggle-command-description": " &f/moh toggle - D9E6EDAllows you to toggle the visibility of messages on heads."
"info-reload-command-description": " &f/moh reload - D9E6EDReloads the config and makes a cleanup by removing all entities related to the plugin."
"info-say-command-description": " &f/moh say - D9E6EDSay a message on behalf of the player."
"reloaded": " D9E6EDReloaded!"
"visibility-toggled-on": " D9E6EDYou will &a&nnow seeD9E6ED messages over other players' heads."
"visibility-toggled-off": " D9E6EDYou will &c&nno longer seeD9E6ED messages over other players' heads."
"only-players": " &cOnly players can use this command!"
"player-not-found": " &cPlayer not found."
"command-not-found": " &cCommand not found."
"error-during-reload": " &cAn error occurred during reload! Check console for details."
```

### 🚀 Installation guide

> [!IMPORTANT]
> Before getting started, make sure that the plugin's version is **compatible** with your server version.

1. Download the latest version of the plugin from the Releases tab.
1. Put the downloaded `.jar` into the `/plugins` folder of your server.
1. Restart your server or enter the `/reload` command.