CoreEngineWIKI
ESC
NavigierenEnter ÖffnenESC Schließen

Config-Referenz (Claim)

Alle Konfigurationsschlüssel aus plugins/CoreEngine/modules/claim.yml von CoreEngineClaim. Dieses Plugin ist GriefPrevention-kompatibel und nutzt größtenteils dieselben Konfigurationsschlüssel.

Reload: /claim admin reload oder Server-Neustart.


Storage #

Backend-Auswahl für die Speicherung von Claims.

YAML
Storage:
  # Backend-Typ: flatfile oder sqlite. Der Wechsel von flatfile zu sqlite
  # importiert die vorhandenen Claim-Daten automatisch beim ersten Start;
  # manuell lässt sich die Migration auch jederzeit über
  # /claim admin migrate anstoßen.
  Backend: sqlite

Claims (Hauptabschnitt) #

Welt-Modi #

YAML
Claims:
  # Claim-Modus pro Welt. Der Platzhalter "*" ist der Standard für alle
  # Welten. Mögliche Modi: Survival (normal), Creative (strikter beim
  # Ablauf von Claims), SurvivalRequiringClaims (Bauen nur in Claims
  # erlaubt), PvP (verhält sich wie Survival), Disabled (kein Claiming).
  WorldModes:
    "*": Survival
  # Liste von Welten, die vollständig als Admin-Land behandelt werden.
  # Spieler können hier keine neuen Top-Level-Claims erstellen;
  # Subdivisions sind weiterhin möglich. Verwaltung über
  # /claim admin world.
  GlobalWorldClaims: []

Schutz-Flags #

YAML
Claims:
  # Blockiert Mob-Spawner-Eier außerhalb von Claims
  PreventGlobalMonsterEggs: true
  # Blockiert Diebstahl aus Containern und Angriffe auf Tiere
  PreventTheft: true
  # Schützt passive Mobs (Tiere) innerhalb von Claims
  ProtectCreatures: true
  # Erfordert Access-Trust für Knöpfe und Hebel
  PreventButtonsSwitches: true
  # Blockiert Enderperlen-Teleport in fremde Claims ohne Access-Trust
  # (die Perle wird zurückgegeben)
  EnderPearlsRequireAccessTrust: true
  # Erfordert Build-Trust zum Läuten von Glocken (Raid-Auslöser)
  RaidTriggersRequireBuildTrust: true
  # Schützt Pferde vor fremdem Zugriff
  ProtectHorses: true
  # Schützt Esel vor fremdem Zugriff
  ProtectDonkeys: true
  # Schützt Lamas vor fremdem Zugriff
  ProtectLlamas: true
  # Wenn true, sind Haustiere auch in der Wildnis geschützt
  ProtectPetsOutsideLandClaims: false
ℹ️

Hinweis: Türen, Falltüren und Zauntore erfordern innerhalb von Claims immer Access-Trust. Es gibt dafür keinen globalen Konfigurationsschalter; um sie für alle zu öffnen, nutzt man stattdessen das Claim-Flag "Öffentlicher Zugriff" in der Claim-GUI.

Claim-Block-Wirtschaft (Basis) #

YAML
Claims:
  # Startguthaben (Claim-Blöcke) für neue Spieler
  InitialBlocks: 400
  # Claim-Blöcke pro Spielstunde (Spielzeit)
  BlocksAccruedPerHour: 100
  # Obergrenze für erspielte Blöcke (Bonus-Blöcke nicht inbegriffen)
  MaxAccruedBlocks: 80000
  # Stunden Inaktivität, bevor der Blockzuwachs pausiert (0 = deaktiviert)
  AccruedIdleThresholdHours: 0
  # Prozentsatz der normalen Rate während der Inaktivitäts-Stunden
  # (0 = keiner)
  AccruedIdleAccrualPercent: 0
  # Anteil der ausgegebenen Blöcke, der bei /claim abandon zurückerstattet
  # wird (1.0 = volle Rückerstattung)
  AbandonReturnRatio: 1.0

Claim-Block-Wirtschaft (Rangstufen) #

YAML
Claims:
  # Benannte Stufen für Start-Blöcke, zugewiesen per Permission
  # coreengineclaim.rank.<key> (höchster Treffer gewinnt). Die direkte
  # Permission coreengineclaim.initialblocks.<Zahl> hat Vorrang. Beispiel:
  # InitialBlocksByGroup:
  #   vip: 800

  # Benannte Stufen für den Blockzuwachs pro Stunde, zugewiesen per
  # coreengineclaim.rank.<key> (höchster Treffer gewinnt). Die direkte
  # Permission coreengineclaim.blocksperhour.<Zahl> hat Vorrang. Beispiel:
  # AccrualPerHourByGroup:
  #   premium: 200

Werkzeug- und Interaktions-Tuning #

YAML
Claims:
  # Minimale Zeit (ms) zwischen zwei Stick-Klicks desselben Spielers.
  # Verhindert Spam. 0 = deaktiviert.
  StickCooldownMillis: 500
  # Radius (Blöcke) für die Sneak+Stick-Anzeige "alle nahegelegenen Claims"
  NearbyClaimRadius: 30
  # Minimale Zeit (ms) zwischen zwei Sneak+Bone-Klicks
  SubdivisionVisualizationCooldownMillis: 200
  # Radius (Blöcke) für die Sneak+Bone-Anzeige "nahegelegene Subdivisions"
  SubdivisionNearbyRadius: 200

Auto-Claim beim Kisten-Platzieren #

YAML
Claims:
  # Radius (Blöcke) um eine neu platzierte Kiste von Neu-Spielern für den
  # Auto-Claim
  AutomaticNewPlayerClaimsRadius: 4
  # Minimum-Radius-Override
  AutomaticNewPlayerClaimsRadiusMinimum: 0

Claim-Geometrie #

YAML
Claims:
  # Nur für GriefPrevention-Kompatibilität, ohne eigene Funktion, manuell
  # erstellte Claims reichen immer über die volle Welthöhe
  ExtendIntoGroundDistance: 5
  # Minimale Seitenlänge (verhindert winzige Claims)
  MinimumWidth: 5
  # Minimale Gesamtfläche in Blöcken (Breite mal Länge)
  MinimumArea: 25
  # Niedrigste Y-Koordinate für automatisch erstellte Claims. Der Default
  # (eine sehr große negative Zahl) bedeutet: keine Beschränkung.
  # Beispiel: 0 verhindert Auto-Claims unter Meereshöhe.
  MinimumY: -2147483648
  # Per-Welt-Overrides für MinimumY. Beispiel: world_nether: 127
  MinimumYOverrides: {}
  # Nur für Kompatibilität, ohne eigene Funktion (siehe
  # ExtendIntoGroundDistance)
  MaximumDepth: 0

Werkzeuge #

YAML
Claims:
  # Material für das Untersuchungswerkzeug
  InvestigationTool: STICK
  # Material für die Claim-Erstellung/Änderung
  ModificationTool: GOLDEN_SHOVEL
  # Material für die Subdivision-Übersicht
  SubdivisionVisualizationTool: BONE

Claim-Ablauf (Expiration) #

YAML
Claims:
  # Auto-Chest-Claims werden nach N Tagen Inaktivität gelöscht
  ChestClaimDays: 7
  # Reserviert, aktuell ohne Funktion, AllClaimDays/ChestClaimDays regeln
  # den Ablauf
  UnusedClaimDays: 14
  # Alle Claims werden nach N Tagen Inaktivität gelöscht (0 = deaktiviert)
  AllClaimDays: 0
  # Maximale Claims pro Spieler (0 = unbegrenzt)
  MaximumNumberOfClaimsPerPlayer: 0
  # Maximale Subdivisions pro Top-Level-Claim (0 = unbegrenzt)
  MaximumSubdivisionsPerClaim: 100

Creative-Welten #

YAML
Claims:
  # Reserviert, aktuell ohne Funktion. Das tatsächliche Creative-Verhalten
  # (Renaturierung beim Claim-Ablauf) hängt ausschließlich an
  # Claims.WorldModes: <welt>: Creative
  CreativeRulesWorlds: []

Kolben & Portale #

YAML
Claims:
  # Kolben-Regeln: CLAIMS_ONLY (Kolben und alle bewegten Blöcke müssen im
  # selben Claim liegen, oder alles in der Wildnis), EVERYWHERE_SIMPLE
  # (vereinfachte Grenz-Prüfung), EVERYWHERE (nur Claim-Grenzen
  # geschützt), IGNORED (alle Kolben-Prüfungen aus, auch
  # Wilderness.DisablePistons)
  PistonMovement: CLAIMS_ONLY
  # Blockiert Portale, die von Mobs oder Maschinen erstellt wurden
  PreventNonPlayerCreatedPortals: true
  # Erlaubt Plünderern, Blöcke in Claims zu zerstören
  RavagersBreakBlocks: false
  # Warnt Spieler, die in der Wildnis bauen
  WarnWhenBuildingOutsideClaims: true
  # Verhindert, dass Wildfeuer in Claims übergreift
  ProtectFireSpreadingIntoClaims: true

Visualisierung #

YAML
Claims:
  # Deaktiviert Partikel-Optimierungen für Anti-Cheat-Plugins
  VisualizationAntiCheatCompatMode: false
  # Sekunden, die die Claim-Grenze sichtbar bleibt
  VisualizationDurationSeconds: 30

GriefPrevention #

GriefPrevention-Kompatibilitätseinstellungen.

YAML
GriefPrevention:
  Database:
    # Wenn Storage.Backend = sqlite, wird die zentrale Datenbank von
    # CoreEngine mitgenutzt
    UseCoreEngine: true

PvP #

PvP-Kampfregeln und Schutzmaßnahmen.

YAML
PvP:
  # Ob PvP überhaupt aktiv ist
  Enabled: true
  # Aktivierung von PvP pro Welt. Platzhalter "*" = Standard
  # (false = PvP aus)
  RulesEnabledInWorld:
    "*": false
  # Neu gespawnte Spieler sind kurzzeitig unverwundbar
  ProtectFreshSpawns: true
  # Sekunden der Post-Spawn-Immunität
  FreshSpawnDurationSeconds: 10
  # Tötet Spieler, die während eines Kampfes ausloggen
  PunishLogout: true
  # Sekunden, bis der Kampf-Status nach dem letzten Treffer abläuft
  CombatTimeoutSeconds: 15
  # Ob Spieler während des Kampfes Items werfen können
  AllowCombatItemDrop: false
  # Commands, die während des Kampfes blockiert sind
  BlockedCommands: [home, spawn, tpa, tpaccept, tpahere, warp, back, tp, teleport, rtp]
  ProtectPlayersInLandClaims:
    # Spieler in Land-Claims in PvP-Welten schützen?
    PvPWorld: false
    # Spieler in Land-Claims in Nicht-PvP-Welten schützen?
    NonPvPWorld: true
  # Spieler in Admin-Claims schützen
  ProtectPlayersInAdminLandClaims: true
  # Spieler in Subdivisions schützen
  ProtectPlayersInSubdivisions: false
  AllowLavaNearPlayers:
    # Lava-Eimer in der Nähe von Spielern in PvP-Welten erlauben?
    PvPWorld: false
    # Lava-Eimer in der Nähe von Spielern in Nicht-PvP-Welten erlauben?
    NonPvPWorld: false
  AllowFireNearPlayers:
    # Feuerzeuge in der Nähe von Spielern in PvP-Welten erlauben?
    PvPWorld: false
    # Feuerzeuge in der Nähe von Spielern in Nicht-PvP-Welten erlauben?
    NonPvPWorld: false
  # Reserviert, aktuell ohne Funktion. Der Enderperlen-Schutz läuft
  # ausschließlich über Claims.EnderPearlsRequireAccessTrust
  AllowPearlsToPvpZones: false
  # Radius (Blöcke), in dem Lava-Eimer und Feuerzeuge in der Nähe von
  # Spielern blockiert werden
  LavaBucketRadius: 5
  # Sekunden, in denen nur der Spieler selbst seine eigenen Drops
  # aufheben kann
  LootProtectionSeconds: 180

Pets #

Haustier-Verwaltung.

YAML
Pets:
  # Erlaubt den Command /givepet
  EnableGivePetCommand: true

Mobs #

Mob-Verhalten in der Wildnis und in Claims.

YAML
Mobs:
  # Endermen können Blöcke bewegen (betrifft alle Bereiche)
  EndermenMoveBlocks: false
  # Silberfische können Steinblöcke zerstören
  SilverfishBreakBlocks: false
  # Mobs/Tiere können Feldfrüchte zertrampeln
  CreaturesTrampleCrops: false
  # Kaninchen können Feldfrüchte fressen
  RabbitsEatCrops: true
  # Zombies können Holztüren aufbrechen
  ZombiesBreakDoors: false

Fire #

Feuer-Ausbreitung und -Zerstörung.

YAML
Fire:
  # Feuer breitet sich aus
  Spreads: false
  # Feuer zerstört Blöcke
  Destroys: false

Explosions #

Explosionen durch Creeper, TNT, Betten usw.

YAML
Explosions:
  # Blockiert Krater von Creepern/TNT über Meereshöhe
  BlockSurfaceExplosions: true
  # Erlaubt Betten-Explosionen in der Wildnis (Nether/End)
  BedExplosionsAllowed: false
  # Erlaubt Respawn-Anker-Explosionen in der Wildnis (Overworld)
  RespawnAnchorExplosionsAllowed: false

Wilderness #

Wildnis-Schutzregeln.

YAML
Wilderness:
  # Verhindert Himmelsplattform-Bäume (Griefing in der Wildnis)
  LimitSkyTrees: true
  # Verhindert das Wachsen von Setzlingen in der Wildnis
  LimitTreeGrowth: false
  # Setzt Redstone-Strom außerhalb von Claims auf 0
  DisableRedstone: true
  # Bricht Kolben außerhalb von Claims ab (PistonMovement: IGNORED deckt
  # das ebenfalls ab)
  DisablePistons: true
  # Meereshöhen-Override: -1 = nutzt die reguläre Weltmeereshöhe,
  # >= 0 = fester Wert
  SeaLevelOverride: -1

Sieges #

Belagerungssystem (optional).

YAML
Sieges:
  # Belagerungssystem aktivieren
  Enabled: false
  # Maximale Dauer (Sekunden) einer Belagerung
  MaxDurationSeconds: 1800
  # Welt-Positivliste für Belagerungen (leer = alle Welten; PvP-Regeln
  # müssen in der jeweiligen Welt aktiv sein)
  Worlds: []

Spam #

Anti-Spam- und Login-Kontrollen.

YAML
Spam:
  # Reserviert, ohne Funktion
  Enabled: false
  # Reserviert, ohne Funktion
  LoginCooldownSeconds: 60
  # Reserviert, ohne Funktion
  WhisperSlashCommands: [tell, pm, msg, r, whisper]
  # Reserviert, ohne Funktion
  ChatSlashCommands: [me, tell, pm, msg, r, whisper]
  # Reserviert, ohne Funktion
  BanOffenders: true
  # Reserviert, ohne Funktion
  AllowedIpAddresses: []
ℹ️

Hinweis: Der gesamte Spam-Abschnitt hat aktuell keine Wirkung - CoreEngine übernimmt die Chat-Moderation (Mutes, Spam-Schutz, Login-Cooldowns). Die Softmute-/Ignore-Filterung (siehe /softmute, /ignoreplayer auf der Wiki-Seite PvP und Sicherheit) läuft unabhängig davon und ist immer aktiv.


Economy #

Kauf-/Verkaufspreise für Claim-Blöcke und Team-Plots.

YAML
Economy:
  # Preis pro Claim-Block beim Kauf (0 = deaktiviert)
  ClaimBlocksPurchaseCost: 0.0
  # Erlös pro Claim-Block beim Verkauf (0 = deaktiviert)
  ClaimBlocksSellValue: 0.0
  # Standardpreis für /claim team buy (wird aus der Team-Kasse bezahlt).
  # Einzelne Plots können über /claim team price individuell
  # überschrieben werden. Miet-Plots buchen diesen Betrag pro Mietperiode.
  TeamPlotPurchaseCost: 100000.0
  # Preis pro Team-Claim-Block (/claim team blocks buy), 0 deaktiviert den Kauf.
  # Der Team-Pool finanziert konvertierte Team-Claims (/claim convert).
  TeamClaimBlocksCostPerBlock: 10.0

TeamPlots:
  # Echtzeit-Tage zwischen zwei Mietzahlungen eines Miet-Plots.
  RentPeriodDays: 30
  # Gnadenfrist nach einer geplatzten Zahlung, danach wird der Plot freigegeben.
  RentGraceDays: 7

Advanced #

Erweiterte Einstellungen für Performance und Diagnose.

YAML
Advanced:
  # Admin-Warnung, wenn ein Spieler mehr als N Claims besitzt (0 = aus)
  ClaimsPerPlayerWarningCount: 0
  # Korrigiert negative Block-Bilanzen automatisch beim Laden
  fixNegativeClaimblockAmounts: true
  # Minuten zwischen den Prüfungen auf abgelaufene Claims
  ClaimExpirationCheckRate: 60
  # Tage, wie lange Offline-Spieler-Profile zwischengespeichert werden
  OfflinePlayer_cache_days: 90

Logging #

Audit-Log für Claim-Aktionen.

YAML
Logging:
  # Schreibt alle Claim-Aktionen ins Audit-Log
  AuditLog: true
  # Name der Log-Datei im Plugin-Datenordner
  LogToFile: claim-audit.log
  # Rotiert die Log-Datei täglich
  RotateDaily: true
  # Größenlimit pro Log-Datei (0 = kein Limit). Bei Überschreitung wird
  # in eine neue Datei rotiert.
  MaxFileSizeMb: 10

Komplette Beispiel-Config #

Die vollständige config.yml mit allen Abschnitten. Die zuvor auskommentierten Beispielblöcke (WorldModes, GlobalWorldClaims, InitialBlocksByGroup, AccrualPerHourByGroup, MinimumYOverrides, Sieges.Worlds) sind hier aktiv mit Beispielwerten ausgefüllt, damit die Struktur direkt nachvollziehbar ist. Alle übrigen Werte entsprechen dem Auslieferungszustand.

YAML
# =====================================================================
# CoreEngineClaim: config.yml
# Default claim protection settings.
# Reload: restart the server or run /claim admin reload.
# =====================================================================

Storage:
  # 'flatfile' = YAML files under plugins/CoreEngine/modules/coreClaim/data/
  # 'sqlite'   = CoreEngine's shared SQLite pool (default; requires CoreEngine).
  # When switched from flatfile to sqlite, claim data is auto-imported on first start.
  Backend: sqlite

