COD Pattern

A TaCZ addon mod that brings a Call of Duty–style backpack system, weapon customization, and team deathmatch gameplay expansions to Minecraft gunplay.

2,21k

Quick challenge

How far can you run before the mobs catch you?

COD Pattern

COD Pattern

* > **Release Status: Beta. Validate in a staging environment before production deployment, and back up world data/configuration first.*

Overview

COD Pattern is built around TaCZ + an embedded FPSM-compatible core, providing a COD-like workflow for:

* Loadout presets and respawn equipment distribution * In-match weapon refit with attachment presets * `Frontline / TeamDeathMatch` rooms, maps, and match flow * Localized UI and system messages (`zh_cn / zh_tw / en_us / ja_jp`)

The project follows a server-authoritative design with client synchronization to keep multiplayer state consistent.

Main Features

1) Loadout Management and Equipment Distribution

* Supports create/clone/rename/delete/select operations for loadouts, up to `10` per player. * Each loadout contains four slots: `primary / secondary / tactical / lethal`. * Loadout-related UIs use a fixed text-scaling baseline across different `GUI Scale` settings to keep readability more consistent. * Default loadout names, clone suffixes, and equipped notifications are now localized by client language. * On respawn, the selected loadout is distributed automatically (normal flow applies to joined room/match players). * Player loadout/filter data is persisted on server side and synced on login. * Admin commands can force immediate distribution for all online players or selected targets.

2) In-Match Weapon Refit and Attachment Presets

* Supports slot-level editing for primary, secondary, and throwable slots from the loadout UI. * Uses TaCZ weapon capabilities, with server-side validation and persistence. * Attachment presets are now stored directly inside the loadout config by loadout id and slot. * Supports result feedback and rollback handling to reduce client/server state drift.

3) Rooms, Maps, and Match Flow (Embedded FPSM Compatibility Layer)

* Adds a unified room entry in pause menu for room list, join/leave, and team selection. * Supports both `frontline` and `teamdeathmatch` under the same room system, map data model, and persistence flow. * Maps now support area creation, spawn-point setup, match-end teleport setup, and persistence. * TDM room screens use the same fixed text-scaling baseline across different `GUI Scale` settings for more consistent list/panel/button readability. * Supports auto team assignment with balance constraints (`maxTeamDiff`). * Supports ready state, start vote, and end vote with threshold and timeout logic. * Full phase pipeline: `WAITING -> COUNTDOWN -> WARMUP -> PLAYING -> ENDED`. * `teamdeathmatch` includes dynamic respawn candidates and spawn safety validation. * Includes kill feed, score tracking, respawn delay, invincibility frames, combat regen, death cam, HUD phase feedback, ally/enemy highlights, and enemy health bars. * Exports JSON match records automatically when a match ends.

4) Filtering, Compatibility, and Localization

* Primary/secondary category filtering via `primaryWeaponTabs` and `secondaryWeaponTabs`. * Gunpack namespace blocking and exact weapon blacklist support via `blockedItemNamespaces` / `blockedWeaponIds`. * Attachment namespace blocking and exact attachment blacklist support via `blockedAttachmentNamespaces` / `blockedAttachmentIds`. * Throwable and ammo multiplier controls via `throwablesEnabled` and `ammunitionPerMagazineMultiple`. * Optional integrations for LR Tactical and Physics Mod with graceful fallback when absent. * Includes compatibility handling for `tacz-addon 1.1.6` in backpack refit flow to prevent unload-button lockups. * TaCZ native refit UI is globally disabled and redirected to the COD Pattern backpack refit flow. * Bundles `zh_cn / zh_tw / en_us / ja_jp` language resources for core UI, notices, and error messages.

Commands and Entrypoints

`/cdp` Commands

* `/cdp screen` * Opens the backpack/loadout UI (debug entrypoint). * `/cdp update` * Syncs weapon filter and loadout config to all online players (OP required). * `/cdp distribute [target]` * Forces equipment distribution for all online players or selected players (OP required).

`/cdp map` Command Chain

* `/cdp map list [type]` * Lists registered game types or maps under a given type. * `/cdp map create <frontline|teamdeathmatch> <name> <from> <to>` * Creates a map area and persists it immediately. * `/cdp map delete <type> <name>` * Removes a map and its persisted data. * `/cdp map spawn <list|add|remove|clear> ...` * Manages team spawn points and dynamic respawn candidates. * `/cdp map endtp <show|set|clear> <map> [pos]` * Manages match-end teleport points.

