IntellectualSites / IntellectualSites/FastAsyncWorldEdit

ExtentEntityCopy does nothing when used with a non-IChunkExtent

Open
#2,446 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Approved Bug Low Priority
Dominant language
Java
Stars
806
Forks
394
Avg merge
22h 19m
Merged PRs (30d)
14

Description

Server Implementation

Paper

Server Version

1.20.2

Describe the bug

ExtentEntityCopy hits the default implementation of Extent.createEntity

https://github.com/opl-/FastAsyncWorldEdit/blob/f812fc14abdd23d3d131395f02d5526dd8095389/worldedit-core/src/main/java/com/sk89q/worldedit/extent/Extent.java#L147

when trying to use it with a BukkitAdapter.adapt(world). A quick investigation leads to the following line:

https://github.com/opl-/FastAsyncWorldEdit/blob/79a2c14caacee4fdd64e51e43fde382118750781/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitWorld.java#L170

IChunkExtent, being a FAWE construct, breaks compatibility.

To Reproduce

Use reproduction steps from #2445.

Expected behaviour

Some sorta automatic fallback? Not sure.

Screenshots / Videos

No response

Error log (if applicable)

No response

Fawe Debugpaste

https://athion.net/ISPaster/paste/view/f05eca59ab7a4e188ced658f1f9ffa4c

Fawe Version

FastAsyncWorldEdit version 2.8.0

Checklist
Anything else?

No response

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 with worldedit-core/src/main/java/com/sk89q/worldedit/extent/Extent.java around createEntity and worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitWorld.java around the BukkitAdapter path. Reproduce the case using the steps from #2445 and the linked debugpaste, focusing on ExtentEntityCopy with a non-IChunkExtent. Done means entity copying works through BukkitAdapter.adapt(world) without falling into the ineffective default implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
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.