Java 类net.minecraft.block.BlockFalling 实例源码
项目:TRAPPIST-1
文件:ChunkProviderSpaceCraters.java
@Override
public void populate(IChunkProvider par1IChunkProvider, int par2, int par3)
{
BlockFalling.fallInstantly = true;
int var4 = par2 * 16;
int var5 = par3 * 16;
this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16);
this.rand.setSeed(this.worldObj.getSeed());
final long var7 = this.rand.nextLong() / 2L * 2L + 1L;
final long var9 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed());
this.decoratePlanet(this.worldObj, this.rand, var4, var5);
this.onPopulate(par1IChunkProvider, par2, par3);
BlockFalling.fallInstantly = false;
}
项目:TRAPPIST-1
文件:ChunkProviderSpaceLakes.java
@Override
public void populate(IChunkProvider chunk, int x, int z)
{
BlockFalling.fallInstantly = true;
int var4 = x * 16;
int var5 = z * 16;
BiomeGenBase biomeGen = this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16);
this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16);
this.rand.setSeed(this.worldObj.getSeed());
long var7 = this.rand.nextLong() / 2L * 2L + 1L;
long var9 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed(x * var7 + z * var9 ^ this.worldObj.getSeed());
biomeGen.decorate(this.worldObj, this.rand, var4, var5);
this.decoratePlanet(this.worldObj, this.rand, var4, var5);
SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomeGen, var4 + 8, var5 + 8, 16, 16, this.rand);
this.onPopulate(chunk, x, z);
BlockFalling.fallInstantly = false;
}
项目:SerenityCE
文件:Scaffold.java
private int getHotbarBlock() {
for (int index = 36; index < 45; index++) {
ItemStack itemStack = mc.thePlayer.inventoryContainer.getSlot(index).getStack();
if (itemStack != null) {
if (itemStack.getItem() instanceof ItemBlock) {
if (((ItemBlock) itemStack.getItem()).getBlock() instanceof BlockFalling)
continue;
if (itemStack.stackSize >= 1) {
return index - 36;
}
}
}
}
return -1;
}
项目:Backmemed
文件:ParticleFallingDust.java
@Nullable
public Particle createParticle(int particleID, World worldIn, double xCoordIn, double yCoordIn, double zCoordIn, double xSpeedIn, double ySpeedIn, double zSpeedIn, int... p_178902_15_)
{
IBlockState iblockstate = Block.getStateById(p_178902_15_[0]);
if (iblockstate.getBlock() != Blocks.AIR && iblockstate.getRenderType() == EnumBlockRenderType.INVISIBLE)
{
return null;
}
else
{
int i = Minecraft.getMinecraft().getBlockColors().getColor(iblockstate);
if (iblockstate.getBlock() instanceof BlockFalling)
{
i = ((BlockFalling)iblockstate.getBlock()).getDustColor(iblockstate);
}
float f = (float)(i >> 16 & 255) / 255.0F;
float f1 = (float)(i >> 8 & 255) / 255.0F;
float f2 = (float)(i & 255) / 255.0F;
return new ParticleFallingDust(worldIn, xCoordIn, yCoordIn, zCoordIn, f, f1, f2);
}
}
项目:CustomWorldGen
文件:ParticleFallingDust.java
public Particle createParticle(int particleID, World worldIn, double xCoordIn, double yCoordIn, double zCoordIn, double xSpeedIn, double ySpeedIn, double zSpeedIn, int... p_178902_15_)
{
IBlockState iblockstate = Block.getStateById(p_178902_15_[0]);
if (iblockstate.getBlock() != Blocks.AIR && iblockstate.getRenderType() == EnumBlockRenderType.INVISIBLE)
{
return null;
}
else
{
int i = Minecraft.getMinecraft().getBlockColors().getColor(iblockstate);
if (iblockstate.getBlock() instanceof BlockFalling)
{
i = ((BlockFalling)iblockstate.getBlock()).getDustColor(iblockstate);
}
float f = (float)(i >> 16 & 255) / 255.0F;
float f1 = (float)(i >> 8 & 255) / 255.0F;
float f2 = (float)(i & 255) / 255.0F;
return new ParticleFallingDust(worldIn, xCoordIn, yCoordIn, zCoordIn, f, f1, f2);
}
}
项目:4Space-5
文件:ChunkProviderSpace.java
@Override
public void populate(IChunkProvider par1IChunkProvider, int par2, int par3)
{
BlockFalling.fallInstantly = true;
int var4 = par2 * 16;
int var5 = par3 * 16;
this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16);
this.rand.setSeed(this.worldObj.getSeed());
final long var7 = this.rand.nextLong() / 2L * 2L + 1L;
final long var9 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed());
this.decoratePlanet(this.worldObj, this.rand, var4, var5);
this.onPopulate(par1IChunkProvider, par2, par3);
BlockFalling.fallInstantly = false;
}
项目:4Space-5
文件:ChunkProviderMoon.java
@Override
public void populate(IChunkProvider par1IChunkProvider, int par2, int par3)
{
BlockFalling.fallInstantly = true;
final int var4 = par2 * 16;
final int var5 = par3 * 16;
this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16);
this.rand.setSeed(this.worldObj.getSeed());
final long var7 = this.rand.nextLong() / 2L * 2L + 1L;
final long var9 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed());
this.dungeonGenerator.handleTileEntities(this.rand);
if (!ConfigManagerCore.disableMoonVillageGen)
{
this.villageGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3);
}
this.decoratePlanet(this.worldObj, this.rand, var4, var5);
BlockFalling.fallInstantly = false;
}
项目:4Space-5
文件:ChunkProviderOrbit.java
@Override
public void populate(IChunkProvider par1IChunkProvider, int par2, int par3)
{
BlockFalling.fallInstantly = true;
final int k = par2 * 16;
final int l = par3 * 16;
this.rand.setSeed(this.worldObj.getSeed());
final long i1 = this.rand.nextLong() / 2L * 2L + 1L;
final long j1 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed(par2 * i1 + par3 * j1 ^ this.worldObj.getSeed());
if (k == 0 && l == 0)
{
this.worldObj.setBlock(k, 64, l, GCBlocks.spaceStationBase, 0, 3);
final TileEntity var8 = this.worldObj.getTileEntity(k, 64, l);
if (var8 instanceof IMultiBlock)
{
((IMultiBlock) var8).onCreate(new BlockVec3(k, 64, l));
}
new WorldGenSpaceStation().generate(this.worldObj, this.rand, k - 10, 62, l - 3);
}
BlockFalling.fallInstantly = false;
}
项目:4Space-5
文件:GenChunkProvider.java
@Override
public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) {
BlockFalling.fallInstantly = true;
int var4 = par2 * 16;
int var5 = par3 * 16;
worldObject.getBiomeGenForCoords(var4 + 16, var5 + 16);
random.setSeed(worldObject.getSeed());
long var7 = random.nextLong() / 2l * 2l + 1l;
long var9 = random.nextLong() / 2l * 2l + 1l;
random.setSeed(par2 * var7 + par3 * var9 ^ worldObject.getSeed());
decoratePlanet(this.worldObject, random, var4, var5);
if (pitNest != null) {
pitNest.generateStructuresInChunk(worldObject, new Random(), par2, par3);
}
BlockFalling.fallInstantly = false;
if (villageGenerator != null) {
villageGenerator.generateStructuresInChunk(worldObject, random, par2, par3);
}
}
项目:CrystalMod
文件:ExplosionMaker.java
private void updateBlocks() {
try {
BlockFalling.fallInstantly = true;
for (BlockPos pos : blocksToUpdate) {
IBlockState state = serverWorld.getBlockState(pos);
if (state.getBlock() instanceof BlockFalling) {
state.getBlock().updateTick(serverWorld, pos, state, serverWorld.rand);
}
state.neighborChanged(serverWorld, pos, Blocks.AIR, pos);
serverWorld.notifyNeighborsOfStateChange(pos, state.getBlock(), true);
}
}
catch (Throwable e) {
e.printStackTrace();
}
BlockFalling.fallInstantly = false;
}
项目:TravelHut
文件:WorldGenHandler.java
public static void placeHut(final World world, BlockPos startpos, int[][][] data, IBlockState[] states, Random rand) {
for (int pass = 0; pass <= 1; pass++) {
for (int y = 0; y < data.length; y++) {
for (int x = 0; x < 6; x++) {
for (int z = 0; z < 6; z++) {
BlockPos pos = startpos.add(x + 5, -y + 5, z + 5);
if (data[y][z][x] != -1) {
IBlockState state = states[data[y][z][x]];
if (state == null || (pass == 0 && (state.getBlock() instanceof BlockCarpet || state.getBlock() instanceof BlockSapling))) {
world.setBlockToAir(pos);
} else if (state.getBlock() instanceof BlockFalling) {
while (world.getBlockState(pos).getBlock().isReplaceable(world, pos) && !world.isAirBlock(new BlockPos(pos.getX(), 0, pos.getZ()))) {
world.setBlockState(pos, state);
world.immediateBlockTick(pos, state, rand);
}
} else if (!(state.getBlock() instanceof BlockSlab)
|| (world.getBlockState(pos).getBlock().isReplaceable(world, pos) && world.getBlockState(pos).getMaterial() != Material.WATER)) {
world.setBlockState(pos, state);
}
}
}
}
}
}
}
项目:FFS
文件:GenericUtil.java
public static boolean isValidTankBlock(World world, BlockPos pos, IBlockState state, EnumFacing facing) {
if(state == null) {
return false;
}
if(world.isAirBlock(pos)) {
return false;
}
if(state.getBlock() instanceof BlockFalling) {
return false;
}
if(Compatibility.INSTANCE.isCNBLoaded) {
if(CNBAPIAccess.apiInstance.isBlockChiseled(world, pos)) {
return facing != null && CNBCompatibility.INSTANCE.isValid(world, pos, facing);
}
}
return isBlockGlass(state) || facing == null || world.isSideSolid(pos, facing);
}
项目:nVoid
文件:ChunkGeneratorVoidIsland.java
@Override
public void populate(int x, int z) {
BlockFalling.fallInstantly = true;
net.minecraftforge.event.ForgeEventFactory.onChunkPopulate(true, this, this.worldObj, this.rand, x, z, false);
BlockPos blockpos = new BlockPos(x * 16, 0, z * 16);
this.worldObj.getBiomeForCoordsBody(blockpos.add(16, 0, 16)).decorate(this.worldObj, this.worldObj.rand, blockpos);
long i = (long)x * (long)x + (long)z * (long)z;
if (i > 4096L)
{
}
net.minecraftforge.event.ForgeEventFactory.onChunkPopulate(false, this, this.worldObj, this.rand, x, z, false);
BlockFalling.fallInstantly = false;
}
项目:TFC2
文件:BlockGravity.java
protected void fall(World worldIn, BlockPos pos, IBlockState state)
{
int i = 32;
if ((!BlockFalling.fallInstantly) && (worldIn.isAreaLoaded(pos.add(-i, -i, -i), pos.add(i, i, i))))
{
if (!worldIn.isRemote)
{
EntityFallingBlockTFC entityfallingblock = new EntityFallingBlockTFC(worldIn, pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D, state);
onStartFalling(entityfallingblock);
worldIn.spawnEntity(entityfallingblock);
}
}
else
{
((World)worldIn).setBlockToAir(pos);
BlockPos blockpos;
for (blockpos = pos.down(); (canFallInto(worldIn, blockpos)) && (blockpos.getY() > 0); blockpos = blockpos.down()) {}
if (blockpos.getY() > 0)
{
worldIn.setBlockState(blockpos.up(), getDefaultState());
}
}
}
项目:amunra
文件:MothershipChunkProvider.java
@Override
public void populate(IChunkProvider par1IChunkProvider, int chunkX, int chunkZ)
{
BlockFalling.fallInstantly = true;
final int blockX = chunkX * 16;
final int blockZ = chunkZ * 16;
this.rand.setSeed(this.worldObjNonPrivate.getSeed());
final long seed1 = this.rand.nextLong() / 2L * 2L + 1L;
final long seed2 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed(chunkX * seed1 + chunkZ * seed2 ^ this.worldObjNonPrivate.getSeed());
if (blockX == 0 && blockZ == 0)
{
// this generates the basis structure
new MothershipWorldGen().generate(this.worldObjNonPrivate, this.rand, 0, 64, 0);
}
BlockFalling.fallInstantly = false;
}
项目:It-s-About-Time-Minecraft-Mod
文件:ChunkProviderNowhere.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(p_73153_1_, worldObj, worldObj.rand, p_73153_2_, p_73153_3_, false));
int k = p_73153_2_ * 16;
int l = p_73153_3_ * 16;
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16);
biomegenbase.decorate(this.worldObj, this.worldObj.rand, k, l);
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(p_73153_1_, worldObj, worldObj.rand, p_73153_2_, p_73153_3_, false));
BlockFalling.fallInstantly = false;
}
项目:It-s-About-Time-Minecraft-Mod
文件:ChunkProviderCretaceous.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(p_73153_1_, worldObj, worldObj.rand, p_73153_2_, p_73153_3_, false));
int k = p_73153_2_ * 16;
int l = p_73153_3_ * 16;
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16);
biomegenbase.decorate(this.worldObj, this.worldObj.rand, k, l);
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(p_73153_1_, worldObj, worldObj.rand, p_73153_2_, p_73153_3_, false));
BlockFalling.fallInstantly = false;
}
项目:Hard-Science
文件:LavaBlock.java
private void handleFallingBlocks(World worldIn, BlockPos pos, IBlockState state)
{
if(worldIn.isRemote) return;
final BlockPos upPos = pos.up();
final IBlockState upState = worldIn.getBlockState(upPos);
final Block upBlock = upState.getBlock();
if(upBlock instanceof BlockFalling)
{
worldIn.setBlockToAir(upPos);
}
else if(upBlock == Blocks.FLOWING_WATER || upBlock == Blocks.FLOWING_LAVA)
{
if(upBlock instanceof BlockDynamicLiquid)
{
int level = upState.getValue(BlockLiquid.LEVEL);
if( level < 8)
{
worldIn.setBlockToAir(upPos);
}
}
}
}
项目:TFC2
文件:BlockGravity.java
protected void fall(World worldIn, BlockPos pos, IBlockState state)
{
int i = 32;
if ((!BlockFalling.fallInstantly) && (worldIn.isAreaLoaded(pos.add(-i, -i, -i), pos.add(i, i, i))))
{
if (!worldIn.isRemote)
{
EntityFallingBlockTFC entityfallingblock = new EntityFallingBlockTFC(worldIn, pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D, state);
onStartFalling(entityfallingblock);
worldIn.spawnEntity(entityfallingblock);
}
}
else
{
((World)worldIn).setBlockToAir(pos);
BlockPos blockpos;
for (blockpos = pos.down(); (canFallInto(worldIn, blockpos)) && (blockpos.getY() > 0); blockpos = blockpos.down()) {}
if (blockpos.getY() > 0)
{
worldIn.setBlockState(blockpos.up(), getDefaultState());
}
}
}
项目:4Space-1.7
文件:ChunkProviderVenus.java
@Override
public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) {
BlockFalling.fallInstantly = true;
int var4 = par2 * 16;
int var5 = par3 * 16;
this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16);
this.rand.setSeed(this.worldObj.getSeed());
long var7 = this.rand.nextLong() / 2L * 2L + 1L;
long var9 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed());
this.decoratePlanet(this.worldObj, this.rand, var4, var5);
if (!ConfigManagerCore.idRealisticEnabled) {
this.blazeNest.generateStructuresInChunk(this.worldObj, new Random(), par2, par3);
}
BlockFalling.fallInstantly = false;
if (!ConfigManagerCore.idRealisticEnabled) {
this.villageGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3);
}
}
项目:ExpandedRailsMod
文件:ParticleFallingDust.java
public Particle getEntityFX(int particleID, World worldIn, double xCoordIn, double yCoordIn, double zCoordIn, double xSpeedIn, double ySpeedIn, double zSpeedIn, int... p_178902_15_)
{
IBlockState iblockstate = Block.getStateById(p_178902_15_[0]);
if (iblockstate.getBlock() != Blocks.AIR && iblockstate.getRenderType() == EnumBlockRenderType.INVISIBLE)
{
return null;
}
else
{
int i = Minecraft.getMinecraft().getBlockColors().func_189991_a(iblockstate);
if (iblockstate.getBlock() instanceof BlockFalling)
{
i = ((BlockFalling)iblockstate.getBlock()).func_189876_x(iblockstate);
}
float f = (float)(i >> 16 & 255) / 255.0F;
float f1 = (float)(i >> 8 & 255) / 255.0F;
float f2 = (float)(i & 255) / 255.0F;
return new ParticleFallingDust(worldIn, xCoordIn, yCoordIn, zCoordIn, f, f1, f2);
}
}
项目:TheStuffMod
文件:ChunkProviderUsther.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
int k = p_73153_2_ * 16;
int l = p_73153_3_ * 16;
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16);
this.rand.setSeed(this.worldObj.getSeed());
long i1 = this.rand.nextLong() / 2L * 2L + 1L;
long j1 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed((long)p_73153_2_ * i1 + (long)p_73153_3_ * j1 ^ this.worldObj.getSeed());
boolean flag = false;
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(p_73153_1_, worldObj, rand, p_73153_2_, p_73153_3_, flag));
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(p_73153_1_, worldObj, rand, p_73153_2_, p_73153_3_, flag));
BlockFalling.fallInstantly = false;
}
项目:PerFabricaAdAstra
文件:SpringBlock.java
private void assertSpring(World world, int x, int y, int z, Random random) {
int meta = world.getBlockMetadata(x, y, z);
Spring spring = this.getSpring(meta);
world.scheduleBlockUpdate(x, y, z, this, spring.getTickRate());
if (spring.getChance() != -1 && random.nextInt(spring.getChance()) != 0) {
return;
}
Block fluid = spring.getFluidBlock();
int nextY;
for (nextY = y + 1; nextY < world.getActualHeight() && world.getBlock(x, nextY, z) == fluid; nextY++) { }
int curY = nextY - 1;
Block block = world.getBlock(x, nextY, z);
boolean seepable = nextY < world.getActualHeight() &&
(block.getMaterial() == Material.air || block instanceof BlockFalling);
boolean canSpring = seepable &&
(y == curY ||
(world.getBlock(x+1, curY, z).getMaterial().isSolid() &&
world.getBlock(x-1, curY, z).getMaterial().isSolid() &&
world.getBlock(x, curY, z+1).getMaterial().isSolid() &&
world.getBlock(x, curY, z-1).getMaterial().isSolid()));
if (canSpring) {
world.setBlock(x, nextY, z, fluid);
}
}
项目:CodeLyokoMod
文件:IceSectorChunkProvider.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(p_73153_1_, world, world.rand, p_73153_2_, p_73153_3_, false));
int k = p_73153_2_ * 16;
int l = p_73153_3_ * 16;
BiomeGenBase biomegenbase = this.world.getBiomeGenForCoords(k + 16, l + 16);
biomegenbase.decorate(this.world, this.world.rand, k, l);
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(p_73153_1_, world, world.rand, p_73153_2_, p_73153_3_, false));
BlockFalling.fallInstantly = false;
}
项目:AgeCraft-Old
文件:BlockAnvil.java
@Override
public void fall(World world, int x, int y, int z) {
if(canFall(world, x, y - 1, z) && y >= 0) {
byte radius = 32;
if(!BlockFalling.fallInstantly && world.checkChunksExist(x - radius, y - radius, z - radius, x + radius, y + radius, z + radius)) {
if(!world.isRemote) {
EntityFallingBlock entity = new EntityFallingBlock(world, (double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), this, world.getBlockMetadata(x, y, z));
addFallData(world, x, y, z, entity);
world.spawnEntityInWorld(entity);
}
} else {
world.setBlockToAir(x, y, z);
while(canFall(world, x, y - 1, z) && y > 0) {
y--;
}
if(y > 0) {
world.setBlock(x, y, z, this);
}
}
}
}
项目:AgeCraft-Old
文件:BlockSand.java
@Override
public void fall(World world, int x, int y, int z) {
if(canFall(world, x, y - 1, z) && y >= 0) {
byte radius = 32;
if(!BlockFalling.fallInstantly && world.checkChunksExist(x - radius, y - radius, z - radius, x + radius, y + radius, z + radius)) {
if(!world.isRemote) {
EntityFallingBlock entity = new EntityFallingBlock(world, (double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), this, world.getBlockMetadata(x, y, z));
addFallData(world, x, y, z, entity);
world.spawnEntityInWorld(entity);
}
} else {
world.setBlockToAir(x, y, z);
while(canFall(world, x, y - 1, z) && y > 0) {
y--;
}
if(y > 0) {
world.setBlock(x, y, z, this);
}
}
}
}
项目:DecompiledMinecraft
文件:ChunkProviderEnd.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
BlockPos blockpos = new BlockPos(p_73153_2_ * 16, 0, p_73153_3_ * 16);
this.endWorld.getBiomeGenForCoords(blockpos.add(16, 0, 16)).decorate(this.endWorld, this.endWorld.rand, blockpos);
BlockFalling.fallInstantly = false;
}
项目:DecompiledMinecraft
文件:ChunkProviderEnd.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
BlockPos blockpos = new BlockPos(p_73153_2_ * 16, 0, p_73153_3_ * 16);
this.endWorld.getBiomeGenForCoords(blockpos.add(16, 0, 16)).decorate(this.endWorld, this.endWorld.rand, blockpos);
BlockFalling.fallInstantly = false;
}
项目:BaseClient
文件:ChunkProviderEnd.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
BlockPos blockpos = new BlockPos(p_73153_2_ * 16, 0, p_73153_3_ * 16);
this.endWorld.getBiomeGenForCoords(blockpos.add(16, 0, 16)).decorate(this.endWorld, this.endWorld.rand, blockpos);
BlockFalling.fallInstantly = false;
}
项目:BaseClient
文件:ChunkProviderEnd.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
BlockPos blockpos = new BlockPos(p_73153_2_ * 16, 0, p_73153_3_ * 16);
this.endWorld.getBiomeGenForCoords(blockpos.add(16, 0, 16)).decorate(this.endWorld, this.endWorld.rand, blockpos);
BlockFalling.fallInstantly = false;
}
项目:Mods
文件:EntityFallingEnchantedBlock.java
public boolean canBuildAt(BlockPos blockpos) {
return !BlockFalling.canFallThrough(this.world.getBlockState(blockpos.offset(EnumFacing.EAST)))
|| !BlockFalling.canFallThrough(this.world.getBlockState(blockpos.offset(EnumFacing.WEST)))
|| !BlockFalling.canFallThrough(this.world.getBlockState(blockpos.offset(EnumFacing.UP)))
|| !BlockFalling.canFallThrough(this.world.getBlockState(blockpos.offset(EnumFacing.DOWN)))
|| !BlockFalling.canFallThrough(this.world.getBlockState(blockpos.offset(EnumFacing.SOUTH)))
|| !BlockFalling.canFallThrough(this.world.getBlockState(blockpos.offset(EnumFacing.NORTH)));
}
项目:4Space-5
文件:SchematicBlock.java
@Override
public BuildingStage getBuildStage () {
if (block instanceof BlockFalling) {
return BuildingStage.SUPPORTED;
} else if (block instanceof BlockFluidBase || block instanceof BlockLiquid) {
return BuildingStage.EXPANDING;
} else if (block.isOpaqueCube()) {
return BuildingStage.STANDALONE;
} else {
return BuildingStage.SUPPORTED;
}
}
项目:MidgarCrusade
文件:ChunkGeneratorSky.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_)
{
BlockFalling.fallInstantly = true;
int k = p_73153_2_ * 16;
int l = p_73153_3_ * 16;
BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16);
this.rand.setSeed(this.worldObj.getSeed());
long i1 = this.rand.nextLong() / 2L * 2L + 1L;
long j1 = this.rand.nextLong() / 2L * 2L + 1L;
this.rand.setSeed((long)p_73153_2_ * i1 + (long)p_73153_3_ * j1 ^ this.worldObj.getSeed());
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(p_73153_1_, worldObj, rand, p_73153_2_, p_73153_3_, false));
int k1;
int l1;
int i2;
if (this.rand.nextInt(4) == 0)
{
k1 = k + this.rand.nextInt(16) + 8;
l1 = this.rand.nextInt(256);
i2 = l + this.rand.nextInt(16) + 8;
(new WorldGenLakes(Blocks.water)).generate(this.worldObj, this.rand, k1, l1, i2);
}
if (biomegenbase.theBiomeDecorator.currentWorld == null)
biomegenbase.decorate(this.worldObj, this.rand, k, l);
if (TerrainGen.populate(p_73153_1_, worldObj, rand, p_73153_2_, p_73153_3_, false, ANIMALS))
{
SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand);
}
k += 8;
l += 8;
MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(p_73153_1_, worldObj, rand, p_73153_2_, p_73153_3_, false));
BlockFalling.fallInstantly = false;
}
项目:Rival-Rebels-Mod
文件:EntityDebris.java
public void die(double X, double Y, double Z)
{
int x = MathHelper.floor_double(X);
int y = MathHelper.floor_double(Y);
int z = MathHelper.floor_double(Z);
setDead();
worldObj.setBlock(x, y, z, block, metadata, 3);
if (block instanceof BlockFalling) ((BlockFalling) block).func_149828_a(worldObj, x, y, z, metadata);
if (tileEntityData != null && block instanceof ITileEntityProvider)
{
TileEntity tileentity = worldObj.getTileEntity(x, y, z);
if (tileentity != null)
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
tileentity.writeToNBT(nbttagcompound);
Iterator iter = tileEntityData.func_150296_c().iterator();
while (iter.hasNext())
{
String s = (String) iter.next();
NBTBase nbtbase = tileEntityData.getTag(s);
if (!s.equals("x") && !s.equals("y") && !s.equals("z"))
{
nbttagcompound.setTag(s, nbtbase.copy());
}
}
tileentity.readFromNBT(nbttagcompound);
tileentity.markDirty();
}
}
}
项目:geomastery
文件:BlockRubble.java
/** Makes the block fall if needed. */
private void tryFall(World world, BlockPos pos) {
if (world.isRemote) {
return;
}
if (canFallThrough(world, pos.down())) {
if (!BlockFalling.fallInstantly && world
.isAreaLoaded(pos.add(-32,-32,-32), pos.add(32,32,32))) {
EntityFallingBlock fall = new EntityFallingBlock(world,
pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D,
world.getBlockState(pos));
world.spawnEntity(fall);
} else {
IBlockState current = world.getBlockState(pos);
world.setBlockToAir(pos);
BlockPos check;
for (check = pos.down(); canFallThrough(world, check) &&
check.getY() > 0; check = check.down()) {
;
}
if (check.getY() > 0) {
world.setBlockState(check.up(), current);
}
}
}
}
项目:Factorization
文件:ColossalBuilder.java
void biomeifyBlocks(Coord col, ChunkPrimer primer, BiomeGenBase biome, double stoneNoise, int min, int max) {
if (col == null) return;
biome.genTerrainBlocks(col.w, rand, primer, 0, 0, stoneNoise);
Coord at = col.copy();
boolean onSolid = false;
for (int y = min; y <= max; y++) {
IBlockState bs = primer.getBlockState(0, y, 0);
Block id = bs.getBlock();
if (id == Blocks.bedrock) continue;
if (id == Blocks.air) {
onSolid = false;
continue;
}
if (!onSolid && id instanceof BlockFalling) {
if (id == Blocks.sand) {
boolean isRed = bs.getValue(BlockSand.VARIANT) == BlockSand.EnumType.RED_SAND;
if (isRed) {
bs = Blocks.red_sandstone.getDefaultState();
} else {
bs = Blocks.sandstone.getDefaultState();
}
} else {
bs = Blocks.stone.getDefaultState();
}
}
at.y = y;
if (id == Blocks.grass) {
at.y++;
if (at.isSolid()) bs = Blocks.dirt.getDefaultState();
at.y--;
}
at.set(bs, true); // Notify only if triggered by command?
onSolid = true;
}
}
项目:TaleCraft
文件:EntityMovingBlock.java
private void vanillaUpdateMod(){
if (getBlock().getMaterial() == Material.AIR){
this.setDead();
}
else{
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
if (!this.hasNoGravity())
{
this.motionY -= 0.03999999910593033D;
}
if(onGround || no_gravity)this.motionY = 0;
this.move(MoverType.SELF, this.motionX, this.motionY, this.motionZ);
this.motionX *= 0.9800000190734863D;
this.motionY *= 0.9800000190734863D;
this.motionZ *= 0.9800000190734863D;
if (!this.getEntityWorld().isRemote){
if (this.onGround){
if (this.getEntityWorld().isAirBlock(new BlockPos(this.posX, this.posY - 0.009999999776482582D, this.posZ))) //Forge: Don't indent below.
if (BlockFalling.canFallThrough(this.getEntityWorld().getBlockState(new BlockPos(this.posX, this.posY - 0.009999999776482582D, this.posZ))) && !no_gravity){
this.onGround = false;
return;
}
this.motionX *= 0.699999988079071D;
this.motionZ *= 0.699999988079071D;
this.motionY *= -0.5D;
}
}
}
}
项目:AquaMunda
文件:BlockFreshWater.java
private void handleFalling(World world, BlockPos pos) {
if (canFallInto(world, pos.down()) && pos.getY() >= 0) {
byte b0 = 32;
if (!BlockFalling.fallInstantly && world.isAreaLoaded(pos, b0)) {
if (!world.isRemote) {
IBlockState state = world.getBlockState(pos);
EntityFallingFreshWaterBlock entityfallingblock = new EntityFallingFreshWaterBlock(world, (pos.getX() + 0.5F), (pos.getY() + 0.5F), (pos.getZ() + 0.5F), state);
WorldTools.spawnEntity(world, entityfallingblock);
}
} else {
world.setBlockToAir(pos);
int x = pos.getX();
int y = pos.getY();
int z = pos.getZ();
while (canFallInto(world, new BlockPos(x, y-1, z)) && y > 0) {
--y;
}
if (y > 0) {
world.setBlockState(new BlockPos(x, y, z), getDefaultState());
world.scheduleUpdate(new BlockPos(x, y, z), this, this.tickRate(world));
}
}
}
}
项目:MoreDimensions
文件:VoidDimension.java
/**
* Populates chunk with ores etc etc
*/
public void populate(IChunkProvider par1IChunkProvider, int par2, int par3)
{
BlockFalling.fallInstantly = true;
MinecraftForge.EVENT_BUS
.post(new PopulateChunkEvent.Pre(par1IChunkProvider, endWorld, endWorld.rand, par2, par3, false));
MinecraftForge.EVENT_BUS
.post(new PopulateChunkEvent.Post(par1IChunkProvider, endWorld, endWorld.rand, par2, par3, false));
BlockFalling.fallInstantly = false;
}
项目:Connected
文件:SchematicBlock.java
@Override
public BuildingStage getBuildStage () {
if (block instanceof BlockFalling) {
return BuildingStage.SUPPORTED;
} else if (block instanceof BlockFluidBase || block instanceof BlockLiquid) {
return BuildingStage.EXPANDING;
} else if (block.isOpaqueCube()) {
return BuildingStage.STANDALONE;
} else {
return BuildingStage.SUPPORTED;
}
}