Reference
Custom arena maps, mob head textures for the combat HUD, and the addon policy for distributing Craftics addons.
Custom Arena Maps
Step 1: Build Your Arena
Create the full scene in creative mode including a flat area for the grid, surrounding decorations (trees, ruins, water, cliffs), and any blocks you want. The area outside the grid is purely cosmetic. The game only reads the grid boundaries and spawn markers.
Step 2: Place Marker Blocks
Place special marker blocks to define the playable grid and spawn positions. The game scans for these blocks when loading the arena.
Marker Block Reference
| Block | Purpose |
|---|---|
| Diamond Block | Camera corner. Place on one corner outside the grid (required). |
| Emerald Block | Opposite corner. Place on the corner diagonally opposite the Diamond Block (required). |
| Gold Block | Player 1 spawn (primary) |
| Iron Block | Player 2 spawn (multiplayer) |
| Copper Block | Player 3 spawn |
| Coal Block | Player 4 spawn |
All markers must be at the same Y level.
Step 3: Export
Option A: WorldEdit (recommended)
- Select:
//pos1and//pos2 - Copy:
//copy - Save:
//schem save <name> - Find in
config/worldedit/schematics/ - Copy to
craftics_arenas/<biome>/<number>.schem
Option B: Vanilla Structure Block (48×48×48 limit)
/give @s structure_block- Set to Save mode, define box, name it, click SAVE
- Find in
<world>/generated/minecraft/structures/ - Copy to datapack at
data/craftics/structures/arenas/<biome>/<number>.nbt
File Naming
craftics_arenas/ (in game run directory, for .schem)
plains/
1.schem
2.schem
boss_1.schem
forest/
1.schem
data/craftics/structures/arenas/ (in datapack, for .nbt)
plains/
1.nbt
boss_1.nbt
Biome IDs for Arena Folders
| Overworld | Nether | End |
|---|---|---|
| plains | nether_wastes | outer_end_islands |
| forest | soul_sand_valley | end_city |
| desert | crimson_forest | chorus_grove |
| jungle | warped_forest | dragons_nest |
| river | basalt_deltas | |
| mountain | ||
| snowy | ||
| cave | ||
| deep_dark |
Tips
- Size your grid for the biome's growth range (e.g., Plains starts 8×8, grows +1 per level).
- The isometric camera looks from the southwest at ~55°. Tall structures on the north/east edges may block the view.
- Floor level = marker Y level.
- Obstacles are overlaid by the game, so your arena provides the base terrain only.
- Add atmosphere outside the grid (lanterns, campfires, particle-emitting blocks, etc.).
- Under-floor lighting is automatic (glowstone every 3 blocks).
Mob Head Textures
The combat HUD displays a small head icon for every enemy and ally in the arena. Craftics ships 80+ vanilla mob heads and auto-discovers textures for modded mobs at runtime, so no code changes are needed to add heads for new mobs.
Resolution Order
When the HUD requests a head for entity type somemod:bigwolf, MobHeadTextures.get() checks three sources in order:
- Hardcoded vanilla map: ~80 built-in entries for all vanilla mobs. Always checked first.
- Runtime registration: entries added via the Java API (see below). Checked second.
- Resource auto-discovery: probes the loaded resource manager for a PNG at two path conventions (see below). Results are cached until
/reload.
If none of the three sources return a texture, the HUD falls back to a colored square with the mob's first initial.
Resource Pack Method (No Code)
Drop a 16×16 PNG at one of these two paths inside any resource pack:
| Convention | Path | Use Case |
|---|---|---|
| Craftics namespace | assets/craftics/textures/mob_heads/{modid}/{mobname}.png |
Resource packs shipping heads for any modded mob under Craftics' namespace |
| Mod namespace | assets/{modid}/textures/mob_heads/{mobname}.png |
A mod shipping its own head texture in its own namespace |
For a mob with entity type alexsmobs:bone_serpent, the auto-discovery probes:
assets/craftics/textures/mob_heads/alexsmobs/bone_serpent.png (Craftics namespace)
assets/alexsmobs/textures/mob_heads/bone_serpent.png (mod namespace)
Run /reload or toggle the resource pack and the head appears on the combat HUD immediately, with no client restart required.
Java API Method (Mod Code)
Addon mods can register head textures explicitly during client initialization:
import com.crackedgames.craftics.client.MobHeadTextures;
import net.minecraft.util.Identifier;
// In your ClientModInitializer.onInitializeClient():
MobHeadTextures.register(
"somemod:bigwolf",
Identifier.of("somemod", "textures/hud/bigwolf_head.png")
);
Runtime-registered entries take priority over auto-discovery but not over the built-in vanilla map.
Cache and Reload
Auto-discovered textures are cached after the first lookup. The cache is cleared automatically whenever /reload runs or resource packs change (via a SimpleSynchronousResourceReloadListener registered in CrafticsClient), so new or updated PNGs are picked up without restarting the client.
Addon Policy
Allowed
- Addons via API (weapons, equipment, armor sets, trims, events, enchantments, biomes, enemies, AI)
- Datapacks (arenas, loot, biome configs)
- Resource packs retexturing Craftics content
- Modpacks on CurseForge/Modrinth with credit
- Videos, streams, reviews (no permission needed)
Not Allowed
- Redistributing Craftics outside modpack launchers
- Copying source code into your projects
- Re-uploading without permission