FogEventHandler.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:Proxys-Lib 作者:
@SubscribeEvent
public void onGetFogColor(EntityViewRenderEvent.FogColors event)
{
    if (event.getEntity() instanceof EntityPlayer)
    {
        EntityPlayer player = (EntityPlayer) event.getEntity();
        World world = player.world;

        int x = MathHelper.floor(player.posX);
        int y = MathHelper.floor(player.posY);
        int z = MathHelper.floor(player.posZ);

        IBlockState stateAtEyes = ActiveRenderInfo.getBlockStateAtEntityViewpoint(world, event.getEntity(), (float) event.getRenderPartialTicks());
        if (stateAtEyes.getMaterial() == Material.LAVA)
        {
            return;
        }

        Vec3d mixedColor;
        if (stateAtEyes.getMaterial() == Material.WATER)
        {
            mixedColor = getFogBlendColorWater(world, player, x, y, z, event.getRenderPartialTicks());
        } else
        {
            mixedColor = getFogBlendColour(world, player, x, y, z, event.getRed(), event.getGreen(), event.getBlue(), event.getRenderPartialTicks());
        }

        event.setRed((float) mixedColor.x);
        event.setGreen((float) mixedColor.y);
        event.setBlue((float) mixedColor.z);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号