import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.PotionEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
@Mod(NoBadEffects.MOD_ID)
@Mod.EventBusSubscriber(modid = NoBadEffects.MOD_ID, bus = Bus.FORGE)
public class NoBadEffects {
public static final String MOD_ID = "nobadeffects";
public NoBadEffects() {
// Регистрация события
MinecraftForge.EVENT_BUS.register(this);
}
// Обработчик события для блокировки негативных эффектов
@SubscribeEvent
public void onPotionEffectAdded(PotionEvent.PotionAddedEvent event) {
EffectInstance effect = event.getPotionEffect();
if (effect != null && isBadEffect(effect)) {
event.setCanceled(true);
}
}
// Проверка, является ли эффект негативным
private boolean isBadEffect(EffectInstance effect) {
return effect.getPotion() == Effects.POISON ||
effect.getPotion() == Effects.SLOWNESS ||
effect.getPotion() == Effects.WEAKNESS ||
effect.getPotion() == Effects.BLINDNESS ||
effect.getPotion() == Effects.MINING_FATIGUE ||
effect.getPotion() == Effects.WITHER;
}
}