static IEnumerable <CodeInstruction> Transpiler(IEnumerable <CodeInstruction> instructions, ILGenerator generator) { var codeMatcherCursor = new CodeMatcher(instructions); PatchClearFromConstructionObstacles(codeMatcherCursor, generator); if (codeMatcherCursor.IsInvalid) { codeMatcherCursor.ReportFailure(AccessTools.Method(typeof(Builder), nameof(Builder.UpdateAllowed)), Logger.Warning); return(instructions); } PatchHighlightInRedConstructionObstacles(codeMatcherCursor, generator); if (codeMatcherCursor.IsInvalid) { codeMatcherCursor.ReportFailure(AccessTools.Method(typeof(Builder), nameof(Builder.UpdateAllowed)), Logger.Warning); return(instructions); } return(codeMatcherCursor.InstructionEnumeration()); }