Can reproduce in 1.19.2. When starting spawning sequence repetitively MSPT will raise from ~3.6 to over 40. To reproduce, build a flying machine and watch it freeze for a short period of time when respawning the dragon.
From my testing every time the dragon is respawned the server thread takes ~13ms to process.
I believe it is because once the last end crystal is placed it triggers the following loops
for(BlockPattern.Result result = this.findEndPortal(); result != null; result = this.findEndPortal()) {
for(int i = 0; i < this.endPortalPattern.getWidth(); ++i) {
for(int j = 0; j < this.endPortalPattern.getHeight(); ++j) {
for(int k = 0; k < this.endPortalPattern.getDepth(); ++k) {
...which is all just to replace exit portals with endstone from older versions (versions before 15w31a), when they could be spawned at the player position upon death of the ender dragon.
Can reproduce in 1.19.2.
When starting spawning sequence repetitively MSPT will raise from ~3.6 to over 40.
To reproduce, build a flying machine and watch it freeze for a short period of time when respawning the dragon.
From my testing every time the dragon is respawned the server thread takes ~13ms to process.
I believe it is because once the last end crystal is placed it triggers the following loops
where
also does the following loops
...which is all just to replace exit portals with endstone from older versions (versions before 15w31a), when they could be spawned at the player position upon death of the ender dragon.