как поменять шанс дропа только одного предмета

Версия Minecraft
1.12.2
API
Forge
кароче, решил я сделать кастомный дроп для Blocks.TALLGRASS, и решил поменять шанс дропа своего кастомного предмета, но он испортил шанс дропа семечек из травы, какой есть вариант пофиксить?

если что я все правильно зарегистрировал в главном классе мода :^

Java:
package com.blackvanya.mtm.functions;

import com.blackvanya.mtm.init.ItemInit;

import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@EventBusSubscriber
public class CustomTallGrasDrop
{
    @SubscribeEvent
    public void onTallGrassHarvest(BlockEvent.HarvestDropsEvent event)
    {
        if(event.getState().getBlock() == Blocks.TALLGRASS)
        {
            //изменение шанса дропа(багованное)
            event.setDropChance(0.2f);
            //добавление дропа своего предмета к дропу с блока
            event.getDrops().add(new ItemStack(ItemInit.PLANT_FIBER));
        }
        
    }
}
 
Попробуй так
Java:
package com.blackvanya.mtm.functions;

import com.blackvanya.mtm.init.ItemInit;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@Mod.EventBusSubscriber
public class CustomTallGrassDrop {

    @SubscribeEvent
    public static void onTallGrassHarvest(BlockEvent.HarvestDropsEvent event) {

        // Проверяем, что сломана высокая трава
        if (event.getState().getBlock() == Blocks.TALLGRASS) {

            // Шанс выпадения Plant Fiber = 20%
            if (event.getWorld().rand.nextFloat() < 0.2F) {
                event.getDrops().add(new ItemStack(ItemInit.PLANT_FIBER));
            }
        }
    }
}
 
Назад
Сверху