Spaces:
Build error
Build error
package net.minecraft.world.effect; | |
import net.minecraft.server.level.ServerLevel; | |
import net.minecraft.server.level.ServerPlayer; | |
import net.minecraft.world.Difficulty; | |
import net.minecraft.world.entity.LivingEntity; | |
import net.minecraft.world.entity.raid.Raid; | |
class BadOmenMobEffect extends MobEffect { | |
protected BadOmenMobEffect(MobEffectCategory p_298574_, int p_301000_) { | |
super(p_298574_, p_301000_); | |
} | |
public boolean shouldApplyEffectTickThisTick(int p_297444_, int p_300866_) { | |
return true; | |
} | |
public boolean applyEffectTick(ServerLevel p_368915_, LivingEntity p_299568_, int p_299125_) { | |
if (p_299568_ instanceof ServerPlayer serverplayer | |
&& !serverplayer.isSpectator() | |
&& p_368915_.getDifficulty() != Difficulty.PEACEFUL | |
&& p_368915_.isVillage(serverplayer.blockPosition())) { | |
Raid raid = p_368915_.getRaidAt(serverplayer.blockPosition()); | |
if (raid == null || raid.getRaidOmenLevel() < raid.getMaxRaidOmenLevel()) { | |
serverplayer.addEffect(new MobEffectInstance(MobEffects.RAID_OMEN, 600, p_299125_)); | |
serverplayer.setRaidOmenPosition(serverplayer.blockPosition()); | |
return false; | |
} | |
} | |
return true; | |
} | |
} |