Beispiel #1
0
 public override void OnBlockGenerated(int value, int x, int y, int z, bool isLoaded)
 {
     value = BlastBlowerBlock.Index;
     if (ComponentEngine.IsPowered(Utils.Terrain, x, y, z) &&
         (Check(x + 1, y, z) ||
          Check(x - 1, y, z) ||
          Check(x, y + 1, z) ||
          Check(x, y - 1, z) ||
          Check(x, y, z + 1) ||
          Check(x, y, z - 1)))
     {
         value |= FurnaceNBlock.SetHeatLevel(Terrain.ExtractData(Utils.Terrain.GetCellValue(x, y, z)), 1) << 14;
     }
     Utils.SubsystemTerrain.ChangeCell(x, y, z, value);
 }
Beispiel #2
0
        public static bool Check(int x, int y, int z)
        {
            int value = Utils.Terrain.GetCellValue(x, y, z);

            return(FurnaceNBlock.GetHeatLevel(value) != 0 && Terrain.ExtractContents(value) == FireBoxBlock.Index);
        }