nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
LootJS: KubeJS Addon

LootJS: KubeJS Addon

Mod

A Minecraft mod for packdevs to easily modify the loot system with KubeJS.

Client and server Utility

361.6k downloads
28 followers

LootJS-NeoForge-1.21-3.0.0

Changelog

Changes

  • New wiki https://docs.almostreliable.com/lootjs/
  • Now on neoforge
  • Added LootJS.loot_tables event for direct loot table modification
  • Add LootBucket as wrapper class for loot for easier execute some helper functions
  • LootEntry does not only represent single items anymore. It now represents all different loot entries vanilla minecraft has.
    • LootEntry.of(item): Single item
    • LootEntry.empty(): Empty entry
    • LootEntry.tag(tag): Tag entry
    • LootEntry.reference(lootTable): Reference to another loot table. For example, LootEntry.reference("minecraft:chests/abandoned_mineshaft")
    • LootEntry.alternative(lootEntries...): Alternative loot
    • LootEntry.sequence(lootEntries...): Sequence loot
    • LootEntry.group(lootEntries...): Grouped loot
  • Changes to LootJS.modifiers event:
    • Loot modifiers are not executed in order anymore. It will now work like a loot table. First check for conditions and if it contains matching loot, then apply all actions and then apply loot functions.
    • addLootTableModifier, addLootTypeModifier, addBlockLootModifier, addEntityLootModifier renamed into addTableModifier, addTypeModifier, addBlockModifier, addEntityModifier
    • .functions(itemFilter, (f) => {}) removed. Better to just use group now
    • Added .group((group) => {...}) or .group(itemFilter, (item) => {...}). Second one will pre-filter current loot for further modifications.
      • .group() can use .rolls(numberprovider) to execute the group multiple times
    • .pool() now actually consumes a vanilla LootPool
    • Removed addWeightedLoot(), use .pool() instead now
    • matchLoot renamed into containsLoot
    • .dropExperience can now use a number provider instead of a fixed amount
    • LootContextJS wrapper removed. Using LootContext instead but added all helper methods from LootContextJS too
  • Renamed some loot functions
  • Renamed some loot conditions
  • Changes to ItemFilter:
    • .hasEnchantments(...) only works for item enchantments now. For stored enchantments use .hasStoredEnchantments(...)
    • Removed some filters as they are no longer needed with the new data components.
    • Renamed ALWAYS_TRUE into ALL and ALWAYS_FALSE into NONE
  • Added vault, block_use and shearing LootType
  • And probably more stuff I may missed, sorry! :D Feel free to ask in our discord.

Dependencies

Files

lootjs-neoforge-1.21-3.0.0.jar(219.97 KiB) Primary Download

External resources


Project members

Lytho

Owner

Relentless

Member


Technical information

License
LGPL-3.0-only
Client side
required
Server side
required
Project ID