Paperspigot is missing some spigot API


#1

Paperspigot is missing some API that spigot has, so plugins (like EWG) are not compatible

[18:58:39] [PaperChunkGen-world/ERROR]: Couldn't generate chunk (world:1319,-1582)
java.util.concurrent.CompletionException: java.lang.NoSuchMethodError: net.minecraft.server.v1_13_R2.RegionLimitedWorldAccess.b(II)Lnet/minecraft/server/v1_13_R2/IChunkAccess;
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:604) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442) ~[?:1.8.0_191]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:260) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:529) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:599) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:617) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture.thenApplyAsync(CompletableFuture.java:1993) ~[?:1.8.0_191]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:147) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.Map.computeIfAbsent(Map.java:957) ~[?:1.8.0_191]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:137) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:105) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:22) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.Map.computeIfAbsent(Map.java:957) ~[?:1.8.0_191]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:137) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus$1.a(SourceFile:53) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus$1.a(SourceFile:27) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.Map.computeIfAbsent(Map.java:957) ~[?:1.8.0_191]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:137) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:105) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:22) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.Map.computeIfAbsent(Map.java:957) ~[?:1.8.0_191]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:137) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:105) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:22) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.Map.computeIfAbsent(Map.java:957) ~[?:1.8.0_191]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:137) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:105) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:22) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:143) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.Map.computeIfAbsent(Map.java:957) ~[?:1.8.0_191]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:137) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:115) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler.a(SourceFile:61) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) ~[?:1.8.0_191]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:260) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.concurrent.CompletableFuture.asyncSupplyStage(CompletableFuture.java:1604) ~[?:1.8.0_191]
at java.util.concurrent.CompletableFuture.supplyAsync(CompletableFuture.java:1830) ~[?:1.8.0_191]
at net.minecraft.server.v1_13_R2.Scheduler.a(SourceFile:62) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.SchedulerBatch.a(SchedulerBatch.java:38) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.SchedulerBatch.add(SchedulerBatch.java:33) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider$PendingChunk.generateChunk(PaperAsyncChunkProvider.java:405) ~[patched_1.13.2.jar:git-Paper-486]
at com.destroystokyo.paper.util.PriorityQueuedExecutor$PendingTask.run(PriorityQueuedExecutor.java:273) ~[patched_1.13.2.jar:git-Paper-486]
at com.destroystokyo.paper.util.PriorityQueuedExecutor.processQueues(PriorityQueuedExecutor.java:196) ~[patched_1.13.2.jar:git-Paper-486]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
Caused by: java.lang.NoSuchMethodError: net.minecraft.server.v1_13_R2.RegionLimitedWorldAccess.b(II)Lnet/minecraft/server/v1_13_R2/IChunkAccess;
at com.minelazz.epicworldgenerator.nativeAPI.implementations.v1_13_R2_2.generator.NativeEpicChunkProvider2.addFeatures(lc:303) ~[?:?]
at net.minecraft.server.v1_13_R2.ChunkTaskCarve.a(SourceFile:13) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkTask.a(SourceFile:35) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkStatus.a(SourceFile:95) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkTaskScheduler.a(ChunkTaskScheduler.java:109) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkTaskScheduler.a(ChunkTaskScheduler.java:16) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Scheduler$a.a(SourceFile:147) ~[patched_1.13.2.jar:git-Paper-486]
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:1.8.0_191]
... 54 more

#2

That is not API, that is an internal class from the vanilla server itself…
EWG is also broken as spigot changed their mappings mid release, causing many plugins, especially those dealing with worlds, to break mid-release; as such, Paper*, as a fork of spigot, also has to suffer from the same implications. EWG needs to be updated


#3

That’s where you wrong. EWG works without any errors with spigot. Not a single problem or error. So rewrite your whole reply, because it looses it’s point at the second line.

I’m writing what I’m writing only because I tested it, a lot. With paperspigot and spigot. It would be dumb to say that without any testing. 7 days of crashing (10-30 times a day) with paperspigot and 20 days of perfect working (0 crashes in 20 days) with spigot. It’s clear that paperspigot is missing something that spigot has. Even if it’s a fork.


#4

Drop the attitude. Don’t be so confident that you’re right - you don’t know what you’re talking about. @electronicboy is right, Spigot did change their mappings mid release without a version bump, which is causing plugins to break like this. Just because you tested with a build of Spigot that worked does not make him wrong.

Again, drop the attitude, you’ve come here seeking help, don’t be a jerk. Also it makes you look like even more of a fool to come off so confident and strong when you are, in fact, wrong.


#5

I solved this kind of problem by using an older release of Paper. I used 429 revision.


#6

That doesn’t solve the problem - all new versions of both Paper and Spigot will break EWG unless it is updated to work with them (and you shouldn’t stick on ancient versions forever).


#7

Thats the point, if the guy wants to generate a map, he can use that older version of Spigot/Paper to pregenerate map with EWG and switch to the newer version of Spigot/Paper.


#8

Making comments that have no meaning is also in the bad side. I clearly said paperapigot is missing something, that means spigot has something. From that you can think that maybe I tested it multiple times before stating such things?
Either way newest paperspigot crashes, newest spigot (from buildtools) doesn’t. The problem still exists.
Maybe next time stating, that I’m wrong, test it. I did, so I can be confident with my every word. Can you?


#9

None of the project developers that I’m aware of have a copy of the project, Spigot has also (the past few days) removed a library critical to EWG, meaning that spigot has created yet another breaking change.

You have not provided any form of proof to us that it works on the latest builds of spigot, yet multiple reports on their own discussion forum confirm that the plugin is broken with the latest version of spigot.


#10

How to prove that something is not crashing? Suggest some method that won’t show all day log of the server.
The server updates from buildtools it’s version every night, so if spigot realeses 2-3 versions in a day (and it’s possible), then yea, it will be in the evening 2-3 versions behind. But every morning the version is newest, and it works, worldborder is loading the world constantly without any issues.
I don’t know what discussion forums are you looking, because for me, 1.13.2 latest version of spigot works perfectly, and 1.13.2 latest version of paperspigot has issues even on start (like holograms just stops working because of chunk loading).


#11

A log file showing that it’s actually working would be better than what you’ve provided so far, ideally on a fresh server so that world generation will occur instantly

HolographicDisplays is working fine for me after updating it


#12

The thing is that it works in freshly started map even with paperspigot. Problems acure after a while of generating the map. When the errors starts with world generator, all existing holograms (that where created before crashes) doesn’t work and players entering new chunks makes the server crash.
The main reason why I can’t prove that it works, is because of log. I don’t want to give it to anybody here. I just did plenty of testing with different paperspigot and spigot versions and my conclusion is one - ewg can’t find methods that it needs in paperspigot, while in spigot it can (or just doesnt show any errors and doesnt crash the server)


#13

Regardless of whether it works or not on Spigot is really irrelevant. The error provided is in line with the mappings changes Spigot has done, and if it works on Spigot than EWG has special cased Spigot to make it work.

This all ultimately relies on EWG to ensure it works on Paper. We are unable to modify the EWG plugin to make it compatible. We are not able to revert Spigot’s changes that caused this, so it’s not a problem with Paper.