PneumaticCraft: Repressurized

PneumaticCraft: Repressurized

50M Downloads

Drones and Mystical Agriculture flower crashes game

Syrious opened this issue ยท 6 comments

commented

Minecraft Version: 1.12.2
Forge Version: 14.23.5.2796
Mod Version: 0.8.4-303

Problem:
Placing a harvesting drone near a field of grown mystical aggriculture plants (tested with inferium essence seeds) the game crashes the second the drone scans the flower, rendering the entire world useless.

How to reproduce:

  • Plant inferium essence seeds on soil and let it grow (using a watering can or bone meal)
  • Place a harvesting drone near the plants
  • wait until the drone scans the grown inferium essence plant

EDIT: This seems only be a problem with the Tier 6 inferium seeds So maybe its an bug within the Mod Mystical Agradditions?

commented

I need to see a stacktrace, please.

commented

This should be the important part of the log file:

-- Head --
Thread: Client thread
Stacktrace:
at com.blakebr0.mysticalagradditions.blocks.BlockTier6InferiumCrop.getDrops(BlockTier6InferiumCrop.java:38)
at me.desht.pneumaticcraft.api.harvesting.IHarvestHandler.addFilterItems(IHarvestHandler.java:78)
at me.desht.pneumaticcraft.common.ai.DroneAIHarvest.hasApplicableItemFilters(DroneAIHarvest.java:62)
at me.desht.pneumaticcraft.common.ai.DroneAIHarvest.lambda$getApplicableHandler$0(DroneAIHarvest.java:54)
at me.desht.pneumaticcraft.common.ai.DroneAIHarvest$$Lambda$4937/447511784.test(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1351)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:529)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:516)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
at me.desht.pneumaticcraft.common.ai.DroneAIHarvest.getApplicableHandler(DroneAIHarvest.java:55)
at me.desht.pneumaticcraft.common.ai.DroneAIHarvest.isValidPosition(DroneAIHarvest.java:35)
at me.desht.pneumaticcraft.common.ai.DroneAIBlockInteraction.func_75253_b(DroneAIBlockInteraction.java:138)
at me.desht.pneumaticcraft.common.ai.DroneAIManager.onUpdateTasks(DroneAIManager.java:367)
at me.desht.pneumaticcraft.common.entity.living.EntityDrone.func_70071_h_(EntityDrone.java:414)
at net.minecraft.world.World.func_72866_a(World.java:1993)
at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
at net.minecraft.world.World.func_72870_g(World.java:1955)

-- Entity being ticked --
Details:
Entity Type: pneumaticcraft:harvesting_drone (me.desht.pneumaticcraft.common.entity.living.EntityHarvestingDrone)
Entity ID: 764
Entity Name: Harvesting Drone
Entity's Exact location: -36.50, 4.50, -503.50
Entity's Block location: World: (-37,4,-504), Chunk: (at 11,0,8 in -3,-32; contains blocks -48,0,-512 to -33,255,-497), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
Entity's Momentum: 0.00, -0.00, 0.00
Entity's Passengers: []
Entity's Vehicle: ERROR NullPointerException: null
Stacktrace:
at net.minecraft.world.World.func_72939_s(World.java:1759)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)

-- Affected level --
Details:
Level name: Creative
All players: 1 total; [GCEntityPlayerMP['[Erased]'/612, l='Creative', x=-33.96, y=4.00, z=-499.83]]
Chunk stats: ServerChunkCache: 1355 Drop: 0
Level seed: -1372003077712429255
Level generator: ID 01 - flat, ver 0. Features enabled: true
Level generator options:
Level spawn location: World: (-468,4,509), Chunk: (at 12,0,13 in -30,31; contains blocks -480,0,496 to -465,255,511), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
Level time: 1836521 game time, 6000 day time
Level dimension: 0
Level storage version: 0x04ABD - Anvil
Level weather: Rain time: 1 (now: false), thunder time: 1 (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:767)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
at java.lang.Thread.run(Thread.java:745)

commented

This is most certainly a bug in MysticalAgradditions.

Line 38 of BlockTier6InferiumCrop is wrongly casting the IBlockAccess world parameter to World - that is simply not a safe thing to do, because there is absolutely no guarantee that a IBlockAccess is a World (and this case, it isn't - it's a ChunkCache object, hence the crash).

commented

Thanks for clearing this up. I posted this problem in Mystical Agradditions issue tracker.

commented

Thanks, I added a comment with a suggested fix to that. Going to close this now, since there's nothing else I can do at this end.

BlakeBr0/MysticalAgradditions#39

commented

I added this in thirdparty.cfg but the world is still crashing.

mysticalagriculture": false, "mysticalagradditions": false

Is there any way to exclude mystical agriculture plants?