Uploaded image for project: 'Spigot'
  1. Spigot
  2. SPIGOT-7268

CraftMetaPotion does not read ShowParticles and ShowIcon properties correctly

XMLWordPrintable

    • This server is running CraftBukkit version dev-Spigot-19641c7-8ba5e39 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT)
    • Yes

      CraftMetaPotion:

      boolean particles = tag.contains(SHOW_PARTICLES.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_PARTICLES.NBT) : true;
                      boolean icon = tag.contains(SHOW_ICON.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_ICON.NBT) : particles;

      The 'contains' checks for the property inside the parent 'tag' instead of the 'effect' compound.
      For example, an item like

      /minecraft:give @p potion{CustomPotionColor:4426976,display:{Name:'[{"text":"Master Potion of Waterbreathing"}]'},CustomPotionEffects:[{Id:13,Duration:71980,ShowParticles:0b,ShowIcon:0b}]} 1

      will still serialize like this:

      ==: org.bukkit.inventory.ItemStack
        v: 3218
        type: POTION
        meta:
          ==: ItemMeta
          meta-type: POTION
          display-name: '[{"text":"Master Potion of Waterbreathing"}]'
          custom-color:
            ==: Color
            RED: 67
            BLUE: 224
            GREEN: 140
          custom-effects:
          - ==: PotionEffect
            effect: 13
            duration: 71980
            amplifier: 0
            ambient: false
            has-particles: true
            has-icon: true

            blablubbabc blablubbabc
            blablubbabc blablubbabc
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: