Spaces:
Build error
Build error
File size: 1,326 Bytes
d46f4a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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_);
}
@Override
public boolean shouldApplyEffectTickThisTick(int p_297444_, int p_300866_) {
return true;
}
@Override
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;
}
} |