promotional bannermobile promotional banner

Passive Skill Trees Fabric

Adds customizable skill trees.
Back to Files

PassiveSkillTree-Fabric-1.21.8-0.7.6+c.jar

File namePassiveSkillTree-Fabric-1.21.8-0.7.6+c.jar
Uploader
LeaMissyoyLeaMissyoy
Uploaded
Aug 9, 2026
Downloads
5
Size
1.9 MB
Mod Loaders
Fabric
File ID
8608834
Type
R
Release
Supported game versions
  • 1.21.8

Curse Maven Snippet

Fabric

modImplementation "curse.maven:passive-skill-trees-fabric-1638614:8608834"

Learn more about Curse Maven

What's new

Rendering rewrite

Minecraft 1.21.6+ replaced the old 3D PoseStack used in GUI rendering with a 2D-only Matrix3x2fStack, and moved texture blitting from RenderType to RenderPipeline. This touched almost every screen and widget in the mod:

All pushPose()/popPose() and translate(x, y, z) calls converted to pushMatrix()/popMatrix() and 2D translate(x, y).
Rotation via mulPose(Axis.ZP.rotation(...)) replaced with direct rotate(angle).
All blit(RenderType::guiTextured, ...) calls replaced with blit(RenderPipelines.GUI_TEXTURED, ...).
RenderSystem.enableBlend()/disableBlend() calls removed — blending is now handled automatically by the render pipeline.
RenderSystem.setShaderColor(...) tinting replaced with the alpha/tint parameter now built into blit(...).

Affected files: ScreenHelper, SkillTreeScreen, SkillTreeEditorScreen, SkillTreeSelectionScreen, WorkbenchScreen, Button, CheckBox, Label, ProgressBar, ScrollableComponentList, SkillTreeSelectionButton, TextArea, TextField, SkillDragger, SkillMirrorer, SkillSelector, SelectionList, TextureSelectionList, ScrollableZoomableWidgetGroup, WidgetGroup, SkillButton.

Text color fix (ARGB)

Since 1.21.6, text color passed to GuiGraphics.drawString/drawCenteredString is interpreted as ARGB instead of RGB. A color with no explicit alpha byte (e.g. 0xFFFFFF) used to be auto-corrected to opaque; it now renders fully transparent instead. This caused several UI elements to silently disappear after the initial port:

Skill tooltip text (name + description box on hover)
XP progress bar text (current level, next level, percentage/point counters)
Search box placeholder text ("Search…")

Fixed by wrapping all affected colors with ARGB.opaque(...) in ScreenHelper and by adding an explicit alpha channel to the color constants in TextField.

Data persistence rewrite (Cardinal Components 7.0.0-beta.1)

Cardinal Components' Component interface dropped the old readFromNbt(CompoundTag, HolderLookup.Provider) / writeToNbt(CompoundTag, HolderLookup.Provider) methods in favor of readData(ValueInput) / writeData(ValueOutput), matching vanilla's new save/load abstraction. Updated in PlayerSkills and PersistentData, including converting the skill list from a raw ListTag to a typed ValueOutput.TypedOutputList.

Other API changes
ItemStack#save(Provider, CompoundTag) / ItemStack.parse(Provider, Tag) removed — arrow duplication (ArrowRetrievalChanceBonusHandler) reworked accordingly.
AbstractArrow#addAdditionalSaveData(CompoundTag) no longer usable the old way to read back base damage — projectile duplication (ProjectileDuplicationBonusHandler) now reads it directly via an accessor mixin instead of a round-trip NBT write/read.
ServerPlayer#server field is now private — advancement requirement checks (AdvancementRequirement) now go through player.level().getServer().
Vanilla MultiLineEditBox's 12-argument constructor is package-private — added an access widener entry so TextArea can keep extending it directly.
pack_format bumped to 64 for 1.21.8 resource/data packs.

This mod has no additional files