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

Hopper/Dropper will not input water bottles into brewing stand after potions have been removed by a hopper from brewing stand

XMLWordPrintable

    • Confirmed

      The bug

      Brewing stands will not take water bottles from hoppers or droppers when the bottles that were in it are taken out with a hopper below.

      Steps to reproduce

      1. Place a brewing stand
      2. Place a hopper below it and on the side of it
      3. Put three water bottles into the side hopper
      4. Any additional water bottles will stay in the hopper

      Code analysis

      Based on 1.11.2 decompiled using MCP 9.35 rc1

      The problem seems to be that the method net.minecraft.tileentity.TileEntityBrewingStand.isItemValidForSlot(int, ItemStack) does more than it should. Assuming that it should only return if an item type is valid. In this case it would make also more sense to replace the ItemStack parameter with an Item parameter because the count should not matter. If this is the intended behavior the method net.minecraft.tileentity.TileEntityFurnace.isItemValidForSlot(int, ItemStack) is not correctly working then.

      Nevertheless the problem here is the change from representing empty slots with null to representing them with 1 ⨯ air:0. The problem here is that reducing the stack size results in 0 ⨯ air:0 objects but the method TileEntityBrewingStand.isItemValidForSlot(int, ItemStack) tests for a 1 ⨯ air:0 constant. The method net.minecraft.item.ItemStack.isEmpty(), which tests if an item is valid, should probably be used instead.

            grum [Mojang] Grum (Erik Broes)
            kironoma Jacob Belliveau
            Votes:
            419 Vote for this issue
            Watchers:
            163 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: