001 package net.minecraft.src; 002 003 import java.util.Random; 004 005 public class WorldGenHellLava extends WorldGenerator 006 { 007 /** Stores the ID for WorldGenHellLava */ 008 private int hellLavaID; 009 010 public WorldGenHellLava(int par1) 011 { 012 this.hellLavaID = par1; 013 } 014 015 public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) 016 { 017 if (par1World.getBlockId(par3, par4 + 1, par5) != Block.netherrack.blockID) 018 { 019 return false; 020 } 021 else if (par1World.getBlockId(par3, par4, par5) != 0 && par1World.getBlockId(par3, par4, par5) != Block.netherrack.blockID) 022 { 023 return false; 024 } 025 else 026 { 027 int var6 = 0; 028 029 if (par1World.getBlockId(par3 - 1, par4, par5) == Block.netherrack.blockID) 030 { 031 ++var6; 032 } 033 034 if (par1World.getBlockId(par3 + 1, par4, par5) == Block.netherrack.blockID) 035 { 036 ++var6; 037 } 038 039 if (par1World.getBlockId(par3, par4, par5 - 1) == Block.netherrack.blockID) 040 { 041 ++var6; 042 } 043 044 if (par1World.getBlockId(par3, par4, par5 + 1) == Block.netherrack.blockID) 045 { 046 ++var6; 047 } 048 049 if (par1World.getBlockId(par3, par4 - 1, par5) == Block.netherrack.blockID) 050 { 051 ++var6; 052 } 053 054 int var7 = 0; 055 056 if (par1World.isAirBlock(par3 - 1, par4, par5)) 057 { 058 ++var7; 059 } 060 061 if (par1World.isAirBlock(par3 + 1, par4, par5)) 062 { 063 ++var7; 064 } 065 066 if (par1World.isAirBlock(par3, par4, par5 - 1)) 067 { 068 ++var7; 069 } 070 071 if (par1World.isAirBlock(par3, par4, par5 + 1)) 072 { 073 ++var7; 074 } 075 076 if (par1World.isAirBlock(par3, par4 - 1, par5)) 077 { 078 ++var7; 079 } 080 081 if (var6 == 4 && var7 == 1) 082 { 083 par1World.setBlockWithNotify(par3, par4, par5, this.hellLavaID); 084 par1World.scheduledUpdatesAreImmediate = true; 085 Block.blocksList[this.hellLavaID].updateTick(par1World, par3, par4, par5, par2Random); 086 par1World.scheduledUpdatesAreImmediate = false; 087 } 088 089 return true; 090 } 091 } 092 }