DeerFoliaPlus · Features and client protocols
Docs/deerfoliaplus/DeerFoliaPlus · Features and client protocols

DeerFoliaPlus · Features and client protocols

Use DeerFoliaPlus features, client protocols, runtime data, and custom recipes.

Feature overview

FeatureDefaultRequiresMain risk
FakePlayeroffserver switch, permissions, and bot-data backupsentity, chunk, and network cost
Bedrock-style strongholdsoffa new or tested worldchanged stronghold distribution
SyncmaticaoffSyncmatica/Litematica clientstorage, uploads, and privacy
ServuxoffMiniHUD/Litematica cliententity or block-entity data exposure
Recipe SynconFabric/NeoForge client supportViaVersion protocol compatibility
Custom Recipeoffconfig/custom-recipes.ymlrecipe overrides and economy
Postureoffpermissions and posture settingsposition locking and chair timing
Utility commandscommand-level defaultspermission nodesadministrative powers exposed to players

FakePlayer

Fake players are server-side entities. They do not need a real client connection. Create a bot, issue actions, inspect its inventory, and then remove or save it. resident-bot controls whether saved bots return after a restart.

Create a bot with a name and optional skin name:

/bot create <name>
/bot create <name> <skin_name>
/bot list
/bot tphere <name>
/bot tp <name> <player>
/bot inventory <name>
/bot equipment <name>
/bot backpack <name>
/bot save <name>
/bot load <name>
/bot remove <name>

The action system uses bot action subcommands. Use command completion for action names and arguments:

/bot action <name> list
/bot action <name> stop <index>
/bot action <name> stop all
/bot action <name> <action_name> <arguments>

Do not use fake players as a substitute for performance tests. Observe entity count, region-thread load, memory, and network traffic. Then change amount-per-player, always-send-data, or action frequency.

Bedrock-style strongholds

When enabled, strongholds use a random, unlimited distribution. spacing is the average chunk distance. separation is the minimum chunk distance. Use this feature in a new world or a tested copy. Do not enable it in an existing world without a test.

Syncmatica and Servux

Syncmatica lets the server and clients share Litematica schematics. It supports upload, download, and modification. The server stores schematic and temporary upload files under its root directory. Enable use-quota and set quota-limit when you need storage or upload limits.

Servux has two protocol groups:

  • structure-protocol provides structure-boundary overlays for MiniHUD.
  • entity-protocol provides entity and block-entity NBT inspection.

Expose these protocols only to trusted players. Do not enable entity-protocol on a public server without an access policy. Disable one switch at a time when you debug protocol compatibility.

Recipe Sync

Recipe Sync sends server recipes to clients. Mods such as JEI can then show the complete set. The server does not install Fabric, NeoForge, JEI, or another client mod. Keep skip-fabric-on-via-non-native enabled for Fabric players using a non-native protocol through ViaVersion/ViaBackwards unless testing proves otherwise.

Custom recipes

Custom recipes live in config/custom-recipes.yml under recipes. The core supports these seven type values:

  • shaped: pattern plus character-based ingredients.
  • shapeless: an ingredients list or indexed objects.
  • smelting, blasting, smoking, campfire_cooking: ingredient, result, experience, and cooking-time.
  • stonecutting: ingredient and result.

Example shaped recipe with a result name and custom identity:

recipes:
  example_tool:
    type: shaped
    pattern:
      - "S"
      - "I"
    ingredients:
      S: minecraft:stick
      I:
        item: minecraft:iron_ingot
        custom-id: example_iron
    result:
      item: minecraft:iron_sword
      amount: 1
      name: "&bExample Tool"
      custom-id: example_tool
      enchantments:
        minecraft:unbreaking: 1
      nbt:
        ExampleTag: enabled

Results support item, amount, name, custom-id, enchantments, and simple NBT values. An input custom-id distinguishes a custom item from an ordinary item of the same Minecraft type. Item IDs must exist in the server registry.

Custom-recipe debugging

When parsing fails, the core logs missing fields, unknown items, an invalid type, or an invalid pattern. Restart after editing. Check the registered count in the log. Test the relevant crafting, furnace, or stonecutter interface.

Posture system

When posture.enabled is true, players can sit, lie down, crawl, and stand up. chair-interaction allows an empty-hand right-click on stairs or bottom slabs. require-side-signs requires signs at both ends of a chair row. Test plugin and interaction-event compatibility before production use.