Fuzzy filter on export bus crashes when filter item is indestructable
pengi opened this issue ยท 1 comments
Describe the bug
When having a an item indestructable (from other mod) that is normally destructable as a filter for the export bus, and having a fuzzy card installed, an exception that crashes the server is raised when used.
Since the item is not exported from the system after crash, the server crashes immediately upon next start.
Running 8.3.0-beta.1
To Reproduce
- Install mods:
-- Applied Energetics 2 - version 8.3.0-beta.1
-- Apotheosis (version 4.5.1 for me, probably other mods providing the same functionality might work)
-- Mekanism Generators (only for infinite power source) - Run in creative
- Create a minimal ME system (infite power source + ME controller + ME interface + disk drive)
- Create a normal chest, connect an export bus + fuzzy card
- Create an indestructable pickaxe using
/affixloot ANCIENT PICKAXE
. Will create an unbreakable diamond pickaxe from the "Apotheosis" mod. - Add the indestructable pickaxe to the export bus as filter
- Create a normal pickaxe and put in the ME system
What I see
- System crashes with exception:
Caused by: java.lang.IllegalStateException: ItemStack#isDamageable() has to be true
at com.google.common.base.Preconditions.checkState(Preconditions.java:444) ~[guava-21.0.jar:?]
at appeng.util.item.FuzzyItemVariantList.makeLowerBound(FuzzyItemVariantList.java:148) ~[?:8.3.0-beta.1]
at appeng.util.item.FuzzyItemVariantList.findFuzzy(FuzzyItemVariantList.java:51) ~[?:8.3.0-beta.1]
at appeng.util.item.ItemList.findFuzzy(ItemList.java:64) ~[?:8.3.0-beta.1]
at appeng.util.item.ItemList.findFuzzy(ItemList.java:37) ~[?:8.3.0-beta.1]
at appeng.parts.automation.ExportBusPart.doBusWork(ExportBusPart.java:155) ~[?:8.3.0-beta.1]
at appeng.parts.automation.ExportBusPart.tickingRequest(ExportBusPart.java:216) ~[?:8.3.0-beta.1]
at appeng.me.cache.TickManagerCache.onUpdateTick(TickManagerCache.java:84) ~[?:8.3.0-beta.1]
... 17 more
Expected behavior
Except the new pickaxe to be exported to the chest
Additional context
Log: https://pastebin.com/eddxiE8z
Environment
Crash report: https://pastebin.com/W90nRBWE
Notes
Probably caused by 0bdc408 when the makeLowerBound()
function added a precondition rather than defaulting the damage value in case isDamageable()
is false.