{"id":24986868,"url":"https://github.com/mrquackduck/messagesonhead","last_synced_at":"2026-04-29T19:31:56.031Z","repository":{"id":275566280,"uuid":"926441773","full_name":"MrQuackDuck/MessagesOnHead","owner":"MrQuackDuck","description":"Minecraft Paper plugin (1.19.4+) that shows messages of players above their heads.","archived":false,"fork":false,"pushed_at":"2025-06-24T15:57:07.000Z","size":107,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-24T16:48:11.812Z","etag":null,"topics":["java","messages","minecraft","papermc","papermc-plugin"],"latest_commit_sha":null,"homepage":"https://modrinth.com/plugin/messagesonhead","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MrQuackDuck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-03T09:05:39.000Z","updated_at":"2025-06-24T15:53:10.000Z","dependencies_parsed_at":"2025-02-03T11:24:36.109Z","dependency_job_id":"082269ee-11db-42eb-85af-65c4782c48e5","html_url":"https://github.com/MrQuackDuck/MessagesOnHead","commit_stats":null,"previous_names":["mrquackduck/messagesonhead"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/MrQuackDuck/MessagesOnHead","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrQuackDuck%2FMessagesOnHead","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrQuackDuck%2FMessagesOnHead/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrQuackDuck%2FMessagesOnHead/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrQuackDuck%2FMessagesOnHead/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrQuackDuck","download_url":"https://codeload.github.com/MrQuackDuck/MessagesOnHead/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrQuackDuck%2FMessagesOnHead/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261756739,"owners_count":23205156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","messages","minecraft","papermc","papermc-plugin"],"created_at":"2025-02-04T11:32:51.787Z","updated_at":"2026-04-29T19:31:56.024Z","avatar_url":"https://github.com/MrQuackDuck.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e\u003cimg width=80 src=\"https://github.com/user-attachments/assets/ad8dbd82-ebda-40c5-b95d-32488ead12cc\" /\u003e \u003cdiv\u003eMessagesOnHead\u003c/div\u003e\u003c/h1\u003e\n\n\u003cp\u003e\n  \u003ca href=\"https://www.java.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Java-blue.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguODUwOTggMTguNTZDOC44NTA5OCAxOC41NiA3LjkzMzk4IDE5LjA5NCA5LjUwMzk4IDE5LjI3NEMxMS40MDYgMTkuNDkyIDEyLjM3OCAxOS40NjEgMTQuNDczIDE5LjA2M0MxNC40NzMgMTkuMDYzIDE1LjAyNSAxOS40MDkgMTUuNzk0IDE5LjcwOUMxMS4wOTUgMjEuNzIyIDUuMTYwOTggMTkuNTkxIDguODUwOTggMTguNTZaTTguMjc1OTggMTUuOTMzQzguMjc1OTggMTUuOTMzIDcuMjQ3OTggMTYuNjk0IDguODE3OTggMTYuODU3QzEwLjg1IDE3LjA2NiAxMi40NTQgMTcuMDg0IDE1LjIzMSAxNi41NDlDMTUuMjMxIDE2LjU0OSAxNS42MTUgMTYuOTM4IDE2LjIxOCAxNy4xNTFDMTAuNTM5IDE4LjgxMiA0LjIxMDk4IDE3LjI4MSA4LjI3NTk4IDE1LjkzM1pNMTMuMTE2IDExLjQ3NUMxNC4yNzQgMTIuODA4IDEyLjgxMiAxNC4wMDggMTIuODEyIDE0LjAwOEMxMi44MTIgMTQuMDA4IDE1Ljc1MSAxMi40OSAxNC40MDEgMTAuNTlDMTMuMTQgOC44MTggMTIuMTczIDcuOTM4IDE3LjQwOCA0LjkwMkMxNy40MDggNC45MDEgOS4xOTE5OCA2Ljk1MyAxMy4xMTYgMTEuNDc1Wk0xOS4zMyAyMC41MDRDMTkuMzMgMjAuNTA0IDIwLjAwOSAyMS4wNjMgMTguNTgzIDIxLjQ5NUMxNS44NzEgMjIuMzE3IDcuMjk0OTggMjIuNTY0IDQuOTEzOTggMjEuNTI4QzQuMDU3OTggMjEuMTU1IDUuNjYzOTggMjAuNjM4IDYuMTY3OTggMjAuNTNDNi42OTQ5OCAyMC40MTYgNi45OTU5OCAyMC40MzcgNi45OTU5OCAyMC40MzdDNi4wNDI5OCAxOS43NjYgMC44Mzk5NzcgMjEuNzU0IDQuMzUyOTggMjIuMzI0QzEzLjkzMyAyMy44NzcgMjEuODE1IDIxLjYyNCAxOS4zMyAyMC41MDRaTTkuMjkxOTggMTMuMjFDOS4yOTE5OCAxMy4yMSA0LjkyOTk4IDE0LjI0NiA3Ljc0Nzk4IDE0LjYyMkM4LjkzNjk4IDE0Ljc4MSAxMS4zMDkgMTQuNzQ1IDEzLjUxOCAxNC41NkMxNS4zMjQgMTQuNDA4IDE3LjEzNiAxNC4wODMgMTcuMTM2IDE0LjA4M0MxNy4xMzYgMTQuMDgzIDE2LjQ5OSAxNC4zNTUgMTYuMDM4IDE0LjY3QzExLjYwOSAxNS44MzUgMy4wNTE5OCAxNS4yOTMgNS41MTU5OCAxNC4xMDJDNy41OTc5OCAxMy4wOTYgOS4yOTE5OCAxMy4yMSA5LjI5MTk4IDEzLjIxWk0xNy4xMTYgMTcuNTg0QzIxLjYxOSAxNS4yNDQgMTkuNTM3IDEyLjk5NSAxOC4wODQgMTMuMjk5QzE3LjcyOSAxMy4zNzMgMTcuNTY5IDEzLjQzNyAxNy41NjkgMTMuNDM3QzE3LjU2OSAxMy40MzcgMTcuNzAxIDEzLjIzIDE3Ljk1NCAxMy4xNEMyMC44MjkgMTIuMTI5IDIzLjA0IDE2LjEyMSAxNy4wMjYgMTcuNzAyQzE3LjAyNiAxNy43MDEgMTcuMDk2IDE3LjY0IDE3LjExNiAxNy41ODRaTTE0LjQwMSAwQzE0LjQwMSAwIDE2Ljg5NSAyLjQ5NCAxMi4wMzYgNi4zM0M4LjEzOTk4IDkuNDA3IDExLjE0OCAxMS4xNjIgMTIuMDM1IDEzLjE2NkM5Ljc2MDk4IDExLjExMyA4LjA5MTk4IDkuMzA4IDkuMjEwOTggNy42MjdDMTAuODU1IDUuMTU4IDE1LjQwOCAzLjk2MiAxNC40MDEgMFpNOS43MzM5OCAyMy45MjRDMTQuMDU2IDI0LjIwMSAyMC42OTMgMjMuNzcxIDIwLjg1IDIxLjcyNkMyMC44NSAyMS43MjYgMjAuNTQ4IDIyLjUwMSAxNy4yNzggMjMuMTE3QzEzLjU5IDIzLjgxMSA5LjAzODk4IDIzLjczIDYuMzQwOTggMjMuMjg1QzYuMzQwOTggMjMuMjg0IDYuODkzOTggMjMuNzQyIDkuNzMzOTggMjMuOTI0WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\u0026color=F07427\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://papermc.io/downloads/all\"\u003e\u003cimg src=\"https://img.shields.io/badge/PaperMC-blue.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iNDYwIiBoZWlnaHQ9IjQ2MCIgdmlld0JveD0iMCAwIDQ2MCA0NjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik00NTEuNDMxIDE5LjQxMjdMOC45MDM4MyAxOTUuNjU1QzUuMTQ5MjggMTk3LjE1IDQuNjI3OTYgMjAyLjI1MSA4LjAwMjM5IDIwNC40NzVMMTIzLjU2OSAyODAuNjM5QzEyNS4zMjggMjgxLjc5OCAxMjcuNjIzIDI4MS43MzIgMTI5LjMxMSAyODAuNDczQzE1Ni43NTQgMjYwLjAxIDM3NS43ODEgOTYuOTgxNiAzNzIuNSAxMDguOTI4QzM2OS4yMDggMTIwLjkxNSAxOTUuMTg0IDI5OC43MjMgMTc0LjUwMiAzMTkuODI0QzE3My4yMzggMzIxLjExNSAxNzIuODEyIDMyMi45NCAxNzMuMzE1IDMyNC42NzVMMTk2LjYyMSA0MDUuMDAyQzE5Ny42ODYgNDA4LjY3MiAyMDIuMzA3IDQwOS44NCAyMDQuOTg3IDQwNy4xMTZMMjQyLjcyMyAzNjguNzYyQzI0NC4zNSAzNjcuMTA5IDI0Ni45MDEgMzY2Ljc5MSAyNDguODgzIDM2Ny45OTZMMzY3LjkwNyA0NDAuMjk4QzM3MC44NyA0NDIuMDk5IDM3NC43MjEgNDQwLjQwOSAzNzUuNDA1IDQzNy4wMUw0NTguMTgzIDI1LjA0MjlDNDU4Ljk2NSAyMS4xNTE0IDQ1NS4xMTkgMTcuOTQ0MSA0NTEuNDMxIDE5LjQxMjdaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K\u0026color=0090FF\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://modrinth.com/plugin/messagesonhead\"\u003e\u003cimg src=\"https://img.shields.io/badge/Modrinth-blue.svg?logo=modrinth\u0026color=15C132\u0026logoColor=FFFFFF\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n**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.\\\nThe plugin's functionality is based on the [Text Display](https://minecraft.wiki/w/Display#Text_Displays) entity.\n\n\u003e [!IMPORTANT]\n\u003e The plugin **might not work correctly** in Minecraft versions \u003cins\u003e**1.20.2 to 1.21.5**\u003c/ins\u003e. You may notice unusually large gaps between messages. Unfortunately, this issue cannot be fixed because of version-specific changes in these Minecraft versions.\n\u003e\n\u003e \\* 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).\\\n\u003e **All newer** versions of the plugin require your server to be running **at least version 1.21.6**.\n\n### 👀 Preview\n\n\u003cimg height=300 src=\"https://github.com/user-attachments/assets/e9d2fa01-83c7-45ff-a0fa-d7fb8b649ad7\" /\u003e\n\n### 🌠 Key features\n- **Limit per line**: you can configure the symbols limit for each line in the `symbolsPerLine` field.\n- **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_).\n- **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.\n- **Time scaling**: you can make longer messages exist for more time.\n- **Colors and style**: you can choose the color of the text, its background, whether the text is shadowed and the color for the timer.\n- **Rotation**: you may configure how a text display will rotate in the `pivotAxis` field.\n- **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.\n- **Adjustable gaps**: you may configure gaps between messages and above player's head in `gapBetweenMessages` and `gapAboveHead` fields.\n- **PlaceholderAPI support**: you can configure a placeholder that will color your text displays.\n\n### 🔞 Permissions\n\n- `messagesonhead.show` _(**true** by default)_  — Whether messages will appear above player's head.\n- `messagesonhead.toggle` _(**true** by default)_  — Whether players can use the `/moh toggle` command.\n- `messagesonhead.admin` _(for **operators** by default)_ — Allows to use the `/moh` command.\n\n### 💻 Commands\n\n- `/moh info` — shows commands info.\n- `/moh toggle` — toggles player's ability to see messages of players on their heads.\n- `/moh reload` — reloads the config and makes a cleanup by removing all entities related to the plugin.\n- `/moh say \u003cplayer\u003e \u003cmsg\u003e` — says a message on behalf of the player.\n\nAliases: `/messagesonhead`.\n\n### 📄 Default config\n\n```yml\nsymbolsPerLine: 30\n# If the limit is reached, the three dots will be added at the end. -1 means there's no limit\nsymbolsLimit: -1\n# Initial amount of seconds for the message to exist\ntimeToExist: 2\n# Whether a message will be visible to its sender\nvisibleToSender: true\n\n# Whether a longer message will exist for more time\nscalingEnabled: true\n# Scaling coefficient per symbol in seconds. For example, a message with 50 symbols\n# will exist for extra 5 seconds if the coefficient is set to 0.1 (because 0.1 * 50 = 5)\nscalingCoefficient: 0.05\n\n# Distances between messages / above player's head\ngapBetweenMessages: 0.3\ngapAboveHead: 0.4\n\ntextColor: \"#FFFFFF\"\n\ntimerEnabled: true\n# Minimum message length threshold for the timer to be displayed\nminSymbolsForTimer: 0\ntimerFormat: \" (%.1f)\"\ntimerColor: \"#F4CA16\"\n\nbackgroundEnabled: true\nbackgroundColor: \"#000000\"\n# Range: [0, 100]\nbackgroundTransparencyPercentage: 100\n\n# Whether a text will have a shadow\nisShadowed: true\n\n# How a text display can pivot:\n# VERTICAL - Can pivot around vertical axis\n# HORIZONTAL - Can pivot around horizontal axis\n# CENTER - Can pivot around center point\n# FIXED - No rotation\npivotAxis: \"VERTICAL\"\n\n# You may enable this if you use a plugin for per-player chat color customization (e.g., EZColors, ChatColor etc.)\nplaceholderApiIntegration: false\n# Name of a placeholder that will be put before each text line\ncolorPlaceholder: \"%ezcolors_color%\"\n# Format for text lines if `placeholderApiIntegration` is true\nlineFormat: \"\u0026[defaultColor]\u0026[colorPlaceholder][message]\"\n\nmessages:\n  \"prefix\": \"\u0026#F4CA16[MessagesOnHead]\"\n  \"info-title\": \"\u003cprefix\u003e \u0026#D9E6EDCommands list:\"\n  \"info-toggle-command-description\": \" \u0026f/moh toggle - \u0026#D9E6EDAllows you to toggle the visibility of messages on heads.\"\n  \"info-reload-command-description\": \" \u0026f/moh reload - \u0026#D9E6EDReloads the config and makes a cleanup by removing all entities related to the plugin.\"\n  \"info-say-command-description\": \" \u0026f/moh say - \u0026#D9E6EDSay a message on behalf of the player.\"\n  \"reloaded\": \"\u003cprefix\u003e \u0026#D9E6EDReloaded!\"\n  \"visibility-toggled-on\": \"\u003cprefix\u003e \u0026#D9E6EDYou will \u0026a\u0026nnow see\u0026#D9E6ED messages over other players' heads.\"\n  \"visibility-toggled-off\": \"\u003cprefix\u003e \u0026#D9E6EDYou will \u0026c\u0026nno longer see\u0026#D9E6ED messages over other players' heads.\"\n  \"only-players\": \"\u003cprefix\u003e \u0026cOnly players can use this command!\"\n  \"player-not-found\": \"\u003cprefix\u003e \u0026cPlayer not found.\"\n  \"command-not-found\": \"\u003cprefix\u003e \u0026cCommand not found.\"\n  \"error-during-reload\": \"\u003cprefix\u003e \u0026cAn error occurred during reload! Check console for details.\"\n```\n\n### 🚀 Installation guide\n\n\u003e [!IMPORTANT]\n\u003e Before getting started, make sure that the plugin's version is **compatible** with your server version.\n\n1. Download the latest version of the plugin from the \u003ca href=\"https://github.com/MrQuackDuck/MessagesOnHead/releases\"\u003eReleases\u003c/a\u003e tab.\n1. Put the downloaded `.jar` into the `/plugins` folder of your server.\n1. Restart your server or enter the `/reload` command.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrquackduck%2Fmessagesonhead","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrquackduck%2Fmessagesonhead","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrquackduck%2Fmessagesonhead/lists"}