LootTable argument

A loot table argument showing a list of Minecraft loot tables as suggestions

The LootTableArgument class can be used to get a Bukkit LootTable object.

Example - Filling a chest with loot table contents

Say we wanted to write a command that populates a chest with some loot table contents. For this example, we'll use the following command:

/giveloottable <loottable> <location>

We ensure that the location provided is a container (such as a chest or shulkerbox) and then update the contents of that container:

new CommandAPICommand("giveloottable") .withArguments(new LootTableArgument("loottable")) .withArguments(new LocationArgument("location", LocationType.BLOCK_POSITION)) .executes((sender, args) -> { LootTable lootTable = (LootTable) args[0]; Location location = (Location) args[1]; BlockState state = location.getBlock().getState(); // Check if the input block is a container (e.g. chest) if(state instanceof Container container && state instanceof Lootable lootable) { // Apply the loot table to the chest lootable.setLootTable(lootTable); container.update(); } }) .register();