yippie
This commit is contained in:
parent
ef8738a0f4
commit
d26660c917
@ -22,6 +22,7 @@ import net.minecraft.world.level.storage.loot.ValidationContext
|
||||
import net.minecraft.world.level.storage.loot.entries.LootItem
|
||||
import net.minecraft.world.level.storage.loot.entries.LootPoolSingletonContainer
|
||||
import net.minecraft.world.level.storage.loot.functions.CopyNbtFunction
|
||||
import net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction
|
||||
import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSet
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets
|
||||
@ -54,18 +55,18 @@ fun LootPool.Builder.setRolls(count: Float): LootPool.Builder = setRolls(Constan
|
||||
fun LootPool.Builder.setRolls(min: Int, max: Int): LootPool.Builder = setRolls(UniformGenerator.between(min.toFloat(), max.toFloat()))
|
||||
fun LootPool.Builder.setRolls(min: Float, max: Float): LootPool.Builder = setRolls(UniformGenerator.between(min, max))
|
||||
|
||||
fun <T : LootPoolSingletonContainer.Builder<*>> T.setCount(count: Int): T {
|
||||
apply(SetItemCountFunction.setCount(ConstantValue.exactly(count.toFloat())))
|
||||
fun <T : LootPoolSingletonContainer.Builder<*>> T.setCount(count: Int, configurator: LootItemConditionalFunction.Builder<*>.() -> Unit = {}): T {
|
||||
apply(SetItemCountFunction.setCount(ConstantValue.exactly(count.toFloat())).also(configurator))
|
||||
return this
|
||||
}
|
||||
|
||||
fun <T : LootPoolSingletonContainer.Builder<*>> T.setCount(minimal: Int, maximal: Int): T {
|
||||
apply(SetItemCountFunction.setCount(UniformGenerator.between(minimal.toFloat(), maximal.toFloat())))
|
||||
fun <T : LootPoolSingletonContainer.Builder<*>> T.setCount(minimal: Int, maximal: Int, configurator: LootItemConditionalFunction.Builder<*>.() -> Unit = {}): T {
|
||||
apply(SetItemCountFunction.setCount(UniformGenerator.between(minimal.toFloat(), maximal.toFloat())).also(configurator))
|
||||
return this
|
||||
}
|
||||
|
||||
fun <T : LootPoolSingletonContainer.Builder<*>> T.setCount(minimal: Float, maximal: Float): T {
|
||||
apply(SetItemCountFunction.setCount(UniformGenerator.between(minimal.toFloat(), maximal.toFloat())))
|
||||
fun <T : LootPoolSingletonContainer.Builder<*>> T.setCount(minimal: Float, maximal: Float, configurator: LootItemConditionalFunction.Builder<*>.() -> Unit = {}): T {
|
||||
apply(SetItemCountFunction.setCount(UniformGenerator.between(minimal, maximal)).also(configurator))
|
||||
return this
|
||||
}
|
||||
|
||||
@ -74,11 +75,21 @@ fun <T : LootPoolSingletonContainer.Builder<*>> T.condition(condition: LootItemC
|
||||
return this
|
||||
}
|
||||
|
||||
fun <T : LootItemConditionalFunction.Builder<*>> T.condition(condition: LootItemCondition.Builder): T {
|
||||
`when`(condition)
|
||||
return this
|
||||
}
|
||||
|
||||
inline fun <T : LootPoolSingletonContainer.Builder<*>> T.blockStateCondition(block: Block, configurator: StatePropertiesPredicate.Builder.() -> Unit): T {
|
||||
condition(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().also(configurator)))
|
||||
return this
|
||||
}
|
||||
|
||||
inline fun <T : LootItemConditionalFunction.Builder<*>> T.blockStateCondition(block: Block, configurator: StatePropertiesPredicate.Builder.() -> Unit): T {
|
||||
condition(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().also(configurator)))
|
||||
return this
|
||||
}
|
||||
|
||||
operator fun StatePropertiesPredicate.Builder.set(property: Property<*>, value: String): StatePropertiesPredicate.Builder = hasProperty(property, value)
|
||||
operator fun StatePropertiesPredicate.Builder.set(property: Property<Int>, value: Int): StatePropertiesPredicate.Builder = hasProperty(property, value)
|
||||
operator fun StatePropertiesPredicate.Builder.set(property: Property<Boolean>, value: Boolean): StatePropertiesPredicate.Builder = hasProperty(property, value)
|
||||
|
@ -85,41 +85,41 @@ fun addLootTables(lootTables: LootTables) {
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.ADVANCEMENT_ENTITY, modLocation("tritanium_block3")) {
|
||||
lootPool { add(LootItem.lootTableItem(Items.WHITE_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.ORANGE_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.MAGENTA_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.LIGHT_BLUE_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.YELLOW_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.LIME_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.PINK_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.GRAY_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.LIGHT_GRAY_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.CYAN_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.PURPLE_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.BLUE_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.BROWN_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.GREEN_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.RED_DYE).setCount(8)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.BLACK_DYE).setCount(8)) }
|
||||
lootPool { item(Items.WHITE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.ORANGE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.MAGENTA_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIGHT_BLUE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.YELLOW_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIME_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.PINK_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.GRAY_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIGHT_GRAY_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.CYAN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.PURPLE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BLUE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BROWN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.GREEN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.RED_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BLACK_DYE) { setCount(8) } }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.ADVANCEMENT_ENTITY, modLocation("tritanium_block4")) {
|
||||
lootPool { add(LootItem.lootTableItem(Items.WHITE_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.ORANGE_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.MAGENTA_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.LIGHT_BLUE_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.YELLOW_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.LIME_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.PINK_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.GRAY_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.LIGHT_GRAY_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.CYAN_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.PURPLE_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.BLUE_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.BROWN_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.GREEN_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.RED_DYE).setCount(64)) }
|
||||
lootPool { add(LootItem.lootTableItem(Items.BLACK_DYE).setCount(64)) }
|
||||
lootPool { item(Items.WHITE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.ORANGE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.MAGENTA_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIGHT_BLUE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.YELLOW_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIME_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.PINK_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.GRAY_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIGHT_GRAY_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.CYAN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.PURPLE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BLUE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BROWN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.GREEN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.RED_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BLACK_DYE) { setCount(64) } }
|
||||
}
|
||||
|
||||
lootTables.tile(MBlocks.ENERGY_SERVO)
|
||||
|
Loading…
Reference in New Issue
Block a user