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