I was trying to make an item not able to be picked up with item.setPickupDelay(Integer.MAX_VALUE) and it works fine as long as the chunk remains loaded. But after testing, I found that if I fly away from the said item far enough that the chunk it resides in unloads, and I come back to it (reloading the chunk), the item is then able to be picked up. This is a bug because setPickupDelay(Integer.MAX_VALUE) should make the item not able to be picked up for approximately 3.4 years.