CatFrame

A shared frameworks backporting Modern Minecraft Systems to the archaic 1.7.10 version.
Back to Files

0.6.5

File nameCatFrame-0.6.5.jar
Uploader
dfdvdsfdfdvdsf
Uploaded
Aug 13, 2026
Downloads
5
Size
1.2 MB
Mod Loaders
Forge
File ID
8640384
Type
R
Release
Supported game versions
  • 1.7.10

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:catframe-1566850:8640384")

Learn more about Curse Maven

What's new

CatFrame - 0.6.5

What is changed?

Change version number from previous to 0.6.5

➕Add:

  • Add group-claim SPI: IRenderGroupHandler (claim + flush with RenderSubmitView) in model.render.api with OIT boundary contract (collector/executor/gatekeeper, inline never claimable, background-thread-zero-GL), RenderGroupHandlerRegistry with slot arbitration snapshot, FeatureRenderDispatcher extracts flushGroup and falls back to built-in path on no-handler/exception
  • Replace RenderType enum with runtime RenderTypeRegistry (CopyOnWriteArrayList + volatile sorted snapshot, explicit sortKey 0/1/2/3 preserving flush order), RenderSubmit.type now RenderTypeKey entry reference, SubmitNodeStorage EnumMap to HashMap keyed by registry entries, adapt FeatureRenderDispatcher/UniformRenderPipeline/RenderCommandBuffers
  • Systemize render extension chain with priority contract (DEFAULT_PRIORITY=0, BUILTIN_PRIORITY_BASE=-1000, stable sorted insert) and per-extension Throwable isolation in ModelRenderRegistry; ThreadLocal state in DisplayTransform/GuiLight/Tint extensions; ConcurrentHashMap data sources (textureIcons, spriteCache, stateBlockData, loadedItemStates, ModelRegistry registries, LeavesGraphics maps); drop redundant bindTexture in flushInline; add isEscapeKeyPressed/isSpaceKeyPressed to KeyTypedEvent
  • Add section 8: GuiGraphicsExtractor dependency graph review (DC1-DC7) -- cover 19 dependents and 18 imports, identify bidirectional coupling with FeatureRenderDispatcher, MATRIX_BUFFER duplication, ItemGuiDrawer abstraction inversion, TooltipComponent silent discard, hasFoil hot-path NBT chain, EntityPipRenderer scissor contract drift, and OversizedItemPipRenderer empty shell delegation

🔧Fix:

  • Add ItemPhysic compat: replay its physical drop rotation in RenderJsonItemModel ENTITY render while keeping CatFrame JSON model and ground display transform; new compact.itemphysic.ItemPhysicCompact resolves ClientPhysic.tick/ItemDummyContainer.rotateSpeed/ServerPhysic.getFluid reflectively with zero compile-time dependency
  • Fix destroy decal UV orientation in QuadWriter: vertical faces now use V = 16 - y16 (vanilla binds V(0) to the top edge, previously upside down) and NORTH/EAST faces flip U (16 - x16 / 16 - z16) so the decal wraps continuously around the block perimeter, matching vanilla renderFace semantics
  • Add BLOCK_DESTROY phase with destroy overlay rendering: BlockDestroyExtension (full-bright white decal via ThreadLocal icon injection), block-space decal UV projection in QuadWriter, BLOCK_ATLAS_DESTROY render type registration, resolveBlockModel extraction plus renderBlockDestroy in RenderDispatcher, renderBlockUsingTexture mixin interception, and GuiLightExtension gating on the destroy pass; bump mod version to 0.6.5-ThreadSafe
  • Add block destroy texture rendering for CatFrame pipeline: new BLOCK_DESTROY phase and BlockDestroyExtension (icon override, full brightness, white color), block-space projected UV branch in QuadWriter, renderBlockDestroy in RenderDispatcher sharing the resolved model paths, and MixinRenderBlocks injection into renderBlockUsingTexture to intercept the vanilla destroy pass

❗❗❗Deprecated:

  • Remove ItemPhysic crash-on-load detection (revert of the rejectItemPhysic part of 2933964d): drop CompactBase.rejectItemPhysic()/classExists and its preInit call in CatFrame; keep the ItemPhysicCompat removal intact. Compatibility with the Kotmatross Mixin fork is deferred to a future combined plan
  • Revert ItemPhysic compat (6e7c007c) and reject the mod outright: CompactBase.rejectItemPhysic() crashes in CatFrame.preInit when ItemPhysic is loaded (Loader probe + class-existence fallback) since its ASM doRender takeover structurally conflicts with CatFrame's IItemRenderer dropped-item render

Notes

Full Changelog: https://github.com/song682/CatFrame/commits/v0.6.5