Pixel Dream StudiosWiki

Adding a tier

Where a tier's files go, every field in a tier file, and the laser head's model and texture.

Directory layout

  • <namespace>/
    • data/
      • <namespace>/
        • drill_tiers/
          • t10.json TierDef (data-driven)
        • recipes/
          • drill_core/
            • t10_ores.json DrillCore recipe(s)
    • assets/
      • <namespace>/
        • models/
          • block/
            • laser_head_t10.json Head model (inherits from base)
        • textures/
          • block/
            • laser_head_t10.png Head texture (same UV layout as base)

Add a new Tier (data-driven)

A tier defines: which core item activates it, its RPM gate, its stress at 128 RPM, and which laser head model to render.

Create a file at:

data/<namespace>/drill_tiers/<tier_id>.json

Tier JSON schema

{
  // (optional) if omitted, the id is inferred from the filename
  "id": "<namespace>:t10",

  // sort order in JEI/tooltips (lower = earlier)
  "order": 10,

  // the item that must be inserted into the controller to activate this tier
  "core_item": "<namespace>:drill_core_t10",

  // base stress draw at min_rpm (scaled by the config suScale)
  // e.g. 32.0 with suScale=1000 => 32,000 SU shown/consumed at min_rpm
  "stress_at_minRPM": 32.0,

  // RPM gate for this tier; the drill does nothing below this
  "min_rpm": 128,
  // (optional) used only to clamp the x2 speed bonus in code; UI pitch/volume scales up to this
  "max_rpm": 256,

  // the partial model to render as the head (block model ResourceLocation, without "models/")
  // this file will be under assets/create_mininglaser/models/block/...
  "head_partial": "<namespace>:block/laser_head_t10"
}

Notes

  • stress_at_minRPM is interpreted at the tier's min_rpm (default 128). The config multiplier suScale is applied on top (see Config).
  • core_item can be any existing item (from your mod or others). You do not need a special item class—just reference it here.
  • head_partial must point to a block model (see next section).

Laser head model & texture

Every tier points to a partial block model via head_partial. New heads should inherit from the base head so you only swap textures.

Place files here:

  • Model: assets/<namespace>/models/block/laser_head_t10.json
  • Texture: assets/<namespace>/textures/block/laser_head_t10.png

Keep your texture's resolution and UV layout compatible with the base (the base uses a 64×64 sheet). If you change UVs, you'll need a full model edit.

Base model to inherit from

The mod ships a base head model (e.g. laser_head_t1.json). Your custom models should inherit from it.

Minimal inheriting model

{
  "parent": "create_mininglaser:block/laser_head_t1",
  "textures": {
    "1": "<namespace>:block/laser_head_t10r",
    "particle": "create_mininglaser:block/drill_casing"
  }
}

If you exported a full model from Blockbench, you can still simplify it to a parent + textures override as above—this keeps everything consistent with Create's partials.

On this page