public static void LoadBlockType(Block block) { BlockDataAttribute attrib = block.GetType().GetCustomAttributes(typeof(BlockDataAttribute), true).Cast<BlockDataAttribute>().FirstOrDefault(); if (attrib == null) { // Skip blocks with invalid attributes Debug.LogError(block.GetType().Name + " must have a data attribute assigned to load properly."); return; } try { Game.BlockRegistry.RegisterBlock(block, attrib); } catch (InvalidOperationException e) { Debug.LogError(block.GetType().Name + " already loaded, so skipping . . ."); return; } }