Interface NbtScanner

All Known Subinterfaces:
SimpleNbtScanner
All Known Implementing Classes:
NbtCollector, SelectiveNbtCollector

public interface NbtScanner
An NBT scanner may reduce unnecessary data parsing to allow finding desired information in an NBT structure as fast as possible.

Call format: start -> VisitBody
VisitBody:
{ visitNull | visitString | visitByte | visitShort | visitInt
| visitLong | visitFloat | visitDouble | visitByteArray
| visitIntArray | visitLongArray
| visitListMeta -> [startListItem -> VisitBody]* -> endNested
| [visitSubNbtType -> startSubNbt -> VisitBody]* -> endNested
}

The visit order is depth-first.

Mappings:
Namespace Name
official os
intermediary net/minecraft/class_6836
named net/minecraft/nbt/scanner/NbtScanner
  • Method Details

    • visitNull

      NbtScanner.Result visitNull()
      Mappings:
      Namespace Name Mixin selector
      official a Los;a()Los$b;
      intermediary method_39856 Lnet/minecraft/class_6836;method_39856()Lnet/minecraft/class_6836$class_6838;
      named visitNull Lnet/minecraft/nbt/scanner/NbtScanner;visitNull()Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitString

      NbtScanner.Result visitString(String value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(Ljava/lang/String;)Los$b;
      intermediary method_39862 Lnet/minecraft/class_6836;method_39862(Ljava/lang/String;)Lnet/minecraft/class_6836$class_6838;
      named visitString Lnet/minecraft/nbt/scanner/NbtScanner;visitString(Ljava/lang/String;)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitByte

      NbtScanner.Result visitByte(byte value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(B)Los$b;
      intermediary method_39857 Lnet/minecraft/class_6836;method_39857(B)Lnet/minecraft/class_6836$class_6838;
      named visitByte Lnet/minecraft/nbt/scanner/NbtScanner;visitByte(B)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitShort

      NbtScanner.Result visitShort(short value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(S)Los$b;
      intermediary method_39866 Lnet/minecraft/class_6836;method_39866(S)Lnet/minecraft/class_6836$class_6838;
      named visitShort Lnet/minecraft/nbt/scanner/NbtScanner;visitShort(S)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitInt

      NbtScanner.Result visitInt(int value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(I)Los$b;
      intermediary method_39860 Lnet/minecraft/class_6836;method_39860(I)Lnet/minecraft/class_6836$class_6838;
      named visitInt Lnet/minecraft/nbt/scanner/NbtScanner;visitInt(I)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitLong

      NbtScanner.Result visitLong(long value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(J)Los$b;
      intermediary method_39861 Lnet/minecraft/class_6836;method_39861(J)Lnet/minecraft/class_6836$class_6838;
      named visitLong Lnet/minecraft/nbt/scanner/NbtScanner;visitLong(J)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitFloat

      NbtScanner.Result visitFloat(float value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(F)Los$b;
      intermediary method_39859 Lnet/minecraft/class_6836;method_39859(F)Lnet/minecraft/class_6836$class_6838;
      named visitFloat Lnet/minecraft/nbt/scanner/NbtScanner;visitFloat(F)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitDouble

      NbtScanner.Result visitDouble(double value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(D)Los$b;
      intermediary method_39858 Lnet/minecraft/class_6836;method_39858(D)Lnet/minecraft/class_6836$class_6838;
      named visitDouble Lnet/minecraft/nbt/scanner/NbtScanner;visitDouble(D)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitByteArray

      NbtScanner.Result visitByteArray(byte[] value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a([B)Los$b;
      intermediary method_39867 Lnet/minecraft/class_6836;method_39867([B)Lnet/minecraft/class_6836$class_6838;
      named visitByteArray Lnet/minecraft/nbt/scanner/NbtScanner;visitByteArray([B)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitIntArray

      NbtScanner.Result visitIntArray(int[] value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a([I)Los$b;
      intermediary method_39868 Lnet/minecraft/class_6836;method_39868([I)Lnet/minecraft/class_6836$class_6838;
      named visitIntArray Lnet/minecraft/nbt/scanner/NbtScanner;visitIntArray([I)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitLongArray

      NbtScanner.Result visitLongArray(long[] value)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a([J)Los$b;
      intermediary method_39869 Lnet/minecraft/class_6836;method_39869([J)Lnet/minecraft/class_6836$class_6838;
      named visitLongArray Lnet/minecraft/nbt/scanner/NbtScanner;visitLongArray([J)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitListMeta

      NbtScanner.Result visitListMeta(NbtType<?> entryType, int length)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(Lox;I)Los$b;
      intermediary method_39864 Lnet/minecraft/class_6836;method_39864(Lnet/minecraft/class_4614;I)Lnet/minecraft/class_6836$class_6838;
      named visitListMeta Lnet/minecraft/nbt/scanner/NbtScanner;visitListMeta(Lnet/minecraft/nbt/NbtType;I)Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • visitSubNbtType

      NbtScanner.NestedResult visitSubNbtType(NbtType<?> type)
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(Lox;)Los$a;
      intermediary method_39863 Lnet/minecraft/class_6836;method_39863(Lnet/minecraft/class_4614;)Lnet/minecraft/class_6836$class_6837;
      named visitSubNbtType Lnet/minecraft/nbt/scanner/NbtScanner;visitSubNbtType(Lnet/minecraft/nbt/NbtType;)Lnet/minecraft/nbt/scanner/NbtScanner$NestedResult;
    • startSubNbt

      NbtScanner.NestedResult startSubNbt(NbtType<?> type, String key)
      Starts a visit to an NBT structure in the sub NBT of a compound NBT.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Los;a(Lox;Ljava/lang/String;)Los$a;
      intermediary method_39865 Lnet/minecraft/class_6836;method_39865(Lnet/minecraft/class_4614;Ljava/lang/String;)Lnet/minecraft/class_6836$class_6837;
      named startSubNbt Lnet/minecraft/nbt/scanner/NbtScanner;startSubNbt(Lnet/minecraft/nbt/NbtType;Ljava/lang/String;)Lnet/minecraft/nbt/scanner/NbtScanner$NestedResult;
    • startListItem

      NbtScanner.NestedResult startListItem(NbtType<?> type, int index)
      Starts a visit to an NBT structure in an element of a list NBT.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Los;b(Lox;I)Los$a;
      intermediary method_39872 Lnet/minecraft/class_6836;method_39872(Lnet/minecraft/class_4614;I)Lnet/minecraft/class_6836$class_6837;
      named startListItem Lnet/minecraft/nbt/scanner/NbtScanner;startListItem(Lnet/minecraft/nbt/NbtType;I)Lnet/minecraft/nbt/scanner/NbtScanner$NestedResult;
    • endNested

      NbtScanner.Result endNested()
      Ends a nested visit.

      This is guaranteed to be called once for each call to start(net.minecraft.nbt.NbtType<?>), visitSubNbtType(net.minecraft.nbt.NbtType<?>), and startListItem(net.minecraft.nbt.NbtType<?>, int) where the list or the compound NBT type is passed, unless the visit is halted.

      Mappings:
      Namespace Name Mixin selector
      official b Los;b()Los$b;
      intermediary method_39870 Lnet/minecraft/class_6836;method_39870()Lnet/minecraft/class_6836$class_6838;
      named endNested Lnet/minecraft/nbt/scanner/NbtScanner;endNested()Lnet/minecraft/nbt/scanner/NbtScanner$Result;
    • start

      NbtScanner.Result start(NbtType<?> rootType)
      Starts a visit to an NBT structure.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Los;b(Lox;)Los$b;
      intermediary method_39871 Lnet/minecraft/class_6836;method_39871(Lnet/minecraft/class_4614;)Lnet/minecraft/class_6836$class_6838;
      named start Lnet/minecraft/nbt/scanner/NbtScanner;start(Lnet/minecraft/nbt/NbtType;)Lnet/minecraft/nbt/scanner/NbtScanner$Result;