I followed a tutorial on how to modify the grass loot table and add my modded item but my loot is not generated
here is my loot class:
package net.meme2001.farmsimmod.loot;
import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
import net.minecraftforge.common.data.GlobalLootModifierProvider;
import net.minecraftforge.common.loot.IGlobalLootModifier;
import net.minecraftforge.common.loot.LootModifier;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.registries.ForgeRegistries;
import org.jetbrains.annotations.NotNull;
import static net.meme2001.farmsimmod.Farmsimmod.MODID;
public class DeleteItemModifier extends LootModifier {
public static final Supplier<Codec<DeleteItemModifier>> CODEC = Suppliers.memoize(()
-> RecordCodecBuilder.create(inst -> codecStart(inst).and(ForgeRegistries.ITEMS.getCodec()
.fieldOf("item").forGetter(m -> m.item)).apply(inst,DeleteItemModifier::new)));
private final Item item;
protected DeleteItemModifier(LootItemCondition[] conditionsIn ,Item item) {
super(conditionsIn);
this.item=item;
}
@Override
protected @NotNull ObjectArrayList<ItemStack> doApply(ObjectArrayList<ItemStack> generatedLoot, LootContext context) {
if (context.getRandom().nextFloat() >= 0.2) {
generatedLoot.add(new ItemStack(item));
}
return generatedLoot;
}
@Override
public Codec<? extends IGlobalLootModifier> codec() {
return CODEC.get();
}
}
and here is my first JSON file:
{
"type": "farmsimmod:delete_item",
"conditions": [
{
"condition": "block_state_property",
"block": "minecraft:grass"
}
],
"item": "framsimmod:tomateo_seed"
}
and my second JSON file
{
"replace": false,
"entries": [
"farmsimmod:remove_loot_from_grass"
]
}