DeerFoliaPlus · Configuration
Docs/deerfoliaplus/DeerFoliaPlus · Configuration

DeerFoliaPlus · Configuration

Configure DeerFoliaPlus feature groups and safety limits.

File structure

Use the following structure as a reference. The generated file also contains comments. If the generated file differs, use the generated file.

fake-player:
  enable: false
  always-send-data: true
  spawn-phantom: true
  skip-sleep-check: true
  invulnerable: true
  prefix: "BOT_"
  suffix: ""
  resident-bot: true
  cache-skin: true
  regen-amount: 0.0
  amount-per-player: 2

bedrock-stronghold-generation:
  enabled: false
  spacing: 48
  separation: 12

posture:
  enabled: false
  chair-interaction: true
  require-side-signs: false
  max-chair-chain-length: 8

syncmatica:
  enable: false
  use-quota: false
  quota-limit: 40000000

servux:
  structure-protocol: false
  entity-protocol: false

recipe-sync:
  neoforge: true
  fabric: true
  skip-fabric-on-via-non-native: true

custom-recipe:
  enabled: false

FakePlayer

FakePlayer is disabled by default. When enabled, players can use /bot to create and control server-side fake players. Data lives in the world save’s fakeplayer.dat and fakeplayerdata/. It does not live in config/.

KeyDefaultMeaning
enablefalseFakePlayer master switch. /bot is unavailable when false.
always-send-datatrueKeep sending fake-player data even when the creator is offline.
spawn-phantomtrueLet the fake player participate in phantom spawning checks.
skip-sleep-checktrueDo not let the fake player block the night-skip sleep check.
invulnerabletrueMake the fake player immune to damage.
prefixBOT_Prefix for fake-player names. The total name limit still applies.
suffixemptySuffix for fake-player names.
resident-bottrueSave fake players on shutdown and try to restore them at startup.
cache-skintrueCache fake-player skin data.
regen-amount0.0Health regenerated per second; 0 means no automatic regeneration.
amount-per-player2Default fake-player limit per non-OP player. A bot.amount.N permission can override it. N is a number.

Names must contain 4–16 ASCII letters, digits, or underscores. A name must not collide with an online player or another fake player. A normal player can control bots they created. OPs bypass the amount and ownership checks.

Bedrock-style strongholds

KeyDefaultMeaning
enabledfalseEnable random unlimited stronghold distribution.
spacing48Average spacing in chunks.
separation12Minimum spacing in chunks; must be less than spacing.

This changes world-generation rules. Do not enable it in a long-running production world and expect old chunks to regenerate. Test it in a new world or a copied server first.

Posture system

KeyDefaultMeaning
enabledfalseEnable /sit, /lay, /crawl, /get-up, and chair interaction.
chair-interactiontrueAllow empty-hand right-click on stairs or bottom slabs to sit.
require-side-signsfalseRequire ordinary or wall signs at both ends of a chair row.
max-chair-chain-length8Maximum contiguous stairs or slabs treated as one chair row.

Sitting and lying lock the player in place. Crawling still allows movement. Sneaking, jumping, or /get-up can end some posture states.

Syncmatica

KeyDefaultMeaning
enablefalseEnable the server-side Syncmatica protocol.
use-quotafalseEnable an upload quota.
quota-limit40000000Quota limit in bytes.

Schematic files are written to syncmatica/litematica/. Temporary upload files are written to syncmatica/temp/. Confirm that players use compatible Syncmatica/Litematica client components. Include these directories in backups and disk monitoring.

Servux

structure-protocol enables structure-boundary overlays. entity-protocol enables entity and block-entity NBT inspection. Both are disabled by default. Players still need a Servux-capable MiniHUD or Litematica client.

Recipe Sync

KeyDefaultMeaning
neoforgetrueSend recipe data through neoforge:recipe_content to NeoForge clients.
fabrictrueSend recipe data through fabric:recipe_sync to Fabric clients.
skip-fabric-on-via-non-nativetrueSkip Fabric sync when ViaVersion/ViaBackwards reports a non-native protocol.

Recipe Sync only sends recipes known by the server. It does not install JEI or another client mod. When a protocol error appears, keep one protocol enabled. Verify the client platform before you change more options.

Custom Recipe

custom-recipe.enabled is false by default. When enabled, the core reads config/custom-recipes.yml. It supports shaped, shapeless, smelting, blasting, smoking, campfire_cooking, and stonecutting. See Features and client protocols for the full recipe structure and result properties.

Restart the server after editing. YAML can parse successfully while an item ID, recipe type, or result is invalid. Check the log and the in-game recipe together.

When not to change defaults directly

  • Do not enable FakePlayer just to make a server look populated.
  • Do not change stronghold generation in an existing world without a test.
  • Do not enable Syncmatica without client support, backups, and disk monitoring.
  • Do not override vanilla recipes before testing the result.
  • Do not open posture, protocols, and every utility command at once.
  • Change one group at a time. Keep a rollback copy.