Skip to content

πŸ“’ Announcements Configuration ​

Manual Editing

This file supports manual editing for advanced features like title messages, sounds, and command execution. Use /announcer reload to apply changes without restarting.

File Information

πŸ“ File Location: mods/fof1092_EssentialsPlus/announcements.json
πŸ”™ Back to Configuration Overview

The announcements.json file contains the configuration for the automated announcement system. You can edit this file manually for advanced configurations or use the in-game commands for basic management.

Example Structure:

json
{
  "version": "1.0",
  "enabled": true,
  "interval": "15m",
  "randomOrder": false,
  "announcements": [
    {
      "name": "congratulations",
      "enabled": true,
      "chatMessage": [
        "<bold><blue>[<aqua><italic>Info</italic></aqua>]</blue></bold> <gray>Congratulations on installing <bold><gradient:#e89d1f:#e4e95d:#e89d1f>EssentialsPlus</gradient></bold>!</gray>",
        "           <gray>This message is editable via <aqua>announcements.json</aqua></gray>"
      ],
      "runCommandAsServer": [],
      "runCommandAsPlayer": []
    },
    {
      "name": "event_reminder",
      "enabled": false,
      "chatMessage": [],
      "titleMessage": {
        "primary": "Server Event",
        "secondary": "Join us in 10 minutes!",
        "isMajor": true,
        "duration": "5s",
        "fadeIn": "1s",
        "fadeOut": "2s"
      },
      "sound": {
        "soundEventIndex": 24,
        "category": "UI",
        "volume": 1.0,
        "pitch": 1.0
      },
      "runCommandAsServer": [],
      "runCommandAsPlayer": []
    },
    {
      "name": "vip_announcement",
      "enabled": false,
      "permission": "essentialsplus.announcement.see.vip",
      "chatMessage": [
        "<gradient:#ffd700:#ffed4e>VIP Benefits</gradient>",
        "<gray>Thank you for supporting our server!</gray>"
      ],
      "notifyMessage": {
        "message": "Thank you for supporting our server!",
        "title": "VIP Benefits",
        "style": "Important"
      },
      "runCommandAsServer": [],
      "runCommandAsPlayer": []
    },
    {
      "name": "daily_bonus",
      "enabled": false,
      "chatMessage": [
        "<gradient:#4ade80:#22c55e>Daily Bonus received!</gradient>",
        "<gray>You received <green><bold>10 coins</bold></green> as a login bonus!</gray>"
      ],
      "titleMessage": {
        "primary": "Daily Bonus",
        "secondary": "+10 Coins",
        "isMajor": false,
        "duration": "3s",
        "fadeIn": "1s",
        "fadeOut": "2s"
      },
      "sound": {
        "soundEventIndex": 15,
        "category": "UI",
        "volume": 0.8,
        "pitch": 1.2
      },
      "runCommandAsServer": [
        "/eco add {player} 10"
      ],
      "runCommandAsPlayer": []
    },
    {
      "name": "server_tip",
      "enabled": false,
      "chatMessage": [
        "<blue>Server Tip:</blue> <gray>Use <aqua>/home set <name></aqua> to create a home point!</gray>"
      ],
      "notifyMessage": {
        "message": "Use /home set <name> to create a home point!",
        "title": "Pro Tip",
        "style": "Normal"
      },
      "runCommandAsServer": [],
      "runCommandAsPlayer": []
    },
    {
      "name": "welcome_back",
      "enabled": false,
      "chatMessage": [
        "<gradient:#a855f7:#ec4899>=================================</gradient>",
        "       <bold><gradient:#fbbf24:#f59e0b>Welcome back to the server!</gradient></bold>",
        "       <gray>Your daily reward has been applied.</gray>",
        "<gradient:#a855f7:#ec4899>=================================</gradient>"
      ],
      "titleMessage": {
        "primary": "Welcome Back!",
        "secondary": "We missed you",
        "isMajor": false,
        "duration": "4s",
        "fadeIn": "1s",
        "fadeOut": "2s"
      },
      "sound": {
        "soundEventIndex": 20,
        "category": "UI",
        "volume": 0.7,
        "pitch": 1.0
      },
      "runCommandAsServer": [
        "/eco add {player} 25",
        "/msg {player} Type /help for available commands!"
      ],
      "runCommandAsPlayer": []
    }
  ]
}

