Class NbtHelper

java.lang.Object
net.minecraft.nbt.NbtHelper

public final class NbtHelper extends Object
Helper methods for handling NBT.
Mappings:
Namespace Name
official rb
intermediary net/minecraft/class_2512
named net/minecraft/nbt/NbtHelper
  • Field Details

    • BLOCK_POS_COMPARATOR

      private static final Comparator<NbtList> BLOCK_POS_COMPARATOR
      Mappings:
      Namespace Name Mixin selector
      official b Lrb;b:Ljava/util/Comparator;
      intermediary field_27816 Lnet/minecraft/class_2512;field_27816:Ljava/util/Comparator;
      named BLOCK_POS_COMPARATOR Lnet/minecraft/nbt/NbtHelper;BLOCK_POS_COMPARATOR:Ljava/util/Comparator;
    • ENTITY_POS_COMPARATOR

      private static final Comparator<NbtList> ENTITY_POS_COMPARATOR
      Mappings:
      Namespace Name Mixin selector
      official c Lrb;c:Ljava/util/Comparator;
      intermediary field_27817 Lnet/minecraft/class_2512;field_27817:Ljava/util/Comparator;
      named ENTITY_POS_COMPARATOR Lnet/minecraft/nbt/NbtHelper;ENTITY_POS_COMPARATOR:Ljava/util/Comparator;
    • DATA_KEY

      public static final String DATA_KEY
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a:Ljava/lang/String;
      intermediary field_33224 Lnet/minecraft/class_2512;field_33224:Ljava/lang/String;
      named DATA_KEY Lnet/minecraft/nbt/NbtHelper;DATA_KEY:Ljava/lang/String;
    • LEFT_CURLY_BRACKET

      private static final char LEFT_CURLY_BRACKET
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official d Lrb;d:C
      intermediary field_33225 Lnet/minecraft/class_2512;field_33225:C
      named LEFT_CURLY_BRACKET Lnet/minecraft/nbt/NbtHelper;LEFT_CURLY_BRACKET:C
    • RIGHT_CURLY_BRACKET

      private static final char RIGHT_CURLY_BRACKET
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official e Lrb;e:C
      intermediary field_33226 Lnet/minecraft/class_2512;field_33226:C
      named RIGHT_CURLY_BRACKET Lnet/minecraft/nbt/NbtHelper;RIGHT_CURLY_BRACKET:C
    • COMMA

      private static final String COMMA
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official f Lrb;f:Ljava/lang/String;
      intermediary field_33227 Lnet/minecraft/class_2512;field_33227:Ljava/lang/String;
      named COMMA Lnet/minecraft/nbt/NbtHelper;COMMA:Ljava/lang/String;
    • COLON

      private static final char COLON
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official g Lrb;g:C
      intermediary field_33228 Lnet/minecraft/class_2512;field_33228:C
      named COLON Lnet/minecraft/nbt/NbtHelper;COLON:C
    • COMMA_SPLITTER

      private static final Splitter COMMA_SPLITTER
      Mappings:
      Namespace Name Mixin selector
      official h Lrb;h:Lcom/google/common/base/Splitter;
      intermediary field_27818 Lnet/minecraft/class_2512;field_27818:Lcom/google/common/base/Splitter;
      named COMMA_SPLITTER Lnet/minecraft/nbt/NbtHelper;COMMA_SPLITTER:Lcom/google/common/base/Splitter;
    • COLON_SPLITTER

      private static final Splitter COLON_SPLITTER
      Mappings:
      Namespace Name Mixin selector
      official i Lrb;i:Lcom/google/common/base/Splitter;
      intermediary field_27819 Lnet/minecraft/class_2512;field_27819:Lcom/google/common/base/Splitter;
      named COLON_SPLITTER Lnet/minecraft/nbt/NbtHelper;COLON_SPLITTER:Lcom/google/common/base/Splitter;
    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official j Lrb;j:Lorg/slf4j/Logger;
      intermediary field_11582 Lnet/minecraft/class_2512;field_11582:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/nbt/NbtHelper;LOGGER:Lorg/slf4j/Logger;
    • field_33229

      private static final int field_33229
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official k Lrb;k:I
      intermediary field_33229 Lnet/minecraft/class_2512;field_33229:I
      named field_33229 Lnet/minecraft/nbt/NbtHelper;field_33229:I
    • field_33230

      private static final int field_33230
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official l Lrb;l:I
      intermediary field_33230 Lnet/minecraft/class_2512;field_33230:I
      named field_33230 Lnet/minecraft/nbt/NbtHelper;field_33230:I
  • Constructor Details

    • NbtHelper

      private NbtHelper()
  • Method Details

    • toGameProfile

      @Nullable public static @Nullable com.mojang.authlib.GameProfile toGameProfile(NbtCompound nbt)
      Returns the game profile converted from nbt.
      Returns:
      the game profile converted from nbt
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lqp;)Lcom/mojang/authlib/GameProfile;
      intermediary method_10683 Lnet/minecraft/class_2512;method_10683(Lnet/minecraft/class_2487;)Lcom/mojang/authlib/GameProfile;
      named toGameProfile Lnet/minecraft/nbt/NbtHelper;toGameProfile(Lnet/minecraft/nbt/NbtCompound;)Lcom/mojang/authlib/GameProfile;
    • writeGameProfile

      public static NbtCompound writeGameProfile(NbtCompound nbt, com.mojang.authlib.GameProfile profile)
      Writes the game profile to nbt. This modifies the passed compound.
      Returns:
      the compound with the serialized game profile
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lqp;Lcom/mojang/authlib/GameProfile;)Lqp;
      intermediary method_10684 Lnet/minecraft/class_2512;method_10684(Lnet/minecraft/class_2487;Lcom/mojang/authlib/GameProfile;)Lnet/minecraft/class_2487;
      named writeGameProfile Lnet/minecraft/nbt/NbtHelper;writeGameProfile(Lnet/minecraft/nbt/NbtCompound;Lcom/mojang/authlib/GameProfile;)Lnet/minecraft/nbt/NbtCompound;
    • matches

      public static boolean matches(@Nullable @Nullable NbtElement standard, @Nullable @Nullable NbtElement subject, boolean ignoreListOrder)
      Returns whether standard is a subset of subject.

      Elements are matched based on the following order:

      1. Passing the same reference to both parameters will return true.
      2. If standard is null, return true.
      3. If subject is null, return false.
      4. If the types of standard and subject are different, return false.
      5. If standard is NbtCompound, return true if all keys in the standard exist in subject and the values match (comparing recursively.)
      6. If standard is NbtList and ignoreListOrder is true, return true if both lists are empty, or if there exists a "matching" value in subject for all values of standard (that is, if standard is a subset of subject, ignoring duplicates.), otherwise false. This means that the comparison ignores the ordering of the lists.
      7. Otherwise, return standard.equals(subject).
      Parameters:
      standard - the standard (also called as "template" or "schema") element
      subject - the element to test
      ignoreListOrder - whether to ignore ordering for NbtList
      Returns:
      whether standard is a subset of subject
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lri;Lri;Z)Z
      intermediary method_10687 Lnet/minecraft/class_2512;method_10687(Lnet/minecraft/class_2520;Lnet/minecraft/class_2520;Z)Z
      named matches Lnet/minecraft/nbt/NbtHelper;matches(Lnet/minecraft/nbt/NbtElement;Lnet/minecraft/nbt/NbtElement;Z)Z
    • fromUuid

      public static NbtIntArray fromUuid(UUID uuid)
      Serializes a UUID into its equivalent NBT representation.
      Since:
      20w10a
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Ljava/util/UUID;)Lqt;
      intermediary method_25929 Lnet/minecraft/class_2512;method_25929(Ljava/util/UUID;)Lnet/minecraft/class_2495;
      named fromUuid Lnet/minecraft/nbt/NbtHelper;fromUuid(Ljava/util/UUID;)Lnet/minecraft/nbt/NbtIntArray;
    • toUuid

      public static UUID toUuid(NbtElement element)
      Deserializes an NBT element into a UUID. The NBT element's data must have the same structure as the output of fromUuid(java.util.UUID).
      Throws:
      IllegalArgumentException - if element is not a valid representation of a UUID
      Since:
      20w10a
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lri;)Ljava/util/UUID;
      intermediary method_25930 Lnet/minecraft/class_2512;method_25930(Lnet/minecraft/class_2520;)Ljava/util/UUID;
      named toUuid Lnet/minecraft/nbt/NbtHelper;toUuid(Lnet/minecraft/nbt/NbtElement;)Ljava/util/UUID;
    • toBlockPos

      public static BlockPos toBlockPos(NbtCompound nbt)
      Returns the block position from the nbt.
      Returns:
      the block position from the nbt
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lrb;b(Lqp;)Lgp;
      intermediary method_10691 Lnet/minecraft/class_2512;method_10691(Lnet/minecraft/class_2487;)Lnet/minecraft/class_2338;
      named toBlockPos Lnet/minecraft/nbt/NbtHelper;toBlockPos(Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/util/math/BlockPos;
    • fromBlockPos

      public static NbtCompound fromBlockPos(BlockPos pos)
      Returns the serialized block position.
      Returns:
      the serialized block position
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lgp;)Lqp;
      intermediary method_10692 Lnet/minecraft/class_2512;method_10692(Lnet/minecraft/class_2338;)Lnet/minecraft/class_2487;
      named fromBlockPos Lnet/minecraft/nbt/NbtHelper;fromBlockPos(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/nbt/NbtCompound;
    • toBlockState

      public static BlockState toBlockState(RegistryEntryLookup<Block> blockLookup, NbtCompound nbt)
      Returns the block state from the nbt.

      This returns the default state for Blocks.AIR if the block name is not present.

      Returns:
      the block state from the nbt
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lha;Lqp;)Lcyt;
      intermediary method_10681 Lnet/minecraft/class_2512;method_10681(Lnet/minecraft/class_7871;Lnet/minecraft/class_2487;)Lnet/minecraft/class_2680;
      named toBlockState Lnet/minecraft/nbt/NbtHelper;toBlockState(Lnet/minecraft/registry/RegistryEntryLookup;Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/block/BlockState;
    • withProperty

      private static <S extends State<?, S>, T extends Comparable<T>> S withProperty(S state, Property<T> property, String key, NbtCompound properties, NbtCompound root)
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lcyv;Lczw;Ljava/lang/String;Lqp;Lqp;)Lcyv;
      intermediary method_10682 Lnet/minecraft/class_2512;method_10682(Lnet/minecraft/class_2688;Lnet/minecraft/class_2769;Ljava/lang/String;Lnet/minecraft/class_2487;Lnet/minecraft/class_2487;)Lnet/minecraft/class_2688;
      named withProperty Lnet/minecraft/nbt/NbtHelper;withProperty(Lnet/minecraft/state/State;Lnet/minecraft/state/property/Property;Ljava/lang/String;Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/state/State;
    • fromBlockState

      public static NbtCompound fromBlockState(BlockState state)
      Returns the serialized block state.
      Returns:
      the serialized block state
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lcyt;)Lqp;
      intermediary method_10686 Lnet/minecraft/class_2512;method_10686(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2487;
      named fromBlockState Lnet/minecraft/nbt/NbtHelper;fromBlockState(Lnet/minecraft/block/BlockState;)Lnet/minecraft/nbt/NbtCompound;
    • fromFluidState

      public static NbtCompound fromFluidState(FluidState state)
      Returns the serialized fluid state.
      Returns:
      the serialized fluid state
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Ldtj;)Lqp;
      intermediary method_36115 Lnet/minecraft/class_2512;method_36115(Lnet/minecraft/class_3610;)Lnet/minecraft/class_2487;
      named fromFluidState Lnet/minecraft/nbt/NbtHelper;fromFluidState(Lnet/minecraft/fluid/FluidState;)Lnet/minecraft/nbt/NbtCompound;
    • nameValue

      private static <T extends Comparable<T>> String nameValue(Property<T> property, Comparable<?> value)
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lczw;Ljava/lang/Comparable;)Ljava/lang/String;
      intermediary method_10685 Lnet/minecraft/class_2512;method_10685(Lnet/minecraft/class_2769;Ljava/lang/Comparable;)Ljava/lang/String;
      named nameValue Lnet/minecraft/nbt/NbtHelper;nameValue(Lnet/minecraft/state/property/Property;Ljava/lang/Comparable;)Ljava/lang/String;
    • toFormattedString

      public static String toFormattedString(NbtElement nbt)
      Returns the human-readable, non-deserializable representation of nbt.

      This does not include contents of NbtByteArray, NbtIntArray, and NbtLongArray. To include them, call toFormattedString(NbtElement, boolean) with withArrayContents parameter set to true.

      Returns:
      the human-readable, non-deserializable representation of nbt
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lrb;b(Lri;)Ljava/lang/String;
      intermediary method_36118 Lnet/minecraft/class_2512;method_36118(Lnet/minecraft/class_2520;)Ljava/lang/String;
      named toFormattedString Lnet/minecraft/nbt/NbtHelper;toFormattedString(Lnet/minecraft/nbt/NbtElement;)Ljava/lang/String;
    • toFormattedString

      public static String toFormattedString(NbtElement nbt, boolean withArrayContents)
      Returns the human-readable, non-deserializable representation of nbt.
      Parameters:
      withArrayContents - whether to include contents of NbtByteArray, NbtIntArray, and NbtLongArray
      Returns:
      the human-readable, non-deserializable representation of nbt
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lri;Z)Ljava/lang/String;
      intermediary method_36117 Lnet/minecraft/class_2512;method_36117(Lnet/minecraft/class_2520;Z)Ljava/lang/String;
      named toFormattedString Lnet/minecraft/nbt/NbtHelper;toFormattedString(Lnet/minecraft/nbt/NbtElement;Z)Ljava/lang/String;
    • appendFormattedString

      public static StringBuilder appendFormattedString(StringBuilder stringBuilder, NbtElement nbt, int depth, boolean withArrayContents)
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Ljava/lang/StringBuilder;Lri;IZ)Ljava/lang/StringBuilder;
      intermediary method_36116 Lnet/minecraft/class_2512;method_36116(Ljava/lang/StringBuilder;Lnet/minecraft/class_2520;IZ)Ljava/lang/StringBuilder;
      named appendFormattedString Lnet/minecraft/nbt/NbtHelper;appendFormattedString(Ljava/lang/StringBuilder;Lnet/minecraft/nbt/NbtElement;IZ)Ljava/lang/StringBuilder;
    • appendIndent

      private static StringBuilder appendIndent(int depth, StringBuilder stringBuilder)
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(ILjava/lang/StringBuilder;)Ljava/lang/StringBuilder;
      intermediary method_36114 Lnet/minecraft/class_2512;method_36114(ILjava/lang/StringBuilder;)Ljava/lang/StringBuilder;
      named appendIndent Lnet/minecraft/nbt/NbtHelper;appendIndent(ILjava/lang/StringBuilder;)Ljava/lang/StringBuilder;
    • update

      public static NbtCompound update(com.mojang.datafixers.DataFixer fixer, DataFixTypes fixTypes, NbtCompound compound, int oldVersion)
      Uses the data fixer to update an NBT compound object to the latest data version.
      Parameters:
      fixer - the data fixer
      fixTypes - the fix types
      compound - the NBT compound object to fix
      oldVersion - the data version of the NBT compound object
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lcom/mojang/datafixers/DataFixer;Lapc;Lqp;I)Lqp;
      intermediary method_10688 Lnet/minecraft/class_2512;method_10688(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/class_4284;Lnet/minecraft/class_2487;I)Lnet/minecraft/class_2487;
      named update Lnet/minecraft/nbt/NbtHelper;update(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/datafixer/DataFixTypes;Lnet/minecraft/nbt/NbtCompound;I)Lnet/minecraft/nbt/NbtCompound;
    • update

      public static NbtCompound update(com.mojang.datafixers.DataFixer fixer, DataFixTypes fixTypes, NbtCompound compound, int oldVersion, int targetVersion)
      Uses the data fixer to update an NBT compound object.
      Parameters:
      fixer - the data fixer
      fixTypes - the fix types
      compound - the NBT compound object to fix
      oldVersion - the data version of the NBT compound object
      targetVersion - the data version to update the NBT compound object to
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Lcom/mojang/datafixers/DataFixer;Lapc;Lqp;II)Lqp;
      intermediary method_10693 Lnet/minecraft/class_2512;method_10693(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/class_4284;Lnet/minecraft/class_2487;II)Lnet/minecraft/class_2487;
      named update Lnet/minecraft/nbt/NbtHelper;update(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/datafixer/DataFixTypes;Lnet/minecraft/nbt/NbtCompound;II)Lnet/minecraft/nbt/NbtCompound;
    • toPrettyPrintedText

      public static Text toPrettyPrintedText(NbtElement element)
      Returns the pretty-printed text representation of element.
      Returns:
      the pretty-printed text representation of element
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lrb;c(Lri;)Lss;
      intermediary method_32270 Lnet/minecraft/class_2512;method_32270(Lnet/minecraft/class_2520;)Lnet/minecraft/class_2561;
      named toPrettyPrintedText Lnet/minecraft/nbt/NbtHelper;toPrettyPrintedText(Lnet/minecraft/nbt/NbtElement;)Lnet/minecraft/text/Text;
    • toNbtProviderString

      public static String toNbtProviderString(NbtCompound compound)
      Returns the string representation of compound as used by the NBT provider in the data generator.

      The passed compound will be sorted and modified in-place to make it more human-readable e.g. by converting NbtCompound in the palettes NbtList to its short string representation. Therefore the returned value is not an accurate representation of the original NBT.

      Returns:
      the string representation of compound as used by the NBT provider in the data generator
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lrb;c(Lqp;)Ljava/lang/String;
      intermediary method_32271 Lnet/minecraft/class_2512;method_32271(Lnet/minecraft/class_2487;)Ljava/lang/String;
      named toNbtProviderString Lnet/minecraft/nbt/NbtHelper;toNbtProviderString(Lnet/minecraft/nbt/NbtCompound;)Ljava/lang/String;
    • fromNbtProviderString

      public static NbtCompound fromNbtProviderString(String string) throws com.mojang.brigadier.exceptions.CommandSyntaxException
      Returns the string parsed as an NBT provider-formatted NBT compound.

      This method first parses the string as an NBT, then performs several conversions from human-readable NbtCompound items to the actual values used in-game.

      Returns:
      the string parsed as an NBT provider-formatted NBT compound
      Throws:
      com.mojang.brigadier.exceptions.CommandSyntaxException
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lrb;a(Ljava/lang/String;)Lqp;
      intermediary method_32260 Lnet/minecraft/class_2512;method_32260(Ljava/lang/String;)Lnet/minecraft/class_2487;
      named fromNbtProviderString Lnet/minecraft/nbt/NbtHelper;fromNbtProviderString(Ljava/lang/String;)Lnet/minecraft/nbt/NbtCompound;
    • toNbtProviderFormat

      static NbtCompound toNbtProviderFormat(NbtCompound compound)
      Mappings:
      Namespace Name Mixin selector
      official d Lrb;d(Lqp;)Lqp;
      intermediary method_32273 Lnet/minecraft/class_2512;method_32273(Lnet/minecraft/class_2487;)Lnet/minecraft/class_2487;
      named toNbtProviderFormat Lnet/minecraft/nbt/NbtHelper;toNbtProviderFormat(Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/nbt/NbtCompound;
    • fromNbtProviderFormat

      static NbtCompound fromNbtProviderFormat(NbtCompound compound)
      Mappings:
      Namespace Name Mixin selector
      official e Lrb;e(Lqp;)Lqp;
      intermediary method_32275 Lnet/minecraft/class_2512;method_32275(Lnet/minecraft/class_2487;)Lnet/minecraft/class_2487;
      named fromNbtProviderFormat Lnet/minecraft/nbt/NbtHelper;fromNbtProviderFormat(Lnet/minecraft/nbt/NbtCompound;)Lnet/minecraft/nbt/NbtCompound;
    • toNbtProviderFormattedPalette

      static String toNbtProviderFormattedPalette(NbtCompound compound)
      Mappings:
      Namespace Name Mixin selector
      official f Lrb;f(Lqp;)Ljava/lang/String;
      intermediary method_32277 Lnet/minecraft/class_2512;method_32277(Lnet/minecraft/class_2487;)Ljava/lang/String;
      named toNbtProviderFormattedPalette Lnet/minecraft/nbt/NbtHelper;toNbtProviderFormattedPalette(Lnet/minecraft/nbt/NbtCompound;)Ljava/lang/String;
    • fromNbtProviderFormattedPalette

      static NbtCompound fromNbtProviderFormattedPalette(String string)
      Mappings:
      Namespace Name Mixin selector
      official b Lrb;b(Ljava/lang/String;)Lqp;
      intermediary method_32267 Lnet/minecraft/class_2512;method_32267(Ljava/lang/String;)Lnet/minecraft/class_2487;
      named fromNbtProviderFormattedPalette Lnet/minecraft/nbt/NbtHelper;fromNbtProviderFormattedPalette(Ljava/lang/String;)Lnet/minecraft/nbt/NbtCompound;