MINECRAFT_SYSTEMS_CASE_STUDY

Minecraft systems engineering, not just plugin lists.

I build complex Minecraft server systems: custom TypeWriter extensions, RPG mechanics, model-driven gameplay, dialogue/voiceover tooling, visual editors, and infrastructure that connects multiple plugins cleanly. This page separates systems, models/assets, quests, demos, and operations so each type of work can be evaluated quickly.

Custom Extensions

18

TypeWriter modules and server systems

Primary Role

Systems

Plugin logic, integrations, automation

Core Stack

Kotlin

Paper, TypeWriter, MCP, BetterModel

Support Work

Infra

Linux, Docker, Pterodactyl, Nginx

PRODUCTION_RANGE

Where this work is strongest.

Minecraft gameplay engineering, TypeWriter extension work, server setup, automation, and web/backend systems.

Minecraft Plugin Developer
Minecraft Setup Specialist
Minecraft Configurator
Minecraft Modelling / Animation Workflow
Web Developer
Discord Bot / Automation Developer
Program / App Developer
System Administrator
Dialogue / Media Systems
Combat / RPG Mechanics

SYSTEMS_AND_EXTENSIONS

Custom TypeWriter systems.

Gameplay tools, player-facing mechanics, authoring utilities, and infrastructure built around real server needs.

Player Interaction

Interactive Context Menu

A radial/context menu system inside Minecraft that avoids inventory GUIs and supports browser-based visual authoring.

Purpose

Give servers a polished command wheel for NPCs, mounts, machines, quest choices, and custom objects without forcing players into chest-style menus.

Build Details

  • Defines TypeWriter entries for context menu interaction events, open menu actions, menu definitions, instances, items, presets, submenus, and control items.
  • Serves a Ktor/Netty browser editor from the plugin for visual editing, draft application, API-based instance updates, and asset generation.
  • Generates texture/font resource-pack assets and calibrates glyph slots for item-backed menu visuals.
  • Supports radial pages, submenus, disabled states through criteria, held-item filters, sneak-state filters, and cancelable interactions.
  • Supports action/control items and per-item criteria.
  • Useful for object menus, mount controls, RPG choices, and machine/object commands.

Dependencies

TypeWriterPaperKtor/NettyMinecraft resource packs

Use Cases

  • Mount, vehicle, NPC, machine, or object command wheels.
  • Quest choices that feel diegetic instead of opening an inventory.
  • Browser-assisted editing for designers who need to tune menu visuals quickly.

Setup Notes

  • Requires resource-pack output or integration with an existing pack pipeline.
  • Best sold with a short setup video showing menu creation, visual tuning, and in-game test flow.
KotlinTypeWriterPaperKtorResource Pack Glyphs
AI Authoring

Embedded MCP Authoring Server

An embedded Model Context Protocol server that lets external tools and AI agents manage TypeWriter content safely.

Purpose

Speed up quest/dialogue authoring by letting AI and external tools inspect, create, repair, translate, and manage TypeWriter content from controlled tools.

Build Details

  • Runs inside the Minecraft/TypeWriter runtime without requiring a separate Node sidecar.
  • Exposes controlled JSON-RPC/MCP tools for blueprint inspection, entry creation, content repair, translations, voiceover generation, and server operations.
  • Adds validation and repair flows to prevent malformed AI-generated JSON from breaking content.
  • Includes rate limiting, page-context validation, MP3/OGG utilities, and controlled server operations.
  • Can generate localized voiceover assets and update sound/resource-pack metadata.
  • Designed for authoring and repair, not player-facing gameplay.

Dependencies

TypeWriterMCP clientsElevenLabs optionalJSON-RPC

Use Cases

  • AI-assisted quest and dialogue authoring.
  • Repairing malformed entry JSON before it breaks live content.
  • Generating localized voiceover assets and resource-pack sound updates.

Setup Notes

  • Should be deployed behind explicit access controls.
  • Needs clear operator documentation before being sold or reused externally.
KotlinMCPJSON-RPCElevenLabsTypeWriter
Model Gameplay

ModelEngine / BetterModel Integrations

Model-driven entity systems for animations, hitboxes, combat actors, mounts, skins, equipment, and cinematics.

Purpose

Turn animated models into gameplay actors instead of static decoration: combat entities, mounts, cutscene props, and interactive world objects.

