> For the complete documentation index, see [llms.txt](https://chatsystem-wiki.gitbook.io/chatsystem-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chatsystem-wiki.gitbook.io/chatsystem-wiki/andere-plugins/msg-system-externes-plugin.md).

# MSG System (externes Plugin)

Info: Das MSG System gehört zum Chat System. Es hat die gleichen Special Formats (KlickMich, \[HP], \[Item], usw. und arbeitet super mit dem Chat System zusammen!

### 📋 Deutsch

#### 🚀 Übersicht

Das MSG System ist ein umfangreiches Nachrichtensystem für Minecraft 1.21+, das private Nachrichten zwischen Spielern mit vielen erweiterten Funktionen ermöglicht.

***

#### 📖 Befehle

| Befehl                         | Aliase                    | Beschreibung                         | Verwendung              |
| ------------------------------ | ------------------------- | ------------------------------------ | ----------------------- |
| `/msg <Spieler> <Nachricht>`   | `/tell`, `/whisper`, `/w` | Sendet eine private Nachricht        | `/msg Rocky Hallo!`     |
| `/r <Nachricht>`               | `/reply`                  | Antwortet auf die letzte Nachricht   | `/r Hallo zurück!`      |
| `/msglog <Option>`             | `/msgl`                   | Verwaltet Nachrichten-Logs           | `/msglog see`           |
| `/msgsystem reload`            | `/msgadmin`, `/msgs`      | Lädt die Konfiguration neu           | `/msgsystem reload`     |
| `/msgmute <all\|player\|list>` | `/msgm`                   | Schaltet Spieler stumm               | `/msgmute player Rocky` |
| `/msgignore <Spieler>`         | `/msgi`, `/ignore`        | Ignoriert Nachrichten eines Spielers | `/msgignore Rocky`      |
| `/msgignorelist`               | `/msgil`, `/ignorelist`   | Zeigt alle ignorierten Spieler       | `/msgignorelist`        |
| `/msgsettings`                 | `/msgset`, `/msgconfig`   | Öffnet das Einstellungs-GUI          | `/msgsettings`          |

***

#### 🔧 MsgLog Optionen

| Option                     | Beschreibung                                     |
| -------------------------- | ------------------------------------------------ |
| `on`                       | Aktiviert MSG Logging                            |
| `off`                      | Deaktiviert MSG Logging                          |
| `see`                      | Zeigt alle gespeicherten Nachrichten             |
| `clear`                    | Löscht alle Nachrichten                          |
| `delete <Index>`           | Löscht eine bestimmte Nachricht                  |
| `download`                 | Lädt den Log als Datei herunter                  |
| `download admin <Spieler>` | Lädt Log eines anderen Spielers herunter (Admin) |

***

#### 🎮 Special Formats (in Nachrichten)

| Format              | Beschreibung         | Beispiel-Ausgabe              |
| ------------------- | -------------------- | ----------------------------- |
| `[Discord]`         | Discord Server Link  | `[Discord]` (klickbar)        |
| `[coords]`          | Eigene Koordinaten   | `[123 64 456]`                |
| `[HP]`              | Eigene Gesundheit    | `❤❤❤❤❤ (10/20)`               |
| `[Hunger]`          | Eigener Hunger       | `🍗🍗🍗🍗 (8/20)`             |
| `[Team]`            | Eigenes Team         | `[Team: Red]`                 |
| `[XP]`              | Eigene Erfahrung     | `[Level 42]`                  |
| `[Time]`            | Spielzeit            | `14:30`                       |
| `[Date]`            | Aktuelles Datum      | `15.05.2024`                  |
| `[World]`           | Aktuelle Welt        | `world`                       |
| `[Online]`          | Online Spieler       | `12/100`                      |
| `[Ping]`            | Eigener Ping         | `42ms`                        |
| `[Item]`            | Item in Haupthand    | `[Diamant-Schwert]`           |
| `[Item_2]`          | Item in Nebenhand    | `[Schild]`                    |
| `<copy>text</copy>` | Kopierbarer Text     | `[text]` (klick zum Kopieren) |
| `cmd/befehl`        | Klickbarer Befehl    | `[KlickMich: /spawn]`         |
| `https://...`       | Klickbare URL        | `example.com` (klickbar)      |
| `@Spieler`          | Spieler Erwähnung    | `@Rocky` (klickbar)           |
| `@everyone`         | Alle Erwähnen        | `@everyone` (mit Permission)  |
| `[@Spieler]`        | Versteckte Erwähnung | Empfänger sieht es nicht      |

### Erklärung der @Player und \[@Player] funktion:

Wenn du in einer MSG @Player machst, dann kannst du eine Person in eine MSG ,,einfügen", sodass die makierte Person die MSG auch bekommt und mitlesen kann. Die Person, an die die MSG eigentlich geht kann sehen, wen du makiert hast.

Wenn du den Spieler aber in Klammern \[@Player] machst, sieht die Person an die die MSG eigentlich ging nicht, wen du zur MSG hinzufügst. (Also wie ein BCC in Outlook)

Du kannst die Funktion in der config anpassen oder aktivieren/deaktivieren!

***

#### 🔇 Mute & Ignore System

| Funktion                 | Beschreibung                                           |
| ------------------------ | ------------------------------------------------------ |
| `/msgmute all`           | Blockiert alle eingehenden Nachrichten                 |
| `/msgmute player <Name>` | Blockiert Nachrichten von einem bestimmten Spieler     |
| `/msgmute list`          | Zeigt alle stummgeschalteten Spieler                   |
| `/msgignore <Name>`      | Ignoriert Nachrichten eines Spielers                   |
| `/msgignorelist`         | Zeigt alle ignorierten Spieler (mit Entmutten-Buttons) |

**Unterschied zwischen Mute und Ignore:**

* **Mute**: Der Spieler kann dir keine Nachrichten senden
* **Ignore**: Du siehst die Nachrichten des Spielers nicht (er kann sie trotzdem senden)

***

#### ⚙️ Settings GUI (4 Einstellungen)

| Einstellung              | Beschreibung                                                  |
| ------------------------ | ------------------------------------------------------------- |
| 📨 **MSG Empfangen**     | Bestimmt ob du private Nachrichten empfangen kannst           |
| 🔊 **Nachrichten-Sound** | Sound bei eingehenden Nachrichten und Erwähnungen             |
| 📝 **MSG Logging**       | Speichert Nachrichten in deinem persönlichen Log              |
| 🏷️ **MSG @ ADD**        | Bestimmt ob du per @ zu Nachrichten hinzugefügt werden kannst |

Das GUI ist komplett in der `config.yml` konfigurierbar (Slots, Materialien, Titel, Lore, etc.)

***

#### 🔐 Permissions

| Permission                     | Beschreibung                                    | Standard |
| ------------------------------ | ----------------------------------------------- | -------- |
| `msgsystem.*`                  | Alle Berechtigungen                             | OP       |
| `msgsystem.use`                | Nutzung von `/msg`                              | Alle     |
| `msgsystem.admin`              | Admin-Befehle (`/msgsystem reload`)             | OP       |
| `msgsystem.bypass`             | Umgeht alle Mute/Ignore/Receive Einschränkungen | OP       |
| `msgsystem.log.download`       | Eigene Logs herunterladen                       | Alle     |
| `msgsystem.log.download.admin` | Logs anderer Spieler herunterladen              | OP       |
| `msgsystem.addmsgbypass`       | Sieht immer versteckte Hinzufügungen            | OP       |
| `msgsystem.add.bypass`         | Kann immer zu Nachrichten hinzugefügt werden    | OP       |
| `msgsystem.everyone`           | Darf `@everyone` verwenden                      | OP       |

***

#### 🎨 Hover & Click Events (Konfigurierbar)

Jeder Teil einer Nachricht kann eigene Hover- und Click-Events haben:

| Event-Typ          | Beschreibung                               |
| ------------------ | ------------------------------------------ |
| `sender_message`   | Events für die gesamte Sender-Nachricht    |
| `receiver_message` | Events für die gesamte Empfänger-Nachricht |
| `sender_name`      | Events für den Sendernamen                 |
| `receiver_name`    | Events für den Empfängernamen              |

**Verfügbare Click-Typen:**

* `suggest_command` - Befehl in Chatzeile einfügen
* `run_command` - Befehl sofort ausführen
* `copy_to_clipboard` - Text kopieren
* `open_url` - URL öffnen
* `none` - Kein Click-Event

**Verfügbare Platzhalter:**

* `%sender%` - Name des Senders
* `%receiver%` - Name des Empfängers
* `%message%` - Nachrichteninhalt
* `%player%` - Spielername (bei Namen-Events)

***

#### 📁 Datenspeicherung

| Datei/Ordner                           | Inhalt                                 |
| -------------------------------------- | -------------------------------------- |
| `plugins/MsgSystem/msglogs/`           | Persönliche Logs jedes Spielers (YAML) |
| `plugins/MsgSystem/global_msg_log.txt` | Globales Log aller Nachrichten         |
| `plugins/MsgSystem/temp/`              | Temporäre Download-Dateien             |
| `plugins/MsgSystem/config.yml`         | Hauptkonfiguration                     |

**Persönliche Logs enthalten:**

* Nachrichtenverlauf
* Mute-Liste
* Ignore-Liste
* Sound-Einstellung
* Logging-Einstellung
* Receive-Einstellung
* @ADD-Einstellung

***

#### 🎵 Sounds

| Sound-Typ             | Beschreibung                      | Standard                       |
| --------------------- | --------------------------------- | ------------------------------ |
| `sound.type`          | Sound bei eingehenden Nachrichten | `ENTITY_EXPERIENCE_ORB_PICKUP` |
| `mentions.sound.type` | Sound bei Erwähnungen             | `ENTITY_EXPERIENCE_ORB_PICKUP` |

***

#### 🌟 Besondere Features

1. **Versteckte Mentions** - Mit `[@Spieler]` kann man Spieler heimlich hinzufügen
2. **Bypass-Permission** - `msgsystem.addmsgbypass` zeigt immer versteckte Hinzufügungen
3. **BetterTeams Integration** - `[Team]` zeigt das Team aus BetterTeams an
4. **Farbcodes** - Unterstützt Legacy (`&c`) und HEX (`#FF0000` / `&#FF0000`)
5. **MiniMessage** - Vollständige MiniMessage Unterstützung
6. **Config-GUI** - Das Settings GUI ist komplett in der Config veränderbar

### 📋 English

#### 🚀 Overview

The MSG System is a comprehensive messaging system for Minecraft 1.21+ that enables private messages between players with many advanced features.

***

#### 📖 Commands

| Command                        | Aliases                   | Description                 | Usage                   |
| ------------------------------ | ------------------------- | --------------------------- | ----------------------- |
| `/msg <Player> <Message>`      | `/tell`, `/whisper`, `/w` | Sends a private message     | `/msg Rocky Hello!`     |
| `/r <Message>`                 | `/reply`                  | Replies to the last message | `/r Hello back!`        |
| `/msglog <Option>`             | `/msgl`                   | Manages message logs        | `/msglog see`           |
| `/msgsystem reload`            | `/msgadmin`, `/msgs`      | Reloads the configuration   | `/msgsystem reload`     |
| `/msgmute <all\|player\|list>` | `/msgm`                   | Mutes players               | `/msgmute player Rocky` |
| `/msgignore <Player>`          | `/msgi`, `/ignore`        | Ignores a player's messages | `/msgignore Rocky`      |
| `/msgignorelist`               | `/msgil`, `/ignorelist`   | Shows all ignored players   | `/msgignorelist`        |
| `/msgsettings`                 | `/msgset`, `/msgconfig`   | Opens the settings GUI      | `/msgsettings`          |

***

#### 🔧 MsgLog Options

| Option                    | Description                            |
| ------------------------- | -------------------------------------- |
| `on`                      | Enables MSG logging                    |
| `off`                     | Disables MSG logging                   |
| `see`                     | Shows all saved messages               |
| `clear`                   | Deletes all messages                   |
| `delete <Index>`          | Deletes a specific message             |
| `download`                | Downloads the log as a file            |
| `download admin <Player>` | Downloads another player's log (Admin) |

***

#### 🎮 Special Formats (in Messages)

| Format              | Description         | Example Output                |
| ------------------- | ------------------- | ----------------------------- |
| `[Discord]`         | Discord server link | `[Discord]` (clickable)       |
| `[coords]`          | Your coordinates    | `[123 64 456]`                |
| `[HP]`              | Your health         | `❤❤❤❤❤ (10/20)`               |
| `[Hunger]`          | Your hunger         | `🍗🍗🍗🍗 (8/20)`             |
| `[Team]`            | Your team           | `[Team: Red]`                 |
| `[XP]`              | Your experience     | `[Level 42]`                  |
| `[Time]`            | Game time           | `14:30`                       |
| `[Date]`            | Current date        | `2024-05-15`                  |
| `[World]`           | Current world       | `world`                       |
| `[Online]`          | Online players      | `12/100`                      |
| `[Ping]`            | Your ping           | `42ms`                        |
| `[Item]`            | Main hand item      | `[Diamond Sword]`             |
| `[Item_2]`          | Off hand item       | `[Shield]`                    |
| `<copy>text</copy>` | Copyable text       | `[text]` (click to copy)      |
| `cmd/command`       | Clickable command   | `[ClickMe: /spawn]`           |
| `https://...`       | Clickable URL       | `example.com` (clickable)     |
| `@Player`           | Player mention      | `@Rocky` (clickable)          |
| `@everyone`         | Mention everyone    | `@everyone` (with permission) |
| `[@Player]`         | Hidden mention      | Receiver doesn't see it       |

***

### Explanation of the @Player and \[@Player] functions:

If you use @Player in a message, you can "insert" a person into the message so that the selected person receives the message and can read it. The intended recipient can see who you have selected.

However, if you enclose the player in parentheses \[@Player], the intended recipient cannot see who you are adding to the message. (This is similar to BCC in Outlook.)

You can customize or enable/disable this function in the config file!

#### 🔇 Mute & Ignore System

| Function                 | Description                                     |
| ------------------------ | ----------------------------------------------- |
| `/msgmute all`           | Blocks all incoming messages                    |
| `/msgmute player <Name>` | Blocks messages from a specific player          |
| `/msgmute list`          | Shows all muted players                         |
| `/msgignore <Name>`      | Ignores a player's messages                     |
| `/msgignorelist`         | Shows all ignored players (with unmute buttons) |

**Difference between Mute and Ignore:**

* **Mute**: The player cannot send you messages
* **Ignore**: You don't see the player's messages (they can still send them)

***

#### ⚙️ Settings GUI (4 Settings)

| Setting              | Description                                           |
| -------------------- | ----------------------------------------------------- |
| 📨 **MSG Receive**   | Determines whether you can receive private messages   |
| 🔊 **Message Sound** | Sound for incoming messages and mentions              |
| 📝 **MSG Logging**   | Saves messages in your personal log                   |
| 🏷️ **MSG @ ADD**    | Determines whether you can be added to messages via @ |

The GUI is fully configurable in `config.yml` (slots, materials, title, lore, etc.)

***

#### 🔐 Permissions

| Permission                     | Description                                   | Default  |
| ------------------------------ | --------------------------------------------- | -------- |
| `msgsystem.*`                  | All permissions                               | OP       |
| `msgsystem.use`                | Use `/msg`                                    | Everyone |
| `msgsystem.admin`              | Admin commands (`/msgsystem reload`)          | OP       |
| `msgsystem.bypass`             | Bypasses all mute/ignore/receive restrictions | OP       |
| `msgsystem.log.download`       | Download own logs                             | Everyone |
| `msgsystem.log.download.admin` | Download other players' logs                  | OP       |
| `msgsystem.addmsgbypass`       | Always sees hidden additions                  | OP       |
| `msgsystem.add.bypass`         | Can always be added to messages               | OP       |
| `msgsystem.everyone`           | Can use `@everyone`                           | OP       |

***

#### 🎨 Hover & Click Events (Configurable)

Every part of a message can have its own hover and click events:

| Event Type         | Description                            |
| ------------------ | -------------------------------------- |
| `sender_message`   | Events for the entire sender message   |
| `receiver_message` | Events for the entire receiver message |
| `sender_name`      | Events for the sender name             |
| `receiver_name`    | Events for the receiver name           |

**Available Click Types:**

* `suggest_command` - Insert command into chat line
* `run_command` - Execute command immediately
* `copy_to_clipboard` - Copy text
* `open_url` - Open URL
* `none` - No click event

**Available Placeholders:**

* `%sender%` - Sender name
* `%receiver%` - Receiver name
* `%message%` - Message content
* `%player%` - Player name (for name events)

***

#### 📁 Data Storage

| File/Folder                            | Content                             |
| -------------------------------------- | ----------------------------------- |
| `plugins/MsgSystem/msglogs/`           | Personal logs of each player (YAML) |
| `plugins/MsgSystem/global_msg_log.txt` | Global log of all messages          |
| `plugins/MsgSystem/temp/`              | Temporary download files            |
| `plugins/MsgSystem/config.yml`         | Main configuration                  |

**Personal logs contain:**

* Message history
* Mute list
* Ignore list
* Sound setting
* Logging setting
* Receive setting
* @ADD setting

***

#### 🎵 Sounds

| Sound Type            | Description                 | Default                        |
| --------------------- | --------------------------- | ------------------------------ |
| `sound.type`          | Sound for incoming messages | `ENTITY_EXPERIENCE_ORB_PICKUP` |
| `mentions.sound.type` | Sound for mentions          | `ENTITY_EXPERIENCE_ORB_PICKUP` |

***

#### 🌟 Special Features

1. **Hidden Mentions** - Use `[@Player]` to secretly add players
2. **Bypass Permission** - `msgsystem.addmsgbypass` always shows hidden additions
3. **BetterTeams Integration** - `[Team]` shows the team from BetterTeams
4. **Color Codes** - Supports Legacy (`&c`) and HEX (`#FF0000` / `&#FF0000`)
5. **MiniMessage** - Full MiniMessage support
6. **Config GUI** - The settings GUI is completely modifiable in the config

***

#### 📦 Requirements

* **Minecraft Version:** 1.21+
* **Java Version:** 17+
* **Optional:** BetterTeams (for `[Team]` format)

***

#### 🔧 Installation

1. Download the `MsgSystem.jar` file
2. Place it in the `plugins/` folder of your server
3. Restart or reload your server
4. Configure the `config.yml` file as needed
5. Use `/msgsystem reload` to apply changes

<a href="/pages/JsKd452Nu8XTrHz68zaF" class="button primary" data-icon="house-chimney-window">Home</a> | <a href="https://www.spigotmc.org/resources/msg-system.128801/" class="button primary" data-icon="arrow-down-to-line">Herunterladen</a>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://chatsystem-wiki.gitbook.io/chatsystem-wiki/andere-plugins/msg-system-externes-plugin.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
