FetzCraft

Minecraft things I make, all free.

Server plugins, models and the videos about building them. Everything here is free — no paywalled features, no licence keys, no restrictions!

Plugins

Three Paper plugins

Clay Mobs, Clay Duels and Clay Lobby. One jar each, no dependency chain, every feature in the free download.

See all three
YouTube

Devlogs and tutorials

How the plugins get built, how to configure them, and the occasional thing that went badly wrong on a live server.

Watch on YouTube
Models

Model assets

Blockbench models and texture packs made for my own servers, packaged up so you can drop them into yours.

Browse models

Latest on the channel

All videos →

The Discord is where everything happens

Plugin support, model requests, release notes, and early builds before they land on the site.

discord.gg/bznMms5mPU
FetzCraft · Plugins

Three plugins. One jar each.

Custom mobs, a competitive duels suite, and the hub they sit in front of. No Vault, no packet library, no licence key, nothing calling home.

Mobs

Clay Mobs

Write a boss in a file and it behaves like one. Config-driven mobs, ~110 mechanics, real pathfinder AI, and packs in two formats side by side.

0.1.0 Paper 1.21.4+ MIT
PVP

Clay Duels

Everything a duels server needs, in one jar. Ranked queues, replays, tournaments, wagers, and arenas that rebuild themselves exactly.

1.13.0 Paper 1.21.4+ / 1.8.8 MIT
Hub

Clay Lobby

The lobby, the network glue and the editor — all in the box. Twelve modules, proxy companions, and forms instead of chest menus.

1.0.0 Paper 1.21.9+ Velocity / Bungee

Built on the same three convictions

One jar, no dependency chain

None of the three need Vault, WorldEdit, Citizens, a party plugin or a packet library. Optional integrations are detected at runtime and skipped when absent.

Free, all of it, forever

Every feature on this site is in the jar you download. No premium build, no paywalled module, no licence key, no unlock for the editor or the replay viewer, and no upsell in chat. Nothing calls home either.

Everything clickable is also typed

No feature sits behind a GUI only — which also means Bedrock players are never stuck at a menu they cannot use.

Complementary, not overlapping

Clay Mobs is the content, Clay Duels is the competition, Clay Lobby is the hub in front of both.

Clay MobsClay DuelsClay Lobby
Version0.1.01.13.01.0.0
ServerPaper 1.21.4+Paper 1.21.4+, 1.8.8 buildPaper 1.21.9+
Java2121+21
StorageYAML packsSQLite / MySQLFlatfile / SQLite / MySQL
Required dependenciesNoneNoneNone
LicenceMITMIT

Get Support on Discord

Bug reports, config questions, feature arguments and release notes all live in the same place.

discord.gg/bznMms5mPU
Content · Clay Mobs 0.1.0

Write a boss in a file and it behaves like one.

Config-driven custom mobs, skills and spawning for Paper. Existing MythicMobs-format packs drop in unchanged; Clay Mobs' own format puts a whole boss in one file.

0.1.0 Paper 1.21.4+ Java 21 No dependencies MIT
Who it is for

Servers that write their own content, keep it in version control, and want to know exactly which lines the plugin could not read.

Two formats, loaded side by side

A file is native because of its first line — effmobs: 1 — not its folder, so a server can convert one pack and keep the rest. /effmobs convert rewrites a pack without touching the original.

~110 mechanics, ~50 targeters, ~80 conditions

Damage, heal, potions, particles, summons, projectiles, teleports, auras, variables, signals, boss bars, commands — across ~30 triggers. /effmobs components prints the live registry.

Behaviour, not just a Type:

AI selectors compile into 19 real pathfinder goals and 12 target selectors. Threat tables drive targeting, factions carry a relation matrix and per-player standing, and targets: [] is how you write a mob that never attacks.

Spawning you opt into

Random spawn rules, placed persistent spawners, vanilla spawn replacement rather than addition, and a distance/time despawn policy — each off by default and gated separately.

It tells you what it could not load

Every diagnostic carries a file and a line. Unknown mechanics are reported by name and frequency, so the gaps that matter to your packs are the visible ones.

Extensible from your own plugin

effmobs-api has no platform dependencies. Register your own mechanics, targeters, conditions, placeholders and triggers into the same registries the core uses.

One file instead of six

The skill lines are identical in both formats; what changes is the envelope. Options are grouped and schema-checked, and AI priority is list order rather than numbers you maintain by hand.

effmobs: 1
mob:
  id: emberwarden
  type: wither_skeleton
  display: "<gradient:#c67139:#ffc6a5>Emberwarden</gradient>"
  health: 420
  damage: 9
  ai:
    goals: [float, melee_attack, look_at_player]
    targets: [nearest_player]
skills:
  - onTimer 60: ring{particle=flame;radius=3}
  - onDamaged: cast{skill=ember_burst;chance=0.3}
drops:
  - ember_core 1 0.15
