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/.
| Key | Default | Meaning |
|---|---|---|
| enable | false | FakePlayer master switch. /bot is unavailable when false. |
| always-send-data | true | Keep sending fake-player data even when the creator is offline. |
| spawn-phantom | true | Let the fake player participate in phantom spawning checks. |
| skip-sleep-check | true | Do not let the fake player block the night-skip sleep check. |
| invulnerable | true | Make the fake player immune to damage. |
| prefix | BOT_ | Prefix for fake-player names. The total name limit still applies. |
| suffix | empty | Suffix for fake-player names. |
| resident-bot | true | Save fake players on shutdown and try to restore them at startup. |
| cache-skin | true | Cache fake-player skin data. |
| regen-amount | 0.0 | Health regenerated per second; 0 means no automatic regeneration. |
| amount-per-player | 2 | Default 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
| Key | Default | Meaning |
|---|---|---|
| enabled | false | Enable random unlimited stronghold distribution. |
| spacing | 48 | Average spacing in chunks. |
| separation | 12 | Minimum 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
| Key | Default | Meaning |
|---|---|---|
| enabled | false | Enable /sit, /lay, /crawl, /get-up, and chair interaction. |
| chair-interaction | true | Allow empty-hand right-click on stairs or bottom slabs to sit. |
| require-side-signs | false | Require ordinary or wall signs at both ends of a chair row. |
| max-chair-chain-length | 8 | Maximum 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
| Key | Default | Meaning |
|---|---|---|
| enable | false | Enable the server-side Syncmatica protocol. |
| use-quota | false | Enable an upload quota. |
| quota-limit | 40000000 | Quota 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
| Key | Default | Meaning |
|---|---|---|
| neoforge | true | Send recipe data through neoforge:recipe_content to NeoForge clients. |
| fabric | true | Send recipe data through fabric:recipe_sync to Fabric clients. |
| skip-fabric-on-via-non-native | true | Skip 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.