Global Settings:

  • version - Configuration version (automatically managed)
  • enabled - Enable/disable the entire announcement system (default: true)
  • interval - Default interval between automatic announcements (e.g., "5m", "30s", "2h") (default: "15m")
  • randomOrder - Whether to play announcements in random order instead of sequential (default: false)

Individual Announcement Properties:

Each announcement in the announcements array can contain the following properties:

Basic Settings:

  • name - Unique identifier for the announcement (required)
  • enabled - Enable/disable this specific announcement (default: true)
  • permission - Optional permission required for players to see this announcement
    • Example: "essentialsplus.announcement.see.vip"
    • Players without this permission will not see the announcement

Chat Messages:

  • chatMessage - Array of chat messages to send
    • Supports multiple lines
    • Supports hex color codes: <#11ff00>text</#11ff00>
    • Supports Hytale color tags: <red>, <green>, <yellow>, etc.
    • Example: ["<#00ff00>Welcome!</#00ff00>", "<#ffffff>Enjoy your stay</#ffffff>"]

Title Messages:

  • titleMessage - Display a title overlay on player screens
    • primary - Main title text
    • secondary - Subtitle text
    • isMajor - Whether this is a major title (larger display)
    • duration - How long the title stays visible (e.g., "3s", "5s")
    • fadeIn - Fade-in duration (e.g., "1s", "0.5s")
    • fadeOut - Fade-out duration (e.g., "1s", "2s")

Sound Effects:

  • sound - Play sound effect for players
    • soundEventIndex - Sound ID number (varies by sound)
    • category - Sound category (e.g., "UI", "AMBIENT", "ENTITY")
    • volume - Sound volume (0.0 to 1.0)
    • pitch - Sound pitch (0.0 to 2.0, 1.0 is normal)

Notification Messages:

  • notifyMessage - Display notification popup
    • message - Notification text content
    • title - Notification title
    • style - Notification style ("Important", "Success", "Warning", "Error")

Command Execution:

  • runCommandAsServer - Array of commands to execute as server/console
    • Commands are executed with full server permissions
    • Example: ["/say Server announcement!", "/effect give @a minecraft:speed 30 1"]
  • runCommandAsPlayer - Array of commands to execute for each receiving player
    • Commands are executed as if the player typed them
    • Supports player placeholder: {player} (replaced with player name)
    • Example: ["/money {player}", "/kit daily {player}"]

Particle Effects:

  • particle - Display particle effects around players
    • particleSystemId - Particle system identifier (e.g., "Campfire_New_Cartoon")
    • spawnLocation - Where to spawn particles ("player", "world")
    • scale - Particle effect scale multiplier (1.0 is normal size)
    • color - Particle color in hex format (e.g., "#FFFFFF", "#FF0000")

Particle System Notice

Particle effects are currently not recommended for production use as they may persist until the next server restart, potentially causing performance issues.

Time Format Support:

The announcement system supports the following time formats for intervals:

  • Seconds: 30s, 45s, 1.5s
  • Minutes: 5m, 10m, 2.5m
  • Hours: 1h, 2h, 0.5h

Permission-Based Announcements:

You can create announcements that only certain players can see by adding a permission field:

json
{
  "name": "vip_only",
  "enabled": true,
  "permission": "essentialsplus.announcement.see.vip",
  "chatMessage": [
    "<#gold>Thanks for being a VIP member!</#gold>"
  ]
}

Only players with the essentialsplus.announcement.see.vip permission will receive this announcement.

Related Commands:

  • /announce send [id] [player] - Manually send specific announcement
  • /announce add [name] [message] - Create new basic announcement
  • /announce remove [name] - Remove announcement
  • /announce list [page] - List all announcements
  • /announce reload - Reload configuration from file
  • /announce toggle - Enable/disable announcement system

Note: The announcements.json file is automatically created with default examples on first startup. You can edit it manually for advanced configurations or use the in-game commands for basic management.