Mobs/emberwarden.efm — mob, skills, loot in one file
$ /effmobs coverage
loaded   mobs 41/43   skills 118/121   items 12/12
failed   Mobs/legacy/warden.yml:24
         unknown mechanic "disguise" (3 packs)
failed   Skills/aoe.yml:11
         composite condition "&&" not supported
failed   DropTables/rare.yml:7
         unknown targeter "@NearestStructure"
/effmobs coverage — what loaded, and what did not
Not implemented yet

Disguises, health bars, and composite && / || conditions.

Clay Mobs 0.1.0

Paper 1.21.4 or newer · Java 21 · no required dependencies · MIT

Clay Mobs is an independent project, not affiliated with or endorsed by MythicMobs. It reads a compatible file format implemented from public documentation only. Version 0.1.0 is early: feature-rich, but younger than the other two plugins here.

Competition · Clay Duels 1.13.0

Everything a duels server needs, in one jar.

Challenges, ranked queues, parties, kits, self-rebuilding arenas, spectating, replays, Elo, tournaments and wagers — without Vault, WorldEdit or a party plugin. Drop the jar in, make one arena, duel.

1.13.0 Paper 1.21.4+ 1.8.8 build SQLite / MySQL MIT
Who it is for

Competitive servers that want the whole package — and want their kits, modes and arenas to be files they can read.

Setup is one arena

First run writes a working config plus sixteen ready-made kits and modes: Classic, NoDebuff, Soup, Archer, UHC, Crystal, Combo, Sumo, Boxing, Build UHC, Bed Fight, The Bridge, Spleef, TNT Run, Rising Lava and Random Fortune.

Replays, in the arena they happened in

Pause, speed, seek and jump between kills. The recording is a compact list of what changed, so ten minutes of a 2v2 costs tens of kilobytes. Retention is capped by both age and count.

Tournaments on one arena

Single-elimination, seeded by rating, byes to the top seeds, the best two kept apart until the final. Bouts start as arenas free up, so a sixteen-player event needs one. The bracket is written to disk on every result and survives a restart.

97 rules, every one live

Combat, health, items, projectiles, movement, world editing, resets, round formats, win conditions and hazards. Click to edit or type the command. Modes and kits are plain YAML, so a competitive setup can live in git.

Arenas that rebuild exactly

Every block change is journalled before it happens — fire, fluids, pistons, explosions — and replayed in reverse afterwards. If a journal is ever incomplete, the arena is rebuilt from a captured baseline.

Statistics with real scopes

Recorded as it happens against overall, duel, <mode>, ffa and <arena>, so a leaderboard is one indexed lookup. Averages have a ten-game floor. ~40 PlaceholderAPI placeholders expose all of it.

The parts that must not go wrong

Duels move players' real inventories around, so those paths are built on hard rules rather than best effort.

State is stored before anything moves

The snapshot goes to the database first; only then is anyone teleported or given a kit. A crash mid-duel leaves an unambiguous record of who is owed what.

Players never actually die

A killing blow is intercepted and turned into an elimination — no dropped inventories, no respawn screen to get stuck on.

Owed items live in exactly one place

In an inventory, in escrow, or in /duelinbox — never on the floor. Claiming takes the database row first, so a stack cannot be claimed twice.

A wager resolves exactly once

One compare-and-set in the database. An unknown economy answer is never retried — the wager is parked for /dueladmin economy rather than guessed at.

Running alongside what you already have

One line of config. Integrated mode only ever makes Clay Duels do less, so it is safe to switch on partway through a server's life — duels, arenas, kits, modes, ratings, wagers and replays are identical in both.

dedicated (default)integrated
Lobby hotbar and sidebarAvailableNever
Teleport on joinAvailableNever
/d, /queue, /ranks, /replayKeptHanded back to the server
Where a duel may startAnywhereYour allow and block lists

It never takes a scoreboard away from another plugin, anything that pulls a player out of the world fires a cancellable event first, and if duels run their full length with nobody taking damage it says so instead of leaving you to guess.

Clay Duels 1.13.0

Paper 1.21.4 or newer, Java 21+ · a separate Spigot 1.8.8 build from the same sources · 502 tests passing across 48 test classes

Optional integrations only: PlaceholderAPI, Vault and an economy, and a Discord webhook. SQLite by default; MySQL or MariaDB when several servers share data. Migrations are automatic and forward-only.

Hub · Clay Lobby 1.0.0

The lobby, the network glue and the editor — all in the box.

Twelve modules over Paper 1.21.9, with Velocity and BungeeCord companions and an in-game editor made of real form controls. No NMS, no packet library, no Citizens.

1.0.0 Paper 1.21.9+ Java 21 Velocity 3.x & 4.x Flatfile / SQLite / MySQL
Why the version floor is the story

