Dynamic Surroundings

Dynamic Surroundings

51M Downloads

[1.12.2] Possible conflict with Tinker's Construct? Game can randomly crash while attacking mobs.

SonicX8000 opened this issue ยท 7 comments

commented

Minecraft: 1.12.2
Forge: 14.23.5.2824

Mods: 4
DynamicSurroundings-1.12.2-3.5.4.3
Mantle-1.12-1.3.3.49
OreLib-1.12.2-3.5.2.2
TConstruct-1.12.2-2.12.0.135

Crash Report:
https://pastebin.com/8RneByWZ

This was tough to pin down since the crash is random and sometimes it may not even occur at all. What happens is that while attacking a mob in the nether with a Tinker's Tool, the game may crash and it's a type of crash that randomly occurs so this was quite a task to pin down what mods were causing the problem.

For attempting to figure out the crash... I've made a redstone clock with a command block '/effect @e[type=!player] minecraft:instant_damage 1 10' so it gives entities the instant_damage potion effect besides the player. This heals undead mobs so the mobs that I kill are a bunch of zombie pigmen in a 3x3 block pit while using a Tinker's Scythe due to it's AOE. I made the scythe unbreakable just so I don't have to stop & repair the scythe thanks to Tinker's Tool Leveling's creative modifiers and it carries over if Tinker's Tool Leveling was removed.

I gave myself a high level Haste effect to bypass the attack cooldown and to not starve I gave myself a high level Saturation effect . What I had on my scythe exactly is all Cobalt Parts, Fiery, Diamond, Emerald, Haste, Necrotic, Unbreakable, and Sharp. Once everything was set, I went ahead and begun slaughtering the zombie pigmen.

Since the scythe has AOE range, you can score a bunch of hits on them while the command block heals them and if DynamicSurroundings is installed... critical hit words will appear. Now in due time which may take a while... the game will crash and you'll get what's shown in the crash report.

What really puzzles me is that it points towards 'Tinker's Construct' with the 'ParticleEffect crash in the report.

I forgot to mention that even if the critical hit words & pop offs are disabled in DynamicSurroundings config, the game can still crash when attacking a mob.

commented

This may be a bit of a stretch but... what if maybe... since Tinkers Construct has these special heart particles that appear if you're using...

Rapiers as they spawn chainmail-like hearts for Armor Piercing.
Fiery Modifier which shows a orange burning heart.
Sharp Trait which uses dark red hearts with a blood drop inside it if the target is bleeding.
Prickly/Spike Traits which shows a green cactus heart.
Shocking Trait which spawns a yellow-orange heart with a bolt inside it.

...I wonder if those could be related somehow. Been trying to get the game to crash with using regular damage with none of those special heart particles and it doesn't seem to crash. I could be just unlucky given how random it can be but just throwing it out there.

commented

Got back to testing this... I think I MAY of found the source of the crashing although I'm still testing this out currently in a test world so this post may change. Anyway...

Minecraft: 1.12.2
Forge: 14.23.5.2847

Mods: 5
DynamicSurroundings-1.12.2-3.6.0.2
jei_1.12.2-4.15.0.291
Mantle-1.12-1.3.3.55
OreLib-1.12.2-3.6.0.1
TConstruct-1.12.2-2.13.0.171

If you set this config option under the 'Profiles' section to 'true' in 'config/dsurround/dsurround.cfg'...

    # Disable weather effects in the Nether
    B:"No Nether Weather"=true

...no crash seems to occur when using Tinker Tools that spawn custom particles in the Nether. Been using a Tinker's Scythe with the 'Fiery' modifier in the Nether on some Zombie Pigman and that modifier spawns a custom fiery heart particle when damaging a mob. 30+ Minutes so far and no crash yet.

Now I'm going to set it back to 'false' and do another test. Crashed in about 20 seconds... reloaded, crashed in about 5 seconds, reloaded... crashed in about 1 minute and 22 seconds... reload, crashed in about 6 seconds.

Setting it back to 'true'... did another go... 20 Minutes in... no crash. Decided to stop at that point since that was quite a number of left-clicks being done with scything up the Zombie Pigman.


The only thing that I know of for that option is that it spawns red dust particles in the nether if the weather is rainy/thunder. Netherack Blocks also emit smoky particles when it's rain/thunder. Is it possible that something related to that option is conflicting? Or is Tinkers' Custom particles not liking what that option does to the Nether or something?

That's the only option that was changed. Everything else were the default options.

P.S.
I can provide the world save & config file & mods for testing if need be.


EDIT
Alright, so I loaded this in a survival world with "No Nether Weather" set to 'true' with other mods and I haven't encountered any sort of crash with attacking mobs in the Nether.

I was using the Tinkers Rapier since that spawns these chain-like heart particles and a Tinkers Shuriken with the 'Sharp' Trait which makes these blood-like heart particles appear whenever the mob takes damage from that trait. Both of those particles would've caused a crash if that option was set to 'false'.

commented

Yup, i'm getting the same problem, here is my issue link:
SlimeKnights/TinkersConstruct#3889

commented

Not Dynamic Surroundings. For what it is worth I sometimes got this crash with my own particles and had to add defensive code.

commented

Ah, welcome back.

If it's not on DS side... and that you get the crash with your own particles... then it's a bug with vanilla? The thing about that is that I've only seen this occur with Tinkers & DS together.

In a private pack with quite a number of mods added, I've removed DS just to see if I would get the same crash to occur and it never occurred. I'll give a mention to the Tinkers Dev about it.

Unless it's related to the Defensive Code, but I dunno.

commented

I never root caused it. In my experiences for some reason the extended data for a chunk was not initialized, almost always at startup. My theory is that it is some sort of race condition between client side operational code and when the chunk data is fully available on the client. I am not sure how Tinker's does it's particle effects, but for Dynamic Surroundings they are triggered purely client side. (Sometimes server side code sends a message to the client to spawn particles.)

commented

It's been some time after posting the work around but the above post with "No Nether Weather"=true to avoid crashing with Tinker's Tools..., as long as that's set to true you shouldn't get any crashes with Tinker's Tools with in the Nether.

I think there should be a mention on the main page for this work around until a fix is made on either side.