Build Details

  • Controls custom model entities, attachments, bone equipment, player skins, debug controls, animation settings, body rotation, and model cinematics.
  • Adds combat actor behavior with targeting, skills, windup/commit/recovery timing, threat handling, chase/retreat phases, and hurt reactions.
  • Supports mounted player models with movement rules, stamina, particles, mounted animations, bone dynamics, terrain tilt, and diagnostic rotation.
  • Good for animated RPG NPCs, bosses, rideable models, and props with gameplay hitboxes.
  • Separates technical integration from pure model art.
  • Can be sold as bespoke server implementation work.

Dependencies

BetterModel or ModelEngineTypeWriterPaperResource pack/model assets

Use Cases

  • Animated RPG NPCs and boss encounters.
  • Mounted gameplay systems such as horses, wagons, or custom rideable models.
  • Cutscenes and interactive model props with gameplay hitboxes.

Setup Notes

  • BetterModel itself is not authored here; the value is the custom integration, behavior, and workflow around it.
  • Media should show the model, animation state, hitbox/combat behavior, and the gameplay result.
KotlinModelEngineBetterModelPaperTypeWriter
World State

Spawnables Registry

Persistent and transient spawnable instances with gaze, interaction, facts, registry storage, and per-player scoping.

Purpose

Let quests and systems create durable or player-scoped world objects with state, interactions, and cleanup behavior.

Build Details

  • Adds actions to add/remove instances, iterate records, and execute scoped simple actions.
  • Stores spawn records and active contexts for player-specific world props or interactive objects.
  • Supports permanent and variable-backed facts, gaze-record audiences, criteria audiences, pinned/transient groups, and dynamic individual instances.
  • Supports quest logic that needs durable object state.
  • Can create player-specific collectibles and props.
  • Works well with gaze-targeted interactions.

Dependencies

TypeWriterPaperGson/artifact storage

Use Cases

  • Per-player collectibles, props, interactive objects, and story state.
  • Gaze-targeted interactions against spawned records.
  • Quest logic that needs durable object state.

Setup Notes

  • Needs clear naming conventions for records and cleanup policies before use on production worlds.
KotlinTypeWriterGsonPersistent Artifacts
Dialogue / HUD

Voiceover, BetterHUD, LuxDialogues

Dialogue and HUD systems that synchronize text, sounds, options, popups, and inventory-change feedback.

Purpose

Make RPG dialogue and reward feedback feel complete through synced voice, HUD popups, option dialogue, sounds, and resource-pack driven presentation.

Build Details

  • Voiceover entries add spoken, action-bar, and option dialogues with timed sounds.
  • BetterHUD integration adds item popups, inventory hash watching, inventory gain/loss events, and custom popup variables.
  • LuxDialogues integration adds NPC metadata, spoken/option/action-bar Lux dialogue, cinematic dialogue segments, popup sounds, typing sounds, and selected option context.
  • Supports voiced RPG conversations with branching option selection.
  • Can show reward/item popups when inventories change.
  • Works well with cinematic dialogue sequences.

Dependencies

TypeWriterBetterHUDLuxDialoguesResource packs

Use Cases

  • Voiced RPG conversations with branching option selection.
  • Reward/item popups when inventories change.
  • Cinematic dialogue sequences with synchronized sound timing.

Setup Notes

  • Requires consistent sound naming and resource-pack build workflow for voiceover-heavy projects.
KotlinBetterHUDLuxDialoguesTypeWriterResource Packs
Media Systems

Video & Cinematics

In-game video/cinematic playback using map screens, texture overlays, color mixers, FFmpeg, and YouTube/source resolution.

Purpose

Bring tutorials, cutscenes, lore, transitions, and atmospheric videos into Minecraft experiences.

Build Details

  • Supports map video cinematics with anti-tear buffering, dithering, preload queues, frame dropping, full-screen camera placement, and item-frame packet control.
  • Includes texture-overlay video cinematics and color mixer cinematics for full-screen transitions and atmosphere.
  • Provides cache commands and supporting FFmpeg, yt-dlp/NewPipe, map encoding, and NMS packet utilities.
  • Useful for tutorial videos, cutscenes, lore displays, and full-screen transitions.
  • Designed as a reusable media pipeline for resource-pack-driven experiences.
  • Requires strong demo videos to sell well.

Dependencies

FFmpegyt-dlp/NewPipe optionalTypeWriterNMS packets

