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()
})