diff --git a/worldedit-bukkit/adapters/adapter-1_20_2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R2/PaperweightGetBlocks.java b/worldedit-bukkit/adapters/adapter-1_20_2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R2/PaperweightGetBlocks.java index be0203337e..9e194c99b8 100644 --- a/worldedit-bukkit/adapters/adapter-1_20_2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R2/PaperweightGetBlocks.java +++ b/worldedit-bukkit/adapters/adapter-1_20_2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R2/PaperweightGetBlocks.java @@ -653,6 +653,7 @@ protected > T internalCall( syncTasks[1] = () -> { Iterator iterator = entities.iterator(); + // TODO: TheMeinerLP: Add LeashKnot again while (iterator.hasNext()) { final FaweCompoundTag nativeTag = iterator.next(); final LinCompoundTag linTag = nativeTag.linTag(); @@ -675,6 +676,7 @@ protected > T internalCall( Entity entity = type.create(nmsWorld); if (entity != null) { final CompoundTag tag = (CompoundTag) adapter.fromNativeLin(linTag); + // TODO: TheMeinerLP: Add LeashKnot again for (final String name : Constants.NO_COPY_ENTITY_NBT_FIELDS) { tag.remove(name); } diff --git a/worldedit-bukkit/adapters/adapter-1_20_4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R3/PaperweightGetBlocks.java b/worldedit-bukkit/adapters/adapter-1_20_4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R3/PaperweightGetBlocks.java index b08afe5456..1f0c6592b8 100644 --- a/worldedit-bukkit/adapters/adapter-1_20_4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R3/PaperweightGetBlocks.java +++ b/worldedit-bukkit/adapters/adapter-1_20_4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R3/PaperweightGetBlocks.java @@ -676,12 +676,14 @@ protected > T internalCall( if (entity != null) { final net.minecraft.nbt.CompoundTag tag = (net.minecraft.nbt.CompoundTag) adapter.fromNativeLin( linTag); + // TODO: TheMeinerLP: Add LeashKnot again for (final String name : Constants.NO_COPY_ENTITY_NBT_FIELDS) { tag.remove(name); } entity.load(tag); entity.absMoveTo(x, y, z, yaw, pitch); entity.setUUID(NbtUtils.uuid(nativeTag)); + // TODO: TheMeinerLP: Add LeashKnot again if (!nmsWorld.addFreshEntity(entity, CreatureSpawnEvent.SpawnReason.CUSTOM)) { LOGGER.warn( "Error creating entity of type `{}` in world `{}` at location `{},{},{}`", diff --git a/worldedit-bukkit/adapters/adapter-1_20_5/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R4/PaperweightGetBlocks.java b/worldedit-bukkit/adapters/adapter-1_20_5/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R4/PaperweightGetBlocks.java index a03f3d9475..cffc830167 100644 --- a/worldedit-bukkit/adapters/adapter-1_20_5/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R4/PaperweightGetBlocks.java +++ b/worldedit-bukkit/adapters/adapter-1_20_5/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R4/PaperweightGetBlocks.java @@ -654,6 +654,7 @@ protected > T internalCall( syncTasks[1] = () -> { Iterator iterator = entities.iterator(); + // TODO: TheMeinerLP: Add LeashKnot again while (iterator.hasNext()) { final FaweCompoundTag nativeTag = iterator.next(); final LinCompoundTag linTag = nativeTag.linTag(); @@ -677,12 +678,14 @@ protected > T internalCall( if (entity != null) { final net.minecraft.nbt.CompoundTag tag = (net.minecraft.nbt.CompoundTag) adapter.fromNativeLin( linTag); + // TODO: TheMeinerLP: Add LeashKnot again for (final String name : Constants.NO_COPY_ENTITY_NBT_FIELDS) { tag.remove(name); } entity.load(tag); entity.absMoveTo(x, y, z, yaw, pitch); entity.setUUID(NbtUtils.uuid(nativeTag)); + // TODO: TheMeinerLP: Add LeashKnot again if (!nmsWorld.addFreshEntity(entity, CreatureSpawnEvent.SpawnReason.CUSTOM)) { LOGGER.warn( "Error creating entity of type `{}` in world `{}` at location `{},{},{}`", diff --git a/worldedit-bukkit/adapters/adapter-1_21/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_21_R1/PaperweightGetBlocks.java b/worldedit-bukkit/adapters/adapter-1_21/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_21_R1/PaperweightGetBlocks.java index 9fbc1ef64e..d83fd1f47f 100644 --- a/worldedit-bukkit/adapters/adapter-1_21/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_21_R1/PaperweightGetBlocks.java +++ b/worldedit-bukkit/adapters/adapter-1_21/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_21_R1/PaperweightGetBlocks.java @@ -652,6 +652,7 @@ protected > T internalCall( syncTasks[1] = () -> { Iterator iterator = entities.iterator(); + // TODO: TheMeinerLP: Add LeashKnot again while (iterator.hasNext()) { final FaweCompoundTag nativeTag = iterator.next(); final LinCompoundTag linTag = nativeTag.linTag(); @@ -674,12 +675,14 @@ protected > T internalCall( Entity entity = type.create(nmsWorld); if (entity != null) { final CompoundTag tag = (CompoundTag) adapter.fromNativeLin(linTag); + // TODO: TheMeinerLP: Add LeashKnot again for (final String name : Constants.NO_COPY_ENTITY_NBT_FIELDS) { tag.remove(name); } entity.load(tag); entity.absMoveTo(x, y, z, yaw, pitch); entity.setUUID(NbtUtils.uuid(nativeTag)); + // TODO: TheMeinerLP: Add LeashKnot again if (!nmsWorld.addFreshEntity(entity, CreatureSpawnEvent.SpawnReason.CUSTOM)) { LOGGER.warn( "Error creating entity of type `{}` in world `{}` at location `{},{},{}`", diff --git a/worldedit-core/src/main/java/com/fastasyncworldedit/core/queue/IChunkExtent.java b/worldedit-core/src/main/java/com/fastasyncworldedit/core/queue/IChunkExtent.java index 615f5fb504..02f5c7278e 100644 --- a/worldedit-core/src/main/java/com/fastasyncworldedit/core/queue/IChunkExtent.java +++ b/worldedit-core/src/main/java/com/fastasyncworldedit/core/queue/IChunkExtent.java @@ -135,7 +135,7 @@ default Entity createEntity(Location location, BaseEntity entity, UUID uuid) { posList.add(LinDoubleTag.of(location.y())); posList.add(LinDoubleTag.of(location.z())); map.put("Pos", LinListTag.of(LinTagType.doubleTag(), posList)); - + // Todo: Add again rotation NbtUtils.addUUIDToMap(map, uuid); chunk.entity(FaweCompoundTag.of(LinCompoundTag.of(map))); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/Clipboard.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/Clipboard.java index be702ae4d4..1968f166c6 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/Clipboard.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/Clipboard.java @@ -27,6 +27,9 @@ import com.fastasyncworldedit.core.function.visitor.Order; import com.fastasyncworldedit.core.queue.Filter; import com.fastasyncworldedit.core.util.MaskTraverser; +import com.sk89q.jnbt.CompoundTag; +import com.sk89q.jnbt.IntTag; +import com.sk89q.jnbt.Tag; import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.EditSessionBuilder; import com.sk89q.worldedit.WorldEdit; @@ -49,6 +52,7 @@ import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; +import com.sk89q.worldedit.world.entity.EntityTypes; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -59,6 +63,7 @@ import java.io.IOException; import java.io.OutputStream; import java.net.URI; +import java.util.HashMap; import java.util.Iterator; import java.util.UUID;