当前位置: 首页>>代码示例>>Java>>正文


Java BiomeGenBase.getSkyColorByTemp方法代码示例

本文整理汇总了Java中net.minecraft.world.biome.BiomeGenBase.getSkyColorByTemp方法的典型用法代码示例。如果您正苦于以下问题:Java BiomeGenBase.getSkyColorByTemp方法的具体用法?Java BiomeGenBase.getSkyColorByTemp怎么用?Java BiomeGenBase.getSkyColorByTemp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraft.world.biome.BiomeGenBase的用法示例。


在下文中一共展示了BiomeGenBase.getSkyColorByTemp方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getSkyColor

import net.minecraft.world.biome.BiomeGenBase; //导入方法依赖的package包/类
/**
 * Calculates the color for the skybox
 */
public Vec3 getSkyColor(Entity entityIn, float partialTicks)
{
    float f = this.getCelestialAngle(partialTicks);
    float f1 = MathHelper.cos(f * (float)Math.PI * 2.0F) * 2.0F + 0.5F;
    f1 = MathHelper.clamp_float(f1, 0.0F, 1.0F);
    int i = MathHelper.floor_double(entityIn.posX);
    int j = MathHelper.floor_double(entityIn.posY);
    int k = MathHelper.floor_double(entityIn.posZ);
    BlockPos blockpos = new BlockPos(i, j, k);
    BiomeGenBase biomegenbase = this.getBiomeGenForCoords(blockpos);
    float f2 = biomegenbase.getFloatTemperature(blockpos);
    int l = biomegenbase.getSkyColorByTemp(f2);
    float f3 = (float)(l >> 16 & 255) / 255.0F;
    float f4 = (float)(l >> 8 & 255) / 255.0F;
    float f5 = (float)(l & 255) / 255.0F;
    f3 = f3 * f1;
    f4 = f4 * f1;
    f5 = f5 * f1;
    float f6 = this.getRainStrength(partialTicks);

    if (f6 > 0.0F)
    {
        float f7 = (f3 * 0.3F + f4 * 0.59F + f5 * 0.11F) * 0.6F;
        float f8 = 1.0F - f6 * 0.75F;
        f3 = f3 * f8 + f7 * (1.0F - f8);
        f4 = f4 * f8 + f7 * (1.0F - f8);
        f5 = f5 * f8 + f7 * (1.0F - f8);
    }

    float f10 = this.getThunderStrength(partialTicks);

    if (f10 > 0.0F)
    {
        float f11 = (f3 * 0.3F + f4 * 0.59F + f5 * 0.11F) * 0.2F;
        float f9 = 1.0F - f10 * 0.75F;
        f3 = f3 * f9 + f11 * (1.0F - f9);
        f4 = f4 * f9 + f11 * (1.0F - f9);
        f5 = f5 * f9 + f11 * (1.0F - f9);
    }

    if (this.lastLightningBolt > 0)
    {
        float f12 = (float)this.lastLightningBolt - partialTicks;

        if (f12 > 1.0F)
        {
            f12 = 1.0F;
        }

        f12 = f12 * 0.45F;
        f3 = f3 * (1.0F - f12) + 0.8F * f12;
        f4 = f4 * (1.0F - f12) + 0.8F * f12;
        f5 = f5 * (1.0F - f12) + 1.0F * f12;
    }

    return new Vec3((double)f3, (double)f4, (double)f5);
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:61,代码来源:World.java


注:本文中的net.minecraft.world.biome.BiomeGenBase.getSkyColorByTemp方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。