Class BannerItem


public class BannerItem extends BlockItem
  • Field Details

    • OMINOUS_BANNER_PATTERN

      public static final com.github.steveice10.opennbt.tag.builtin.ListTag OMINOUS_BANNER_PATTERN
      Holds what a Java ominous banner pattern looks like. Translating the patterns over to Bedrock does not work effectively, but Bedrock has a dedicated type for ominous banners that we set instead. This variable is used to detect Java ominous banner patterns, and apply the correct ominous banner pattern if Bedrock pulls the item from creative.
  • Constructor Details

  • Method Details

    • convertBannerPattern

      public static org.cloudburstmc.nbt.NbtList<org.cloudburstmc.nbt.NbtMap> convertBannerPattern(com.github.steveice10.opennbt.tag.builtin.ListTag patterns)
      Convert a list of patterns from Java nbt to Bedrock nbt
      Parameters:
      patterns - The patterns to convert
      Returns:
      The new converted patterns
    • getJavaBannerPattern

      public static com.github.steveice10.opennbt.tag.builtin.CompoundTag getJavaBannerPattern(org.cloudburstmc.nbt.NbtMap pattern)
      Convert the Bedrock edition banner pattern nbt to Java edition
      Parameters:
      pattern - Bedrock edition pattern nbt
      Returns:
      The Java edition format pattern nbt
    • translateNbtToBedrock

      public void translateNbtToBedrock(@NotNull @NotNull GeyserSession session, @NotNull @NotNull com.github.steveice10.opennbt.tag.builtin.CompoundTag tag)
      Description copied from class: Item
      Takes NBT from Java Edition and converts any value that Bedrock parses differently.
      Overrides:
      translateNbtToBedrock in class Item
    • translateNbtToJava

      public void translateNbtToJava(@NotNull @NotNull com.github.steveice10.opennbt.tag.builtin.CompoundTag tag, @NotNull @NotNull ItemMapping mapping)
      Description copied from class: Item
      Takes NBT from Java Edition and converts any value that Bedrock parses differently.
      Do note that this method is, these days, only called in three places (as of 2023/~1.19):
      • Extra recipe loading
      • Creative menu
      • Stonecutters
      Therefore, if translation cannot be achieved for a certain item, it is not necessarily bad.
      Overrides:
      translateNbtToJava in class Item