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

Inefficient streams in GoalSelector

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • 23w51a
    • 1.16.2, 21w03a, 21w05b, 21w08b, 21w19a, 1.18
    • None
    • Plausible
    • Performance

      The goal selector since 1.13 switched to expensive stream and lambda constructs which waste a lot of AI performance every tick.

      We reverted our mod goal selector back to the original goal selector with for loops ( + some cleanup) to preserve this performance. (Link: https://github.com/ldtteam/minecolonies/blob/d1ebb34de4124bbba9f535c9e3b81b79639b89fd/src/api/java/com/minecolonies/api/entity/CustomGoalSelector.java)
      A huge chunk of the vanilla entity performance sinks here atm.

      Streams should not be used in performance critical places where the collection has only very few values (most entities have a very limited amount of goals).

            timurn [Mojang] Timur Nazarov
            raycoms Ray Neiheiser
            Votes:
            7 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: