Make hotloading idiot proof

This commit is contained in:
cyberpwn
2021-08-16 23:30:33 -04:00
parent 51802f71a5
commit aff1a245c2
2 changed files with 19 additions and 10 deletions

View File

@@ -32,7 +32,7 @@ plugins {
}
group 'com.volmit.iris'
version '1.7.1'
version '1.7.2'
def apiVersion = '1.17'
def name = getRootProject().getName() // See settings.gradle
def main = 'com.volmit.iris.Iris'

View File

@@ -112,15 +112,17 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun
@Override
public void hotload() {
J.aBukkit(() -> {
try {
hotloadLock.acquire(HOTLOAD_LOCKS);
initialize();
hotloadLock.release(HOTLOAD_LOCKS);
} catch (InterruptedException e) {
e.printStackTrace();
}
});
J.aBukkit(this::hotloadBLOCKING);
}
public void hotloadBLOCKING() {
try {
hotloadLock.acquire(HOTLOAD_LOCKS);
initialize();
hotloadLock.release(HOTLOAD_LOCKS);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
private void initialize() {
@@ -154,6 +156,13 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun
return tc.getRaw();
}
catch(WrongEngineBroException e)
{
hotloadLock.release();
hotloadBLOCKING();
return generateChunkData(world, ignored, x, z, biome);
}
catch (Throwable e) {
Iris.error("======================================");
e.printStackTrace();