BlindnessFogEnvironment.java
net.minecraft.client.renderer.fog.environment.BlindnessFogEnvironment
信息
- 全限定名:net.minecraft.client.renderer.fog.environment.BlindnessFogEnvironment
- 类型:public class
- 包:net.minecraft.client.renderer.fog.environment
- 源码路径:src/main/java/net/minecraft/client/renderer/fog/environment/BlindnessFogEnvironment.java
- 起始行号:L17
- 继承:MobEffectFogEnvironment
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public Holder<MobEffect> getMobEffect() @ L18
- 方法名:getMobEffect
- 源码定位:L18
- 返回类型:Holder
- 修饰符:public
参数:
- 无
说明:
TODO
public void setupFog(FogData fog, Camera camera, ClientLevel level, float renderDistance, DeltaTracker deltaTracker) @ L23
- 方法名:setupFog
- 源码定位:L23
- 返回类型:void
- 修饰符:public
参数:
- fog: FogData
- camera: Camera
- level: ClientLevel
- renderDistance: float
- deltaTracker: DeltaTracker
说明:
TODO
public float getModifiedDarkness(LivingEntity entity, float darkness, float partialTickTime) @ L37
- 方法名:getModifiedDarkness
- 源码定位:L37
- 返回类型:float
- 修饰符:public
参数:
- entity: LivingEntity
- darkness: float
- partialTickTime: float
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class BlindnessFogEnvironment extends MobEffectFogEnvironment {
@Override
public Holder<MobEffect> getMobEffect() {
return MobEffects.BLINDNESS;
}
@Override
public void setupFog(FogData fog, Camera camera, ClientLevel level, float renderDistance, DeltaTracker deltaTracker) {
if (camera.entity() instanceof LivingEntity livingEntity) {
MobEffectInstance effect = livingEntity.getEffect(this.getMobEffect());
if (effect != null) {
float distance = effect.isInfiniteDuration() ? 5.0F : Mth.lerp(Math.min(1.0F, effect.getDuration() / 20.0F), renderDistance, 5.0F);
fog.environmentalStart = distance * 0.25F;
fog.environmentalEnd = distance;
fog.skyEnd = distance * 0.8F;
fog.cloudEnd = distance * 0.8F;
}
}
}
@Override
public float getModifiedDarkness(LivingEntity entity, float darkness, float partialTickTime) {
MobEffectInstance instance = entity.getEffect(this.getMobEffect());
if (instance != null) {
if (instance.endsWithin(19)) {
darkness = Math.max(instance.getDuration() / 20.0F, darkness);
} else {
darkness = 1.0F;
}
}
return darkness;
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Mth.lerp()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置: