Don't call ticking_list on Spigot (#1655)

* ticking_list is paper only

* Update adapters
This commit is contained in:
Jordan 2022-03-14 10:08:10 +00:00 committed by GitHub
parent d400a470a1
commit 1708584e8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 5 deletions

View File

@ -481,7 +481,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
// Don't attempt to tick section whilst we're editing // Don't attempt to tick section whilst we're editing
if (existingSection != null) { if (existingSection != null) {
PaperweightPlatformAdapter.clearCounts(existingSection); PaperweightPlatformAdapter.clearCounts(existingSection);
existingSection.tickingList.clear(); if (PaperLib.isPaper()) {
existingSection.tickingList.clear();
}
} }
if (existingSection == null) { if (existingSection == null) {
@ -503,7 +505,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
//ensure that the server doesn't try to tick the chunksection while we're editing it (again). //ensure that the server doesn't try to tick the chunksection while we're editing it (again).
DelegateSemaphore lock = PaperweightPlatformAdapter.applyLock(existingSection); DelegateSemaphore lock = PaperweightPlatformAdapter.applyLock(existingSection);
PaperweightPlatformAdapter.clearCounts(existingSection); PaperweightPlatformAdapter.clearCounts(existingSection);
existingSection.tickingList.clear(); if (PaperLib.isPaper()) {
existingSection.tickingList.clear();
}
synchronized (lock) { synchronized (lock) {
// lock.acquire(); // lock.acquire();

View File

@ -510,7 +510,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
// Don't attempt to tick section whilst we're editing // Don't attempt to tick section whilst we're editing
if (existingSection != null) { if (existingSection != null) {
PaperweightPlatformAdapter.clearCounts(existingSection); PaperweightPlatformAdapter.clearCounts(existingSection);
existingSection.tickingList.clear(); if (PaperLib.isPaper()) {
existingSection.tickingList.clear();
}
} }
if (createCopy) { if (createCopy) {
@ -553,7 +555,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
//ensure that the server doesn't try to tick the chunksection while we're editing it. (Again) //ensure that the server doesn't try to tick the chunksection while we're editing it. (Again)
PaperweightPlatformAdapter.clearCounts(existingSection); PaperweightPlatformAdapter.clearCounts(existingSection);
existingSection.tickingList.clear(); if (PaperLib.isPaper()) {
existingSection.tickingList.clear();
}
DelegateSemaphore lock = PaperweightPlatformAdapter.applyLock(existingSection); DelegateSemaphore lock = PaperweightPlatformAdapter.applyLock(existingSection);
synchronized (lock) { synchronized (lock) {

View File

@ -514,6 +514,13 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
LevelChunkSection newSection; LevelChunkSection newSection;
LevelChunkSection existingSection = levelChunkSections[getSectionIndex]; LevelChunkSection existingSection = levelChunkSections[getSectionIndex];
// Don't attempt to tick section whilst we're editing
if (existingSection != null) {
PaperweightPlatformAdapter.clearCounts(existingSection);
if (PaperLib.isPaper()) {
existingSection.tickingList.clear();
}
}
if (createCopy) { if (createCopy) {
char[] tmpLoad = loadPrivately(layerNo); char[] tmpLoad = loadPrivately(layerNo);
@ -564,7 +571,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
//ensure that the server doesn't try to tick the chunksection while we're editing it. (Again) //ensure that the server doesn't try to tick the chunksection while we're editing it. (Again)
PaperweightPlatformAdapter.clearCounts(existingSection); PaperweightPlatformAdapter.clearCounts(existingSection);
existingSection.tickingList.clear(); if (PaperLib.isPaper()) {
existingSection.tickingList.clear();
}
DelegateSemaphore lock = PaperweightPlatformAdapter.applyLock(existingSection); DelegateSemaphore lock = PaperweightPlatformAdapter.applyLock(existingSection);
synchronized (lock) { synchronized (lock) {