diff --git a/src/main/java/de/jottyfan/minecraft/Quickly.java b/src/main/java/de/jottyfan/minecraft/Quickly.java index aeaa367..57f1925 100644 --- a/src/main/java/de/jottyfan/minecraft/Quickly.java +++ b/src/main/java/de/jottyfan/minecraft/Quickly.java @@ -9,13 +9,12 @@ import de.jottyfan.minecraft.item.QuicklyItems; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.loot.v3.LootTableEvents; import net.fabricmc.fabric.api.registry.CompostingChanceRegistry; -import net.minecraft.world.item.Items; +import net.minecraft.resources.Identifier; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.entries.LootItem; +import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition; import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; - - /** * * @author jotty @@ -34,11 +33,13 @@ public class Quickly implements ModInitializer { private void registerLootTableChanges() { LootTableEvents.MODIFY.register((key, tableBuilder, source, registries) -> { if (source.isBuiltin()) { - if (Blocks.SHORT_GRASS.getLootTable().equals(key)) { + Identifier grass = Identifier.fromNamespaceAndPath("minecraft", "blocks/grass"); + Quickly.LOGGER.info("key {} ?=? grass {}", key.identifier(), grass); + if (key.identifier().equals(grass)) { LootPool.Builder poolBuilder = LootPool.lootPool() .setRolls(ConstantValue.exactly(1f)) - .add(LootItem.lootTableItem(Items.AIR).setWeight(4)) - .add(LootItem.lootTableItem(QuicklyItems.COTTONSEED).setWeight(1)); + .when(LootItemRandomChanceCondition.randomChance(0.1f)) + .add(LootItem.lootTableItem(QuicklyItems.COTTONSEED)); tableBuilder.withPool(poolBuilder); } else if (Blocks.TALL_GRASS.getLootTable().equals(key)) { // for the canola loot table block later