jaquadro / StorageDrawers

A mod adding compartmental storage for Minecraft Forge
MIT License
198 stars 156 forks source link

[1.14.4] Crash: Ticking Block Entity #784

Closed DigitalLucas closed 4 years ago

DigitalLucas commented 4 years ago
---- Minecraft Crash Report ----
// Why did you do that?

Time: 12/23/19 3:03 PM
Description: Ticking block entity

java.lang.ClassCastException: net.minecraft.block.AirBlock cannot be cast to com.jaquadro.minecraft.storagedrawers.block.BlockDrawers
    at com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawers.getDrawerCapacity(TileEntityDrawers.java:168) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawers.getEffectiveDrawerCapacity(TileEntityDrawers.java:175) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawersStandard$StandardDrawerData.getStackCapacity(TileEntityDrawersStandard.java:153) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.jaquadro.minecraft.storagedrawers.block.tile.tiledata.StandardDrawerGroup$DrawerData.getMaxCapacity(StandardDrawerGroup.java:305) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.jaquadro.minecraft.storagedrawers.api.storage.IDrawer.getMaxCapacity(IDrawer.java:82) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.jaquadro.minecraft.storagedrawers.block.tile.tiledata.StandardDrawerGroup$DrawerData.setStoredItemCount(StandardDrawerGroup.java:247) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.jaquadro.minecraft.storagedrawers.block.tile.tiledata.StandardDrawerGroup$DrawerData.adjustStoredItemCount(StandardDrawerGroup.java:291) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.jaquadro.minecraft.storagedrawers.block.tile.tiledata.StandardDrawerGroup$DrawerData.adjustStoredItemCount(StandardDrawerGroup.java:264) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.jaquadro.minecraft.storagedrawers.capabilities.DrawerItemHandler.extractItem(DrawerItemHandler.java:129) ~[?:1.14.4-6.0.5] {re:classloading}
    at com.simibubi.create.modules.logistics.block.IExtractor.extract(IExtractor.java:149) ~[?:mc1.14.4_v0.1.1a] {re:classloading}
    at com.simibubi.create.modules.logistics.block.IExtractor.func_73660_a(IExtractor.java:76) ~[?:mc1.14.4_v0.1.1a] {re:classloading}
    at com.simibubi.create.modules.logistics.block.ExtractorTileEntity.func_73660_a(ExtractorTileEntity.java:64) ~[?:mc1.14.4_v0.1.1a] {re:classloading}
    at net.minecraft.world.World.func_217391_K(World.java:621) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:367) ~[?:?] {re:classloading,xf:fml:quark:change-sleeping-player-count,xf:fml:quark:add-rave-hook}
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:829) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:764) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:161) ~[?:?] {re:classloading,xf:OptiFine:default}
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:622) [?:?] {re:classloading,pl:accesstransformer:B}
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] {}

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Server thread
Stacktrace:
    at com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawers.getDrawerCapacity(TileEntityDrawers.java:168)
    at com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawers.getEffectiveDrawerCapacity(TileEntityDrawers.java:175)
    at com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawersStandard$StandardDrawerData.getStackCapacity(TileEntityDrawersStandard.java:153)
    at com.jaquadro.minecraft.storagedrawers.block.tile.tiledata.StandardDrawerGroup$DrawerData.getMaxCapacity(StandardDrawerGroup.java:305)
    at com.jaquadro.minecraft.storagedrawers.api.storage.IDrawer.getMaxCapacity(IDrawer.java:82)
    at com.jaquadro.minecraft.storagedrawers.block.tile.tiledata.StandardDrawerGroup$DrawerData.setStoredItemCount(StandardDrawerGroup.java:247)
    at com.jaquadro.minecraft.storagedrawers.block.tile.tiledata.StandardDrawerGroup$DrawerData.adjustStoredItemCount(StandardDrawerGroup.java:291)
    at com.jaquadro.minecraft.storagedrawers.block.tile.tiledata.StandardDrawerGroup$DrawerData.adjustStoredItemCount(StandardDrawerGroup.java:264)
    at com.jaquadro.minecraft.storagedrawers.capabilities.DrawerItemHandler.extractItem(DrawerItemHandler.java:129)
    at com.simibubi.create.modules.logistics.block.IExtractor.extract(IExtractor.java:149)
    at com.simibubi.create.modules.logistics.block.IExtractor.func_73660_a(IExtractor.java:76)
    at com.simibubi.create.modules.logistics.block.ExtractorTileEntity.func_73660_a(ExtractorTileEntity.java:64)

