[UNOFFICIAL]TaCZ Renovated

Quick rating

Community listing page, reviews here may not be monitored by the author.

[UNOFFICIAL]TaCZ Renovated

No reviews yet

An unofficial community port of the TaCZ gun mod with the LRTactical tactical-equipment framework built in, verified in dedicated-server play.

Mod Loaders
Minecraft
26.2

About

Description

Unofficial NeoForge port

TaCZ: Renovated is an unofficial community port of Timeless & Classics Guns: Zero (TaCZ). It is not an official TACZ Dev Team release and has not been reviewed or endorsed by that team.

This project brings TaCZ to NeoForge on Minecraft 26.2, 26.1.2 and 1.21.11. It is based on the public GPL source lineage of MCModderAnchor/TACZ, Sh1roCu/TACZ-Refabricated, and TaCZ Refabricated Unofficial. Its focus is porting and compatibility maintenance, not adding new firearms. Gameplay semantics follow the Fabric sister line, which is the family's reference implementation.

Current builds are 1.1.8+neoforge.<mc>.R2; earlier R1 / R1-hotfix files are the previously published ones. Always read the release notes on the individual file you download — that is where per-file compatibility and test status live.

Features

  • TaCZ firearms, attachments, optics, ammunition, workbenches and data-driven gun packs, including the upstream default gun pack.
  • NeoForge-native registration, events, networking and config, with resource, GUI and rendering adaptations for each supported Minecraft release.
  • Direct loading of modern gun packs, conversion of supported legacy layouts, and server→client gun-pack sync with JEI/REI workbench categories and ammo queries where a recipe viewer is installed.
  • A partial LRTactical compatibility framework for throwables, melee, detonators and consumables.
  • A built-in TacZ Mesh Loader (TML) for high-poly poly_mesh gun models — see its own section below.
  • Scope picture-in-picture (off by default) with in-scope clipping of the arm, muzzle flash, gun body, attachments, mounted text and mesh gun bodies, plus a low-power exemption below ScopePipMinMagnification (default 4×) — see its own section below.
  • Cross-pack tacz:nbt crafting ingredients (the form produced by the community pack upgrader) and the legacy {item + nbt} form are parsed instead of being dropped.

Third-party gun packs, tactical-equipment packs, optional mods and shader packs must still be checked per version.

Requirements

Minecraft Loader Java Required dependencies
26.2 / 26.1.2 NeoForge 25+ None
1.21.11 NeoForge 21+ None

Files for different Minecraft releases are not interchangeable. This project provides NeoForge only; for Fabric use the sister project TaCZ Refabricated Unofficial.

Optional: Cloth Config (supplies the in-game settings page — without it the entry shows a download hint), Iris, JEI or REI, Carry On, Player Animation Library, Controllable, Shoulder Surfing, First-person Model, Punchy!.


Built-in TacZ Mesh Loader (TML)

Gun packs that carry a poly_mesh geometry on their geo.json bones and declare "model_type": "mesh" are drawn as real high-poly meshes instead of cubes. Ported from VellEagle/TacZMeshLoader (1.21.1_fabric v0.1.7, GPL-3.0, not an official TaCZ add-on) via our Fabric sister project.

  • Included: poly_mesh rendering for guns, attachments, ammo and blocks; GPU static baking in first person (a resident buffer with per-frame bone matrices instead of per-vertex CPU work) and in world contexts — other players, drops, item frames and pedestals, with a quantized lighting cache and a per-frame bake budget; aperture-aware scope clipping of the scope body, reticle and in-scope viewmodel, including mesh gun bodies and attachments, switching on and off together with cube gun bodies; distance gates scaled by the current aiming magnification, so a zoomed sight no longer reduces a distant mesh gun to a cube; automatic fallback to the CPU path if the GPU pass fails.
  • Not included: mesh oculars (the glass element must stay a cube, as with the external add-on), automatic LOD generation, import-time welding/indexing. GUI and on-screen previews, translucent bones and the GPU-failure fallback still render on the CPU path.

Config — [mesh_loader] in config/tacz-client.toml, and every key is also in the in-game page (Mods menu → Timeless and Classics Guns → Render, or the in-game settings key). The table is the 26.2 line (14 keys):

Key Default What it does
MeshEnable true Master switch — off = cube rendering only, as if TML were absent
MeshGpuBaking true First-person GPU static baking
MeshGpuWorld true GPU baking for other players / drops / item frames / pedestals
MeshGpuLightCacheSize 4 Quantized light levels kept per model (LRU, 1–16)
MeshGpuBakeBudgetPerFrame 4 Max world bakes per frame (1–64); overflow falls back for that frame
MeshGpuUnderShaders false Diagnostic (26.2 naming): force the raw GPU pass under shader packs, i.e. no shader lighting on the gun
MeshWorldFullDetailDistance 16 Distance (blocks) within which world mesh guns ignore the vertex budget; 0 = no exemption
MeshMaxRenderDistance 48 Max distance for world poly meshes; 0 = unlimited
MeshWorldMaxVertices 120000 Vertex budget for third-person / drops / frames
MeshGuiMaxVertices 65536 Vertex budget for GUI / inventory previews
MeshPolyInShadow false Draw poly meshes in the shadow pass (cube bodies already cast shadows)
MeshPolyInPreview true Draw poly meshes in GUI / fixed / head previews
MeshMaxModelVertices 120000 Load-time warning threshold for pack authors (no effect on rendering)
MeshLogStats true Log bone/vertex statistics when a mesh model loads

Line differences: the 26.1.2 and 1.21.11 lines ship 19 keys — they add MeshGpuWorldUnderShaders and the three MeshPoly*Normals / winding diagnostics — and there MeshGpuUnderShaders means "keep the GPU path under shader packs", default on together with MeshGpuWorldUnderShaders. The trade-off is known: mesh geometry that covers the sun or moon can inherit their brightness. If you see that, turn both off.

Known limits: the frame-rate gain of GPU baking is a mechanism claim (O(vertices) → O(bones)) and has not been measured — nobody has run a before/after FPS comparison yet; the maintainer has field-verified the first-person and world paths on the 26.1.2 line, but the world-context verification matrix is not reported item by item; world-context textures resolve from the pack's original path, so packs that only ship textures under a uv/ subfolder show a missing-texture model in the world (first person is fine); and running the PIP second-render pass doubles the poly cost for that frame.


Scope picture-in-picture (PIP) configuration options

By default, aiming uses the classic whole-screen zoom — the world is rendered once and the scope glass is only clipped to the aperture. PIP is an optional, experimental mode that keeps the view outside the scope tube at 1× and magnifies only the lens:

Mode Config Extra cost per frame
Classic whole-screen zoom (default) ScopePipEnable = false none
PIP · reprojection ScopePipEnable = true, ScopePipRerender = false one fullscreen copy
PIP · second render both of the above + ScopePipRerender = true one complete world render

Scopes below ScopePipMinMagnification (default 4×) always fall back to classic zoom: low-power optics look fine that way and cost nothing. The in-scope viewmodel — including mesh gun bodies — is clipped to the aperture, and under Iris the lens gets its own pipeline and is composited after the pack's final composite (reflection-based; nothing loads when Iris is absent). Sodium terrain projection and Voxy's second render stack are handled explicitly; Voxy degrades silently if its hook is unavailable.

Player-facing options are in the in-game page (Mods menu → Timeless and Classics Guns → Render). On the 26.2 line, 10 of the 14 ScopePip* keys are exposed there and apply as soon as you save:

In-game name TOML key Default What it does
Scope picture-in-picture (PIP) ScopePipEnable false Master switch
PIP minimum magnification ScopePipMinMagnification 4.0 Only magnify in-lens at/above this zoom; 1.0 = every scope
PIP second-render pass ScopePipRerender false Render the world again at narrow FOV for a native-resolution lens
Allow PIP with shader packs ScopePipAllowShaderPacks false Extra opt-in under Iris (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 render scale in second-render mode without shaders (1.0 = native)
PIP rerender interval ScopePipRerenderInterval 1 Render the lens every N frames; 2 halves the extra shader cost for ~1 frame of lens lag
PIP shader shadow scale ScopePipShadowScale 0.5 Shadow-map scale for the lens pass (main view unaffected)
PIP world zoom share ScopePipWorldZoomShare 0.0 0 = pure PIP, 1 = same as PIP off; total magnification is always the scope's zoom
PIP lens sharpness ScopePipSharpness 0.5 Sharpening for the reprojected lens image

TOML-only (config/tacz-client.toml, [render], restart after editing): ScopePipMinAimingProgress, and on the 26.2 line the diagnostics ScopePipDebugNoComposite, ScopePipDebugTrace (expensive — leave off during normal play) and ScopePipDebugPaintLens. The 26.1.2 and 1.21.11 lines expose a slightly different subset. Full key list: RenderConfig in the source repository.

Minimal start:

[render]
ScopePipEnable = true          # off by default
ScopePipRerender = true        # native-resolution lens for 6x-8x optics
ScopePipAllowShaderPacks = true   # only if you use Iris

PIP is experimental; bugs are expected — soft lenses at high magnification, colour differences between lens and main view under shaders, and roughly half the frame rate with the second-render pass plus a shader pack. If something looks wrong, set ScopePipEnable back to false and re-test before reporting, and include your ScopePip* values, the shader pack name, and your Iris / Sodium / Voxy versions. The gun-smithing table's PictureInPictureRenderer is an unrelated static GUI preview.


Installing gun packs

Place modern gun packs in .minecraft/tacz/. Zip files may be loaded directly, or packs may be extracted as folders. In both cases, gunpack.meta.json must be at the pack root; do not wrap a zip in an extra directory.

Place legacy-layout packs in .minecraft/tacz_backup/, keep the originals, and run /tacz convert in game. Conversion cannot repair every resource, recipe or script difference automatically. Decide whether conversion is needed from the pack structure, not only its advertised Minecraft version.

For multiplayer, install the same packs on server and clients. The server supplies gameplay data; clients supply models, textures, animations, sounds and translations. After adding a pack, run /tacz reload on the server and press F3+T on clients.

Mesh gun packs need "model_type": "mesh" plus poly_mesh in their geo.json (see TML above).

LRTactical and Arcana

The built-in LRTactical layer is a partial compatibility framework (code only), not a complete NeoForge distribution. It does not bundle the original art (ARR), does not include flash_shield, and cannot guarantee that every LRTactical content pack will work. Content packs must provide all assets they are licensed to distribute.

This project does not include TacZ:Arcana or implement its API or protected asset-loading process. Packs that explicitly require Arcana are unsupported. Missing models or purple/black textures alone do not prove an Arcana dependency; incorrect directory nesting, resource paths, version constraints or incomplete files can cause the same symptom.

Known boundaries and issue reports

  • Detection of a gun pack does not prove that all models, animations, recipes and scripts are compatible.
  • Scope rendering is adapted separately for each branch; results can differ by graphics backend and shader pack.
  • TML: frame-rate gains are unmeasured, the world-context verification matrix is not reported item by item, and uv/-only texture packs show a missing-texture model in world contexts (see TML above).
  • PIP is experimental and off by default; the second-render pass plus an active shader pack costs about half your frame rate.
  • The mesh gun-body aperture clipping fix is pending in-game verification (root cause proven by static analysis).
  • Hosting panels, proxy networks and hybrid Bukkit/mod servers are not covered by one compatibility guarantee. Reproduce issues on a plain NeoForge server.

When reporting a problem, first reproduce it in a minimal NeoForge environment with this mod and attach the complete latest.log or crash report. For multiplayer issues, include both server and client logs. Report port issues to this project, not to TaCZ, TaCZ Refabricated, VellEagle or the LRTactical authors.

Credits and licensing

TaCZ, this port, the incorporated LRTactical code and the built-in TML port use GPL-3.0. The default gun pack declares CC BY-NC-ND 4.0 for its assets (NonCommercial, NoDerivatives — do not sell them or redistribute modified copies). LuaJ uses MIT; Commons Math uses Apache-2.0. Other code and assets retain their own licenses. A code license does not automatically cover models, textures, animations or sounds. See LICENSE and LICENSES.md in the source repository.

The mod ID remains tacz for existing gun-pack dependencies and save data. This does not make the project official. Provided as-is, without warranty.