1.21.9 is where Mannequin — a first-party, player-shaped NPC entity — landed, and 1.21.8 is where Paper's Dialog API did. Between them they mean no NMS, no packet library, no Citizens, no capability probes or fallback code paths, and an editor made of real form controls rather than chest menus pretending to be them.

What is in it

ModuleWhat it does
LobbiesNamed lobbies, several spawn points each, first / random / round-robin selection, and a safe teleport that will not drop somebody inside a wall
RegionsCuboid, cylinder, sphere and global shapes over a chunk-bucketed spatial index, with thirteen protection rules and priority where they overlap
MenusChest GUIs that are dupe-proof by construction, not by remembering to cancel an event
ItemsHotbar items locked into their slots, with requirements and per-click actions
DisplayScoreboard, tab list, boss bar, and an action-bar arbiter so four features do not fight over one line
NPCsFour engines — mannequin, floating item, floating block, floating text — all first-party, all click-routable
HologramsTextDisplay holograms never written to the world save, so a crash cannot leave duplicates
MovementLaunch pads, double jump, portals
Player hiderSee everyone, staff only, or nobody
ProxyVelocity and BungeeCord companions with an authenticated channel and proxy-authoritative queues
EditorEdit seven kinds of object in game, in real dialogs, and save back to YAML with the comments intact

Every feature is a module with its own block under modules:, and enabled: false genuinely stops it — its listeners are never registered, and anything that wanted it is skipped with a line naming what it wanted.

Text a player typed can never become formatting

A name, a chat line, a queue id off the wire: all inserted as literal characters, unable to introduce a colour or a clickable link. Enforced at construction by a three-level trust type, not by remembering to escape.

One editor, seven permissions

Per-type on purpose: a build team can be trusted with holograms and lobby spawns without also being handed the protection rules.

Storage you can swap

Flatfile, SQLite or MySQL behind one interface, all storing the same document — so switching needs no converter, and the flat file stays readable in a text editor.

Anonymous bStats, nothing else

Server software, Java version, player count, rough location, which modules are on. No world names, no player names, no IPs, nothing typed into a config. Opt out in either place; both are honoured.

Built against the oldest version it claims

apiCheck reads the compiled bytecode against an index of what Paper 1.21.9 actually had and fails the build on anything newer — which is why there are no capability probes anywhere in the plugin.

Migration that shows its work

/veplobby-import reads another lobby plugin's setup and reports what it would do before it writes anything.

modules:
  lobbies:   { enabled: true }
  regions:   { enabled: true }
  npcs:      { enabled: true }
  holograms: { enabled: true }
  proxy:
    enabled: true
    secret: "<same value on every backend>"
  player-hider:
    enabled: false   # listeners never registered
config.yml — one block per module
screenshot — the Dialog-API editor
form controls, not a chest menu
Drop an image here when you have one

Clay Lobby 1.0.0

Paper 1.21.9 or newer · Java 21 · no required dependencies · 519 tests · boots a real Paper 1.21.9 in ~79 ms

Every phase is written, building and booting, with seventeen modules verified running together on a live server. What remains is a standing list of things that build, test and boot but have not yet been seen work with a client attached; docs/STATUS.md keeps that list and is the honest document of the project.

FetzCraft · Models

Model assets, free to use.

Boss rigs, weapons and armour, built for my own servers and packaged so they drop straight into yours. Spin any of them here before you download — each pack ships the model, the texture and the resource-pack files.

Boss rigs

Animated Blockbench entities, texture sheet included.

Hollow King

156-cube boss rig with 13 animations. 1024×512 texture, Blockbench source included.

Blockbench Free

Each viewer reads the .bbmodel file itself — drag to spin, scroll to zoom. Animations are in the file but not played here. Full packs are placeholder links until you drop the zips into downloads/models/.

Items and equipment

The Frostreaver set — a runeblade and the four regalia pieces that go with it. These are CraftEngine items: the pack ships the item definitions, the Java models and every texture, so the whole set drops into a server as one folder.

Frostreaver

71-cube runeblade on a netherite sword. +9 attack damage, 2500 durability, 128×128 texture.

CraftEngine Sword Free

Frostreaver Helm

21 cubes, worn as a real 3D model rather than a flat armour layer. +4 armour, +3 toughness, 1400 durability.

CraftEngine Regalia Free

Frostreaver Cuirass

25 cubes over a netherite chestplate. +9 armour, +3 toughness, 2000 durability.

CraftEngine Regalia Free

Frostreaver Greaves

20 cubes over netherite leggings. +7 armour, +3 toughness, 1900 durability.

CraftEngine Regalia Free

Frostreaver Sabatons

22 cubes over netherite boots. +4 armour, +3 toughness, 1600 durability.

CraftEngine Regalia Free

These viewers read the Minecraft Java model JSON and pull the textures straight out of models/items/, so what spins here is exactly what the client draws. Every button downloads the same fetzitems.zip — the whole set in one file, including the item configs, the flat 32px inventory icons and the worn armour layers, which are 2D by design and have no model to show.