
KapLib
Library for all purposes
Автор: Kapitencraft13,2 тыс.4обновлён 21 сент. 2026 г.
Механики игрыБиблиотекиУправление
Описание
IMPORTANT NOTE
since version 1.32.0 the project is no longer hosted on modrinth, but instead of the central maven repository for convenience and support reasons. follow the wiki to update the dependency.
the published jar files for 1.32.0 and 1.32.1 are no valid mod files and should be ignored. developers should use central maven and jar-in-jar instead
Large Lib adding a lot of features:
- a multi-line GUI textbox with color formatting
- a lot of helper classes reducing efford for networking, serialization, attribute modifiers
- new attributes like crit damage, draw & projectile speed, as well as double jump
- new Rarities including LEGENDARY, MYTHIC and DIVINE
- simple requirement system disabling any usage (dealing damage, blocking, mining...)
- simple fishing hook system, even for other liquids
- simple screen overlay handler with changable screen locations
- more command arguments including Equipmentslots and simple Enums
- for newer versions a fully customizable particle animation system
- many wrapper classes reducing efford when creating new enchantments
- a modrinth update checker
Галерея
Последние версии
Все версии →release
KapLib v1.33.0
v1.33.0-mc1.21.121 сент. 2026 г.46Minecraft: 1.21.1neoforge
Что нового
# Attribute Module
ranged damage attribute is now additive, fixing a bug causing the crossbow to not deal damage<br>
fixed missing damage type for ferocity<br>
fixed Ferocity, Life Steal and Strength executing on thorns attacks<br>
# Datagen Module
fixed color masking of TextureProvider also updating texture pixels that aren't part of the texture mask<br>
# Item Module
added (simple) support for dyed custom armor models via the new `DyedArmorClientExtension` and a method to get armor textures dependant of the used layers' suffix named `AbstractArmorItem#makeCustomLayeredTextureLocation`<br>
# Two-Handed Module
added new module two-handed, allowing you to attack with weapons from the offhand with independent attack cooldown.<br>
# Publish Module
fixed plain-changelog not including line breaks<br>
renamed `modules` to `archives` and made them independent of the main archive name
release
KapLib v1.32.3
v1.32.3-mc1.21.112 авг. 2026 г.50Minecraft: 1.21.1neoforge
Что нового
# Core Module
optimized MathHelper#getClosestEntity from O(n*log(n)) to O(n) and added predicate overload
# Attribute Module
reverted migration of BONUS_ATTACK_SPEED attribute to event as the event isn't suitable
release
KapLib v1.32.2
v1.32.2-mc1.21.13 авг. 2026 г.56Minecraft: 1.21.1neoforge
Что нового
# Core Module
fixed a bug where accessing `MathHelper#chance` would crash for entity without the luck attribute
fixed ScrollableTooltips scrolling in the wrong direction
# Publish Module
fixed AutoPublisher not accepting dependencies due to argument order issue
release
KapLib v1.32.1
v1.32.1-mc1.21.130 июл. 2026 г.33Minecraft: 1.21.1neoforge
Что нового
# Attribute Module
added ExtraAttributes#isArtificialCrit method to determine if a LivingEntity should crit using the CRIT_CHANCE attribute
fixed arrows set as critical not triggering critical calculation
fixed DRAW_SPEED, FISHING_SPEED and WISDOM attributes not being applied to player
# Enchantment Module
changed EnchantmentCountEffect using attack strength scale from 0 -> .5 adjust ticks
adjusted the order of enchantment descriptions to simplify changes in the future
release
KapLib v1.32.0
v1.32.0-mc1.21.128 июл. 2026 г.34Minecraft: 1.21.1neoforge
Что нового
This library is now hosted on the central maven under `io.github.kapitencraft`. only a merged jar continues to be
hosted for convenience and support reasons. these files can (currently)
please reference [The Wiki](https://github.com/Kapitencraft/KapLib/wiki#implementing) on how to add this project to your
development environment.
the changelog for the different modules is listed below:
# Attribute Module
fixed timed modifiers only expiring for players
fixed life steal particle animation disable config not working
bonus attack speed is now implemented via the damage event instead of a mixin, increasing compatibility
made Wisdom use LOW priority event listeners to improve mod compat with other mods adding xp changes
changed Double Jump attribute to use vanilla jumping behavior instead
reworked double jump attribute to use DataAttachment instead of persistent data
changed most attributes to be applied to all entities using the `LivingEntity#createLivingAttributes` method. (Dev note: double jump doesn't work with mounted mobs unfortunately)
# Core Module
added ExtraRenderTypes class exposing a GHOST rendertype
added `array` ExtraStreamCodec operation
added FontSetsEvent with subclasses $Register and $Update. used to register custom FontSets
added `RegisterOrderedItemComponentTooltipEvent` used to order different item components that are supposed to
add info to the items' tooltip
fixed MultiLineTextBoxes suggestions not disappearing when inserting
fixed UpdateChecker not running
fixed high velocity de-sync once and for all (Dev note: for objects with speed greater than |3.9| in any dimension, the packet sends a total of 18 more bytes)
renamed TextHelper#makeGrammar -> #langify
removed core.util.Reference and IntegerReference. use Atomic classes instead
moved `FontSetsEvent` into the `./client` package
# Component Module
removed GlyphEffects registry in favor of event based system to fix possible crash stacking
# DataGen Module
added TextureProvider fields for all KapLib implemented transfer masks
# Enchantment Module
fixed enchantment info also being shown on applied items instead of just enchanted books
# Particle Module
added data-generated ParticlePresets for both client and server data and a dedicated DataGenerator
# Recipe Module
fixed ExtraRecipeSerializers not being loaded
release
KapLib v1.31.0
v1.31.0-mc1.21.115 февр. 2026 г.763Minecraft: 1.21.1neoforge
Что нового
# Additions
added `RegisterBonusProvidersEvent.EntityBound` registering bonuses that are bound to the entity itself instead of an item<br>
added Codecs to all available Text converters<br>
added CameraPos shader Uniform<br>
added RequirementTypes.BLOCK suppressing place and interactions<br>
added AttackerEmptyOffhand loot condition<br>
added BehindEntity loot condition<br>
added Page Renderer Titles when hovering
# Fixes
fixed a bug where modules not providing any resources would be attached all resources because of gradle shenanigans<br>
fixed Particle Animation Particles appearing around 0|0|0 for a frame<br>
fixed RingSpawner not rotating correctly<br>
fixed DisplayExtensions (for EquipmentSlots) not working<br>
fixed neither Camera animations nor shaking working<br>
fixed CEC style modifiers being applied to enchantment display entries<br>
fixed RotateElement behaving weird due to position issues<br>
fixed RingSpawner not spawning correctly due to RAD <-> DEG mismatch<br>
fixed many mixins not using MixinExtras<br>
fixed incompatibility with Sodium due to mixin<br>
fixed SetBonuses not updating when switching from item with correct bonus but wrong slot to item with correct bonus and correct slot<br>
fixed BonusProvider set-bonus slot order being shuffled each time
# Changes
moved many classes around to group them into their respective module<br>
moved ClientHelper#addReqContent to RequirementManager#addReqContent<br>
moved to Neoforge 1.21.216<br>
renamed AbsolutePositionTarget to StaticPositionTarget<br>
server mod config$disable_anvil_limit was renamed to anvil_limit and will now define the max XP level before cost gets too expensive (vanilla default: 40)<br>
renamed `RegisterBonusProvidersEvent` to `RegisterBonusProvidersEvent.ItemBound`<br>
renamed `TextHelper#setHotbarDisplay` to `TextHelper#setActionbar`
`Bonus#onTakeDamage` and `#onEntityHurt` now receive the DamageContainer object instead of only the DamageType and damage value
# Removals
removed ExtraStreamCodecs#UUID in favor of UUIDUtil#STREAM_CODEC<br>
removed MiscHelper$DamageType and associated methods.<br>
removed `MiscHelper#of` in favor of `Util#make`<br>
removed server config $ enable_social as it wasn't used.<br>
removed OreModifier and dedicated Event<br>
removed ExtraCodecs#UUID, replaced by UUIDUtils.STRING_CODEC<br>
removed "ChunkPosition" Uniform in Block Render types.<br>
removed book check in enchantment tooltip as ItemStack parameter has been lost
# AutoPublish changes
reworked publish_config.json:
```
modrinth_id: modrinth-project-id.
author: mandatory
name: readable name of the author(s) of the project. mandatory
email: an email to contact you if modrinth has issues with your request. mandatory
mod: mandatory
id: the mod-id of the mod. mandatory
name: the name of the mod. mandatory
version: the version of the mod. mandatory
artifact_version: the base name extension for the files to be published. mandatory
mc_version: the used minecraft version of the project. mandatory<br>
loader_version: the used loader version of the project (neo, forge or fabric version). mandatory
with_sources: whether to include modules with `-sources` extension. boolean, optional, defaults to false
modules: optional, string list
each entry is the suffix of a file in the libs folder, nominating a file to be published alongside the main file
dependencies: optional, object list
modrinth_id: the modrinth id of this dependency
version_name: the used version of the dependency
type: the dependency type. one of [required, optional, incompatible, embedded]
changelog: optional (see entries)
format: one of [html, md, plain]. format to use in the changelog. optional, defaults to html
style: one of [list, none]. style to use. will either list the changelog by categories or will print it as plain, formatted text. optional, defaults to list
assets: optional (see entries) all entries are relative to the project folder
source: the path to the jar libs you wish to publish. defaults to build/libs
auth: the path to the authentification tokens. !threat with **EXTREME** caution! this information may allow others to upload files / create projects under your name. do not store anywhere synchronized. defaults to `run/AuthCache.txt`. ensure adding `run` to .gitignore to use
changelog: the path to the changelog file. defaults to 'publish/changelog.txt'
categories: the path to the categories file used in the `list` changelog style. default to 'publish/categories.json'
```
release
KapLib v1.30.3
v1.30.3-mc1.21.123 окт. 2025 г.199Minecraft: 1.21.1neoforge
Что нового
<h2>Added</h2><ol>
<li> ClientHelper#BOW_PULL ItemProperty. use when registering bow items ItemProperties (see KapLibModClientEvents for an example)</li>
</ol>
<h2>Fixed</h2><ol>
<li> ExtraAttributes.RANGED_DAMAGE not being implemented</li>
<li> ExtraAttributes.FISHING_SPEED not being implemented</li>
</ol>
release
KapLib v1.30.2
v1.30.2-mc1.21.121 окт. 2025 г.148Minecraft: 1.21.1neoforge
Что нового
<h2>Fixed</h2><ol>
<li> ExtraStreamCodecs#map being package-private</li>
</ol>
<h2>Added</h2><ol>
<li> TextHelper#convertToLatin</li>
</ol>
release
KapLib v1.30.1
v1.30.1-mc1.21.120 окт. 2025 г.133Minecraft: 1.21.1neoforge
Что нового
<h2>Fixed</h2><ol>
<li> KapLib not loading correctly when adding ArmorRecipes due to bytebuf mismatch</li>
</ol>
<h2>Removed</h2><ol>
<li> MiscHelper#repeat because wtf did it exist in the firstplace????</li>
</ol>
<h2>Uncategorized</h2><ol>
<li>renamed CollectorHelper#createMap -> #toMap and #createMapForKeys -> #toMapForKeys</li>
</ol>
release
KapLib v1.30.0
v1.30.0-mc1.21.120 окт. 2025 г.143Minecraft: 1.21.1neoforge
Что нового
<h2>Moved</h2><ol>
<li> KapLibMod#RANDOM_SOURCE to MathHelper#RANDOM_SOURCE</li>
<li> MathHelper#cooldown to AttributeHelper#cooldown</li>
</ol>
<h2>Uncategorized</h2><ol>
<li>changed util module to not be needing the full jar at runtime. you <i>should</i> be able to use jar in jar to add the module</li>
</ol>
<h2>Fixed</h2><ol>
<li> ArmorRecipe not working due to namespace not being preserved</li>
</ol>
