@SubscribeEvent
@SideOnly(Side.CLIENT)
public void fogColor(net.minecraftforge.client.event.EntityViewRenderEvent.FogColors event) {
Block block = ActiveRenderInfo.getBlockAtEntityViewpoint(event.entity.worldObj, event.entity, (float)event.renderPartialTicks);
if(block.getMaterial() == Material.water)
return;
DimensionProperties properties = DimensionManager.getInstance().getDimensionProperties(event.entity.dimension);
if(properties != null) {
float fog = properties.getAtmosphereDensityAtHeight(event.entity.posY);
if(event.entity.worldObj.provider instanceof IPlanetaryProvider) {
Vec3 color = event.entity.worldObj.provider.getSkyColor(event.entity, 0f);
event.red = (float) Math.min(color.xCoord*1.4f,1f);
event.green = (float) Math.min(color.yCoord*1.4f, 1f);
event.blue = (float) Math.min(color.zCoord*1.4f, 1f);
}
if(endTime > 0) {
double amt = (endTime - Minecraft.getMinecraft().theWorld.getTotalWorldTime()) / (double)duration;
if(amt < 0) {
endTime = 0;
}
else
event.green = event.blue = event.red = (float)amt;
} else {
event.red *= fog;
event.green *= fog;
event.blue *= fog;
}
}
}
PlanetEventHandler.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:AdvancedRocketry
作者:
评论列表
文章目录