Skip to content

Commit 96835d7

Browse files
committed
build: 1.21.2-pre3
1 parent ea59315 commit 96835d7

File tree

4 files changed

+13
-19
lines changed

4 files changed

+13
-19
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,18 @@
11
package com.ishland.c2me.opts.scheduling.mixin.idle_tasks.autosave.disable_vanilla_mid_tick_autosave;
22

3-
import it.unimi.dsi.fastutil.longs.Long2ObjectLinkedOpenHashMap;
4-
import net.minecraft.server.world.ChunkHolder;
3+
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
54
import net.minecraft.server.world.ServerChunkLoadingManager;
65
import org.spongepowered.asm.mixin.Mixin;
7-
import org.spongepowered.asm.mixin.Unique;
86
import org.spongepowered.asm.mixin.injection.At;
9-
import org.spongepowered.asm.mixin.injection.Redirect;
7+
8+
import java.util.function.BooleanSupplier;
109

1110
@Mixin(ServerChunkLoadingManager.class)
1211
public class MixinThreadedAnvilChunkStorage {
1312

14-
@Unique
15-
private static final Long2ObjectLinkedOpenHashMap<ChunkHolder> anEmptyChunkHoldersMap = new Long2ObjectLinkedOpenHashMap<>();
16-
17-
@Redirect(method = "unloadChunks", at = @At(value = "FIELD", target = "Lnet/minecraft/server/world/ServerChunkLoadingManager;chunkHolders:Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap;"))
18-
private Long2ObjectLinkedOpenHashMap<ChunkHolder> stopAutoSaveInUnloading(ServerChunkLoadingManager instance) {
19-
return anEmptyChunkHoldersMap; // prevent autosave from happening in unloading stage
13+
@WrapWithCondition(method = "unloadChunks", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/world/ServerChunkLoadingManager;saveChunks(Ljava/util/function/BooleanSupplier;)V"))
14+
private boolean stopAutoSavingDuringTick(ServerChunkLoadingManager instance, BooleanSupplier shouldKeepTicking) {
15+
return false;
2016
}
2117

2218
}

c2me-rewrites-chunk-serializer/src/main/java/com/ishland/c2me/rewrites/chunk_serializer/mixin/MixinThreadedAnvilChunkStorage.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,10 @@ public MixinThreadedAnvilChunkStorage(StorageKey arg, Path path, DataFixer dataF
5959
private boolean save(Chunk chunk) {
6060
// [VanillaCopy]
6161
this.pointOfInterestStorage.saveChunk(chunk.getPos());
62-
if (!chunk.needsSaving()) {
62+
if (!chunk.tryMarkSaved()) {
6363
return false;
6464
}
6565

66-
chunk.setNeedsSaving(false);
6766
ChunkPos chunkPos = chunk.getPos();
6867

6968
try {

c2me-rewrites-chunk-system/src/main/java/com/ishland/c2me/rewrites/chunksystem/common/statuses/ReadFromDiskAsync.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,9 @@ public CompletionStage<Void> downgradeFromThis(ChunkLoadingContext context) {
104104

105105
private CompletionStage<Void> asyncSave(ServerChunkLoadingManager tacs, Chunk chunk) {
106106
((IThreadedAnvilChunkStorage) tacs).getPointOfInterestStorage().saveChunk(chunk.getPos());
107-
if (!chunk.needsSaving()) {
107+
if (!chunk.tryMarkSaved()) {
108108
return CompletableFuture.completedStage(null);
109109
} else {
110-
chunk.setNeedsSaving(false);
111110
ChunkPos chunkPos = chunk.getPos();
112111

113112
SerializedChunk serializer = SerializedChunk.fromChunk(((IThreadedAnvilChunkStorage) tacs).getWorld(), chunk);
@@ -125,7 +124,7 @@ private CompletionStage<Void> asyncSave(ServerChunkLoadingManager tacs, Chunk ch
125124
.exceptionallyCompose(throwable -> {
126125
LOGGER.error("Failed to save chunk {},{} asynchronously, falling back to sync saving", chunkPos.x, chunkPos.z, throwable);
127126
return CompletableFuture.runAsync(() -> {
128-
chunk.setNeedsSaving(true);
127+
chunk.markNeedsSaving();
129128
((IThreadedAnvilChunkStorage) tacs).invokeSave(chunk);
130129
}, ((IThreadedAnvilChunkStorage) tacs).getMainThreadExecutor());
131130
});

gradle.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ org.gradle.warning.mode=all
55
fabric.loom.multiProjectOptimisation=true
66
# Fabric Properties
77
# check these on https://fabricmc.net/versions.html
8-
minecraft_version=1.21.2-pre1
9-
yarn_mappings=1.21.2-pre1+build.1
10-
loader_version=0.16.5
11-
fabric_version=0.105.2+1.21.2
8+
minecraft_version=1.21.2-pre3
9+
yarn_mappings=1.21.2-pre3+build.2
10+
loader_version=0.16.7
11+
fabric_version=0.105.4+1.21.2
1212
# Mod Properties
1313
mod_version=0.3.0+alpha.0
1414
maven_group=com.ishland.c2me

0 commit comments

Comments
 (0)