Description
TaCZ Refabricated — Unofficial Fabric Port
Unofficial community port. Not an official TACZ release, and not affiliated with, reviewed by, or endorsed by the TACZ Dev Team.
Timeless and Classics Guns: Zero (TaCZ) is a firearms mod with customizable guns — attachments, optics, ammo types, animations — plus a gun-smithing workbench and support for third-party gun packs. This project ports that mod to Fabric on newer Minecraft versions. It adds no new guns or content of its own: the goal is to keep the existing mod and its gun-pack ecosystem running.
Two things are already inside this jar — install neither separately:
- a built-in TacZ Mesh Loader (TML), so high-poly
meshgun packs just work; - a code-only LRTactical compatibility layer for knife/melee/throwable packs.
Playable, but under active testing — expect bugs, and back up worlds. Some R3 items are still pending in-game verification (see Known issues).
Credits
| Original mod | Timeless and Classics Guns: Zero by the TACZ Dev Team |
| Upstream Fabric port | Sh1roCu/TACZ-Refabricated (baseline 1.1.8-hotfix) |
| Built-in mesh renderer | TacZ Mesh Loader by VellEagle — ported and extended here (GPL-3.0) |
| Built-in LR layer | LRTactical by LesRaisins — code only (GPL-3.0) |
| Source | q14433686-arch/TaCZ_Refabricated_Unofficial |
What changed from the original
More than a recompile — the target versions removed or reworked several APIs:
- Scope rendering re-implemented (the stencil buffer upstream used no longer exists). Some visual effects differ from the original — a known trade-off.
- Networking migrated to the current packet/codec/login-sync system.
- Resource, data-pack, recipe and model loading updated for the new formats.
- Gun-pack compatibility fixes, plus a legacy converter (
/tacz convert). - High-poly
meshguns render out of the box — see TML below. - Optional experimental in-lens scope renderer (Scope PIP), off by default.
- In-game config saves again (a Forge Config API Port 26.x regression had made saves memory-only, so settings reset on restart).
Requirements
| File line | Minecraft | Java | Forge Config API Port |
|---|---|---|---|
| 26.2 (main) | 26.2 | 25+ | 26.2.1+ |
| 26.1.2 | 26.1.2 | 25+ | 26.1.5+ |
| 1.21.11 | 1.21.11 | 21+ | 21.11.1+ |
All lines: Fabric Loader 0.19.3+, Fabric API required. Version strings
look like 1.1.8+fabric.26.2.R3. Fabric only — no Forge/NeoForge build, and
never mix in a Forge TaCZ, LRTactical or TML jar.
Optional: Mod Menu (in-game config screen), JEI or REI (workbench recipes
- built-in Ammo Query; one is enough), Iris (shaders), Carry On 2.11+ (moving gun-smithing workbenches).
Built-in TacZ Mesh Loader (TML)
High-poly packs declare "model_type": "mesh" and ship a poly_mesh geometry
instead of building the gun from cubes. They render without installing the
external add-on — this jar declares provides: taczmeshloader.
- Included: poly_mesh rendering for guns, attachments, ammo and blocks; world rendering (other players, drops, item frames, pedestals); GPU static baking in first person and in world contexts (per-frame bone matrices instead of per-vertex CPU transforms), which also stays on the GPU under Iris; a close-range full-detail exemption so dense guns do not collapse to cubes in front of you; automatic fallback to the CPU path if the GPU pass fails.
- Not included: mesh oculars (the glass element must stay a cube, same as the external add-on), automatic LOD generation, import-time welding/indexing.
- Tuning:
MeshGpuBaking,MeshGpuWorld,MeshGpuLightCacheSize,MeshGpuBakeBudgetPerFrame,MeshWorldFullDetailDistanceand the three mesh normal diagnostics are in the in-game screen (Mod Menu → Timeless and Classics Guns → gear → Render; the normal diagnostics need F3+T). The rest (MeshEnable, distance/vertex budgets,MeshPolyInShadow,MeshLogStats) live in[mesh_loader]inconfig/tacz-client.toml. Full table:docs/MESH_LOADER.md.
Known limits: world-context textures are read from the pack's original path,
not the uv/ variant — packs shipping textures only under uv/ show a
missing-texture model in the world (first person is fine); turning Mesh GPU
Baking: World Contexts off avoids it.
Scope PIP configuration options
Scope Picture-in-Picture is an optional, experimental in-lens renderer: the view outside the scope tube stays at 1× and only the lens magnifies. The default path is not PIP at all — the world is rendered once, and magnification comes from the normal full-screen zoom, exactly as upstream.
All player-facing PIP options are in the in-game screen (Mod Menu → Timeless
and Classics Guns → gear → Render; it is one searchable list, there is no
"Client" sub-level). Saving applies at once — except ScopePipShadowScale, which
needs a restart or a dimension change.
| In-game name | TOML key | Default | What it does |
|---|---|---|---|
| Scope Picture-in-Picture (PIP) | ScopePipEnable |
false | Master switch — start here |
| PIP Minimum Magnification | ScopePipMinMagnification |
4.0 | Only magnify in-lens at/above this zoom; weaker optics keep full-screen zoom |
| PIP Second-Render Pass | ScopePipRerender |
false | Render the world again at narrow FOV for a native-resolution lens (6×–8×) |
| Allow PIP with Shader Packs | ScopePipAllowShaderPacks |
false | Extra opt-in under Iris; default off is a precaution, not a known breakage |
| PIP Isolated Shader Pipeline | ScopePipIsolatePipeline |
true | Own Iris pipeline so TAA/clouds/grain cannot leak into the main view |
| PIP Render Resolution Scale | ScopePipResolutionScale |
0.75 | Lens scale in second-render mode without shaders (1.0 = native) |
| PIP Rerender Interval | ScopePipRerenderInterval |
1 | Render the lens every N frames; 2 halves the shader cost for ~1 frame lag |
| PIP Shader Shadow Scale | ScopePipShadowScale |
0.5 | Lens shadow-map scale (0.5 ≈ ¼ cost). Needs restart / dimension change |
| PIP World Zoom Share | ScopePipWorldZoomShare |
0.0 | 0 = pure PIP, 1 = same as PIP off; total magnification is always the scope's |
| PIP Lens Sharpness | ScopePipSharpness |
0.5 | Sharpening for the reprojected lens image |
TOML-only (edit config/tacz-client.toml, then restart): ScopePipMinAiming
Progress, the ScopePipDebug* diagnostics (leave ScopePipDebugTrace off in
normal play — it stalls the render thread), ScopePipReleaseIdlePipeline /
ScopePipIdleReleaseDelayFrames, and AimingSwayIntensity (default 1.0, aiming
sway multiplier).
Minimal start — vanilla renderer:
[render]
ScopePipEnable = true # ScopeMaskEnable (default on) must stay on
ScopePipRerender = true # for 6x-8x optics
ScopePipAllowShaderPacks = true # only if you use Iris
It is experimental; bugs are expected — soft high-power lenses, colour shifts
between lens and main view under shaders, and roughly half the frame rate with
the second-render pass plus a shader pack. If anything looks wrong, set
ScopePipEnable back to false and re-test before reporting; include your
ScopePip* values, the shader pack, and Sodium/Iris/Voxy versions. Under a
renderer the port cannot hook (e.g. Sulkan) the ocular mask falls back and PIP is
disabled.
Built-in LRTactical compatibility
The jar provides the lrtactical id and its Fabric runtime layer — do not add
the original jar. Melee, consumables, detonators and five throwable classes
(explode / sticky / smoke / stun / effect-cloud) load and run, plus workbench
recipes. This is a partial framework, not a full Fabric release of the
original: flash_shield is not implemented, no original art/audio is bundled
(content packs must bring their own assets), and compatibility is data-layout
dependent — verify pack by pack.
Recipe viewers
JEI or REI (one is enough) adds workbench recipe categories and a built-in Ammo Query: open an ammunition entry to see every loaded gun that uses it. Results rebuild after the server's gun-pack sync. This is code-only — no separate Ammo Query add-on needed (R2 and newer files only).
Configuring
Almost everything is in game: Mod Menu → Timeless and Classics Guns → gear →
Render (scope, PIP and mesh options all live there). Saving writes back to
config/tacz-client.toml, so hand-editing is only needed for debug/advanced keys
— and then you must restart.
Installing gun packs
Gun packs go in .minecraft/tacz/ — not tacz_backup (that folder is only
the converter's input). Zips load directly; folders work too. Either way
gunpack.meta.json must sit at the pack root ({"namespace":"your_pack"}),
or the pack is silently skipped. Old-layout packs go in tacz_backup/ and are
converted with /tacz convert; keep a backup and read the log. This port reports
1.1.8 plus +... build metadata, which SemVer ignores when comparing, so packs
requiring >=1.1.8 still load.
Known limitation: packs requiring TacZ:Arcana
Packs with recursion/taczpack.dat or data/<ns>/expansions/taczexpands.data
and no .png / .ogg / geo_models/ / textures/ ship their assets
encrypted for the separate, Forge-only, closed-source TacZ:Arcana mod.
They show purple/black textures and no models. No TACZ build contains that
decryption — not the original, not upstream, not this port. It is not a defect
here and the converter cannot repair it.
Known issues
- Scope PIP is experimental and off by default; the second-render pass plus a shader pack costs about half your frame rate.
- TML: the
uv/-only texture path issue in world contexts (see above). - Still pending in-game verification: mesh gun-body clipping inside the ocular, in-lens mesh baking under the PIP second pass, aiming distance compensation, and world mesh lighting under shader packs.
- LRTactical is partial —
flash_shieldand some systems are missing. - With Player Animation Library, a brief third-person crossfade can carry a stale pose after a prone cycle.
Licensing
| Scope | License |
|---|---|
| Code (TaCZ + this port, ported TML and LRTactical code) | GPL-3.0 |
| Bundled Mayday Animation Engine runtime | MIT |
| Bundled default gun-pack assets | CC BY-NC-ND 4.0 |
The assets are NonCommercial + NoDerivatives: do not sell them or
modify-and-redistribute them — publish your own pack instead. Code licenses do
not cover art assets, and compatibility with a third-party pack grants no right
to redistribute it. Full notices: LICENSES.md in the source repository.
Reporting issues
Report to this project, never to the TACZ Dev Team, the upstream Fabric-port
maintainers, LesRaisins or VellEagle — they do not support this port. Include:
exact file version; Minecraft, Fabric Loader, Fabric API, Forge Config API Port
and Java versions; JEI/REI, Carry On, Iris/Sodium versions; the affected gun pack
and its legitimate public page; the full latest.log or crash report; whether it
reproduces with only this mod plus its two required dependencies; and for
PIP/mesh problems, your config values and shader pack.
Disclaimer
Provided "as is", without warranty of any kind. You assume all risk, including crashes, data loss, world corruption and conflicts with other mods or third-party content packs. Non-commercial community project.