Configuration

Server configuration is stored under world save path: `serverconfig/codpattern/`

* `backpack_rules/backpack_config.json` * Player loadout data (JSON). * Attachment presets are now embedded on each loadout slot via the `attachmentPreset` field. * `backpack_rules/weapon_filter.json` * Weapon filter config (JSON). * Key fields: * `primaryWeaponTabs` / `secondaryWeaponTabs` * `blockedItemNamespaces` * `blockedWeaponIds` (format: `namespace:gunid`) * `blockedAttachmentNamespaces` * `blockedAttachmentIds` (format: `namespace:attachmentid`) * `throwablesEnabled` * `ammunitionPerMagazineMultiple` * `tdm_rules/config.json` * TDM runtime parameters (time, score, respawn, voting, join policy, balance policy). * In-match enemy/ally display is now fixed to highlights plus enemy health bars; the old marker-dot style toggle has been removed. * `tdm_match_records/` * Exported match records (`.json`) after each match. * Legacy paths `backpackconfig` / `filterconfig` / `attachment_preset/` / `tdmconfig/` * Deprecated and no longer read by this version; existing worlds require manual migration.

Default Parameters in `tdm_rules/config.json`

| Field | Default | Description | |---|---:|---| | `timeLimitSeconds` | `420` | Match duration in seconds | | `scoreLimit` | `75` | Kill score to win | | `invincibilityTicks` | `30` | Post-respawn invincibility ticks | | `respawnDelayTicks` | `40` | Respawn delay ticks | | `warmupTimeTicks` | `400` | Warmup duration ticks | | `preGameCountdownTicks` | `200` | Pre-game countdown ticks | | `blackoutStartTicks` | `60` | Countdown blackout ticks | | `deathCamTicks` | `30` | Death cam duration ticks | | `minPlayersToStart` | `1` | Minimum players required to start | | `votePercentageToStart` | `60` | Start vote pass threshold (%) | | `votePercentageToEnd` | `75` | End vote pass threshold (%) | | `combatRegenDelayTicks` | `120` | Delay before regen starts after taking damage (ticks) | | `combatRegenHalfHeartsPerSecond` | `5.0` | Half-hearts restored per second while regenerating | | `allowJoinDuringPlaying` | `true` | Allow joining during active match | | `joinAsSpectatorWhenPlaying` | `true` | Join as spectator during active match | | `maxTeamDiff` | `1` | Max allowed team size difference | | `markerFocusHalfAngleDegrees` | `30.0` | Enemy health-bar focus cone half-angle (degrees) | | `markerFocusRequiredTicks` | `20` | Ticks required in the focus cone before the enemy health bar appears | | `markerBarMaxDistance` | `96.0` | Max distance for enemy health-bar detection (blocks) | | `markerVisibleGraceTicks` | `3` | Anti-flicker grace ticks while the enemy health bar remains visible |

Compatibility and Dependencies

* Optional Integrations: `1.20.1` * Optional Integrations: `47.4.0+` * Optional Integrations: `17` * Optional Integrations: * TaCZ `1.1.6+` * Optional Integrations: * FPSM-compatible core (no external `fpsmatch.jar` required) * Optional Integrations: * LR Tactical (throwable/melee content path) * Physics Mod (ragdoll/retained death entity presentation) * tacz-addon `1.1.6` (backpack refit unload flow compatibility included)

Deployment Notes

* Non-forced distribution applies only to players joined in room/match flow. * If no match-end teleport point is configured, end phase warns but does not auto-teleport back. * If `tacz-addon` is enabled and attachment unload behaves abnormally in refit UI, ensure `/gamerule liberateAttachment false`. * Before production rollout, verify: * `tdm_rules/config.json` values match your server pacing * `backpack_rules/weapon_filter.json` matches your gunpack filtering policy * maps include team spawn points and a match-end teleport point

Issue Reporting

When reporting issues, include:

* Reproduction steps * Relevant log excerpts * Full mod list and versions

Changelog

Current version: `v0.6.5b` See `CHANGES.md` for detailed history.

License

Licensed under GPL-3.0-only. See `LICENSE.txt` for details.

Author

* Contact: popura404 * Contact: `[email protected]`

ADS