Claims:
  # Per-world claim mode. Key = world name, or "*" for a wildcard default.
  # Modes: Survival, Creative, SurvivalRequiringClaims, PvP, Disabled.
  WorldModes:
    "*": Survival
    world_creative: Creative
    world_hardcore: SurvivalRequiringClaims
    pvp_world: PvP
    world_minigames: Disabled

  # Worlds listed here are treated as fully claimed admin worlds.
  # Normal claims are still indexed normally; subdivisions can be created inside
  # these worlds later without storing a massive full-world claim.
  GlobalWorldClaims:
    - shopping_district

  # ── Protection flags ────────────────────────────────────────────────
  PreventGlobalMonsterEggs: true         # block mob-spawner eggs outside claims
  PreventTheft: true                     # stops container theft and animal attacks
  ProtectCreatures: true                 # protect passive mobs inside claims
  PreventButtonsSwitches: true           # require access-trust for buttons/levers

  # NOTE: Doors, trapdoors and fence gates always require ACCESS trust inside
  # claims. Use the per-claim "Public Access" flag (claim GUI) to open them
  # up for everyone instead of a global config toggle.

  EnderPearlsRequireAccessTrust: true    # deny ender-pearl teleport into claim without access-trust
  RaidTriggersRequireBuildTrust: true    # prevent raid-trigger blocks (bells) from being rung
  ProtectHorses: true
  ProtectDonkeys: true
  ProtectLlamas: true
  ProtectPetsOutsideLandClaims: false    # if true, pets are protected even in wilderness

  # ── Claim-block economy ─────────────────────────────────────────────
  InitialBlocks: 400                     # starting block allowance for new players
  BlocksAccruedPerHour: 100             # blocks earned per Minecraft play-hour
  MaxAccruedBlocks: 80000               # cap on earned blocks (bonus blocks not counted)
  AccruedIdleThresholdHours: 0          # hours of inactivity before accrual pauses (0 = disabled)
  AccruedIdleAccrualPercent: 0          # percentage of normal rate to award during idle hours (0 = none)
  AbandonReturnRatio: 1.0               # fraction of spent blocks returned on /claim abandon (1.0 = full refund)

  # ── Per-rank starting blocks (permission-based) ─────────────────────
  # Simplest way: grant the number directly as a permission, no config
  # entry needed. Highest number wins and beats the entries below:
  #   /lp group vip permission set coreengineclaim.initialblocks.800 true
  #
  # Alternative: define named tiers here and assign them via the
  # `coreengineclaim.rank.<key>` permission. If a player matches multiple
  # entries, the HIGHEST start value wins.
  InitialBlocksByGroup:
    vip: 800
    premium: 1200
    mvp: 1600

  # ── Per-rank block accrual (permission-based) ───────────────────────
  # Simplest way: grant the hourly rate directly as a permission. Highest
  # number wins and beats the entries below:
  #   /lp group vip permission set coreengineclaim.blocksperhour.150 true
  #
  # Alternative: define named tiers here and assign them via the
  # `coreengineclaim.rank.<key>` permission. If a player matches multiple
  # entries, the HIGHEST rate wins. Without any match,
  # BlocksAccruedPerHour is used. The effective rate is applied to the
  # player's full Minecraft playtime, including time before install.
  #
  # Example LuckPerms setup for named tiers:
  #   /lp group vip permission set coreengineclaim.rank.vip true
  #   /lp group premium permission set coreengineclaim.rank.premium true
  AccrualPerHourByGroup:
    vip: 150
    premium: 200
    mvp: 300

  # ── Tool / interaction tuning ───────────────────────────────────────
  # Minimum time (in ms) between two stick (investigation tool) clicks
  # by the same player. Prevents spamming the visualiser. 0 = disabled.
  StickCooldownMillis: 500
  # Radius (blocks) for sneak+stick "show all nearby claims" lookup.
  NearbyClaimRadius: 30
  # Minimum time (in ms) between two sneak+bone subdivision overview clicks.
  SubdivisionVisualizationCooldownMillis: 200
  # Radius (blocks) for sneak+bone "show all nearby subdivisions" lookup.
  SubdivisionNearbyRadius: 200

  # ── Auto-claim on chest placement ───────────────────────────────────
  AutomaticNewPlayerClaimsRadius: 4     # radius (blocks) of the auto-chest claim
  AutomaticNewPlayerClaimsRadiusMinimum: 0  # minimum radius override

  # ── Claim geometry ──────────────────────────────────────────────────
  # NOTE: Manually created claims always span the FULL world height
  # (bottom to build limit). ExtendIntoGroundDistance and MaximumDepth are
  # accepted for GriefPrevention config compatibility but have no effect.
  ExtendIntoGroundDistance: 5
  MinimumWidth: 5                       # minimum side length to prevent tiny claims
  MinimumArea: 25                       # minimum total area (X*Z) in blocks

  # Lowest Y for AUTOMATIC chest claims (manual claims ignore this and
  # always use the full world height).
  # Default -2147483648 = no restriction (uses world bottom).
  MinimumY: -2147483648
  MinimumYOverrides:                    # per-world overrides: worldName: minimumY
    world_nether: 127

  # Accepted for compatibility: currently no effect (see note above).
  MaximumDepth: 0

  # Claim creation and inspection tools.
  InvestigationTool: STICK
  ModificationTool: GOLDEN_SHOVEL
  SubdivisionVisualizationTool: BONE

  # ── Claim expiration ────────────────────────────────────────────────
  ChestClaimDays: 7                     # auto-chest claim deleted after N idle days
  UnusedClaimDays: 14                   # reserved (not implemented yet): use AllClaimDays instead
  AllClaimDays: 0                       # all claims deleted after N idle days (0 = disabled)
  MaximumNumberOfClaimsPerPlayer: 0     # 0 = unlimited
  MaximumSubdivisionsPerClaim: 100      # maximum sub-divisions per top-level claim (0 = unlimited)

  # ── Creative worlds ─────────────────────────────────────────────────
  CreativeRulesWorlds: []

  # ── Piston & portal rules ───────────────────────────────────────────
  PistonMovement: CLAIMS_ONLY           # EVERYWHERE / EVERYWHERE_SIMPLE / CLAIMS_ONLY / IGNORED

  # Blocks portals created by mobs or machines.
  PreventNonPlayerCreatedPortals: true

  RavagersBreakBlocks: false            # allow/deny ravagers breaking blocks in claims
  WarnWhenBuildingOutsideClaims: true   # educate players who build in unclaimed land
  ProtectFireSpreadingIntoClaims: true  # prevent wildfire from entering claimed land

  # ── Visualisation ───────────────────────────────────────────────────
  VisualizationAntiCheatCompatMode: false  # disables particle optimisation for anti-cheat plugins
  VisualizationDurationSeconds: 30      # seconds the claim border stays visible

GriefPrevention:
  Database:                             # if Storage.Backend = sqlite, use CoreEngine pool
    UseCoreEngine: true

PvP:
  Enabled: true
  RulesEnabledInWorld:                  # per-world PvP rule toggle; "*" = wildcard default
    "*": false
  ProtectFreshSpawns: true              # invincibility for new/fresh respawns
  FreshSpawnDurationSeconds: 10         # seconds of post-spawn immunity
  PunishLogout: true                    # kill players who log out during combat
  CombatTimeoutSeconds: 15             # seconds in-combat after last PvP damage
  AllowCombatItemDrop: false            # whether players can drop items mid-fight
  BlockedCommands: [home, spawn, tpa, tpaccept, tpahere, warp, back, tp, teleport, rtp]
  ProtectPlayersInLandClaims:
    PvPWorld: false
    NonPvPWorld: true
  ProtectPlayersInAdminLandClaims: true
  ProtectPlayersInSubdivisions: false
  AllowLavaNearPlayers:
    PvPWorld: false
    NonPvPWorld: false
  AllowFireNearPlayers:
    PvPWorld: false
    NonPvPWorld: false
  AllowPearlsToPvpZones: false
  LavaBucketRadius: 5
  LootProtectionSeconds: 180

Pets:
  EnableGivePetCommand: true

Mobs:
  EndermenMoveBlocks: false             # allow endermen to move blocks (affects all areas)
  SilverfishBreakBlocks: false          # deny silverfish from breaking stone blocks
  CreaturesTrampleCrops: false          # deny mobs/animals trampling crops
  RabbitsEatCrops: true                 # allow rabbits to eat farm crops
  ZombiesBreakDoors: false              # deny zombies breaking wooden doors

Fire:
  Spreads: false                        # allow fire to spread
  Destroys: false                       # allow fire to destroy blocks

Explosions:
  BlockSurfaceExplosions: true          # block creeper/TNT craters above sea level
  BedExplosionsAllowed: false           # allow bed explosions in nether/end dimensions
  RespawnAnchorExplosionsAllowed: false # allow respawn-anchor explosions in the overworld

Wilderness:
  LimitSkyTrees: true                   # prevent sky-platform tree griefing
  LimitTreeGrowth: false                # deny saplings from growing in the wilderness
  # Anti-grief kill switches for unclaimed land. When enabled, redstone
  # power is forced to 0 and pistons will not move outside of claims.
  DisableRedstone: true
  DisablePistons: true                  # PistonMovement: IGNORED also skips this check
  # SeaLevelOverride: -1 delegates to World.getSeaLevel(); >= 0 forces a fixed value.
  SeaLevelOverride: -1

Sieges:
  Enabled: false
  MaxDurationSeconds: 1800
  Worlds:
    - pvp_world

Spam:
  # Reserved for a future spam-detection module, currently has NO effect.
  # CoreEngine already handles chat moderation (mutes, spam protection).
  # Soft-mute (/softmute) and ignore (/ignoreplayer) filtering is always
  # active regardless of this setting.
  Enabled: false

Economy:
  ClaimBlocksPurchaseCost: 0.0          # 0 = buying disabled
  ClaimBlocksSellValue: 0.0             # 0 = selling disabled
  TeamPlotPurchaseCost: 100000.0        # paid from team treasury by /claim team buy; rent plots charge this per period
  TeamClaimBlocksCostPerBlock: 10.0      # price per TEAM claim block (/claim team blocks buy); 0 = buying disabled

TeamPlots:
  RentPeriodDays: 30                    # real-time days between rent payments for rented plots
  RentGraceDays: 7                      # grace period after a failed payment before the plot is released

Advanced:
  ClaimsPerPlayerWarningCount: 0        # warn admins when a player owns more than N claims (0 = off)
  fixNegativeClaimblockAmounts: true    # auto-correct negative block balances on load
  ClaimExpirationCheckRate: 60          # minutes between expiration sweeps (PHASE 14)
  OfflinePlayer_cache_days: 90          # how long to cache offline player profiles

Logging:
  AuditLog: true                        # write all claim actions to the audit log
  LogToFile: claim-audit.log            # log file name inside the plugin data folder
  RotateDaily: true                     # rotate the audit log file each day
  MaxFileSizeMb: 10                     # rotate to a new file when the daily log exceeds this size (0 = no cap)

# CoreEngineClaim is inspired by GriefPrevention's land-claim workflow.