Use Cases

  • Tutorial videos, cutscenes, lore displays, or server advertisements inside Minecraft.
  • Full-screen cinematic transitions during quests.
  • Reusable media pipeline for resource-pack-driven experiences.

Setup Notes

  • Needs media cache sizing, performance testing, and clear video length/resolution recommendations.
KotlinFFmpegMap Packetsyt-dlpTypeWriter
Client State

Resource Pack Readiness

Audience, fact, and event entries that detect whether a player has loaded the required resource pack.

Purpose

Prevent custom models, sounds, videos, and HUD systems from triggering before the client is ready.

Build Details

  • Tracks pack status per player and exposes resource-pack-loaded audience filters, facts, and events.
  • Includes status context keys so flows can branch based on readiness.
  • Can delay custom models, sounds, videos, or HUD flows until the client is ready.
  • Can show fallback instructions when a player has not loaded the pack.

Dependencies

PaperTypeWriterResource packs

Use Cases

  • Delay custom models, sounds, videos, or HUD flows until the client is ready.
  • Show fallback instructions when a player has not loaded the pack.
  • Protect immersive systems from being triggered on unprepared clients.

Setup Notes

  • Pair with fallback messaging for players who reject or fail resource-pack loading.
KotlinPaperTypeWriterResource Packs
Interaction Logic

Gaze & Attention Filters

Audience filtering based on whether players are looking at TypeWriter entities.

Purpose

Show prompts and trigger logic only when the player is actually paying attention to the relevant object or NPC.

Build Details

  • Checks per-player entity positions, distance, horizontal/vertical angles, optional line of sight, inversion, and sticky tick windows.
  • Designed for prompts and interactions that should only appear when attention is focused.
  • Supports inspection prompts and attention-gated object interactions.
  • Reduces UI clutter by showing hints only at the right time.

Dependencies

TypeWriterPaper vector math

Use Cases

  • Inspection prompts when looking at an object.
  • NPC/object interactions that require attention.
  • Reducing UI clutter by showing hints only at the right time.

Setup Notes

  • Tune angle/distance values per interaction so prompts do not feel noisy.
KotlinVector MathTypeWriter
Quest Tooling

Checkpoint & Utility Systems

Save/restore player fact snapshots and provide reusable utilities for objectives, variables, boss bars, repeated actions, and global monitors.

Purpose

Make complex quest development easier to test, recover, and maintain.

Build Details

  • Checkpoint stores fact, position, and inventory snapshots in artifacts and can restore them for players.
  • Utility entries support multi-track/untrack quest actions, repeated actions, calculated boss bars, multi-objective lines, context-scope variables, variable-value facts, and global condition monitors.
  • Supports repeatable quest testing and rollback points.
  • Reduces duplicated TypeWriter wiring in complex RPG flows.

Dependencies

TypeWriterArtifact storage

Use Cases

  • Repeatable quest testing and rollback points.
  • Timed objectives, global triggers, and clean quest HUD display.
  • Reducing duplicated TypeWriter wiring in complex RPG flows.

Setup Notes

  • Document which facts/inventory states are captured for each checkpoint type.
KotlinTypeWriterArtifactsQuest Logic
Infrastructure

Server Setup & Operations

Linux, Pterodactyl, Docker, Nginx, reverse proxy, backups, logs, domains/SSL, and production stability work.

Purpose

Keep Minecraft/web systems deployable, debuggable, and recoverable in production.

Build Details

  • Commission work included bare-metal Linux setup, Pterodactyl, Docker, Wings, Nginx, multiple nodes, Velocity/minigame routing, and main-server operations.
  • Games of Education hosting uses Linux, systemd, Nginx, HTTPS, and reverse proxying to a production Node/Express/Next process.
  • Covers logs, services, backups, firewall/security basics, and reverse proxying.
  • Connects game servers, websites, dashboards, and automation services.

Dependencies

LinuxDockerPterodactylNginxsystemd

Use Cases

  • Stable production Minecraft infrastructure.
  • Recoverable deployments with logs, services, backups, and security basics.
  • Connecting game servers, websites, dashboards, and automation services.

Setup Notes

  • Strong proof includes uptime, topology diagrams, backup policy, and deployment notes.
LinuxDockerPterodactylNginxsystemd

MODELS_TEXTURES_ASSETS

Visual and animation work.

Model integration, generated resource-pack output, glyph assets, animation preparation, and gameplay-ready presentation work.

MODEL_RENDER_GALLERY

Model renders, turntables, GIFs, and previews can show the final in-game result beside the technical workflow.

Models & AnimationWith Media

Animation-First Model Pipeline

Technical workflow for importing GLB/Mixamo animations, preparing them through modified Blockbench behavior, and editing custom motion in Cascadeur/Blender-compatible pipelines.

  • Modified Blockbench workflow for animation import/prep.
  • Mixamo, Cascadeur, and Blender compatibility work.
  • Examples include lazy miner, bench sitting, mining, forge bellows, and animated player model replacement.

Mixamo

Cascadeur

Textures & UI AssetsReady for media

Resource-Pack / Glyph Assets

Generated glyphs, menu textures, font JSON, and resource-pack outputs used by the Interactive Context Menu and HUD systems.

  • Works with folder/zip pack output and Nexo-style external pack setups.
  • Positions asset work as technical asset integration, not pure texture art.
  • Supports screenshots, generated pack assets, and texture previews.
Models & AssetsWith Media

Medieval RPG Props

A collection of custom medieval-style props and tools created for an RPG Minecraft server. The assets were designed to support village life, crafting professions, farming, forging, and environmental storytelling.

  • Includes pottery, wooden containers, tools, farming equipment, furniture, and forge-related props.
  • Created for a medieval RPG setting where objects are used as part of quests, professions, and immersive world building.
  • Built with a Minecraft-friendly low-poly style while keeping the shapes readable and suitable for resource-pack or model-based gameplay.

Vase with Rope

A medieval-style clay vessel with rope detailing, designed as a decorative or storage prop for village and crafting areas.

Wooden Bucket

A rustic wooden bucket model suitable for wells, farms, workshops, and village environments.

Hatchet

A compact medieval hand axe/hatchet prop for woodcutting, survival tasks, or NPC profession scenes.

Hoe

A simple farming tool designed for agricultural areas, crop quests, and village workstations.

Clay Pitcher

A handmade clay pitcher suitable for kitchens, taverns, storage areas, and medieval domestic scenes.

Scythe

A large farming scythe designed for crop fields, rural NPCs, and medieval harvesting scenes.

Sickle

A curved harvesting tool suited for farming quests, crop gathering, and medieval worker props.

Wooden Stool

A simple rustic stool for homes, workshops, taverns, and NPC interaction areas.

Wooden Table

A large wooden table prop for village interiors, crafting stations, shops, or medieval meeting areas.

Clay Vase

A low-poly clay vase designed as a decorative environmental prop for medieval village builds.

QUESTS_RPG_MECHANICS

Dacia quest work: story, objectives, and custom systems.

Act I turns village professions, training, resource gathering, riding, archery, honey collection, and a bear hunt into playable Minecraft progression.

Act I campaign structureDacia Act I

The Village

A village campaign built as a sequence of NPC-led professions and escalating survival tasks. The player starts by helping the baker, moves into mining and blacksmith work, learns riding and archery, then follows the hunter into a bear-tracking finale.

Player Journey

  • Meet Fane the Baker and follow a child through the fields to gather millet and spinach.
  • Cook Dacian stew by filling the pot with water, adding ingredients, waiting for the cook timer, portioning bowls, and delivering food.
  • Carry the story forward by delivering the stew to Fane the Blacksmith, moving naturally from village life into craft progression.

Custom Systems

  • Quest-state facts that reveal objectives only when the player reaches the correct story stage.
  • Inventory-count objectives for gathered crops, stew bowls, tools, ore, ingots, honeycomb, arrows, and quest rewards.
  • NPC interaction gates that move the story between named villagers without exposing TypeWriter logic to the player.

Mission Objectives

  • Gather 3 millet and 3 spinach.
  • Keep pace with the guide NPC.
  • Use the cooking pot sequence: water, ingredients, timer, bowls.
  • Return to the baker and deliver stew to the blacksmith.

What This Proves

  • Built from 11 quest pages and 88 objective entries in the Act I export.
  • Uses interact entity, location, completable, region, timer, inventory, and permanent-fact objectives.
Production-craft quest chainDacia Act I

Mining, Smelting, and Knife Forging

A hands-on craft sequence where the player mines ore, handles a furnace process, moves a bloom, forges an ingot, and turns it into a knife for the next story beat.

Player Journey

  • Travel to the miner, pick up the pickaxe, and break metal nodes into ore.
  • Operate the furnace: find the pail, move charcoal and ore, wait for the melt, break the shell, grab tongs, and move the bloom.
  • Finish the blacksmith sequence by placing the ingot in the forge, picking up tongs and a hammer, striking the metal through staged progress, quenching the blade, and handing over the finished knife.

