# Configuration Observer uses multiple configuration files to manage its systems. The primary `config.yml` controls core settings, while individual manager files handle system-specific options. --- ## config.yml The main configuration file located at `plugins/Observer/config.yml`. ### License Your license key is your Discord ID. See the comment block at the top of the file for instructions on how to find it. ### Core Settings | Key | Type | Default | Description | |---|---|---|---| | `version` | Integer | `9` | Internal config version. Do not modify. | | `state` | String | `IN_GAME` | The current game state. Valid values: `IN_LOBBY`, `PRE_GAME`, `IN_GAME`. | | `worlds.event` | String | `"world"` | The name of the event world. | | `worlds.lobby` | String | `"lobby"` | The name of the lobby world. | | `base_health` | Double | `20.0` | The base health points players start with. | | `should_load_event_world` | Boolean | `true` | Whether Observer should load the event world on startup. | ### Command Namespaces The `commands.namespaces` section allows you to rename any command registered by Observer. Change the value to your preferred command alias. | Key | Default Namespace | |---|---| | `commands.namespaces.kit` | `kit` | | `commands.namespaces.capsules` | `capsules` | | `commands.namespaces.enchantments` | `enchantments` | | `commands.namespaces.items` | `items` | | `commands.namespaces.mechanics` | `mechanics` | | `commands.namespaces.pedestals` | `pedestals` | | `commands.namespaces.recipes` | `recipes` | | `commands.namespaces.respawn` | `respawn` | | `commands.namespaces.settings` | `settings` | | `commands.namespaces.resetallbans` | `resetallbans` | | `commands.namespaces.lifesteal` | `lifesteal` | ### Command Permissions The `commands.permissions` section allows you to customize the permission node required for each command. | Key | Default Permission | |---|---| | `commands.permissions.kit` | `lodestone.observer.commands.kit` | | `commands.permissions.capsules` | `lodestone.observer.commands.capsules` | | `commands.permissions.enchantments` | `lodestone.observer.commands.enchantments` | | `commands.permissions.items` | `lodestone.observer.commands.items` | | `commands.permissions.mechanics` | `lodestone.observer.commands.mechanics` | | `commands.permissions.pedestals` | `lodestone.observer.commands.pedestals` | | `commands.permissions.recipes` | `lodestone.observer.commands.recipes` | | `commands.permissions.respawn` | `lodestone.observer.commands.respawn` | | `commands.permissions.settings` | `lodestone.observer.commands.settings` | | `commands.permissions.resetallbans` | `lodestone.observer.commands.resetallbans` | | `commands.permissions.lifesteal` | `lodestone.observer.commands.lifesteal` | --- ## capsules.yml Controls the capsule spawning system. | Key | Type | Default | Description | |---|---|---|---| | `type` | String | `BATTLE_ROYALE` | Capsule mode. Valid values: `BATTLE_ROYALE`, `CIVILIZATION`, `WORLD_SPAWN`. | | `config.scatter.min` | Integer | `20` | Minimum scatter distance for BATTLE_ROYALE mode. | | `config.scatter.max` | Integer | `50` | Maximum scatter distance for BATTLE_ROYALE mode. | | `config.radius.CIVILIZATION` | Integer | `15` | Spawn radius for CIVILIZATION mode. | | `config.radius.WORLD_SPAWN` | Integer | `30` | Spawn radius for WORLD_SPAWN mode. | | `capsules` | List | `[]` | List of capsule locations. Managed automatically. | | `whitelist` | List | `[]` | Player whitelist for capsule assignment. | --- ## mechanics.yml Controls gameplay mechanics toggles. | Key | Type | Default | Description | |---|---|---|---| | `increased_apple_rates` | Boolean | `false` | Whether apple drop rates are increased. | | `is_sleeping_allowed` | Boolean | `true` | Whether players can sleep in beds. | | `can_enchant_items` | Boolean | `true` | Whether enchanting tables function. | | `can_use_anvils` | Boolean | `true` | Whether anvils function. | | `can_use_ender_chests` | Boolean | `true` | Whether ender chests can be opened. | | `can_breed_villagers` | Boolean | `true` | Whether villagers can breed. | | `can_trade_with_villagers` | Boolean | `true` | Whether players can trade with villagers. | | `can_use_respawn_anchors` | Boolean | `true` | Whether respawn anchors function. | | `can_bed_bomb` | Boolean | `true` | Whether bed explosions deal damage. | | `can_portal_trap` | Boolean | `true` | Whether portal trapping is allowed. | | `can_indirect_pvp` | Boolean | `true` | Whether indirect PvP (lava, TNT, etc.) is allowed. | | `should_global_block_decay` | Boolean | `false` | Whether all placed blocks decay over time. | | `is_unbreakable_spawners` | Boolean | `false` | Whether spawners are indestructible. | | `is_better_world_border` | Boolean | `false` | Whether the improved world border system is active. | | `should_match_world_borders` | Boolean | `false` | Whether world borders synchronize across dimensions. | | `can_brew_potions` | Boolean | `true` | Whether brewing stands function. | | `is_nether_allowed` | Boolean | `true` | Whether players can enter the Nether. | | `is_end_allowed` | Boolean | `true` | Whether players can enter the End. | | `should_grant_all_recipes` | Boolean | `false` | Whether all recipes are unlocked for players. | | `allow_block_trampling` | Boolean | `true` | Whether farmland can be trampled. | ### Combat Logging | Key | Type | Default | Description | |---|---|---|---| | `combat_logging.enabled` | Boolean | `false` | Whether combat logging detection is active. | | `combat_logging.duration` | Integer | `5` | Combat tag duration in seconds. | | `combat_logging.display_type` | String | `ACTION_BAR` | Where to show combat status. Valid values: `ACTION_BAR`, `TITLE`, `CHAT`. | | `combat_logging.display_message` | String | `"You are in combat for {time} seconds!"` | The message shown to players in combat. | | `combat_logging.combat_notification_translation` | String | `COMBAT_NOTIFICATION` | The translation key used when a player is combat tagged. | --- ## Elimination Manager (managers/elimination.yml) | Key | Type | Default | Description | |---|---|---|---| | `enabled` | Boolean | `false` | Whether the elimination system is active. | | `gamemode_on_death` | String | `SPECTATOR` | Gamemode assigned to eliminated players. | | `lightning_on_kill` | Boolean | `true` | Whether lightning strikes at the death location. | | `auto_ban.enabled` | Boolean | `false` | Whether eliminated players are automatically banned. | | `auto_ban.bypass` | String | `lodestone.observer.auto_ban.bypass` | Permission to bypass auto-ban. | | `death_message` | String | `ELIMINATION_MESSAGE` | Translation key for death broadcast. | | `kick_message` | String | `ELIMINATION_KICK_MESSAGE` | Translation key for the kick message shown to eliminated players. | | `auto_respawn` | Boolean | `false` | Whether players are automatically respawned after death. | | `minimum_remaining_players` | Integer | `0` | Number of "fake players" added to the remaining count. | --- ## Lifesteal Manager (managers/lifesteal.yml) | Key | Type | Default | Description | |---|---|---|---| | `enabled` | Boolean | `false` | Whether the lifesteal system is active. | | `name` | String | `<red><bold>Heart` | Display name of the heart item (MiniMessage format). | | `lore` | String | *(multiline)* | Lore text for the heart item (MiniMessage format). | | `material` | String | `NETHER_STAR` | Material type for the heart item. | | `item_model` | String | `minecraft:nether_star` | Item model identifier. | | `stackable` | Boolean | `false` | Whether heart items can stack. | | `heart_pop` | Boolean | `true` | Whether hearts "pop" with a visual effect. | | `type` | String | `DROP` | Lifesteal type. Valid values: `DROP`, `CONSUME`, `OBTAIN`, `ANYTIME`. | | `max_health` | Double | `40` | Maximum health a player can reach. | | `min_health` | Double | `14` | Minimum health before withdrawal is blocked. | | `can_withdraw` | Boolean | `true` | Whether players can withdraw hearts from their own health. | | `should_remove_heart` | Boolean | `false` | Whether the heart item is consumed on use. | | `display.drop` | String | `LIFESTEAL_FULL_INVENTORY` | Translation key for full inventory message. | | `display.min` | String | `LIFESTEAL_MIN` | Translation key for minimum health reached. | | `display.withdraw` | String | `LIFESTEAL_WITHDRAW` | Translation key for heart withdrawal. | | `display.max` | String | `LIFESTEAL_MAX` | Translation key for maximum health reached. | | `display.consume` | String | `LIFESTEAL_CONSUME` | Translation key for heart consumption. | --- ## Respawn Manager (managers/respawn.yml) | Key | Type | Default | Description | |---|---|---|---| | `enabled` | Boolean | `false` | Whether the respawn system is active. | --- ## Late Scatter Manager (managers/late_scatter.yml) | Key | Type | Default | Description | |---|---|---|---| | `enabled` | Boolean | `false` | Whether late scatter is active. | | `gamemode` | String | `SURVIVAL` | Gamemode assigned to late-scattered players. | | `translation` | String | `LATE_JOIN` | Translation key for the late join message. | | `inventory` | Object | `null` | Starting inventory for late-scattered players. | --- ## HelpOp Manager (managers/helpop.yml) | Key | Type | Default | Description | |---|---|---|---| | `enabled` | Boolean | `false` | Whether the HelpOp system is active. | | `cooldown` | Long | `300000` | Cooldown between help requests in milliseconds (default: 5 minutes). | --- ## translations.yml Defines all player-facing messages, titles, and sounds. Each translation key can include: - `tellraw` - A MiniMessage-formatted chat message. Prefix with `<center>` to center the text. - `title` - A title/subtitle display with `title` and `subtitle` fields. - `sound` - A sound effect with `sound`, `volume`, and `pitch` fields. See the default `translations.yml` for all available keys and their placeholder variables. --- ## restrictions.yml Manages item and enchantment restrictions. Use the in-game menu (`/observer` > Restrictions) to manage restrictions rather than editing this file directly. Changes persist across restarts. --- ## pedestals.yml Stores pedestal crafting station data. Managed through the in-game pedestal commands and GUI. --- ## custom_recipes.yml Stores custom crafting recipes. Managed through the in-game recipe commands and GUI. --- ## Related Pages - [[Observer/Server Owners/Overview]] - Plugin overview and features - [[Observer/Server Owners/Commands]] - Complete commands reference