update paper 1.20.6#220
Conversation
|
https://github.com/KyoriPowered/adventure/releases/tag/v4.17.0 was just released |
|
btw remapper - net.fabricmc:tiny-remapper:0.10.1:fat -> net.fabricmc:tiny-remapper:0.10.2:fat I think the changes are minor, but it still seems necessary |
I found it. But upstream paper using So I'm not sure if it should be modified in folia patch, I think maybe its belonging to paper's patch? |
|
Are you sure? It has been updated an hour ago or so. |
Yes, UR right. It vital for some class to be decompiled. |
This has been fixed by Paper |
(It was moved into net.minecraft.world.level.chunk.status)
…nging on upstream)
|
Migrations from folia's patch are done, there still a syntax err in Anyway, patches can be compiled allreday. |
… hit block BlockPos
|
Fine, I got new problem. Any commands send by client will cause "Internal Exception: java.lang.UnsupportedOperationException", and then kicked. This fault has no stacktrace, just "Internal Exception", I dont know how to debug it. |
|
enable debug in server.properties or attach a profiler which can do exception recording but, large PRs should generally be cleared by leaf first, not sure how much acceptance there is towards pulling in an update from somebody else |
Is he on vacation now? There is no information when we will be able to get a review of this PR or update to 1.20.6? |
You can attach exception catchers on the netty threads, that'll be usually it unless you're testing with plugins iirc you're not it seems, I'll get on development in your branch too, to help test out and get it ready. |
…ava.lang.UnsupportedOperationException"
Thanks for your guide, I have solved it. Look like works fine :) |
|
Are you missing something on ProjectileDispenseBehavior? it doesn't build, it's missing .get() |
Yes I leave it alone, because I thought that's upstream's work. It doesnt caused by folia patch, so I keep it out of folia's patch. For now I change it manually each time before I build. Do you guys think it should be in folia's patch? If so, I may add it. |
|
Yes, that's a folia change, it should be changed, on paper that's a boolean, on folia for thread safety that's a thread local. IT should be on the patch |
Ok , got it. I may have a missing. |
|
Things should be looks better now. |
|
this all lgtm, seems to be working already tested the majority of the features, including experimental. |
| + ca.spottedleaf.concurrentutil.executor.standard.PrioritisedExecutor.Priority.NORMAL, | ||
| + (chunks) -> { | ||
| + try { | ||
| + // Folia end - region threading | ||
| + | ||
| PlaceCommand.checkLoaded(worldserver, chunkcoordintpair, chunkcoordintpair); |
There was a problem hiding this comment.
load check should be before chunk load
| @Override | ||
| public void handleChatCommand(ServerboundChatCommandPacket packet) { | ||
| if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) { | ||
| this.tryHandleChat(packet.command(), () -> { | ||
| + this.player.getBukkitEntity().taskScheduler.schedule((ServerPlayer player) -> { // Folia - region threading |
| @@ -15870,6 +15902,7 @@ index 1e5f709115007ff19901c0a6c3cf884d9e4d3a6c..08daa5ed0b4b599836b97eef1e53e630 | |||
| + ServerLevel worldserver1 = ((CraftWorld)selectedSpawn.getWorld()).getHandle(); | |||
| + player.setPosRaw(selectedSpawn.getX(), selectedSpawn.getY(), selectedSpawn.getZ()); | |||
| + player.lastSave = System.nanoTime(); // changed to nanoTime | |||
| + Optional<CompoundTag> optional = this.load(player); // CraftBukkit - decompile error // Folia - region threading - rewrite login process | |||
There was a problem hiding this comment.
should not be double-loading the data
| long l = entity.level().getGameTime(); | ||
|
|
||
| - for(BehaviorControl<? super E> behaviorControl : this.getRunningBehaviors()) { | ||
| + for(BehaviorControl<? super E> behaviorControl : behaviors) { // Folia - region threading |
| + | ||
| } | ||
|
|
||
| - private <T> ScheduledTick<T> createTick(BlockPos pos, T type, int delay) { |
There was a problem hiding this comment.
we shouldn't be changing the visibility unless required
| if (optional.isPresent() && optional.get() == world.dimension() && compoundTag.contains("LodestonePos")) { | ||
| BlockPos blockPos = NbtUtils.readBlockPos(compoundTag.getCompound("LodestonePos")); | ||
| - if (!world.isInWorldBounds(blockPos) || (world.hasChunkAt(blockPos) && !((ServerLevel)world).getPoiManager().existsAtPosition(PoiTypes.LODESTONE, blockPos))) { // Paper - Prevent compass from loading chunks | ||
| + // Folia start - do not access the POI data off-region |
There was a problem hiding this comment.
this patch is needed, as the logic was just moved elsewhere
|
In general we (Paper included) don't take external work for updates, since there's a lot of things involved that can go wrong |


Try to update for 1.20.6.
Known problems:
kyori:adventureversions doesnt match, and4.17.0is not available;ChunkStatus.javaclass missing;