Mirror von
https://github.com/IntellectualSites/FastAsyncWorldEdit.git
synchronisiert 2024-11-20 09:50:06 +01:00
Adjust order in adapters to ensure chunk is loaded when copied
Dieser Commit ist enthalten in:
Ursprung
936f5b7690
Commit
b12ea151b5
@ -397,17 +397,17 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
|
|||||||
if (!callLock.isHeldByCurrentThread()) {
|
if (!callLock.isHeldByCurrentThread()) {
|
||||||
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
||||||
}
|
}
|
||||||
forceLoadSections = false;
|
if (createCopy && copies.containsKey(copyKey)) { // Do not sometimes load chunk if we're going to error
|
||||||
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(levelChunk) : null;
|
|
||||||
if (createCopy) {
|
|
||||||
if (copies.containsKey(copyKey)) {
|
|
||||||
throw new IllegalStateException("Copy key already used.");
|
throw new IllegalStateException("Copy key already used.");
|
||||||
}
|
}
|
||||||
copies.put(copyKey, copy);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
|
forceLoadSections = false;
|
||||||
ServerLevel nmsWorld = serverLevel;
|
ServerLevel nmsWorld = serverLevel;
|
||||||
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
||||||
|
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(nmsChunk) : null;
|
||||||
|
if (createCopy) {
|
||||||
|
copies.put(copyKey, copy);
|
||||||
|
}
|
||||||
boolean fastmode = set.isFastMode() && Settings.settings().QUEUE.NO_TICK_FASTMODE;
|
boolean fastmode = set.isFastMode() && Settings.settings().QUEUE.NO_TICK_FASTMODE;
|
||||||
|
|
||||||
// Remove existing tiles. Create a copy so that we can remove blocks
|
// Remove existing tiles. Create a copy so that we can remove blocks
|
||||||
|
@ -388,17 +388,17 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
|
|||||||
if (!callLock.isHeldByCurrentThread()) {
|
if (!callLock.isHeldByCurrentThread()) {
|
||||||
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
||||||
}
|
}
|
||||||
forceLoadSections = false;
|
if (createCopy && copies.containsKey(copyKey)) { // Do not sometimes load chunk if we're going to error
|
||||||
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(levelChunk) : null;
|
|
||||||
if (createCopy) {
|
|
||||||
if (copies.containsKey(copyKey)) {
|
|
||||||
throw new IllegalStateException("Copy key already used.");
|
throw new IllegalStateException("Copy key already used.");
|
||||||
}
|
}
|
||||||
copies.put(copyKey, copy);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
|
forceLoadSections = false;
|
||||||
ServerLevel nmsWorld = serverLevel;
|
ServerLevel nmsWorld = serverLevel;
|
||||||
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
||||||
|
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(nmsChunk) : null;
|
||||||
|
if (createCopy) {
|
||||||
|
copies.put(copyKey, copy);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove existing tiles. Create a copy so that we can remove blocks
|
// Remove existing tiles. Create a copy so that we can remove blocks
|
||||||
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
||||||
|
@ -391,17 +391,17 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
|
|||||||
if (!callLock.isHeldByCurrentThread()) {
|
if (!callLock.isHeldByCurrentThread()) {
|
||||||
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
||||||
}
|
}
|
||||||
forceLoadSections = false;
|
if (createCopy && copies.containsKey(copyKey)) { // Do not sometimes load chunk if we're going to error
|
||||||
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(levelChunk) : null;
|
|
||||||
if (createCopy) {
|
|
||||||
if (copies.containsKey(copyKey)) {
|
|
||||||
throw new IllegalStateException("Copy key already used.");
|
throw new IllegalStateException("Copy key already used.");
|
||||||
}
|
}
|
||||||
copies.put(copyKey, copy);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
|
forceLoadSections = false;
|
||||||
ServerLevel nmsWorld = serverLevel;
|
ServerLevel nmsWorld = serverLevel;
|
||||||
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
||||||
|
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(nmsChunk) : null;
|
||||||
|
if (createCopy) {
|
||||||
|
copies.put(copyKey, copy);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove existing tiles. Create a copy so that we can remove blocks
|
// Remove existing tiles. Create a copy so that we can remove blocks
|
||||||
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
||||||
|
@ -390,17 +390,17 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
|
|||||||
if (!callLock.isHeldByCurrentThread()) {
|
if (!callLock.isHeldByCurrentThread()) {
|
||||||
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
||||||
}
|
}
|
||||||
forceLoadSections = false;
|
if (createCopy && copies.containsKey(copyKey)) { // Do not sometimes load chunk if we're going to error
|
||||||
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(levelChunk) : null;
|
|
||||||
if (createCopy) {
|
|
||||||
if (copies.containsKey(copyKey)) {
|
|
||||||
throw new IllegalStateException("Copy key already used.");
|
throw new IllegalStateException("Copy key already used.");
|
||||||
}
|
}
|
||||||
copies.put(copyKey, copy);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
|
forceLoadSections = false;
|
||||||
ServerLevel nmsWorld = serverLevel;
|
ServerLevel nmsWorld = serverLevel;
|
||||||
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
||||||
|
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(nmsChunk) : null;
|
||||||
|
if (createCopy) {
|
||||||
|
copies.put(copyKey, copy);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove existing tiles. Create a copy so that we can remove blocks
|
// Remove existing tiles. Create a copy so that we can remove blocks
|
||||||
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
||||||
|
@ -376,17 +376,17 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
|
|||||||
if (!callLock.isHeldByCurrentThread()) {
|
if (!callLock.isHeldByCurrentThread()) {
|
||||||
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
||||||
}
|
}
|
||||||
forceLoadSections = false;
|
if (createCopy && copies.containsKey(copyKey)) { // Do not sometimes load chunk if we're going to error
|
||||||
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(levelChunk) : null;
|
|
||||||
if (createCopy) {
|
|
||||||
if (copies.containsKey(copyKey)) {
|
|
||||||
throw new IllegalStateException("Copy key already used.");
|
throw new IllegalStateException("Copy key already used.");
|
||||||
}
|
}
|
||||||
copies.put(copyKey, copy);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
|
forceLoadSections = false;
|
||||||
ServerLevel nmsWorld = serverLevel;
|
ServerLevel nmsWorld = serverLevel;
|
||||||
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
||||||
|
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(nmsChunk) : null;
|
||||||
|
if (createCopy) {
|
||||||
|
copies.put(copyKey, copy);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove existing tiles. Create a copy so that we can remove blocks
|
// Remove existing tiles. Create a copy so that we can remove blocks
|
||||||
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
||||||
|
@ -376,17 +376,17 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
|
|||||||
if (!callLock.isHeldByCurrentThread()) {
|
if (!callLock.isHeldByCurrentThread()) {
|
||||||
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
throw new IllegalStateException("Attempted to call chunk GET but chunk was not call-locked.");
|
||||||
}
|
}
|
||||||
forceLoadSections = false;
|
if (createCopy && copies.containsKey(copyKey)) { // Do not sometimes load chunk if we're going to error
|
||||||
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(levelChunk) : null;
|
|
||||||
if (createCopy) {
|
|
||||||
if (copies.containsKey(copyKey)) {
|
|
||||||
throw new IllegalStateException("Copy key already used.");
|
throw new IllegalStateException("Copy key already used.");
|
||||||
}
|
}
|
||||||
copies.put(copyKey, copy);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
|
forceLoadSections = false;
|
||||||
ServerLevel nmsWorld = serverLevel;
|
ServerLevel nmsWorld = serverLevel;
|
||||||
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
LevelChunk nmsChunk = ensureLoaded(nmsWorld, chunkX, chunkZ);
|
||||||
|
PaperweightGetBlocks_Copy copy = createCopy ? new PaperweightGetBlocks_Copy(nmsChunk) : null;
|
||||||
|
if (createCopy) {
|
||||||
|
copies.put(copyKey, copy);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove existing tiles. Create a copy so that we can remove blocks
|
// Remove existing tiles. Create a copy so that we can remove blocks
|
||||||
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
Map<BlockPos, BlockEntity> chunkTiles = new HashMap<>(nmsChunk.getBlockEntities());
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren