IntellectualSites / IntellectualSites/FastAsyncWorldEdit

Some entities are not pasting

Open
#3,426 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Requires Testing
Dominant language
Java
Stars
806
Forks
394
Avg merge
22h 19m
Merged PRs (30d)
14

Description

Server Implementation

Paper

Server Version

1.21.11

Describe the bug

Errors occurs when pasting certains entities.
(Latest paper and fawe versions)

To Reproduce
  1. Get the command to summon the model : https://block-display.com/bd/168246/#modelTop

/summon block_display ~-0.5 ~-0.5 ~-0.5 {Passengers:[{id:"minecraft:block_display",block_state:{Name:"minecraft:snow_block",Properties:{}},transformation:[0.767f,0f,0f,0.0608248437f,0f,0.745f,0f,0.013125f,0f,0f,0.6955f,0.1524519651f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:snow_block",Properties:{}},transformation:[0.607221903f,0.0837570303f,0f,0.090905625f,-0.0861304271f,0.5904893901f,0f,0.745553125f,0f,0f,0.5369f,0.2235984375f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:snow_block",Properties:{}},transformation:[0.3835f,0f,0f,0.2324410937f,0f,0.3725f,0f,1.2703125f,0f,0f,0.3478f,0.3311085276f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0479f,0f,0f,0.3005123438f,0f,0.0466f,0f,1.503125f,0f,0f,0.0216f,0.3167638401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0479f,0f,0f,0.4922623438f,0f,0.0466f,0f,1.503125f,0f,0f,0.0216f,0.3167638401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0479f,0f,0f,0.5488285938f,0f,0.0466f,0f,1.3951f,0f,0f,0.0216f,0.3167638401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0389522014f,0.0268979645f,0f,0.5018498437f,-0.0271841131f,0.0385421782f,0f,1.369490625f,0f,0f,0.0216f,0.3167638401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[-0.0081658473f,-0.0471588448f,0f,0.5047260937f,0.0458789596f,-0.0083936499f,0f,1.32805f,0f,0f,0.0216f,0.3167638401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[-0.0021553572f,-0.0478487369f,0f,0.4467217187f,0.0465501282f,-0.0022154852f,0f,1.32153125f,0f,0f,0.0216f,0.3167638401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0111528113f,-0.0465079354f,0f,0.3815267187f,0.0452457158f,0.0114639412f,0f,1.319203125f,0f,0f,0.0216f,0.3167638401f,0f,0f,0f,1f]},{id:"minecraft:item_display",item:{id:"minecraft:carrot",Count:1},item_display:"none",transformation:[0.0350986875f,0.0472434218f,0.6860637495f,0.4045367187f,0.1338256384f,0.1900228783f,-0.1729867078f,1.44631875f,-0.1457644048f,0.1840939532f,0.0050494858f,0.3150250901f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0473215372f,0.0072203082f,0f,0.408251875f,-0.0074217331f,0.0460372366f,0f,1.1418f,0f,0f,0.0216f,0.1957784375f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0478674956f,0.0017164473f,0f,0.3791298437f,-0.001764331f,0.0465683778f,0f,1.01421875f,0f,0f,0.0216f,0.1959207151f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0478674956f,0.0017164473f,0f,0.3474910937f,-0.001764331f,0.0465683778f,0f,0.8885f,0f,0f,0.0216f,0.1959207151f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_fence",Properties:{}},transformation:[0.2397902563f,-0.5850643807f,0f,0.1849829687f,0.2909117272f,0.4822519159f,0f,0.83355625f,0f,0f,0.2608f,0.3237188401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:spruce_fence",Properties:{}},transformation:[0.3297731227f,-0.3753319232f,0f,0.9236998438f,0.1904161955f,0.6500202362f,0f,0.199375f,0f,0f,0.2608f,0.3237188401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:cake",Properties:{bites:"0"}},transformation:[0.5273f,0f,0f,-0.5398320313f,0f,0.5122f,0f,1.41093125f,0f,0f,0.4782f,0.1524519651f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hay_block",Properties:{axis:"x"}},transformation:[0f,0.767f,0f,0.0517167188f,-0.0276f,0f,0f,1.644675f,0f,0f,0.6621f,0.1672313401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hanging_roots",Properties:{}},transformation:[0.3238209273f,0f,0.3554642873f,0.0948604687f,0f,0.2794f,0f,1.3634375f,-0.3231814615f,0f,0.3561676298f,0.4906388401f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hanging_roots",Properties:{}},transformation:[0f,0f,0.6174f,0.1135560937f,0f,0.2794f,0f,1.3634375f,-0.4347f,0f,0f,0.7384107151f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hay_block",Properties:{axis:"x"}},transformation:[0f,-0.3835f,0f,0.6360748438f,0.3047f,0f,0f,1.643278125f,0f,0f,0.3478f,0.3311085276f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hanging_roots",Properties:{}},transformation:[0f,0f,0.6174f,0.0608248437f,0f,0.2794f,0f,1.3634375f,-0.4347f,0f,0f,0.7384107151f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hanging_roots",Properties:{}},transformation:[0f,0f,0.6174f,0.2525748438f,0f,0.2794f,0f,1.3634375f,-0.4347f,0f,0f,0.7384107151f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hanging_roots",Properties:{}},transformation:[0f,0f,0.6174f,0.1087623438f,0f,0.2794f,0f,1.3634375f,-0.4347f,0f,0f,0.8479519651f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hanging_roots",Properties:{}},transformation:[0f,0f,0.6174f,0.1087623438f,0f,0.2794f,0f,1.3634375f,-0.4347f,0f,0f,0.8479519651f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:hay_block",Properties:{axis:"x"}},transformation:[-0.0016446361f,-0.317976232f,0f,0.5771117187f,0.0025090181f,-0.2084302183f,0f,2.15034375f,0f,0f,0.3478f,0.3311085276f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0479f,0f,0f,0.422633125f,0f,0.0466f,0f,0.6184375f,0f,0f,0.0216f,0.10840625f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0479f,0f,0f,0.40681375f,0f,0.0466f,0f,0.472696875f,0f,0f,0.0216f,0.10840625f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0479f,0f,0f,0.39722625f,0f,0.0466f,0f,0.319971875f,0f,0f,0.0216f,0.10840625f,0f,0f,0f,1f]},{id:"minecraft:block_display",block_state:{Name:"minecraft:black_concrete",Properties:{}},transformation:[0.0479f,0f,0f,0.39722625f,0f,0.0466f,0f,0.319971875f,0f,0f,0.0216f,0.10840625f,0f,0f,0f,1f]}]}
  1. Put in a command block and run
  2. //copy the zone (with -e)
  3. //paste -e somewhere else
Expected behaviour

Paste as expected

Screenshots / Videos

//copy -e
Image

//paste -e, no entities and error

Image
Error log (if applicable)
[19:44:46 ERROR]: An unexpected error while handling a FastAsyncWorldEdit command
java.lang.NullPointerException: Cannot invoke "org.enginehub.linbus.tree.LinCompoundTag.value()" because the return value of "com.sk89q.worldedit.entity.BaseEntity.getNbt()" is null
	at fast_async_world_edit_paper.jar//com.fastasyncworldedit.core.queue.IChunkExtent.createEntity(IChunkExtent.java:129) ~[?:?]
	at fast_async_world_edit_paper.jar//com.fastasyncworldedit.core.queue.IChunkExtent.createEntity(IChunkExtent.java:123) ~[?:?]
	at fast_async_world_edit_paper.jar//com.fastasyncworldedit.core.extent.PassthroughExtent.createEntity(PassthroughExtent.java:223) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.EditSession.createEntity(EditSession.java:4095) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.extent.clipboard.Clipboard.paste(Clipboard.java:437) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.command.ClipboardCommands.place(ClipboardCommands.java:471) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.command.ClipboardCommands.paste(ClipboardCommands.java:540) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.command.ClipboardCommandsRegistration.cmd$_paste(ClipboardCommandsRegistration.java:356) ~[?:?]
	at fast_async_world_edit_paper.jar//org.enginehub.piston.CommandManager.execute(CommandManager.java:157) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommandOnCurrentThread$16(PlatformCommandManager.java:712) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandTask(PlatformCommandManager.java:733) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommandOnCurrentThread(PlatformCommandManager.java:714) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.extension.platform.PlatformCommandManager.lambda$handleCommand$14(PlatformCommandManager.java:685) ~[?:?]
	at fast_async_world_edit_paper.jar//com.sk89q.worldedit.extension.platform.AbstractPlayerActor.lambda$runAction$2(AbstractPlayerActor.java:717) ~[?:?]
	at fast_async_world_edit_paper.jar//com.fastasyncworldedit.core.util.task.AsyncNotifyKeyedQueue.lambda$run$0(AsyncNotifyKeyedQueue.java:48) ~[?:?]
	at fast_async_world_edit_paper.jar//com.fastasyncworldedit.core.util.task.AsyncNotifyKeyedQueue.lambda$call$1(AsyncNotifyKeyedQueue.java:58) ~[?:?]
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
	at fast_async_world_edit_paper.jar//com.fastasyncworldedit.core.util.task.KeyQueuedExecutorService$KeyRunner.lambda$run$0(KeyQueuedExecutorService.java:150) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1726) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1717) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(ForkJoinTask.java:1641) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1489) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2071) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2033) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187) ~[?:?]
Fawe Debugpaste

https://athion.net/ISPaster/paste/view/3fe25fbaab514e8b98c0d9f89bd0745b

Are you interested in contributing a fix?

No

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at com.fastasyncworldedit.core.queue.IChunkExtent.createEntity, especially IChunkExtent.java:129, and inspect how BaseEntity.getNbt() is handled during //paste -e. Reproduce with the supplied block_display and item_display command, then //copy -e and //paste -e while reviewing the provided debugpaste and stack trace. Done means the affected entities paste without the reported NullPointerException.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.