still no grass is found; source.isBuiltin seems not to be true
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user