Merge pull request #1071 from VolmitDev/fix_nullpointer

Fix nullpointer
This commit is contained in:
Brian Fopiano
2024-02-17 09:54:40 -05:00
committed by GitHub
@@ -126,9 +126,26 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun
if (!initialized) { if (!initialized) {
world.setRawWorldSeed(event.getWorld().getSeed()); world.setRawWorldSeed(event.getWorld().getSeed());
if (world.name().equals(event.getWorld().getName())) { if (world.name().equals(event.getWorld().getName())) {
INMS.get().inject(event.getWorld().getSeed(), getEngine(event.getWorld()), event.getWorld()); Engine engine = getEngine(event.getWorld());
if (engine == null) {
Iris.warn("Failed to get Engine!");
J.s(() -> {
Engine engine1 = getEngine(event.getWorld());
if (engine1 != null) {
try {
INMS.get().inject(event.getWorld().getSeed(), engine1, event.getWorld());
Iris.info("Injected Iris Biome Source into " + event.getWorld().getName()); Iris.info("Injected Iris Biome Source into " + event.getWorld().getName());
initialized = true; initialized = true;
} catch (Throwable e) {
e.printStackTrace();
}
}
}, 10);
} else {
INMS.get().inject(event.getWorld().getSeed(), engine, event.getWorld());
Iris.info("Injected Iris Biome Source into " + event.getWorld().getName());
initialized = true;
}
} }
} }
} catch (Throwable e) { } catch (Throwable e) {
@@ -240,14 +257,15 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun
lock.lock(); lock.lock();
try {
if (setup.get()) { if (setup.get()) {
return getEngine(); return getEngine();
} }
setup.set(true);
getWorld().setRawWorldSeed(world.getSeed()); getWorld().setRawWorldSeed(world.getSeed());
setupEngine(); setupEngine();
setup.set(true);
this.hotloader = studio ? new Looper() { this.hotloader = studio ? new Looper() {
@Override @Override
protected long loop() { protected long loop() {
@@ -265,9 +283,10 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun
hotloader.setName(getTarget().getWorld().name() + " Hotloader"); hotloader.setName(getTarget().getWorld().name() + " Hotloader");
} }
lock.unlock();
return engine; return engine;
} finally {
lock.unlock();
}
} }
@Override @Override