Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-118403

Vexes summoned by evoker do not have evoker team applied

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • 23w41a
    • Minecraft 1.12, Minecraft 1.12.1, Minecraft 1.13.1, 1.15.2, 20w15a, 20w46a, 21w03a, 1.16.5, 21w05b, 21w06a, 21w08b, 1.19.3, 23w05a, 1.20.2
    • Confirmed
    • Commands, Mob behaviour
    • Low

      The bug

      Vexes summoned by evokers do not transfer over their team tag to the vexes. This results in vexes attacking members of the team the evoker is on.

      How to reproduce

      1. Create a team and join the team.
        /team add yellow
        /team join yellow @s
        
      2. Summon an evoker being a member of the team.
        /summon evoker ~ ~1 ~ {Team:"yellow"}
        
      3. Switch to survival or adventure mode
        The evoker does not attack you
      4. Summon a villager and wait for the evoker to spawn vexes.
        /summon villager ~ ~ ~ {NoAI:1b}
        

        The vexes attack villager

      5. Wait for the villager to die.
        When the villager is dead the vexes attack you, but the evoker who summoned them is on your team

      Code analysis

      The following is based on yarn 1.15.2 names.

      In the method net.minecraft.entity.mob.EvokerEntity$SummonVexGoal.castSpell() sets the initial stuff (angles, position, ect...) but there's no call to set a team. To fix this issue, this call should be added (before the spawn of the entity):

      vexEntity4.world.getScoreboard().addPlayerToTeam(vexEntity4.getUuidAsString(), EvokerEntity.this.getScoreboardTeam().getName());
      

            Dat12 [Mojang] etanaratsastaja
            Oval Oval
            Votes:
            18 Vote for this issue
            Watchers:
            12 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: