Class DataComponentUtil

java.lang.Object
net.neoforged.neoforge.common.util.DataComponentUtil

public class DataComponentUtil extends Object
  • Constructor Details

    • DataComponentUtil

      public DataComponentUtil()
  • Method Details

    • wrapEncodingExceptions

      public static <T extends DataComponentHolder> Tag wrapEncodingExceptions(T componentHolder, com.mojang.serialization.Codec<T> codec, HolderLookup.Provider provider, Tag tag)
      Wraps encoding exceptions and adds additional logging for a DataComponentHolder that failed to save.
    • wrapEncodingExceptions

      public static <T extends DataComponentHolder> Tag wrapEncodingExceptions(T componentHolder, com.mojang.serialization.Codec<T> codec, HolderLookup.Provider provider)
      Wraps encoding exceptions and adds additional logging for a DataComponentHolder that failed to save.
    • logDataComponentSaveError

      public static void logDataComponentSaveError(DataComponentHolder componentHolder, Exception original, @Nullable @Nullable Tag tag)
      Logs component information and tag data for a DataComponentHolder that failed to save. See ItemStack.save(net.minecraft.core.HolderLookup.Provider, net.minecraft.nbt.Tag) or FluidStack.save(net.minecraft.core.HolderLookup.Provider, net.minecraft.nbt.Tag)
       Example:
       Error saving [1 minecraft:dirt]. Original cause: java.lang.NullPointerException
       With components:
       {
          neoforge:test=>Test[s=null]
          minecraft:max_stack_size=>64
          minecraft:lore=>ItemLore[lines=[], styledLines=[]]
          minecraft:enchantments=>ItemEnchantments{enchantments={}, showInTooltip=true}
          minecraft:repair_cost=>0
          minecraft:attribute_modifiers=>ItemAttributeModifiers[modifiers=[], showInTooltip=true]
          minecraft:rarity=>COMMON
       }
       With tag: {}