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


Java ExtendedBlockStorage.setExtSkylightValue方法代码示例

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


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

示例1: setLightFor

import net.minecraft.world.chunk.storage.ExtendedBlockStorage; //导入方法依赖的package包/类
public void setLightFor(EnumSkyBlock p_177431_1_, BlockPos pos, int value)
{
    int i = pos.getX() & 15;
    int j = pos.getY();
    int k = pos.getZ() & 15;
    ExtendedBlockStorage extendedblockstorage = this.storageArrays[j >> 4];

    if (extendedblockstorage == null)
    {
        extendedblockstorage = this.storageArrays[j >> 4] = new ExtendedBlockStorage(j >> 4 << 4, !this.worldObj.provider.getHasNoSky());
        this.generateSkylightMap();
    }

    this.isModified = true;

    if (p_177431_1_ == EnumSkyBlock.SKY)
    {
        if (!this.worldObj.provider.getHasNoSky())
        {
            extendedblockstorage.setExtSkylightValue(i, j & 15, k, value);
        }
    }
    else if (p_177431_1_ == EnumSkyBlock.BLOCK)
    {
        extendedblockstorage.setExtBlocklightValue(i, j & 15, k, value);
    }
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:28,代码来源:Chunk.java

示例2: setLight

import net.minecraft.world.chunk.storage.ExtendedBlockStorage; //导入方法依赖的package包/类
/**
 * Set light for block
 * @param pos Block position
 * @param light Block light value
 * @param sky Set for sky
 */
public void setLight(UBlockPos pos, int light, boolean sky) {
    ExtendedBlockStorage storage = getStorage(world.getChunkFromBlockCoords(pos.getBlockPos()), pos.getY());
    if (storage != null) {
        if (sky) {
            if (storage.getSkylightArray() != null) {
                storage.setExtSkylightValue(pos.getX() & 15, pos.getY() & 15, pos.getZ() & 15, light);
            }
        } else {
            storage.setExtBlocklightValue(pos.getX() & 15, pos.getY() & 15, pos.getZ() & 15, light);
        }
    }
}
 
开发者ID:ternsip,项目名称:StructPro,代码行数:19,代码来源:UWorld.java

示例3: setLight

import net.minecraft.world.chunk.storage.ExtendedBlockStorage; //导入方法依赖的package包/类
/**
 * Set light for block
 * @param pos Block position
 * @param light Block light value
 * @param sky Set for sky
 */
@SuppressWarnings({"ConstantConditions"})
public void setLight(UBlockPos pos, int light, boolean sky) {
    ExtendedBlockStorage storage = getStorage(world.getChunkFromBlockCoords(pos.getBlockPos()), pos.getY());
    if (storage != null) {
        if (sky) {
            if (storage.getSkylightArray() != null) {
                storage.setExtSkylightValue(pos.getX() & 15, pos.getY() & 15, pos.getZ() & 15, light);
            }
        } else {
            storage.setExtBlocklightValue(pos.getX() & 15, pos.getY() & 15, pos.getZ() & 15, light);
        }
    }
}
 
开发者ID:ternsip,项目名称:StructPro,代码行数:20,代码来源:UWorld.java

示例4: setLight

import net.minecraft.world.chunk.storage.ExtendedBlockStorage; //导入方法依赖的package包/类
/**
 * Set light for block
 * @param pos Block position
 * @param light Block light value
 * @param sky Set for sky
 */
@SuppressWarnings({"ConstantConditions"})
public void setLight(UBlockPos pos, int light, boolean sky) {
    ExtendedBlockStorage storage = getStorage(world.getChunkFromBlockCoords(pos.getX(), pos.getZ()), pos.getY());
    if (storage != null) {
        if (sky) {
            if (storage.getSkylightArray() != null) {
                storage.setExtSkylightValue(pos.getX() & 15, pos.getY() & 15, pos.getZ() & 15, light);
            }
        } else {
            storage.setExtBlocklightValue(pos.getX() & 15, pos.getY() & 15, pos.getZ() & 15, light);
        }
    }
}
 
开发者ID:ternsip,项目名称:StructPro,代码行数:20,代码来源:UWorld.java

示例5: generateSkylightMap

import net.minecraft.world.chunk.storage.ExtendedBlockStorage; //导入方法依赖的package包/类
/**
 * Generates the initial skylight map for the chunk upon generation or load.
 */
public void generateSkylightMap()
{
    int i = this.getTopFilledSegment();
    this.heightMapMinimum = Integer.MAX_VALUE;

    for (int j = 0; j < 16; ++j)
    {
        for (int k = 0; k < 16; ++k)
        {
            this.precipitationHeightMap[j + (k << 4)] = -999;

            for (int l = i + 16; l > 0; --l)
            {
                if (this.getBlockLightOpacity(j, l - 1, k) != 0)
                {
                    this.heightMap[k << 4 | j] = l;

                    if (l < this.heightMapMinimum)
                    {
                        this.heightMapMinimum = l;
                    }

                    break;
                }
            }

            if (!this.worldObj.provider.getHasNoSky())
            {
                int k1 = 15;
                int i1 = i + 16 - 1;

                while (true)
                {
                    int j1 = this.getBlockLightOpacity(j, i1, k);

                    if (j1 == 0 && k1 != 15)
                    {
                        j1 = 1;
                    }

                    k1 -= j1;

                    if (k1 > 0)
                    {
                        ExtendedBlockStorage extendedblockstorage = this.storageArrays[i1 >> 4];

                        if (extendedblockstorage != null)
                        {
                            extendedblockstorage.setExtSkylightValue(j, i1 & 15, k, k1);
                            this.worldObj.notifyLightSet(new BlockPos((this.xPosition << 4) + j, i1, (this.zPosition << 4) + k));
                        }
                    }

                    --i1;

                    if (i1 <= 0 || k1 <= 0)
                    {
                        break;
                    }
                }
            }
        }
    }

    this.isModified = true;
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:70,代码来源:Chunk.java

示例6: generateSkylightMap

import net.minecraft.world.chunk.storage.ExtendedBlockStorage; //导入方法依赖的package包/类
/**
 * Generates the initial skylight map for the chunk upon generation or load.
 */
public void generateSkylightMap()
{
    int i = this.getTopFilledSegment();
    this.heightMapMinimum = Integer.MAX_VALUE;

    for (int j = 0; j < 16; ++j)
    {
        for (int k = 0; k < 16; ++k)
        {
            this.precipitationHeightMap[j + (k << 4)] = -999;

            for (int l = i + 16; l > 0; --l)
            {
                if (this.getBlockLightOpacity(j, l - 1, k) != 0)
                {
                    this.heightMap[k << 4 | j] = l;

                    if (l < this.heightMapMinimum)
                    {
                        this.heightMapMinimum = l;
                    }

                    break;
                }
            }

            if (this.worldObj.provider.func_191066_m())
            {
                int k1 = 15;
                int i1 = i + 16 - 1;

                while (true)
                {
                    int j1 = this.getBlockLightOpacity(j, i1, k);

                    if (j1 == 0 && k1 != 15)
                    {
                        j1 = 1;
                    }

                    k1 -= j1;

                    if (k1 > 0)
                    {
                        ExtendedBlockStorage extendedblockstorage = this.storageArrays[i1 >> 4];

                        if (extendedblockstorage != NULL_BLOCK_STORAGE)
                        {
                            extendedblockstorage.setExtSkylightValue(j, i1 & 15, k, k1);
                            this.worldObj.notifyLightSet(new BlockPos((this.xPosition << 4) + j, i1, (this.zPosition << 4) + k));
                        }
                    }

                    --i1;

                    if (i1 <= 0 || k1 <= 0)
                    {
                        break;
                    }
                }
            }
        }
    }

    this.isModified = true;
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:70,代码来源:Chunk.java

示例7: generateSkylightMap

import net.minecraft.world.chunk.storage.ExtendedBlockStorage; //导入方法依赖的package包/类
/**
 * Generates the initial skylight map for the chunk upon generation or load.
 */
public void generateSkylightMap()
{
    int i = this.getTopFilledSegment();
    this.heightMapMinimum = Integer.MAX_VALUE;

    for (int j = 0; j < 16; ++j)
    {
        for (int k = 0; k < 16; ++k)
        {
            this.precipitationHeightMap[j + (k << 4)] = -999;

            for (int l = i + 16; l > 0; --l)
            {
                if (this.getBlockLightOpacity(j, l - 1, k) != 0)
                {
                    this.heightMap[k << 4 | j] = l;

                    if (l < this.heightMapMinimum)
                    {
                        this.heightMapMinimum = l;
                    }

                    break;
                }
            }

            if (!this.worldObj.provider.getHasNoSky())
            {
                int k1 = 15;
                int i1 = i + 16 - 1;

                while (true)
                {
                    int j1 = this.getBlockLightOpacity(j, i1, k);

                    if (j1 == 0 && k1 != 15)
                    {
                        j1 = 1;
                    }

                    k1 -= j1;

                    if (k1 > 0)
                    {
                        ExtendedBlockStorage extendedblockstorage = this.storageArrays[i1 >> 4];

                        if (extendedblockstorage != NULL_BLOCK_STORAGE)
                        {
                            extendedblockstorage.setExtSkylightValue(j, i1 & 15, k, k1);
                            this.worldObj.notifyLightSet(new BlockPos((this.xPosition << 4) + j, i1, (this.zPosition << 4) + k));
                        }
                    }

                    --i1;

                    if (i1 <= 0 || k1 <= 0)
                    {
                        break;
                    }
                }
            }
        }
    }

    this.isModified = true;
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:70,代码来源:Chunk.java


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