Class BannerTranslator

java.lang.Object
org.geysermc.geyser.translator.inventory.item.NbtItemStackTranslator
org.geysermc.geyser.translator.inventory.item.nbt.BannerTranslator

public class BannerTranslator extends NbtItemStackTranslator
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static com.github.steveice10.opennbt.tag.builtin.ListTag
    Holds what a Java ominous banner pattern looks like.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    acceptItem​(ItemMapping mapping)
    Gets whether this nbt translator takes in this item.
    static com.nukkitx.nbt.NbtList<com.nukkitx.nbt.NbtMap>
    convertBannerPattern​(com.github.steveice10.opennbt.tag.builtin.ListTag patterns)
    Convert a list of patterns from Java nbt to Bedrock nbt
    static com.github.steveice10.opennbt.tag.builtin.CompoundTag
    getJavaBannerPattern​(com.nukkitx.nbt.NbtMap pattern)
    Convert the Bedrock edition banner pattern nbt to Java edition
    void
    translateToBedrock​(GeyserSession session, com.github.steveice10.opennbt.tag.builtin.CompoundTag itemTag, ItemMapping mapping)
    Translate the item NBT to Bedrock
    void
    translateToJava​(com.github.steveice10.opennbt.tag.builtin.CompoundTag itemTag, ItemMapping mapping)
    Translate the item NBT to Java.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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

    • BannerTranslator

      public BannerTranslator()
  • Method Details

    • convertBannerPattern

      public static com.nukkitx.nbt.NbtList<com.nukkitx.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(com.nukkitx.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
    • translateToBedrock

      public void translateToBedrock(GeyserSession session, com.github.steveice10.opennbt.tag.builtin.CompoundTag itemTag, ItemMapping mapping)
      Description copied from class: NbtItemStackTranslator
      Translate the item NBT to Bedrock
      Overrides:
      translateToBedrock in class NbtItemStackTranslator
      Parameters:
      session - the client's current session
      itemTag - the item's CompoundTag (cloned from Geyser's cached copy)
      mapping - Geyser's item mapping
    • translateToJava

      public void translateToJava(com.github.steveice10.opennbt.tag.builtin.CompoundTag itemTag, ItemMapping mapping)
      Description copied from class: NbtItemStackTranslator
      Translate the item NBT to Java.
      Overrides:
      translateToJava in class NbtItemStackTranslator
      Parameters:
      itemTag - the item's CompoundTag
      mapping - Geyser's item mapping
    • acceptItem

      public boolean acceptItem(ItemMapping mapping)
      Description copied from class: NbtItemStackTranslator
      Gets whether this nbt translator takes in this item.
      Overrides:
      acceptItem in class NbtItemStackTranslator
      Parameters:
      mapping - Geyser's item mapping
      Returns:
      if the item should be processed under this class