/// <summary> /// Update which block ID the furnace is using depending on whether or not it is burning /// </summary> public static void UpdateFurnaceBlockState(bool par0, World par1World, int par2, int par3, int par4) { int i = par1World.GetBlockMetadata(par2, par3, par4); TileEntity tileentity = par1World.GetBlockTileEntity(par2, par3, par4); KeepFurnaceInventory = true; if (par0) { par1World.SetBlockWithNotify(par2, par3, par4, Block.StoneOvenActive.BlockID); } else { par1World.SetBlockWithNotify(par2, par3, par4, Block.StoneOvenIdle.BlockID); } KeepFurnaceInventory = false; par1World.SetBlockMetadataWithNotify(par2, par3, par4, i); if (tileentity != null) { tileentity.Validate(); par1World.SetBlockTileEntity(par2, par3, par4, tileentity); } }
/// <summary> /// Sets the TileEntity for a given block in this chunk /// </summary> public virtual void SetChunkBlockTileEntity(int par1, int par2, int par3, TileEntity par4TileEntity) { ChunkPosition chunkposition = new ChunkPosition(par1, par2, par3); par4TileEntity.WorldObj = WorldObj; par4TileEntity.XCoord = XPosition * 16 + par1; par4TileEntity.YCoord = par2; par4TileEntity.ZCoord = ZPosition * 16 + par3; if (GetBlockID(par1, par2, par3) == 0 || !(Block.BlocksList[GetBlockID(par1, par2, par3)] is BlockContainer)) { return; } else { par4TileEntity.Validate(); ChunkTileEntityMap[chunkposition] = par4TileEntity; return; } }