Skip to content

Pack Making JSON Decors & Blocks

CC edited this page Jul 16, 2026 · 3 revisions

Sometimes, you just want to have something shiny to place in the world that can't be driven away by a pesky thief. In this case, decor is the go-to choice. Decors are essentially block-based OBJ models that can be placed down, while Blocks use JSON models appropriate to your Minecraft Version of Choice. Decors come with full animation support, and can even have some additional functions built-in to justify the cost of crafting them - Blocks are as barebones and plain as any Dirt, Cobblestone, or Bedrock Block. See the parameters below for details:

Inherited JSON

Decors inherit the following core JSON sections:

Blocks inherit the following core JSON sections:

Decor

The decor section has the following parameters:

Properties that are marked with * can be modified using variableModifiers, for more advanced functionality.

  • type – This parameter is optional. If included, the decor will be created with specific functionality. The following special types are currently supported:
  • chest – Will make the decor have chest functionality.
  • beacon – Will make the decor have beacon functionality.
  • signal_controller – Will make the decor have signal controller functionality.
  • item_loader – Will make the decor have item loader functionality.
  • item_unloader – Will make the decor have item unloader functionality.
  • fluid_loader – Will make the decor have fluid loader functionality.
  • fluid_unloader – Will make the decor have fluid unloader functionality.
  • fuel_pump – Will make the decor have fuel pump functionality.
  • charger – Will make the decor have electric vehicle charger functionality.
  • radio – Will make the decor have radio functionality. Exact same system as vehicles. It even syncs up with them!
  • seat – Will make the decor have seat functionality.
  • width – How wide a decor is. 1 is a full block width. Numbers over 1 will result in unpredictable operations, so don't use them.
  • height – How high a decor is. 1 is a full block height. Numbers over 1 will result in unpredictable operations, so don't use them.
  • depth – How deep a decor is. 1 is a full block depth. Numbers over 1 will result in unpredictable operations, so don't use them.
  • lightLevel* – How much light this decor gives off. A value from 0-1, with 1 being full possible light.
  • sittingOffset – How much of an offset in the Y direction to make the player sit on this decor. Only valid for seats.
  • crafting – An optional crafting definition for this decor. If this is included, the decor will open a GUI for crafting pack components when clicked.
  • inventoryUnits – The number of inventory units for this decor, if it is a chest-type. This is how many rows (of 9 slots) the inventory has. Also used in item loaders/unloaders to configure their internal buffers (defaults to 5 slots).
  • inventoryStackSize - An optional max stack size for each inventory slot. Defaults to 64 if not set.
  • inventoryTexture – The texture for the GUI if the decor has an inventory. Only used if this decor a chest-type. If not set, the default is used.
  • fuelCapcacity – The fuel capacity of the decor. Units are in milli-buckets. Only use if this decor is a fuel pump/fluid loader. If not set, a value of 15000 is used.
  • pumpRate – The quantity of fuel or energy to pump per tick. Units are in milli-buckets/electric. Only use if this decor is a fuel pump/fluid loader/charger. If not set, a value of 10 is used.

Block

Blocks inherit a few properties from Decors, but are otherwise quite barebones. Useful for solid metal cubes of Tungsten or Terillium-carbonic Alloy, or having more variants of Chiseled Stone. As Blocks are visually defined by JSON models, they're technically closer to Fences or Stairs than they are to solid blocks; they will use blockstates for directional facing and similar jazz, however they are otherwise unable to be animated through the same Immersive Vehicles Animations that Decor OBJ models can use.

  • width – How wide and deep a decor is. 1 is a full block width. Numbers over 1 will result in unpredictable operations, so don't use them. Block hitboxes are non-directional and will not rotate, so width and depth are consolidated.
  • height – How high a decor is. 1 is a full block height. Numbers over 1 will result in unpredictable operations, so don't use them.
  • lightLevel – How much light this decor gives off. A value from 0-1, with 1 being full possible light.

Clone this wiki locally