diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesChests.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesChests.kt index 617bfed00..cf00f8ee4 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesChests.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesChests.kt @@ -32,7 +32,6 @@ fun addChestLootTables(loot: LootTables) { item(MItems.MECHANICAL_PARTS) { setCount(minimal = 2, maximal = 3) } item(MItems.IRON_PLATE) { setCount(minimal = 2, maximal = 3) } item(MItems.ELECTRIC_PARTS) { setCount(minimal = 2, maximal = 3) } - item(MItems.MECHANICAL_PARTS) { setCount(minimal = 2, maximal = 3) } item(MItems.CIRCUIT_PLATING) { setCount(minimal = 1, maximal = 3) } item(MItems.METAL_JUNK) { setCount(minimal = 3, maximal = 5) } @@ -49,6 +48,58 @@ fun addChestLootTables(loot: LootTables) { } } + loot.builder(LootContextParamSets.BLOCK, modLootTable("wooden_crate")) { + lootPool { + item(Items.STICK) { setCount(minimal = 2, maximal = 4)} + } + lootPool { + item(Items.OAK_PLANKS) { setCount(minimal = 1, maximal = 2)} + } + } + + loot.builder(LootContextParamSets.BLOCK, modLootTable("wooden_crate_materials")) { + lootPool { + item(Items.IRON_INGOT) { + setCount(minimal = 1, maximal = 3) + } + item(MItems.TRITANIUM_INGOT) { + setCount(minimal = 1, maximal = 3) + } + } + lootPool { + item(Items.GOLD_INGOT) { + chanceCondition(0.3) + setCount(minimal = 1, maximal = 3) + } + item(Items.DIAMOND) { + chanceCondition(0.1) + setCount(minimal = 1, maximal = 2) + } + } + lootPool { + item(MItems.MECHANICAL_PARTS) { setCount(minimal = 2, maximal = 3) } + item(Items.COPPER_INGOT) { setCount(minimal = 1, maximal = 3) } + } + lootPool { + add(NestedLootTable.lootTableReference( + modLootTable("wooden_crate") + )) + } + } + + loot.builder(LootContextParamSets.BLOCK, modLootTable("wooden_crate_modules")) { + lootPool { + item(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(12, 24), UniformInt.of(0, 3))) + } + } + lootPool { + add(NestedLootTable.lootTableReference( + modLootTable("wooden_crate") + )) + } + } + loot.builder(LootContextParamSets.CHEST, modLootTable("frigate_cargo")) { lootPool { item(Items.IRON_INGOT) { setCount(minimal = 1, maximal = 3)}