Diagonal Fences

Diagonal Fences

1M Downloads

[Crash-1.21-Neo]: Crash when booting game with Framed Blocks installed.

Gbergz opened this issue ยท 3 comments

commented

Mod Loader (Required)

NeoForge 21.0.167

Minecraft Version(s) (Required)

1.21

Mod Version(s) (Required)

21.0.0

Minimal Setup

Yes

Notes (Required)

Install Diagonal Fences + Dependencies
Install Framed Blocks
Boot.
Crash.

Crash Report (Required)

https://gist.githubusercontent.com/Gbergz/9eebebd2d60a5d90c0ca1545728bbe4c/raw/3c1ad5e83a5c2a75aee5db4db75b8f5ba3caaecb/gistfile1.txt

latest.log (Optional)

https://gist.githubusercontent.com/Gbergz/d0313746577e95345b6c2fe89d278b5f/raw/e0acd995854ec7eae7990fd38d8e139c0ab30c2a/gistfile1.txt

Notes

This might be on Framed Blocks side entirely, but I'll report here to make sure.

commented

Yeah report this to Framed Blocks as well to see what XFactHD has to say about it.
The main issue is probably gonna be to get both our IClientBlockExtensions implementations compatible.

commented

I have mitigated the crash on my end my no-oping Block#initializeClient() on the two affected blocks (fence and pane) in FramedBlocks. Since I already have handling for reducing the particle spam from high-resolution collision boxes, I can safely ignore your default IClientBlockExtensions. In the long run, the proper solution would be for NeoForge to provide a way to check for the presence of an extension in the RegisterClientExtensionsEvent (the initializeClient() methods are deprecated and will be removed in the future) and for DiagonalBlocks to register a low priority listener for that event and then check for the presence of a custom extension before registering its default one.

commented

Just as a heads-up, NeoForge 21.1.21 added the ability to check in RegisterClientExtensionsEvent whether a given object already has an extension registered for it. This would allow you to switch to the event with a low or lowest priority listener and register extensions for all your blocks which did not already get an extension registered by the mod where the underlying non-diagonal block came from.