-- Block entity being ticked --
Details:
    Name: create:extractor // com.simibubi.create.modules.logistics.block.ExtractorTileEntity
    Block: Block{create:extractor}[facing=east,powered=false]
    Block location: World: (-21,34,-31), Chunk: (at 11,2,1 in -2,-2; contains blocks -32,0,-32 to -17,255,-17), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
    Block: Block{create:extractor}[facing=east,powered=false]
    Block location: World: (-21,34,-31), Chunk: (at 11,2,1 in -2,-2; contains blocks -32,0,-32 to -17,255,-17), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
Stacktrace:
    at net.minecraft.world.World.func_217391_K(World.java:621)
    at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:367)

-- Affected level --
Details:
    All players: 1 total; [ServerPlayerEntity['DigitalLucas'/4, l='Mod Testing 12-20-19', x=-21.23, y=35.06, z=-30.26]]
    Chunk stats: ServerChunkCache: 2025
    Level dimension: DimensionType{minecraft:overworld}
    Level name: Mod Testing 12-20-19
    Level seed: 1490842414032215492
    Level generator: ID 01 - flat, ver 0. Features enabled: false
    Level generator options: {biome:"minecraft:plains",layers:[{block:"minecraft:bedrock",height:1b},{block:"minecraft:stone",height:30b},{block:"minecraft:smooth_stone",height:1b}],structures:{village:{}}}
    Level spawn location: World: (0,33,0), Chunk: (at 0,2,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Level time: 814960 game time, 6000 day time
    Level storage version: 0x04ABD - Anvil
    Level weather: Rain time: 21599 (now: false), thunder time: 31972 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
Stacktrace:
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:829)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:764)
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:161)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:622)
    at java.lang.Thread.run(Thread.java:745)

-- System Details --
Details:
    Minecraft Version: 1.14.4
    Minecraft Version ID: 1.14.4
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_51, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 595228664 bytes (567 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB)
    CPUs: 4
    JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    ModLauncher: 4.1.0+62+5bfa59b
    ModLauncher launch target: fmlclient
    ModLauncher naming: srg
    ModLauncher services: 
        /eventbus-1.0.0-service.jar eventbus PLUGINSERVICE 
        /forge-1.14.4-28.1.107.jar object_holder_definalize PLUGINSERVICE 
        /forge-1.14.4-28.1.107.jar runtime_enum_extender PLUGINSERVICE 
        /accesstransformers-1.0.1-milestone.0.1+94458e7-shadowed.jar accesstransformer PLUGINSERVICE 
        /forge-1.14.4-28.1.107.jar capability_inject_definalize PLUGINSERVICE 
        /forge-1.14.4-28.1.107.jar runtimedistcleaner PLUGINSERVICE 
        /(OPTIFINE)%20OptiFine%20HD%20U%20F5%20(1.14.4).jar OptiFine TRANSFORMATIONSERVICE 
        /forge-1.14.4-28.1.107.jar fml TRANSFORMATIONSERVICE 
    FML: 28.1
    Forge: net.minecraftforge:28.1.107
    FML Language Providers: 
        javafml@28.1
        minecraft@1
    Mod List: 
        Tetra v1.3.0 (1.14.4).jar Tetra {tetra@1.14.4-1.3.0 DONE}
        Inventory Sorter v16.2.0 (1.14.4).jar Simple Inventory Sorter {inventorysorter@16.2.0 DONE}
        Bamboo Blocks v1.2.10 (1.14.4).jar Bamboo Blocks {bambooblocks@1.2.10 DONE}
        Villager Names v1.4 (1.14.4).jar Villager Names {vilnames@1.4 DONE}
        Just Enough Items (JEI) v6.0.0.27 (1.14.4).jar Just Enough Items {jei@6.0.0.27 DONE}
        AttributeFix v3.0.3 (1.14.4).jar AttributeFix {attributefix@3.0.3 DONE}
        Fish Traps v0.0.4 (1.14.4).jar Fish Traps {fishtraps@1.14.4-0.0.4 DONE}
        Cosmetic Beds v2.0.0.1 (1.14.4).jar Cosmetic Beds {cosmeticbeds@FORGE-1.14.4-2.0.0.1 DONE}
        Upgrade Aquatic v1.4.2 (1.14.4).jar Upgrade Aquatic {upgrade_aquatic@1.4.2 DONE}
        Reap Mod v1.10.2 (1.14.4).jar Reap Mod {reap@1.10.2 DONE}
        Florist v1.1.4 (1.14.4).jar Florist {florist@1.1.4 DONE}
        Create v0.1.1a (1.14.4).jar Create {create@0.1.1a DONE}
        Weaker Spider Webs v1.2 (1.14.4).jar Weaker Spiderwebs {wsw@1.2 DONE}
        More Ores in ONE v1.5 (1.14.4).jar More Ores in ONE {moreoresinone@1.5 DONE}
        Xaero's World Map v1.5.2 (1.14.4).jar Xaero's World Map {xaeroworldmap@1.5.2 DONE}
        Cooking For Blockheads v7.4.1 (1.14.4).jar Cooking for Blockheads {cookingforblockheads@7.4.1 DONE}
        Controlling v5.0.4 (1.14.4).jar Controlling {controlling@5.0.4 DONE}
        (DEPENDENCY) mGUI v1.0.1 (1.14.4).jar mgui {mgui@1.0.1 DONE}
        (DEPENDENCY) Placebo v2.3.5 (1.14.4).jar Placebo {placebo@2.3.5 DONE}
        Wither Skeleton Tweaks v3.1.0 (1.14.4).jar Wither Skeleton Tweaks {wstweaks@3.1.0 DONE}
        The Endergetic Expansion (Indev Beta) v1.0 (1.14.4).jar The Endergetic Expansion {endergetic@1.0 DONE}
        Random Patches v1.19.1.1 (1.14.4).jar RandomPatches {randompatches@1.14.4-1.19.1.1 DONE}
        Progressive Bosses v2.1.3 (1.14.4).jar Progressive Bosses {progressivebosses@2.1.3 DONE}
        Extract Poison v1.0 (1.14.4).jar Extract Poison {ep@1.0 DONE}
        Softer Hay Bales v1.0 (1.14.4).jar Softer Hay Bales {shb@1.0 DONE}
        Dismount Entity v1.0 (1.14.4).jar Dismount Entity {dismounte@1.0 DONE}
        HWYLA v1.10.6-b67 (1.14.4).jar Waila {waila@version DONE}
        Carry On v1.12.4 (1.14.4).jar Carry On {carryon@1.12.4 DONE}
        Better Spawner Control v1.0 (1.14.4).jar Better Spawner Control {bsc@1.0 DONE}
        More Zombie Villagers v1.0 (1.14.4).jar More Zombie Villagers {mzombv@1.0 DONE}
        forge-1.14.4-28.1.107-universal.jar Forge {forge@28.1.107 DONE}
        Mooshroom Tweaks v1.0 (1.14.4).jar Mooshroom Tweaks {mshrtw@1.0 DONE}
        Named Areas v3.8 (1.14.4).jar Named Areas {nmdar@3.8 DONE}
        Villager Death Messages v1.2 (1.14.4).jar Villager Death Messages {villagerdeathm@1.2 DONE}
        forge-1.14.4-28.1.107-client.jar Minecraft {minecraft@1.14.4 DONE}
        Conduits Prevent Drowned v1.0 (1.14.4).jar Conduits Prevent Drowned {cndtpd@1.0 DONE}
        Enchantment Descriptions v1.3.8 (1.14.4).jar EnchantmentDescriptions {enchdesc@1.3.8 DONE}
        AmbientSounds v3.0.14 (1.14.4).jar Ambient Sounds {ambientsounds@3.0.3 DONE}
        Mouse Tweaks v2.12 (1.14.4).jar Mouse Tweaks {mousetweaks@2.12 DONE}
        Biomes O' Plenty v9.0.0.262 (1.14.4).jar Biomes O' Plenty {biomesoplenty@1.14.4-9.0.0.259 DONE}
        Cycle Paintings v1.0 (1.14.4).jar Cycle Paintings {cycp@1.0 DONE}
        Grindstone Sharpens Tools v1.2 (1.14.4).jar Grindstone Sharper Tools {grindst@1.2 DONE}
        Simple Farming v1.2.5 (1.14.4).jar Simple Farming {simplefarming@1.14.4-1.2.5 DONE}
        Guard Illagers v1.0.1 (1.14.4).jar GuardIllagers {guardillagers@1.0.1 DONE}
        FlashFyre's Enchantments v1.2.3 (1.14.4).jar FlashFyre's Enchantments {ffenchants@1.2.3 DONE}
        Spartan Shields v2.0.0 (1.14.4).jar Spartan Shields {spartanshields@2.0.0 DONE}
        Corail Woodcutter v1.0.6 (1.14.4).jar Corail Woodcutter {corail_woodcutter@1.0.6 DONE}
        (DEPENDENCY) Mantle v1.4.32 (1.14.4).jar Mantle {mantle@1.4.32 DONE}
        Xaero's Minimap v1.19.3 (1.14.4).jar Xaero's Minimap {xaerominimap@1.19.3 DONE}
        More Charcoal v6 (1.14.4).jar More Charcoal {morecharcoal@1.14.4-6 DONE}
        (DEPENDENCY) AutoRegLib v1.4.35 (1.14.4).jar AutoRegLib {arl@1.4-35 DONE}
        GraveStone Mod v1.15.2 (1.14.4).jar Gravestone Mod {gravestone@1.15.2 DONE}
        Storage Drawers v6.0.5 (1.14.4).jar Storage Drawers {storagedrawers@1.14.4-6.0.3 DONE}
        Backpacked v1.2.0 (1.14.4).jar Backpacked {backpacked@1.2.0 DONE}
        Just Player Heads v1.0 (1.14.4).jar Just Player Heads {jph@1.0 DONE}
        Crying Ghasts v1.0 (1.14.4).jar Crying Ghasts {cg@1.0 DONE}
        AppleSkin v1.0.13 (1.14.4).jar AppleSkin {appleskin@1.0.13 DONE}
        Cherished Worlds v2.0 (1.14.4).jar Cherished Worlds {cherishedworlds@FORGE-1.14.4-2.0 DONE}
        Nether Portal Spread v2.1 (1.14.4).jar Nether Portal Spread {nps@2.1 DONE}
        Easy Elytra Takeoff v1.1 (1.14.4).jar Easy Elytra Takeoff {easyelytrato@1.1 DONE}
        Smaller Nether Portals v1.1 (1.14.4).jar Smaller Nether Portals {smallernp@1.1 DONE}
        Charm v1.4.3 (1.14.4).jar Charm {charm@1.14.4-1.4.3 DONE}
        Quark v2.0-204 (1.14.4).jar Quark {quark@r2.0-204 DONE}
        Fast Leaf Decay v17 (1.14.4).jar FastLeafDecay {fastleafdecay@v17 DONE}
        Cosmetic Armor Reworked v1a (1.14.4).jar CosmeticArmorReworked {cosmeticarmorreworked@1.14.4-v1a DONE}
    Player Count: 1 / 8; [ServerPlayerEntity['DigitalLucas'/4, l='Mod Testing 12-20-19', x=-21.23, y=35.06, z=-30.26]]
    Data Packs: vanilla, mod:ambientsounds, mod:appleskin, mod:arl, mod:attributefix, mod:backpacked, mod:bambooblocks, mod:biomesoplenty, mod:bsc, mod:carryon, mod:cg, mod:charm, mod:cherishedworlds, mod:cndtpd, mod:controlling, mod:cookingforblockheads, mod:corail_woodcutter, mod:cosmeticarmorreworked, mod:cosmeticbeds (incompatible), mod:create, mod:cycp, mod:dismounte, mod:easyelytrato, mod:enchdesc, mod:endergetic, mod:ep, mod:fastleafdecay, mod:ffenchants, mod:fishtraps, mod:florist, mod:forge, mod:gravestone, mod:grindst, mod:guardillagers, mod:inventorysorter, mod:jei, mod:jph, mod:mantle, mod:morecharcoal, mod:moreoresinone, mod:mousetweaks, mod:mshrtw, mod:mzombv, mod:nmdar, mod:placebo, mod:progressivebosses, mod:quark, mod:randompatches, mod:reap, mod:shb, mod:spartanshields, mod:storagedrawers, mod:upgrade_aquatic, mod:villagerdeathm, mod:vilnames, mod:waila, mod:wsw, mod:xaerominimap, mod:xaeroworldmap, file/blingedit v1.0.5.zip (incompatible), mod:mgui, mod:nps, mod:simplefarming, mod:tetra, mod:wstweaks, mod:smallernp
    Type: Integrated Server (map_client.txt)
    Is Modded: Definitely; Client brand changed to 'forge'
    OptiFine Version: OptiFine_1.14.4_HD_U_F5
    OptiFine Build: 20191204-141250
    Render Distance Chunks: 10
    Mipmaps: 4
    Anisotropic Filtering: 1
    Antialiasing: 0
    Multitexture: false
    Shaders: null
    OpenGlVersion: 4.5.0 - Build 22.20.16.4836
    OpenGlRenderer: Intel(R) HD Graphics 520
    OpenGlVendor: Intel
    CpuCount: 4
LezChap commented 4 years ago

https://pastebin.com/309ctwWg

Looks like the same stacktrace. It occurred when a player broke a drawer that was being pulled out of incorrectly by automation (via a Drawer Controller?) to try to stop the automation.

edit: Appears it's only a single crash, not a crashloop like the last mod that had a similar "cannot cast air to the TE class" error I faced...so that's good.

Nonsanity commented 4 years ago

I got this too: https://pastebin.com/ti8zpuB1

30 or so single-item drawers, some empty, some with upgrades, attached to a controller. I was breaking an empty one with no upgrades.

jaquadro commented 4 years ago

I'm assuming the mod is hanging on to the IItemHandler beyond the stack frame where it originally got it, so it goes to use it and the block/tile that backs it doesn't exist anymore. I consider that a bad interaction, but there are several places I can be more defensive about validating block state so that a crash won't happen.

jaquadro commented 4 years ago

Fixed in latest 1.14 and 1.15 (probably)