本文整理汇总了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);
}