Перейти к содержимому
Mineforgian

KapLib

Library for all purposes

Загрузки
12K
Подписчики
4
Обновлён
12 августа 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 20 июля 2024 г.

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

Ченджлог

v1.32.3-mc1.21.1Релиз1.21.1 · 12 августа 2026 г.

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

v1.32.2-mc1.21.1Релиз1.21.1 · 3 августа 2026 г.

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

v1.32.1-mc1.21.1Релиз1.21.1 · 30 июля 2026 г.

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

v1.32.0-mc1.21.1Релиз1.21.1 · 28 июля 2026 г.

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 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

v1.31.0-mc1.21.1Релиз1.21.1 · 15 февраля 2026 г.

Additions

added RegisterBonusProvidersEvent.EntityBound registering bonuses that are bound to the entity itself instead of an item
added Codecs to all available Text converters
added CameraPos shader Uniform
added RequirementTypes.BLOCK suppressing place and interactions
added AttackerEmptyOffhand loot condition
added BehindEntity loot condition
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
fixed Particle Animation Particles appearing around 0|0|0 for a frame
fixed RingSpawner not rotating correctly
fixed DisplayExtensions (for EquipmentSlots) not working
fixed neither Camera animations nor shaking working
fixed CEC style modifiers being applied to enchantment display entries
fixed RotateElement behaving weird due to position issues
fixed RingSpawner not spawning correctly due to RAD <-> DEG mismatch
fixed many mixins not using MixinExtras
fixed incompatibility with Sodium due to mixin
fixed SetBonuses not updating when switching from item with correct bonus but wrong slot to item with correct bonus and correct slot
fixed BonusProvider set-bonus slot order being shuffled each time

Changes

moved many classes around to group them into their respective module
moved ClientHelper#addReqContent to RequirementManager#addReqContent
moved to Neoforge 1.21.216
renamed AbsolutePositionTarget to StaticPositionTarget
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)
renamed RegisterBonusProvidersEvent to RegisterBonusProvidersEvent.ItemBound
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
removed MiscHelper$DamageType and associated methods.
removed MiscHelper#of in favor of Util#make
removed server config $ enable_social as it wasn't used.
removed OreModifier and dedicated Event
removed ExtraCodecs#UUID, replaced by UUIDUtils.STRING_CODEC
removed "ChunkPosition" Uniform in Block Render types.
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'
v1.30.3-mc1.21.1Релиз1.21.1 · 23 октября 2025 г.

Added

  1. ClientHelper#BOW_PULL ItemProperty. use when registering bow items ItemProperties (see KapLibModClientEvents for an example)

Fixed

  1. ExtraAttributes.RANGED_DAMAGE not being implemented
  2. ExtraAttributes.FISHING_SPEED not being implemented
v1.30.2-mc1.21.1Релиз1.21.1 · 21 октября 2025 г.

Fixed

  1. ExtraStreamCodecs#map being package-private

Added

  1. TextHelper#convertToLatin
v1.30.1-mc1.21.1Релиз1.21.1 · 20 октября 2025 г.

Fixed

  1. KapLib not loading correctly when adding ArmorRecipes due to bytebuf mismatch

Removed

  1. MiscHelper#repeat because wtf did it exist in the firstplace????

Uncategorized

  1. renamed CollectorHelper#createMap -> #toMap and #createMapForKeys -> #toMapForKeys

Комментарии

Загружаем…