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

Furnace Tile Entities reproducing - Internal performance bug

    XMLWordPrintable

    Details

    • Confirmation Status:
      Unconfirmed

      Description

      When producing code similar to the furnace's, I stumbled upon a bug. For furnaces, it's only a performance bug, but it can potentially become a 'real' one in other instances.
      When a furnace gets lit or runs out of fuel, it changes its block ID. For that, it caches the tile entity, and then sets original one over the new one that's generated. The 'new' tile entity stays in the arrays though, producing a ghost tile entity (that still gets updated!) every time the furnace state is changed.

      What I expected to happen was...:
      The newly produced tile entity to get deleted.

      What actually happened was...:
      It got reproduced and became a ghost in the tile entity arrays.

      Steps to Reproduce:
      *Keep track of all furnace entities in game.
      *Light a furnace
      *Let it run out of fuel
      *Watch the number of furnace tile entities growing.

      Solution:
      I know you don't use the same names as MCP does, but I did this:

      Before setting a tile entity (setBlockTileEntity) inside World, make sure to run through all tile entity inside addedTileEntityList and loadedTileEntityList, and delete all with the same x, y, and z coord.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jeb [Mojang] Jeb (Jens Bergensten)
                Reporter:
                ivorius Lukas Tenbrink
              • Votes:
                2 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: