mirror of
https://github.com/Xiao-MoMi/Custom-Crops.git
synced 2025-12-27 10:59:20 +00:00
3.6.8
This commit is contained in:
@@ -42,6 +42,7 @@ public class DebugWorldsCommand extends BukkitCommandFeature<CommandSender> {
|
||||
for (World world : Bukkit.getWorlds()) {
|
||||
BukkitCustomCropsPlugin.getInstance().getWorldManager().getWorld(world).ifPresent(w -> {
|
||||
sender.sendMessage(AdventureHelper.miniMessage("<gold>World: " + world.getName() + "</gold>"));
|
||||
sender.sendMessage(AdventureHelper.miniMessage(" - Loaded regions: " + w.loadedRegions().length));
|
||||
sender.sendMessage(AdventureHelper.miniMessage(" - Loaded chunks: " + w.loadedChunks().length));
|
||||
sender.sendMessage(AdventureHelper.miniMessage(" - Lazy chunks: " + w.lazyChunks().length));
|
||||
});
|
||||
|
||||
@@ -87,7 +87,7 @@ public class ForceTickCommand extends BukkitCommandFeature<CommandSender> {
|
||||
return;
|
||||
}
|
||||
CustomCropsWorld<?> customCropsWorld = optionalWorld.get();
|
||||
BukkitCustomCropsPlugin.getInstance().getScheduler().async().execute(() -> {
|
||||
customCropsWorld.scheduler().async().execute(() -> {
|
||||
int amount = 0;
|
||||
long time1 = System.currentTimeMillis();
|
||||
for (CustomCropsChunk customCropsChunk : customCropsWorld.loadedChunks()) {
|
||||
|
||||
@@ -184,6 +184,12 @@ public class BukkitWorldAdaptor extends AbstractWorldAdaptor<World> {
|
||||
@Override
|
||||
public void saveRegion(CustomCropsWorld<World> world, CustomCropsRegion region) {
|
||||
File file = getRegionDataFile(world.world(), region.regionPos());
|
||||
if (region.canPrune()) {
|
||||
if (file.exists()) {
|
||||
file.delete();
|
||||
}
|
||||
return;
|
||||
}
|
||||
long time1 = System.currentTimeMillis();
|
||||
File parentDir = file.getParentFile();
|
||||
if (parentDir != null && !parentDir.exists()) {
|
||||
|
||||
@@ -209,13 +209,11 @@ public class BukkitWorldManager implements WorldManager, Listener {
|
||||
if (world.isChunkLoaded(pos)) return;
|
||||
Optional<CustomCropsChunk> customChunk = world.getChunk(pos);
|
||||
// don't load bukkit chunk again since it has been loaded
|
||||
customChunk.ifPresent(customCropsChunk -> {
|
||||
customCropsChunk.load(false);
|
||||
});
|
||||
customChunk.ifPresent(customCropsChunk -> customCropsChunk.load(false));
|
||||
}
|
||||
|
||||
public void notifyOfflineUpdates(CustomCropsWorld<?> world, ChunkPos pos) {
|
||||
world.getChunk(pos).ifPresent(CustomCropsChunk::notifyOfflineTask);
|
||||
world.getLoadedChunk(pos).ifPresent(CustomCropsChunk::notifyOfflineTask);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -225,14 +223,16 @@ public class BukkitWorldManager implements WorldManager, Listener {
|
||||
return false;
|
||||
}
|
||||
removedWorld.setTicking(false);
|
||||
removedWorld.save();
|
||||
removedWorld.save(false);
|
||||
removedWorld.scheduler().shutdownScheduler();
|
||||
removedWorld.scheduler().shutdownExecutor();
|
||||
return true;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onWorldSave(WorldSaveEvent event) {
|
||||
final World world = event.getWorld();
|
||||
getWorld(world).ifPresent(CustomCropsWorld::save);
|
||||
getWorld(world).ifPresent(world1 -> world1.save(true));
|
||||
}
|
||||
|
||||
@EventHandler (priority = EventPriority.HIGH)
|
||||
|
||||
Reference in New Issue
Block a user