Compatibility
Minecraft: Java Edition
1.21.1
1.20.1
1.19.4
1.19.2
1.18.2
Platforms
Supported environments
Creators
Details
Licensed ARR
Published 3 years ago
Updated 2 days ago
Changelog
2.4.9.2-beta
Technical
- Allow
ObjTagto use dynamic registries
2.4.9.1-beta
Technical
- Added
JsonFeature#loadAndReadJsonoverloads for specifying the registry
2.4.9.0-beta
Technical
- Added back json utilities (
ILGsonHelperand validators)
2.4.8.0-beta
Technical
- Added loot modifiers:
insanelib:replace_loot— replaces items in a loot table with another item, optionally copying components (durability, enchantments) and scaling the count{ "type": "insanelib:replace_loot", "conditions": [...], "original_item": "minecraft:iron_sword", "replacement_item": "minecraft:diamond_sword", "copy_components": true, "count_multiplier": 1.0 }insanelib:inject_loot_table— injects the contents of another loot table into the current one{ "type": "insanelib:inject_loot_table", "conditions": [...], "loot_table": "minecraft:chests/simple_dungeon" }insanelib:drop_multiplier— multiplies the count of matching items in loot{ "type": "insanelib:drop_multiplier", "conditions": [...], "item": "minecraft:wheat", "multiplier": 2.0 }insanelib:loot_purger— removes or damages items based on distance from world spawn; useful for progressive loot difficultyItems are progressively purged the closer to spawn the loot generates. At{ "type": "insanelib:loot_purger", "conditions": [...], "end_range": 5000, "start_range": 0, "multiplier_at_start": 0.0, "apply_to_damageable": false, "blacklisted_items_tag": "insanelib:loot_purger_blacklist", "blacklisted_entity_type_tag": "insanelib:loot_purger_entity_blacklist" }start_rangethe survival chance ismultiplier_at_start, atend_rangeit is 1.apply_to_damageabledamages items proportionally instead of removing them.insanelib:disenchant— removes enchantments from all items; enchanted books become plain books{ "type": "insanelib:disenchant", "conditions": [...], "blacklisted_items_tag": "insanelib:disenchant_blacklist" }
- Added loot functions:
insanelib:enchant_randomly_weightless— enchants an item with a given number of random enchantments, each chosen with equal probability (no weight). Supports books.{ "function": "insanelib:enchant_randomly_weightless", "conditions": [...], "count": 2, "max_lvl": false, "treasure": false }count: number of enchantments to apply (supports number providers).max_lvl: always apply the maximum level.treasure: allow treasure enchantments (tagminecraft:treasure).insanelib:enchant_with_treasure— applies a single random treasure enchantment to the item. Supports books.{ "function": "insanelib:enchant_with_treasure", "conditions": [...], "allow_curses": true, "allow_treasure": true }allow_curses: include curse enchantments (tagminecraft:curse).allow_treasure: include non-curse treasure enchantments.
- Added loot conditions:
insanelib:block_tag_match— passes if the broken block is in the given tag (returns true if no block state is in context){ "condition": "insanelib:block_tag_match", "block_tag": "minecraft:logs" }insanelib:killer_has_advancement— passes if the killing player has completed the given advancement{ "condition": "insanelib:killer_has_advancement", "advancement": "minecraft:story/mine_diamond" }insanelib:non_player_arised_drop— passes if the drop was not caused by a player, explosion, or tool (i.e. natural mob death without a player killer){ "condition": "insanelib:non_player_arised_drop" }
2.4.7.1-beta
Technical
- Fixed self() methods not being @Unique
2.4.7.0-beta
Technical
- Added
ItemComponentsReloadListener.PROGRAMMATIC_PROVIDERSto change stacks programmatically
2.4.6.2-beta
Technical
- Attached sources in the .jar
2.4.6.1-beta
Technical
- Changed MCUtils.computeFoodFormula variables
- Removed effectiveness
- Renamed hunger to nutrition
2.4.6.0-beta
Technical
- Added back
InsaneLib.ONE_DECIMAL_FORMATTER
2.4.5.0-beta
Technical
- Added
MCUtils.computeFoodFormulausing EvalEx - Added back all the events
2.4.4.0-beta
Technical
- Added back
feature_enabledneoforge condition and loot condition
2.4.3.0-beta
Technical
- Added back
PlayerUseItemMovSpeedEventandPlayerSprintEvent
2.4.2.0-beta
- Moved Attack Speed Based Invincibility feature to ISO
2.4.1.1-beta
Technical
- Fixed concurrent modification exception
2.4.1.0-beta
Technical
- Ported back
ClientUtils
2.4.0.1-beta
- Attack invincibility frames are now reduced by 10%
- Fixed invincibility frames not shown on entities if damage was not from an entity or from non-weapon
2.4.0.0-beta
- Added insanelib:knockback_multiplier data component
- 0~1 that can reduce the knockback of an item
2.3.1.1-beta
- Fixed invincibility feature erroring when installed server side only
2.3.1.0-beta
- Added config option to limit invincibility frames to only faster attack speeds
2.3.0.0-beta
- Added Attack Speed Based Invincibility feature
- Makes attack change invincibility frames based off attack speed, so faster attacks will give less invincibility frames and vice versa
- If installed on the client, they will actually see the red invincibility frames correctly based off attack speed
2.2.2.0-beta
- Added back
/insanelibcommand, but, more importantly, added a new subcommand get_data_components- With
/insanelib get_data_components <item>you can get a list of all the data components that are currently applied to the item
- With
2.2.1.0-beta
- Renamed Item Definitions to Item components (the data pack folder has also changed to
item_components)- Added
remove_components, a list of components to remove from the item - Added
priority, integer value. When multiple json target the same item, components are merged — higher priority wins per component type.
- Added
- A higher-priority remove overrides a lower-priority set, and vice versa.
2.2.0.0-beta
- Added Item Definitions feature
- Use data packs to change items' data components
E.g. indata/<namespace>/item_definitions/strong_diamond_sword.jsonwill make diamond swords have 50 Attack Damage and 2000 durability
{ "item": "minecraft:diamond_sword", "components": { "minecraft:max_damage": 2000, "minecraft:attribute_modifiers": { "modifiers": [ { "type": "minecraft:generic.attack_damage", "id": "minecraft:attack_damage", "amount": 50.0, "operation": "add_value", "slot": "mainhand" } ] } } } - Use data packs to change items' data components
2.1.3.0-beta
- Ported Push Resistance attribute from Enhanced AI
2.1.2.5-beta
- Crash fix when saving a parsed effect instance
2.1.2.4-beta
- Fix Network messages again
2.1.2.3-beta
- Fix Network messages being sent to clients with no mod installed
2.1.2.2-beta
- Fix ObjTag resolving unknown registry entries as fallback objects
2.1.2.1-beta
- Fixed missing
ObjTagValue.LIST_TYPE
2.1.2.0-beta
- Added back
IdTagValueasObjTagValue - Added
ObjTag#asHolder
2.1.1.0-beta
- Added
MCUtils.createPotionStackFromEffectInstances
2.1.0.1-beta
- Fixed startup crash
2.1.0.0-beta
- Modules now require Resource Location as identifier
- You can now use
ILModConfigto prevent having to create a config class each mod- In the mod class
public static ILModConfig CONFIG; public YourMod(IEventBus modEventBus, ModContainer modContainer) { CONFIG = new ILModConfig(MOD_ID, ModConfig.Type.COMMON, modEventBus, Modules::init, InsaneLib.class.getClassLoader()); modContainer.registerConfig(ModConfig.Type.COMMON, CONFIG.spec, MOD_ID + "/common.toml"); } - You can also create a single module mod via
ILModConfigconstructorFeatures in single module mods can now omit the module parameter inpublic static ILModConfig CONFIG; public YourMod(IEventBus modEventBus, ModContainer modContainer) { CONFIG = new ILModConfig(location("main"), "Main", ModConfig.Type.COMMON, modEventBus, Modules::init, InsaneLib.class.getClassLoader()); modContainer.registerConfig(ModConfig.Type.COMMON, CONFIG.spec, MOD_ID + "/common.toml"); }@LoadFeature
- In the mod class
- Ported more MCUtils functions
2.0.4.0-beta
- Ported Better Falling Blocks
2.0.3.0-alpha
- Added Fix Swimmers Swimming Attribute, making Drowned and Fishes use the neoforge swimming speed attribute instead of the vanilla movement speed
2.0.2.1-alpha
- Player attributes are now empty by default
2.0.2.0-alpha
- Added Player Attributes feature
- Directly from Insane's Survival Overhaul, change players attributes with a json in the config folder.
- By default, it will slightly reduce movement speed and block reach
- Added back JsonFeature (needed for Player Attributes)
2.0.1.0-alpha
- Added back MessageCreeperDataSync
- Creeper data is now automatically synced client-side (if the mod is installed on the client).
2.0.0.5-alpha
- Fixed "Fix Air Speed.Sprinting Jump Slowdown" being ignored
2.0.0.4-alpha
Port to 1.21.1
This version contains most of the player features (missing Better Falling Blocks) + everything needed to make MPR work.
- Removed
spawn_typetag, neoforge already does that withneoforge:spawn_typeNBT Tag - Follow range fix now applies to any entity that uses vanilla NearestAttackableTargetGoal and will update everytime the mob tries to find a new target instead of only on spawn
- Enhanced Fix Air Speed (aka Fix Jump Movement Factor)
Files
Metadata
Release channel
BetaVersion number
2.4.9.2-betaLoaders
Game versions
1.21.1Environment
Client and server, optional on client
Downloads
84Publication date
March 15, 2026 at 11:14 AMPublisher
Insane96
Owner


