LootPool
LootPool is used to define what items should be dropped through specific actions. It helps to group up loot in loot tables by using multiple different pools.
As LootPool extends from LootEntriesTransformer, every function from it can be applied onto loot pools.
getName
Get the name of the pool. May return null if no name is set. Some mods will give their injected pools a name, so you can use this to identify them.
- Syntax:
.getName()
LootJS.lootTables(event => {
let name = event.getLootTable("minecraft:chests/simple_dungeon").firstPool().getName()
})name
Sets the name of the pool.
- Syntax:
.name(name: string)
LootJS.lootTables(event => {
event.getLootTable("minecraft:chests/simple_dungeon").firstPool().name("example_name")
})rolls
Sets the number of rolls of the pool. The default value is 1.
- Syntax:
.rolls(rolls: NumberProvider),see [NumberProvider]
LootJS.lootTables(event => {
event.getLootTable("minecraft:chests/simple_dungeon").firstPool().rolls([1, 5]) // Will roll between 1 and 5 times
})bonusRolls
Sets the number of bonus rolls of the pool. The default value is 0.
- Syntax:
.bonusRolls(rolls: NumberProvider),see [NumberProvider]
LootJS.lootTables(event => {
event.getLootTable("minecraft:chests/simple_dungeon").firstPool().bonusRolls(1)
})when
Set the conditions of the pool. If no condition met the pool will be skipped. See LootCondition for more information.
- Syntax:
.when((conditions) => {})
LootJS.lootTables(event => {
event
.getLootTable("minecraft:chests/simple_dungeon")
.firstPool()
.when(conditions => {
conditions.randomChance(0.5)
})
})getConditions
Returns a list of all conditions attached to the pool. Alternative to when. See LootCondition for more information.
- Syntax:
.getConditions().conditions
LootJS.lootTables(event => {
let conditions = event.getLootTable("minecraft:chests/simple_dungeon").firstPool().getConditions()
conditions.add(LootCondition.randomChance(0.5))
})apply
Set the item loot functions of the pool. See LootFunction for more information.
- Syntax:
.apply((functions) => {})
LootJS.lootTables(event => {
event
.getLootTable("minecraft:chests/simple_dungeon")
.firstPool()
.apply(functions => {
functions.setCount([1, 25])
})
})getFunctions
Returns a list of all loot item functions attached to the pool. Alternative to apply. See LootFunction for more information.
- Syntax:
.getFunctions().functions
LootJS.lootTables(event => {
let functions = event.getLootTable("minecraft:chests/simple_dungeon").firstPool().getFunctions()
functions.add(LootFunction.setCount([1, 25]))
})getEntries
Returns a list of all LootEntry in the pool.
- Syntax:
.getEntries().entries
LootJS.lootTables(event => {
let entries = event.getLootTable("minecraft:chests/simple_dungeon").firstPool().getEntries()
entries.addEntry("minecraft:apple")
})addEntry
Adds a new LootEntry to the pool. See LootEntry for more information.
- Syntax:
.addEntry(entry: LootEntry).addCustomEntry(json)
LootJS.lootTables(event => {
event
.getLootTable("minecraft:chests/simple_dungeon")
.firstPool()
.addEntry(LootEntry.of("minecraft:apple"))
})LootJS.lootTables(event => {
event.getLootTable("minecraft:chests/simple_dungeon").firstPool().addEntry("minecraft:apple") // Loot JS will automatically convert it.
})