Description
Dochi's Warfare
An FPS/RPG creation toolkit for map makers, server creators, and encounter designers.
The project began as CNPC TACZ Fire, an addon focused on allowing CustomNPCs NPCs to fight with real TACZ firearms. Beginning with version 0.2.4, the mod will be renamed Dochi's Warfare to reflect its broader development direction.
The existing firearm NPC system will remain an important part of the mod, but the project will no longer be defined only by CustomNPCs or TACZ integration. Its long-term goal is to become a configurable toolkit for building FPS and FPS/RPG maps, encounters, and servers.
Current release: 0.2.3 — CNPC TACZ Fire
Beginning with version 0.2.4 — Dochi's Warfare
The sections below describe the systems currently available in version 0.2.3. Names of editor items, configuration files, and internal systems may retain the existing
CTForcnpc_tacz_fireidentifiers until they are migrated in later updates.
Development Roadmap
Dochi's Warfare will expand beyond firearm-capable NPCs and develop into a broader FPS/RPG creation toolkit. The following areas define the current long-term roadmap.
1. Field Design And Interactive Blocks
The mod will provide tools for turning ordinary Minecraft blocks into specialized gameplay objects for FPS maps and servers.
Planned concepts include:
- Converting ordinary blocks into configurable booby-trap blocks
- Adding password or access-code systems to ordinary doors
- Assigning special gameplay functions to otherwise normal blocks
- Expanding the range of configurable field-design tools for encounters, objectives, and map interactions
The goal is to let creators build interactive FPS environments without requiring a separate custom block for every gameplay function.
2. Vehicle Mod Integration
Dochi's Warfare will explore compatibility with vehicle mods that are suitable for FPS gameplay.
Planned areas of investigation include:
- Integration with multiple FPS-related vehicle mods
- Giving supported vehicles configurable AI behavior
- Connecting NPC behavior with vehicle systems
- Allowing NPCs to use, board, operate, or otherwise interact with supported vehicles where practical
Vehicle compatibility will be implemented per supported mod and will depend on the APIs and entity structures provided by each vehicle mod.
3. Multi-Gun-Mod Support
The firearm system will no longer be designed exclusively around TACZ.
Planned integrations include:
- TACZ
- Point Blank
- Superb Warfare
- Additional firearm mods where technically feasible
The long-term objective is to provide a shared NPC combat and configuration framework that can work with firearms from multiple supported mods. TACZ will remain supported, but the project architecture will gradually move away from being limited to a single gun mod.
These roadmap items describe the intended development direction. They are not a guarantee that every feature or compatibility layer will be completed in version 0.2.4 itself.
Per-NPC Configuration
Use the CTF Npc Core editor item on a CustomNPCs NPC to open its firearm configuration screen.
The editor provides dedicated pages for:
- A read-only
Overviewof the NPC's effective combat setup - Explicit native, fixed, or random-range RPM modes
- Fixed accuracy or moving-player accuracy ramping
- Range, random-length bursts, suppressive fire, and post-fire watch
- General and Advanced stance policies
- Visual detection, close detection, hearing, faction defense, and idle behavior
- Reload rules, virtual ammunition, ammo-exhaustion fallback, and automatic rearming
- TACZ gun and melee weapon selection
- Better Combat compatibility and effective weapon-speed behavior
- Random weapon, skin, and armor pools
- Target entity, faction, and scoreboard-tag rules
- Alert icons, sounds, speech text, and optional grenades
- Per-NPC experimental cover triggers, timing, search limits, and peek behavior
- Built-in or custom pose mapping for idle, combat, movement, reload, melee, and grenade actions
The topbar groups Save, Close, Load, and Save As separately from help tools and the TACZ Fire NPC Mode toggle. Long configuration pages include Quick View navigation, contextual help, and NPC previews that display the selected skin model, armor, and weapon together.
Easy Build And Combat Presets
Use Easy Build when you want the editor to compose combat behavior from guided questions.
Beginnerasks seven broad questions about idle behavior, movement, range, reaction, firing, and survivalIntermediateexposes grouped choices for awareness, engagement, repositioning, fire control, accuracy ramping, suppression, cover, and ammo fallbackExpertexposes detailed distances, timing, speed, burst, suppression, and cover values- A review screen summarizes the result and warns about conflicting choices before you apply it
- The generated setup remains fully editable in the normal editor
Presets applies one of five ready-made combat doctrines:
- Guard Rifleman
- Patroller
- Assault
- Support Gunner
- Sniper
Easy Build and presets preserve the NPC's selected weapons, armor, skins, targets, factions, grenades, combat FX, mercenary contract, and current virtual ammo stock.
Real TACZ Gun Combat
NPCs use actual TACZ gun items instead of simulated projectiles or cosmetic ranged attacks.
- Native TACZ firing and reload state
- One explicit RPM source at a time: native TACZ, fixed, or randomized range
- Fixed or random-length burst fire
- Fixed accuracy or moving-player accuracy ramping, independently configurable for General and Advanced behavior
- Maximum engagement range and final line-of-sight checks
- Native TACZ bullet damage or fixed per-NPC ranged damage
- TACZ gun stack and magazine-state handling
- Ranged and melee weapon switching by distance or policy
- Optional suppressive fire at the last position the NPC actually saw
- Configurable post-fire watch that keeps the NPC aiming after suppression ends without spending ammunition
The final visibility check prevents NPCs from directly shooting through cover. Short combat memory keeps them from immediately abandoning a living target after a brief loss of sight, while suppressive fire never tracks the hidden target's current position. Accuracy ramping advances only while a visible player is moving inside its configured range and resets when the target or active combat profile changes.
Tactical Movement, Cover, And Patrols
Create stationary guards, advancing squads, defensive shooters, roaming patrols, and more.
Combat movement includes:
- Hold, Spread, Compact, Advance, and Retreat tactical modes
- Hold-position, approach-distance, and retreat-distance engagement rules
- Move while firing, retreat fire, and keep-distance fire
- Configurable combat speeds, movement steps, and ally spacing
- Fixed or randomized tactical-reposition intervals
- Stalled melee-path detection, moving-target path refreshes, and staged approach retries
- Automatic horizontal separation and return to ranged combat when height makes a melee target unreachable
Experimental per-NPC cover includes:
- Cover on reload, heavy damage, low health, repeated hits, or fragmentation-grenade threat
- Bounded search radius and pathfinding work
- Configurable cover movement speed, hold time, cooldown, and maximum duration
- Geometry-validated peek positions and a configurable peek-cycle limit
- Fast path recovery when a valid cover route is interrupted
The global experimentalCover.enabled setting and the NPC's own Enable Cover setting must both allow cover behavior.
Idle movement includes:
- Stationary
- Area Patrol
- Return Only
- Route Patrol with direct coordinate lists or automatic routes
- Configurable patrol speed and wait time
Patrols use A* navigation, keep valid paths active, route around blocking terrain, resolve nearby standable ground, and skip unreachable waypoints after bounded retries instead of continuously walking into a wall.
Awareness, Hearing, And Faction Defense
Build guards that react differently depending on distance, direction, sound, damage, and faction relationships.
- Detection distance and horizontal detection angle
- Configurable delay before confirmed combat
- Immediate front-angle reactions
- Optional
Close Detectionthat ignores the normal angle at short range - Idle visual scanning, damage alerts, and last-seen memory
- Sound investigation modes: Off, Look Only, and Move To Source
- Separate hearing ranges for TACZ gunshots, TACZ reloads, block breaking, and block placement
- Optional faction-defense alerts that call nearby same-faction TACZ Fire NPCs for assistance
Sound detection reacts to explicit player actions. Creative-mode and spectator-mode players do not generate hearing stimuli for managed NPCs, and every hearing range is limited by the NPC's configured detection distance.
A managed CustomNPCs NPC can still acquire genuinely faction-hostile CustomNPCs NPCs or players when its explicit Targets list is empty. An empty list does not make passive or unrelated entities valid targets.
Stances And Combat Policies
Choose a simple stance or create a conditional combat role.
Idle,Ranged,Melee,Auto, andAuto Hidden- Advanced rules based on NPC health, target entity IDs, target factions, or target tags
- Target-independent
Alwaysand health rules for behaviors that should activate before a target exists - Optional General fallback when an Advanced rule does not match
- Empty-hand melee support
- Per-NPC Better Combat compatibility toggle
- Actual Better Combat weapon animations when Better Combat and Mob Player Animator are available
- Vanilla main-hand swing fallback when the animation integration is unavailable
- Weapon-based or fixed melee damage
- Weapon-based or fixed melee knockback
- Weapon-based or fixed melee attack speed when Better Combat compatibility is disabled
- Held-item effective
ATTACK_SPEEDtiming when Better Combat compatibility is enabled
Managed melee attacks follow the selected CNPC TACZ Fire policy instead of being overwritten by CustomNPCs' default melee damage. Better Combat and TACZ motions come from their real integrations; the addon does not imitate missing built-in animations.
Ammo And Reload System
NPC reserve ammunition is managed as addon data, making it suitable for both unlimited guards and resource-based encounters.
- Infinite or finite
Ammo Stock - Maximum reserve stock and timed regeneration
- TACZ-native or custom reload duration
- Reload movement-speed control
- Normal reloads when empty
- Fixed forced reloads after a selected number of successful shots
- Random forced reload thresholds within a configured range
- Optional melee or unarmed fallback when loaded and reserve ammo are exhausted
- Stable automatic return to the ranged weapon when firearm combat becomes available again
- Optional delayed full-magazine rearm after the exhausted NPC continuously loses its target
NPCs must not hold TACZ ammo or magazine items in the offhand. Reloads are managed through
Ammo Stock, reload state, and the TACZ gun stack state.
Automatic rearming uses TACZ reload state and never creates physical ammo or magazine items. Reacquiring a target cancels a pending target-loss rearm.
Targets And Encounter Rules
Control exactly what each firearm NPC is allowed to attack.
- Entity registry ID selection
- Search, checked/unchecked views, entity-type filters, and mod filters
- Required and rejected scoreboard tags
- Optional same-faction targeting through required tags
- Advanced target faction, tag, and entity conditions
- CustomNPCs faction-hostility inheritance
LoadandSave Asfor complete NPC combat setup profiles
This supports ordinary hostile guards, faction battles, event-only targets, boss phases, and scripted encounter tags without changing every CustomNPCs NPC in the world.
Weapons, Skins, And Armor Pools
Randomize NPC equipment and appearance when supported initialization events run.
- Weighted TACZ gun pools
- Weighted melee weapon pools
- Weighted skin pools using CustomNPCs texture paths
- Explicit Steve or Alex model selection for each skin entry
- Weighted full armor sets using real head, chest, legs, and feet slots
- Inline chance editing and equalization for weighted equipment and appearance pools
- Pool rolls for events such as NPC initialization, respawn, clone restore, soul-stone restore, and supported chunk-load flows
CNPC TACZ Fire uses the supplied skin texture without replacing or correcting it. Clone and soul-stone template spawns initialize once after their NBT is restored without treating ordinary chunk loads as new spawns.
Mercenary Contracts And Command HUD
Turn selected TACZ Fire NPCs into server-authoritative, hireable mercenaries.
Creators use the separate CTF Mercenary Core editor item in Creative mode to configure:
- Whether the NPC is available for hire
- Hiring item ID and count
- Contract duration
- Summon and recall windup times
- Faction-hostility response after owner attacks
- Independent automatic contract-break threshold
- Owner-hit reset window
Players can review the exact terms before confirming a hire. Each player can maintain up to five active mercenary contracts.
Hold the default J key to open the runtime command HUD. Commands include:
- Follow, front/rear formation, hold position, and regroup
- Hold Fire and Fire At Will
- Defensive and Aggressive posture
- Summon and Recall
- Selection-based or all-mercenary commands
- Contract release with confirmation and no refund
Stored and summoning mercenaries pause their contract timer; deployed and recalling mercenaries continue to use active contract time. The HUD reports contract state, remaining time, movement/fire/posture modes, and owner-hit thresholds.
Opposite orders share state-aware buttons. Follow/Hold, Front/Rear Formation, Defensive/Aggressive, Fire At Will/Hold Fire, and Summon/Recall change according to the selected mercenaries' current state. Commands remain visually active while an order is pending, but additional input is locked until that order finishes.
Pose Editor And Action Mapping
Use CTF Pose Core in Creative mode to create reusable poses for Steve/Alex CustomNPCs player models.
- Edit the head, body, arms, and legs by axis
- Keep selected axes controlled by the normal animation or override them with custom values
- Adjust TACZ gun position, rotation, and scale
- Store one fallback transform for all guns or a separate transform for the NPC's current gun
- Start from Low Ready or High Ready, then save reusable JSON profiles
- Preview standing and walking poses before applying them
The Pose page in CTF Npc Core maps built-in or saved poses to idle standing, idle walking, alert, combat aim, firing, moving fire, tactical advance, retreat, reload, weapon switch, melee, and grenade actions. TACZ Default hands aiming, firing, and reload movement back to TACZ when you do not want a custom override.
Combat Feedback And Optional Grenades
Give players readable feedback when an NPC becomes suspicious or enters combat.
- Visual alert icons
- Configurable detected-event and shoot-event sounds
- Optional detected and shoot speech text
- Sound preview inside the editor
- Optional grenade selection with item preview
- Grenade distance, target search radius, health trigger, cooldown, fuse, power, and throw-angle controls
- Optional experimental cover response to nearby LR Tactical fragmentation grenades
Grenade throwing requires compatible throwable content and remains optional. Grenade-threat cover tracks fragmentation grenades only; smoke and stun grenades are excluded.
Requirements
- Minecraft 1.20.1
- Forge 47 or newer
- TACZ 1.1.8 or newer
- CustomNPCs 1.20.1 or newer for the NPC creation and configuration workflow
Optional integrations:
- playerAnimator
- Better Combat
- Mob Player Animator for actual Better Combat weapon-animation playback on NPCs
- Compatible throwable content for grenade behavior
- LR Tactical for fragmentation-grenade threat cover
Install CNPC TACZ Fire on both the client and server for normal modded multiplayer use.
Quick Start
- Create a CustomNPCs NPC in a test world.
- Enter Creative mode and obtain
CTF Npc Core. - Right-click the NPC with the editor item.
- Enable
TACZ Fire NPC ModeandEnabled. - Select one real TACZ gun in
Gun. - Start with
Easy Build, a combat preset, or a simpleRanged/Autostance withAmmo Stock: -1. - Save and test against one visible target in an open area.
- Add movement, finite ammo, advanced targets, pools, FX, cover, grenades, or mercenary terms after the basic firing loop works.
Configuration And Data
The per-NPC GUI is the primary setup path. Global defaults are generated at:
config/cnpc_tacz_fire-common.toml
NPC setup profiles are stored under:
config/cnpc_tacz_fire/target_entities/
Profiles contain the complete TACZ Fire combat setup, not only the target list, so Save As can store one NPC's setup and Load can apply it to another.
Reusable pose profiles are stored under:
config/cnpc_tacz_fire/poses/
Scripts and persistent CustomNPCs data remain available for advanced encounter logic, including combat control, stance, movement, ammo, reload, range, RPM, and TACZ gun queries.
Special Thanks
- Flowdrei
- Im_a_scrub335
Community
Discord: https://discord.gg/ryvWyRkr4c

