Class GlImportProcessor

java.lang.Object
net.minecraft.client.gl.GlImportProcessor

@Environment(CLIENT) public abstract class GlImportProcessor extends Object
Handles the flattening of "moj_" import strings in the loaded GLSL shader file. Instances of an import are replaced by the contents of the referenced file prefixed by a comment describing the line position and original file location of the import.
Mappings:
Namespace Name
official ehq
intermediary net/minecraft/class_5913
named net/minecraft/client/gl/GlImportProcessor
  • Field Details

    • MULTI_LINE_COMMENT_PATTERN

      private static final String MULTI_LINE_COMMENT_PATTERN
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lehq;a:Ljava/lang/String;
      intermediary field_32036 Lnet/minecraft/class_5913;field_32036:Ljava/lang/String;
      named MULTI_LINE_COMMENT_PATTERN Lnet/minecraft/client/gl/GlImportProcessor;MULTI_LINE_COMMENT_PATTERN:Ljava/lang/String;
    • SINGLE_LINE_COMMENT_PATTERN

      private static final String SINGLE_LINE_COMMENT_PATTERN
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lehq;b:Ljava/lang/String;
      intermediary field_33620 Lnet/minecraft/class_5913;field_33620:Ljava/lang/String;
      named SINGLE_LINE_COMMENT_PATTERN Lnet/minecraft/client/gl/GlImportProcessor;SINGLE_LINE_COMMENT_PATTERN:Ljava/lang/String;
    • MOJ_IMPORT_PATTERN

      private static final Pattern MOJ_IMPORT_PATTERN
      Mappings:
      Namespace Name Mixin selector
      official c Lehq;c:Ljava/util/regex/Pattern;
      intermediary field_29200 Lnet/minecraft/class_5913;field_29200:Ljava/util/regex/Pattern;
      named MOJ_IMPORT_PATTERN Lnet/minecraft/client/gl/GlImportProcessor;MOJ_IMPORT_PATTERN:Ljava/util/regex/Pattern;
    • IMPORT_VERSION_PATTERN

      private static final Pattern IMPORT_VERSION_PATTERN
      Mappings:
      Namespace Name Mixin selector
      official d Lehq;d:Ljava/util/regex/Pattern;
      intermediary field_29201 Lnet/minecraft/class_5913;field_29201:Ljava/util/regex/Pattern;
      named IMPORT_VERSION_PATTERN Lnet/minecraft/client/gl/GlImportProcessor;IMPORT_VERSION_PATTERN:Ljava/util/regex/Pattern;
    • TRAILING_WHITESPACE_PATTERN

      private static final Pattern TRAILING_WHITESPACE_PATTERN
      Mappings:
      Namespace Name Mixin selector
      official e Lehq;e:Ljava/util/regex/Pattern;
      intermediary field_33621 Lnet/minecraft/class_5913;field_33621:Ljava/util/regex/Pattern;
      named TRAILING_WHITESPACE_PATTERN Lnet/minecraft/client/gl/GlImportProcessor;TRAILING_WHITESPACE_PATTERN:Ljava/util/regex/Pattern;
  • Constructor Details

    • GlImportProcessor

      public GlImportProcessor()
  • Method Details

    • readSource

      public List<String> readSource(String source)
      Reads the source code supplied into a list of lines suitable for uploading to the GL Shader cache.

      Imports are processed as per the description of this class.

      Mappings:
      Namespace Name Mixin selector
      official a Lehq;a(Ljava/lang/String;)Ljava/util/List;
      intermediary method_34229 Lnet/minecraft/class_5913;method_34229(Ljava/lang/String;)Ljava/util/List;
      named readSource Lnet/minecraft/client/gl/GlImportProcessor;readSource(Ljava/lang/String;)Ljava/util/List;
    • parseImports

      private List<String> parseImports(String source, GlImportProcessor.Context context, String path)
      Mappings:
      Namespace Name Mixin selector
      official a Lehq;a(Ljava/lang/String;Lehq$a;Ljava/lang/String;)Ljava/util/List;
      intermediary method_34232 Lnet/minecraft/class_5913;method_34232(Ljava/lang/String;Lnet/minecraft/class_5913$class_5914;Ljava/lang/String;)Ljava/util/List;
      named parseImports Lnet/minecraft/client/gl/GlImportProcessor;parseImports(Ljava/lang/String;Lnet/minecraft/client/gl/GlImportProcessor$Context;Ljava/lang/String;)Ljava/util/List;
    • extractVersion

      private String extractVersion(String line, GlImportProcessor.Context context)
      Converts a line known to contain an import into a fully-qualified version of itself for insertion as a comment.
      Mappings:
      Namespace Name Mixin selector
      official a Lehq;a(Ljava/lang/String;Lehq$a;)Ljava/lang/String;
      intermediary method_34231 Lnet/minecraft/class_5913;method_34231(Ljava/lang/String;Lnet/minecraft/class_5913$class_5914;)Ljava/lang/String;
      named extractVersion Lnet/minecraft/client/gl/GlImportProcessor;extractVersion(Ljava/lang/String;Lnet/minecraft/client/gl/GlImportProcessor$Context;)Ljava/lang/String;
    • readImport

      private String readImport(String line, int start)
      Mappings:
      Namespace Name Mixin selector
      official a Lehq;a(Ljava/lang/String;I)Ljava/lang/String;
      intermediary method_34230 Lnet/minecraft/class_5913;method_34230(Ljava/lang/String;I)Ljava/lang/String;
      named readImport Lnet/minecraft/client/gl/GlImportProcessor;readImport(Ljava/lang/String;I)Ljava/lang/String;
    • isLineValid

      private static boolean isLineValid(String line, Matcher matcher)
      Mappings:
      Namespace Name Mixin selector
      official a Lehq;a(Ljava/lang/String;Ljava/util/regex/Matcher;)Z
      intermediary method_36423 Lnet/minecraft/class_5913;method_36423(Ljava/lang/String;Ljava/util/regex/Matcher;)Z
      named isLineValid Lnet/minecraft/client/gl/GlImportProcessor;isLineValid(Ljava/lang/String;Ljava/util/regex/Matcher;)Z
    • hasBogusString

      private static boolean hasBogusString(String string, Matcher matcher, int matchEnd)
      Mappings:
      Namespace Name Mixin selector
      official a Lehq;a(Ljava/lang/String;Ljava/util/regex/Matcher;I)Z
      intermediary method_36424 Lnet/minecraft/class_5913;method_36424(Ljava/lang/String;Ljava/util/regex/Matcher;I)Z
      named hasBogusString Lnet/minecraft/client/gl/GlImportProcessor;hasBogusString(Ljava/lang/String;Ljava/util/regex/Matcher;I)Z
    • loadImport

      @Nullable public abstract @Nullable String loadImport(boolean inline, String name)
      Called to load an import reference's source code.
      Mappings:
      Namespace Name Mixin selector
      official a Lehq;a(ZLjava/lang/String;)Ljava/lang/String;
      intermediary method_34233 Lnet/minecraft/class_5913;method_34233(ZLjava/lang/String;)Ljava/lang/String;
      named loadImport Lnet/minecraft/client/gl/GlImportProcessor;loadImport(ZLjava/lang/String;)Ljava/lang/String;