FFEntityPainting

Datapacks

FFEntityPainting has no datapack file format of its own. One entity type tag decides which mobs can't be painted, and functions can set up paint and team layers with the /entitypaint commands. Add entries with "replace": false to extend the tag, and use /reload after changing a datapack.

Tag Type What it does Ships with
ffentitypainting:unpaintable entity type Mobs that can never be painted: they show no paint, and players can't paint them or open their layer manager Empty

The file lives at data/ffentitypainting/tags/entity_type/unpaintable.json. Every mob is paintable unless it's listed here, vanilla or modded, including mobs animated with GeckoLib. Mods can ship the same file in their jar to opt their own mobs out.

Example

Keep players and a modded boss from being painted:

{
  "replace": false,
  "values": [
    "minecraft:player",
    { "id": "somemod:ancient_guardian", "required": false }
  ]
}

Save it as data/ffentitypainting/tags/entity_type/unpaintable.json in your datapack. "required": false keeps the tag loading when that mod isn't installed.

Functions and commands

Functions can use the overview page's /entitypaint commands (functions have permission level 2), including team layers: combine layer add and layer access with vanilla teams and tags. For example, a capture-the-flag map can give each team's banner mob a layer only that team sees, and move a captain tag between players to decide who may paint it. Players see tag and team changes within about a second.

Notes