Custom Systems

  • Multi-stage forge state managed by permanent facts and inventory checks.
  • Tool-dependent objectives that react to pickaxe, bucket, tongs, hammer, bloom, ingot, and knife states.
  • Progressive objective text that reflects how many logs, hits, ingredients, or materials have already been added.

Mission Objectives

  • Crumble 4 metal nodes into ore.
  • Fill the pail with charcoal and ore, then pour both into the furnace.
  • Break the furnace shell, move the bloom, forge the ingot, and collect it.
  • Heat, hammer, and quench the knife before returning it to the blacksmith.

What This Proves

  • The forging chain alone contains staged objectives for fuel, heat, tool pickup, anvil placement, hit counts, quenching, and NPC handoff.
  • The design reads as gameplay, but the implementation is driven by custom state machines inside TypeWriter facts.
Training and world-interaction branchDacia Act I

Riding, Archery, and the Honey Job

The campaign widens from village production into outdoor traversal and precision tasks: the player earns a horse, clears hurdles, trains with a bow, and solves a honey-gathering task around living hives.

Player Journey

  • Speak with the stablemaster, mount the horse, ride to the arena, and clear three checkpoint hurdles.
  • Pick up the bow and arrows, move into the archery yard, shoot a first set of targets, climb the tower, then complete longer-range shots.
  • Visit the flower glade, gather honeycomb with a stick, return to the blacksmith, then revisit the hives to put honey back into the correct nests.

Custom Systems

  • Mounted objective flow using horse-mounted state, location checks, timed checkpoint facts, and arena progression.
  • Archery target progression using region checks and timed hit facts across ground and tower stages.
  • Bee nest state using block data, display definitions, replenish timers, nest capacity facts, and per-nest honey counters.

Mission Objectives

  • Take the horse and complete three riding checkpoints.
  • Shoot four ground targets, climb the tower, then shoot the final target set.
  • Collect honeycomb from hives, track nest counts, and return honey to specific nests.

What This Proves

  • The honey quest page includes block data, shared entity instances, criteria audiences, timers, and nest-state facts.
  • The training chain proves the quest system can combine movement, mounted gameplay, region logic, and precision target triggers.
Tracking, combat, and story payoffDacia Act I

The Bear Hunt Finale

The Act I finale turns earlier preparation into a guided hunt. The player follows Fane the Hunter, searches for clues, spawns and fights the bear, retrieves the heart, and carries the story into a portal transition.

Player Journey

  • Follow the hunter into the forest and discover three clues in order.
  • Use the clues to locate the bear, trigger the encounter, fight it, and finish the wounded state.
  • Pick up the heart, deliver it to the healer, and move through the portal once the transition is ready.

Custom Systems

  • Sequential clue facts that control the search route and reveal the next objective only after each clue is found.
  • Combat state for bear spawned, dying, killed, heart active, healer handoff, portal readiness, and final transition.
  • NPC-led pacing that connects dialogue, exploration, combat, inventory rewards, and cinematic progression.

Mission Objectives

  • Follow Fane the Hunter.
  • Find the first, second, and third clue.
  • Find and fight the bear.
  • Pick up the heart, give it to the healer, and go through the portal.

What This Proves

  • The finale uses permanent facts to manage clue order, spawned combat state, reward pickup, healer delivery, and portal activation.
  • This is a narrative quest sequence implemented as custom gameplay state, not a static checklist.

SERVER_SETUP_INFRASTRUCTURE

The server work matters too.

Minecraft systems often fail at the seams between plugins, hosting, websites, deployment, and operations. This section makes that capability explicit.

Minecraft Setup

RPG/adventure servers, NPC/dialogue systems, economy/shop systems, custom item/resource-pack setups, progression systems, minigame mechanics, and general plugin integration.

Production Operations

Linux setup, deployment, backups, firewall/security basics, logs, crash debugging, performance debugging, databases, reverse proxies, domains/SSL, Docker, and Pterodactyl.

Web + Automation

Next.js/React/TypeScript systems, Discord webhooks/bots, agentic automation, dashboards, nonprofit and marketplace workflows, and backend logic.

REVIEW_PATH

Need the fast version?

Open the dedicated web-development page for supporting projects, or use the reactor for the interactive discovery mode.