amadornes / MCMultiPart

A universal multipart API for Modern Minecraft
Other
67 stars 23 forks source link

Crash when using Placement Preview mod. #39

Closed ChloeDawn closed 8 years ago

ChloeDawn commented 8 years ago

Game crashes when looking at a MultiPart block such as a microblock from Simple Covers, and Mekanism cables, whilst also using the Placement Preview mod, which renders a preview of the block you're about to place. It crashes when trying to render the preview of the block.

To quote @maruohon:

"Seems that MCMultipart is not checking that the world is actually a WorldServer before trying to cast it to one."

Full crash report: pastebin.com/CHEhbPYW

Placement Preview version: 0.1.0 Minecraft version: 1.10.2 Forge version: 12.18.1.2046

maruohon commented 8 years ago

This assumption of isRemote == false -> WorldServer seems to be common and also usually a reasonable one. Thus there isn't really a point in fixing this in MCMultiPart, it would still keep crashing with many other mods...

I have fixed this in my dev version of Placement Preview by piling up tons of new hacky code to get my fake world to be a WorldServer... I just need to do more testing to try to convince myself that it doesn't break other things even more massively...

All in all I quite badly regret ever releasing the Placement Preview mod due to how hacky it gets to even try to keep it working with other mods that do more advanced things on block placement >_>

amadornes commented 8 years ago

I was about to say, most mods don't check this because networking assumes the world is either a WorldClient or a WorldServer and it's never supposed to just be a World, and MCMP is no exception. It'd crash anyways with a ton of other mods because it's not the way MC's networking is designed to work so yes, I agree that (although it's hacky) you should make your world a WorldServer :P