Mojira Archive
MC-111753

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

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.

Fixed

Jacob Belliveau

[Mojang] Grum (Erik Broes)

2016-12-22, 01:48 AM

2022-08-31, 10:36 AM

2017-04-21, 11:25 AM

419

163

Confirmed

brewing_stand, dropper, hopper, water-bottle

Minecraft 1.11.2 - Minecraft 17w16aMinecraft 1.11.2, Minecraft 17w06a, Minecraft 17w13a, Minecraft 17w13b, Minecraft 17w14a, Minecraft 17w15a, Minecraft 17w16a

Minecraft 17w16b