PurpurMC / Purpur

Purpur is a drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features.
https://purpurmc.org
MIT License
2.04k stars 358 forks source link

Crash with EWG #71

Closed LukaPix closed 4 years ago

LukaPix commented 4 years ago

Random very weird Server Crash when genearting an EpicWorldGenerator World.

i first opened it on the EWG Issue tracker but it seems to only happen to purpur.

https://github.com/jonryf/EpicWorldGenerator-bugtracker/issues/126

jpenilla commented 4 years ago

Can you test on Tuinity? I would bet this is due to their changes. EWG likely does some sketchy NMS that is broken by Spottedleaf's optimizations.

chrismwiggs commented 4 years ago

Can confirm I get the same error on Purpur and Tuinity, but not paper (1.16.2/3).

BillyGalbreath commented 4 years ago

The problem is EWG devs dont understand how to properly detect Paper instances. Purpur is a Paper instance, but EWG does not see it as such. Instead, EWG sees Purpur as a generic Bukkit instance.

This is a crucial difference because Bukkit bundles in a java library called FastUtil and they relocate it to a bukkit package. Paper removes the relocation so the package is in the normal place. This means, on Paper and all its forks (Tuinity, Purpur, etc) FastUtil is at its normal location. But EWG errors because it's trying to use FastUtil as Bukkit's relocated location due to EWG's improper Paper detection.

There is nothing I can do to fix this on Purpur's end. It is purely on the plugin side to fix. Good luck, though. EWG devs are notorious for things like this.