Skip to content

LootTable ​

Loot tables are used dictate what items should be dropped through specific actions.

LootTables in LootJS extends from LootEntriesTransformer. See LootEntriesTransformer for more information.

firstPool ​

Returns the first pool inside a loot table. If no pool exist, it will create one and return it.

  • Syntax:
    • .firstPool()
    • .firstPool((pool) => {})
js
LootJS.lootTables(event => {
    let pool = event.getLootTable("minecraft:chests/simple_dungeon").firstPool()
})
js
LootJS.lootTables(event => {
    event.getLootTable("minecraft:chests/simple_dungeon").firstPool(pool => {
        // modify the pool here
    })
})

createPool ​

Creates a new pool and returns it.

  • Syntax:
    • .createPool()
    • .createPool((pool) => {})
js
LootJS.lootTables(event => {
    let pool = event.getLootTable("minecraft:chests/simple_dungeon").createPool()
})
js
LootJS.lootTables(event => {
    event.getLootTable("minecraft:chests/simple_dungeon").createPool(pool => {
        // modify the pool here
    })
})

getFunctions ​

Returns a list of all item functions attached to the loot table.

  • Syntax:
    • .getFunctions()
js
LootJS.lootTables(event => {
    let functions = event.getLootTable("minecraft:chests/simple_dungeon").getFunctions()
})

onDrop ​

Adds a custom callback when the loot table is rolled.

  • Syntax:
    • .onDrop((context, loot) => {})
js
LootJS.lootTables(event => {
    event.getLootTable("minecraft:chests/simple_dungeon").onDrop((context, loot) => {
        for (let item of loot) {
            console.log(item)
        }
    })
})

getLocation ​

Get the loot table id

  • Syntax:
    • .getLocation()
js
LootJS.lootTables(event => {
    let table = event.getLootTable("minecraft:chests/simple_dungeon")
    let location = table.getLocation() // Would return `"minecraft:chests/simple_dungeon"`
})

getLootType ​

  • Syntax:
    • .getLootType()
js
LootJS.lootTables(event => {
    let table = event.getLootTable("minecraft:chests/simple_dungeon")
    let type = table.getLootType() // Would return `LootType.CHEST`
})

clear ​

Clears the loot table. This will remove all item functions and pools from the table.

  • Syntax:
    • .clear()
js
LootJS.lootTables(event => {
    event.getLootTable("minecraft:chests/simple_dungeon").clear()
})

print ​

Logs the loot table. Can be used for debugging.

  • Syntax:
    • .print()
js
LootJS.lootTables(event => {
    event.getLootTable("minecraft:chests/simple_dungeon").print()
})