done for.
eonrickity opened this issue ยท 10 comments
Hmm... it seems Metamorph does not feed in empty NBT data to the EntityMimic. It asks EntityMimic to provide its own data (via serializeNBT()), which it then feeds back into the EntityMimic. Overall, the Mimic's default entity NBT data looks mostly harmless.
I believe the source of the problem lies in Minecraft's BlockStateBase.toString(). When the block state does not have any properties, Minecraft omits the brackets ("[" and "]") which Blood Magic's StateUtil depends on in order to work properly. Apparently, the air block, which the mimic defaults to, does not have any block state properties. Perhaps this crash hasn't showed up before because most vanilla blocks have at least one block state property. Any block which does not have any block state properties will likely cause this issue.
I've reproduced this same exception with just Blood Magic and iron ore. See the issue below:
Since this issue post is clearly not very informative, I'm happy to provide additional intel.
WayofTime/BloodMagic#1572 <-- same issue report, except on the BloodMagic side of the GitHub issue tracker
WayofTime/BloodMagic#1477 <-- Some mod author you should be very familiar with that has reported the same issue... some while ago.
I want to point out that this was not a rant about you, @eonrickity, we're used to non-informative issue reports. It is supposed to be a shout-out to this mod's dev because he has been informed about this issue more than 3 months ago and not done anything about it yet.
Not to mention that he said he couldn't do anything about it which is either a lie or complete ignorance. And frankly, I'm not sure which is worse.
That being said, please try to use this in a somewhat professional manner.
You changed the title from something remotely useful to something completely unconstructive.
Don't close an issue yourself if it is relevant. This is a Metamorph issue. It should remain open.
Don't edit or delete issue reports. First off, history is public. Everyone who looks at it in the future will see that you were throwing a fit and tried to hide it afterwards. Not to mention that it's going to annoy everyone else.
Lastly, you can just remove Metamorph and start it up again. It'll remove the Metamorph data from your save and thus also the mimic from your save and by that allow you to start up your world again.
Afterwards (if the config of this mod is worth anything), you can blacklist the mimic model and then add Metamorph and the models you had through commands.
Thus, your issue is fixed without an update.
However. For the future, please abstain from asking people for an immediate update for your issue, it makes you sound entitled.
I'm pretty sure it's just a misunderstanding.
While I'm generally in favor of basic data sanity checks when deserializing NBT, it wouldn't hurt for Metamorph to check if the NBT data is "empty" and not deserialize in that case. Blood Magic probably isn't the only mod that doesn't do those sanity checks.
I'm not too familiar with vanilla commands, but McHorse may also have a point if it turns out that spawning a Blood Magic mimic with the /summon
command crashes the game. Probably less of a priority from TehNut's perspective, I'd imagine.
In the meantime, a workaround is to add "bloodmagic:mimic" to the blacklist as described in the wiki:
https://github.com/mchorse/metamorph/wiki/Blacklisting-Morphs
I haven't tried fixing the bug, so not sure if that will work, but that's my guess.
Yeah, probably it would be a good idea to blacklist, however, I don't have any energy or motivation to do it. As I stated already in #10, I don't want to support the gameplay aspect of Metamorph mod.
If anyone feeling like submitting PR, feel free to add to event.blacklist
a "bloodmagic:mimic"
over here. Although, I very appreciate @Iorce and @asanetargoss.