diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTables.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTables.kt index b85e6a88e..6aa8d0f4f 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTables.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTables.kt @@ -1,7 +1,9 @@ + +@file:Suppress("unused") + package ru.dbotthepony.mc.otm.datagen.loot import com.mojang.datafixers.util.Pair -import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap import it.unimi.dsi.fastutil.objects.Reference2ObjectArrayMap import it.unimi.dsi.fastutil.objects.Reference2ObjectFunction import net.minecraft.advancements.critereon.StatePropertiesPredicate @@ -37,10 +39,6 @@ private typealias LootTableCallback = Consumer private typealias LootTableCallbackProvider = Supplier private typealias LootTuple = Pair -inline fun singleLootPool(f: (LootPool.Builder) -> Unit): LootTable.Builder { - return LootTable.lootTable().withPool(LootPool.lootPool().also(f)) -} - inline fun LootTable.Builder.lootPool(configurator: LootPool.Builder.() -> Unit): LootTable.Builder = withPool(LootPool.lootPool().also(configurator)) inline fun LootPool.Builder.item(item: ItemLike, configurator: LootPoolSingletonContainer.Builder<*>.() -> Unit) { add(LootItem.lootTableItem(item).also(configurator)) @@ -96,7 +94,7 @@ private val poweredMatterWorker = arrayOf( ) class LootTables(generator: DataGenerator) : LootTableProvider(generator) { - private val providersTable = Reference2ObjectArrayMap LootTable.Builder>>() + private val providersTable = Reference2ObjectArrayMap LootTable.Builder>>() fun builder(context: LootContextParamSet, id: ResourceLocation, provider: LootTable.Builder.() -> Unit) { provider(context, id) { @@ -106,7 +104,7 @@ class LootTables(generator: DataGenerator) : LootTableProvider(generator) { fun provider(context: LootContextParamSet, id: ResourceLocation, provider: () -> LootTable.Builder) { check(providersTable - .computeIfAbsent(context, Reference2ObjectFunction { Object2ObjectArrayMap() }) + .computeIfAbsent(context, Reference2ObjectFunction { HashMap() }) .put(id, provider) == null) { "Duplicate loot pool entry for $id" } }