WorldData creates a nullpointer at fawe #30

Closed
opened 2023-04-02 23:19:50 +02:00 by TheMeinerLP · 10 comments
TheMeinerLP commented 2023-04-02 23:19:50 +02:00 (Migrated from github.com)

Expected behavior

Fawe use for regeneration of chunks some methods. Normally getBlockEntity gives us every block tile entity from the chunk.

Observed/Actual behavior

The chunk level data random empty.

Steps/models to reproduce

  1. Clone https://github.com/IntellectualSites/FastAsyncWorldEdit/pull/2171 branch from me.
  2. Clear a section with FAWE and try to regenerate the cleared area.

Plugin and Datapack List

image

Folia version

image

Other

No response

### Expected behavior Fawe use for regeneration of chunks some methods. Normally `getBlockEntity` gives us every block tile entity from the chunk. ### Observed/Actual behavior The chunk level data random empty. ### Steps/models to reproduce 1. Clone https://github.com/IntellectualSites/FastAsyncWorldEdit/pull/2171 branch from me. 2. Clear a section with FAWE and try to regenerate the cleared area. ### Plugin and Datapack List <img width="521" alt="image" src="https://user-images.githubusercontent.com/6745190/229379544-4ce79c12-a094-46c6-bdbf-b585143cf7ba.png"> ### Folia version <img width="541" alt="image" src="https://user-images.githubusercontent.com/6745190/229379549-f4f081d8-9c02-4211-b06e-1a0a73b909e9.png"> ### Other _No response_
Spottedleaf commented 2023-04-02 23:44:18 +02:00 (Migrated from github.com)

getBlockEntity should only be executed by the ticking region

getBlockEntity should only be executed by the ticking region
TheMeinerLP commented 2023-04-02 23:47:18 +02:00 (Migrated from github.com)

But some times are null internally in FOLIA.
Over Paperweight i got some errors. But randomly

But some times are null internally in FOLIA. Over Paperweight i got some errors. But randomly
JRoy commented 2023-04-02 23:50:07 +02:00 (Migrated from github.com)

But some times are null internally in FOLIA. Over Paperweight i got some errors. But randomly

Likely not the case, report them as they arise

> But some times are null internally in FOLIA. Over Paperweight i got some errors. But randomly Likely not the case, report them as they arise
TheMeinerLP commented 2023-04-02 23:52:02 +02:00 (Migrated from github.com)

Here the stacktrace:

java.lang.NullPointerException: Cannot read field "capturedTileEntities" because the return value of "net.minecraft.server.level.WorldServer.getCurrentWorldData()" is null
	at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:565) ~[?:?]
	at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:558) ~[?:?]
	at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightGetBlocks.getTile(PaperweightGetBlocks.java:240) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.world.block.CompoundInput$1.get(CompoundInput.java:12) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.world.block.BlockState.toBaseBlock(BlockState.java:458) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.queue.implementation.blocks.CharGetBlocks.getFullBlock(CharGetBlocks.java:23) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.queue.implementation.chunk.ChunkHolder$2.getFullBlock(ChunkHolder.java:511) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.queue.implementation.chunk.ChunkHolder.getFullBlock(ChunkHolder.java:1125) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.queue.IChunkExtent.getFullBlock(IChunkExtent.java:70) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.bukkit.adapter.Regenerator$PlacementPattern.apply(Regenerator.java:322) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extent.Extent.setBlocks(Extent.java:756) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.extent.LimitExtent.setBlocks(LimitExtent.java:324) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.extent.PassthroughExtent.setBlocks(PassthroughExtent.java:163) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.EditSession.setBlocks(EditSession.java:1118) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.bukkit.adapter.Regenerator.copyToWorld(Regenerator.java:304) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.bukkit.adapter.Regenerator.regenerate(Regenerator.java:129) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightFaweAdapter.regenerate(PaperweightFaweAdapter.java:630) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.bukkit.BukkitWorld.regenerate(BukkitWorld.java:253) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.wrappers.WorldWrapper.regenerate(WorldWrapper.java:278) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.command.RegionCommands.regenerate(RegionCommands.java:704) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.command.RegionCommandsRegistration.cmd$_regen(RegionCommandsRegistration.java:949) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at org.enginehub.piston.CommandManager.execute(CommandManager.java:157) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommandOnCurrentThread$16(PlatformCommandManager.java:730) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandTask(PlatformCommandManager.java:751) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandOnCurrentThread(PlatformCommandManager.java:732) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommand$13(PlatformCommandManager.java:702) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.lambda$runAction$1(AbstractPlayerActor.java:672) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$run$0(AsyncNotifyQueue.java:28) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$call$1(AsyncNotifyQueue.java:45) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428) ~[?:?]
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
[23:51:06] [FAWE Thread for player: Seelenretterin/INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world'
[23:51:06] [FAWE Thread for player: Seelenretterin/INFO]: [ChunkHolderManager] Halted chunk system for world 'world'
Here the stacktrace: ``` java.lang.NullPointerException: Cannot read field "capturedTileEntities" because the return value of "net.minecraft.server.level.WorldServer.getCurrentWorldData()" is null at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:565) ~[?:?] at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:558) ~[?:?] at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightGetBlocks.getTile(PaperweightGetBlocks.java:240) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.world.block.CompoundInput$1.get(CompoundInput.java:12) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.world.block.BlockState.toBaseBlock(BlockState.java:458) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.queue.implementation.blocks.CharGetBlocks.getFullBlock(CharGetBlocks.java:23) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.queue.implementation.chunk.ChunkHolder$2.getFullBlock(ChunkHolder.java:511) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.queue.implementation.chunk.ChunkHolder.getFullBlock(ChunkHolder.java:1125) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.queue.IChunkExtent.getFullBlock(IChunkExtent.java:70) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.bukkit.adapter.Regenerator$PlacementPattern.apply(Regenerator.java:322) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.extent.Extent.setBlocks(Extent.java:756) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.extent.LimitExtent.setBlocks(LimitExtent.java:324) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.extent.PassthroughExtent.setBlocks(PassthroughExtent.java:163) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.EditSession.setBlocks(EditSession.java:1118) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.bukkit.adapter.Regenerator.copyToWorld(Regenerator.java:304) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.bukkit.adapter.Regenerator.regenerate(Regenerator.java:129) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightFaweAdapter.regenerate(PaperweightFaweAdapter.java:630) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.bukkit.BukkitWorld.regenerate(BukkitWorld.java:253) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.wrappers.WorldWrapper.regenerate(WorldWrapper.java:278) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.command.RegionCommands.regenerate(RegionCommands.java:704) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.command.RegionCommandsRegistration.cmd$_regen(RegionCommandsRegistration.java:949) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at org.enginehub.piston.CommandManager.execute(CommandManager.java:157) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommandOnCurrentThread$16(PlatformCommandManager.java:730) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandTask(PlatformCommandManager.java:751) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandOnCurrentThread(PlatformCommandManager.java:732) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommand$13(PlatformCommandManager.java:702) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.lambda$runAction$1(AbstractPlayerActor.java:672) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$run$0(AsyncNotifyQueue.java:28) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$call$1(AsyncNotifyQueue.java:45) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428) ~[?:?] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] [23:51:06] [FAWE Thread for player: Seelenretterin/INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world' [23:51:06] [FAWE Thread for player: Seelenretterin/INFO]: [ChunkHolderManager] Halted chunk system for world 'world' ```
JRoy commented 2023-04-03 00:02:38 +02:00 (Migrated from github.com)

Here the stacktrace:

java.lang.NullPointerException: Cannot read field "capturedTileEntities" because the return value of "net.minecraft.server.level.WorldServer.getCurrentWorldData()" is null
	at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:565) ~[?:?]
	at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:558) ~[?:?]
	at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightGetBlocks.getTile(PaperweightGetBlocks.java:240) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.world.block.CompoundInput$1.get(CompoundInput.java:12) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.world.block.BlockState.toBaseBlock(BlockState.java:458) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.queue.implementation.blocks.CharGetBlocks.getFullBlock(CharGetBlocks.java:23) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.queue.implementation.chunk.ChunkHolder$2.getFullBlock(ChunkHolder.java:511) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.queue.implementation.chunk.ChunkHolder.getFullBlock(ChunkHolder.java:1125) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.queue.IChunkExtent.getFullBlock(IChunkExtent.java:70) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.bukkit.adapter.Regenerator$PlacementPattern.apply(Regenerator.java:322) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extent.Extent.setBlocks(Extent.java:756) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.extent.LimitExtent.setBlocks(LimitExtent.java:324) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.extent.PassthroughExtent.setBlocks(PassthroughExtent.java:163) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.EditSession.setBlocks(EditSession.java:1118) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.bukkit.adapter.Regenerator.copyToWorld(Regenerator.java:304) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.bukkit.adapter.Regenerator.regenerate(Regenerator.java:129) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightFaweAdapter.regenerate(PaperweightFaweAdapter.java:630) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.bukkit.BukkitWorld.regenerate(BukkitWorld.java:253) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.wrappers.WorldWrapper.regenerate(WorldWrapper.java:278) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.command.RegionCommands.regenerate(RegionCommands.java:704) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.command.RegionCommandsRegistration.cmd$_regen(RegionCommandsRegistration.java:949) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at org.enginehub.piston.CommandManager.execute(CommandManager.java:157) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommandOnCurrentThread$16(PlatformCommandManager.java:730) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandTask(PlatformCommandManager.java:751) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandOnCurrentThread(PlatformCommandManager.java:732) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommand$13(PlatformCommandManager.java:702) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.lambda$runAction$1(AbstractPlayerActor.java:672) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$run$0(AsyncNotifyQueue.java:28) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$call$1(AsyncNotifyQueue.java:45) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?]
	at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428) ~[?:?]
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
[23:51:06] [FAWE Thread for player: Seelenretterin/INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world'
[23:51:06] [FAWE Thread for player: Seelenretterin/INFO]: [ChunkHolderManager] Halted chunk system for world 'world'

Again seems like you're calling from the FAWE thread, the only way getCurrentWorldData returns null if it's not a tick thread.

> Here the stacktrace: > > ``` > java.lang.NullPointerException: Cannot read field "capturedTileEntities" because the return value of "net.minecraft.server.level.WorldServer.getCurrentWorldData()" is null > at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:565) ~[?:?] > at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:558) ~[?:?] > at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightGetBlocks.getTile(PaperweightGetBlocks.java:240) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.world.block.CompoundInput$1.get(CompoundInput.java:12) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.world.block.BlockState.toBaseBlock(BlockState.java:458) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.queue.implementation.blocks.CharGetBlocks.getFullBlock(CharGetBlocks.java:23) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.queue.implementation.chunk.ChunkHolder$2.getFullBlock(ChunkHolder.java:511) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.queue.implementation.chunk.ChunkHolder.getFullBlock(ChunkHolder.java:1125) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.queue.IChunkExtent.getFullBlock(IChunkExtent.java:70) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.bukkit.adapter.Regenerator$PlacementPattern.apply(Regenerator.java:322) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.extent.Extent.setBlocks(Extent.java:756) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.extent.LimitExtent.setBlocks(LimitExtent.java:324) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.extent.PassthroughExtent.setBlocks(PassthroughExtent.java:163) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.EditSession.setBlocks(EditSession.java:1118) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.bukkit.adapter.Regenerator.copyToWorld(Regenerator.java:304) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.bukkit.adapter.Regenerator.regenerate(Regenerator.java:129) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightFaweAdapter.regenerate(PaperweightFaweAdapter.java:630) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.bukkit.BukkitWorld.regenerate(BukkitWorld.java:253) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.wrappers.WorldWrapper.regenerate(WorldWrapper.java:278) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.command.RegionCommands.regenerate(RegionCommands.java:704) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.command.RegionCommandsRegistration.cmd$_regen(RegionCommandsRegistration.java:949) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at org.enginehub.piston.CommandManager.execute(CommandManager.java:157) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommandOnCurrentThread$16(PlatformCommandManager.java:730) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandTask(PlatformCommandManager.java:751) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandOnCurrentThread(PlatformCommandManager.java:732) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommand$13(PlatformCommandManager.java:702) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.lambda$runAction$1(AbstractPlayerActor.java:672) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$run$0(AsyncNotifyQueue.java:28) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at com.fastasyncworldedit.core.util.task.AsyncNotifyQueue.lambda$call$1(AsyncNotifyQueue.java:45) ~[FastAsyncWorldEdit-Bukkit-2.6.0-SNAPSHOT.jar:?] > at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428) ~[?:?] > at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] > at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] > at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] > at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] > at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] > [23:51:06] [FAWE Thread for player: Seelenretterin/INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'world' > [23:51:06] [FAWE Thread for player: Seelenretterin/INFO]: [ChunkHolderManager] Halted chunk system for world 'world' > ``` Again seems like you're calling from the FAWE thread, the only way `getCurrentWorldData` returns null if it's not a tick thread.
TheMeinerLP commented 2023-04-03 00:03:44 +02:00 (Migrated from github.com)

AsyncNotifyQueue uses in the end the API from Bukkit/Folia

AsyncNotifyQueue uses in the end the API from Bukkit/Folia
JRoy commented 2023-04-03 00:05:13 +02:00 (Migrated from github.com)

The only way getCurrentWorldData returns null is if it is not called from a tick thread.

The **only** way `getCurrentWorldData` returns null is if it is not called from a tick thread.
TheMeinerLP commented 2023-04-03 00:05:47 +02:00 (Migrated from github.com)

Yeah but why sometimes are not null. Thats the funny thing 😂

Yeah but why sometimes are not null. Thats the funny thing 😂
emilyy-dev commented 2023-04-03 00:10:33 +02:00 (Migrated from github.com)

Because multithreaded programming is a complicated topic where few things are guaranteed across threads

Because multithreaded programming is a complicated topic where few things are guaranteed across threads
TheMeinerLP commented 2023-04-03 00:13:38 +02:00 (Migrated from github.com)

Okay got you. I am on it to fix it in fawe

Okay got you. I am on it to fix it in fawe
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Minecraft/Folia#30
No description provided.