Code/net/minecraft/world/level/EntityBasedExplosionDamageC...

26 lines
1.1 KiB
Java
Raw Permalink Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.world.level;
import java.util.Optional;
import net.minecraft.core.BlockPos;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.FluidState;
public class EntityBasedExplosionDamageCalculator extends ExplosionDamageCalculator {
private final Entity source;
public EntityBasedExplosionDamageCalculator(Entity p_45894_) {
this.source = p_45894_;
}
@Override
public Optional<Float> getBlockExplosionResistance(Explosion p_45902_, BlockGetter p_45903_, BlockPos p_45904_, BlockState p_45905_, FluidState p_45906_) {
return super.getBlockExplosionResistance(p_45902_, p_45903_, p_45904_, p_45905_, p_45906_)
.map(p_45913_ -> this.source.getBlockExplosionResistance(p_45902_, p_45903_, p_45904_, p_45905_, p_45906_, p_45913_));
}
@Override
public boolean shouldBlockExplode(Explosion p_45896_, BlockGetter p_45897_, BlockPos p_45898_, BlockState p_45899_, float p_45900_) {
return this.source.shouldBlockExplode(p_45896_, p_45897_, p_45898_, p_45899_, p_45900_);
}
}