-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
new: backport notickvd changes from 1.21.4
- Loading branch information
Showing
9 changed files
with
2,287 additions
and
0 deletions.
There are no files selected for viewing
1,022 changes: 1,022 additions & 0 deletions
1,022
patches/main/0011-new-scalable-no-tick-view-distance-allowing-usable-3.patch
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
51 changes: 51 additions & 0 deletions
51
patches/main/0013-fix-mobcaps-counting-in-border-chunks.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: ishland <[email protected]> | ||
Date: Wed, 1 Jan 2025 12:14:11 +0800 | ||
Subject: [PATCH] fix: mobcaps counting in border chunks | ||
|
||
Backported from 28a682c159503b5ad1ed8b4e14bda39d7f6319ce | ||
|
||
diff --git a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinSimulationDistanceLevelPropagator.java b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinSimulationDistanceLevelPropagator.java | ||
new file mode 100644 | ||
index 00000000..cb3450e0 | ||
--- /dev/null | ||
+++ b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinSimulationDistanceLevelPropagator.java | ||
@@ -0,0 +1,26 @@ | ||
+package com.ishland.c2me.notickvd.mixin; | ||
+ | ||
+import net.minecraft.world.SimulationDistanceLevelPropagator; | ||
+import org.spongepowered.asm.mixin.Mixin; | ||
+import org.spongepowered.asm.mixin.injection.Constant; | ||
+import org.spongepowered.asm.mixin.injection.ModifyConstant; | ||
+ | ||
+@Mixin(SimulationDistanceLevelPropagator.class) | ||
+public class MixinSimulationDistanceLevelPropagator { | ||
+ | ||
+ @ModifyConstant(method = "<init>", constant = {@Constant(intValue = 34), @Constant(intValue = 33)}, require = 2) | ||
+ private static int modifyMax(int constant) { | ||
+ return constant + 1; | ||
+ } | ||
+ | ||
+ @ModifyConstant(method = "getLevel(Lnet/minecraft/util/collection/SortedArraySet;)I", constant = @Constant(intValue = 34)) | ||
+ private int modifyMax1(int constant) { | ||
+ return constant + 1; | ||
+ } | ||
+ | ||
+ @ModifyConstant(method = "setLevel", constant = @Constant(intValue = 33)) | ||
+ private int modifyMax2(int constant) { | ||
+ return constant + 1; | ||
+ } | ||
+ | ||
+} | ||
diff --git a/c2me-notickvd/src/main/resources/c2me-notickvd.mixins.json b/c2me-notickvd/src/main/resources/c2me-notickvd.mixins.json | ||
index c03ffb8f..be745776 100644 | ||
--- a/c2me-notickvd/src/main/resources/c2me-notickvd.mixins.json | ||
+++ b/c2me-notickvd/src/main/resources/c2me-notickvd.mixins.json | ||
@@ -12,6 +12,7 @@ | ||
"MixinServerAccessibleChunkSending", | ||
"MixinServerBlockTicking", | ||
"MixinServerChunkManager", | ||
+ "MixinSimulationDistanceLevelPropagator", | ||
"MixinThreadedAnvilChunkStorage", | ||
"MixinWorld", | ||
"MixinWorldChunk", |
48 changes: 48 additions & 0 deletions
48
patches/main/0014-fix-add-vanilla-tickets-in-notickvd.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: ishland <[email protected]> | ||
Date: Fri, 6 Dec 2024 23:12:12 +0800 | ||
Subject: [PATCH] fix: add vanilla tickets in notickvd | ||
|
||
Backported from c75bb5d0ad71904d710a4475896f2ebf20e5fc1f | ||
|
||
diff --git a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
index 319e00c9..aabdfd8e 100644 | ||
--- a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
+++ b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
@@ -18,10 +18,12 @@ import it.unimi.dsi.fastutil.longs.LongLinkedOpenHashSet; | ||
import it.unimi.dsi.fastutil.longs.LongSet; | ||
import it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator; | ||
import it.unimi.dsi.fastutil.objects.ReferenceArrayList; | ||
+import net.minecraft.server.world.ChunkTicketType; | ||
import net.minecraft.server.world.ServerChunkLoadingManager; | ||
import net.minecraft.util.math.ChunkPos; | ||
import org.slf4j.Logger; | ||
|
||
+import java.util.Comparator; | ||
import java.util.concurrent.CompletableFuture; | ||
import java.util.concurrent.atomic.AtomicBoolean; | ||
import java.util.function.LongFunction; | ||
@@ -31,6 +33,7 @@ public class PlayerNoTickLoader { | ||
private static final Logger LOGGER = LogUtils.getLogger(); | ||
|
||
public static final ItemTicket.TicketType TICKET_TYPE = new ItemTicket.TicketType("c2me:notickvd"); | ||
+ public static final ChunkTicketType<ChunkPos> VANILLA_TICKET_TYPE = ChunkTicketType.create("c2me_notickvd", Comparator.comparingLong(ChunkPos::toLong)); | ||
|
||
private final ServerChunkLoadingManager tacs; | ||
private final NoTickSystem noTickSystem; | ||
@@ -181,6 +184,7 @@ public class PlayerNoTickLoader { | ||
NewChunkStatus.SERVER_ACCESSIBLE_CHUNK_SENDING, | ||
StatusAdvancingScheduler.NO_OP | ||
); | ||
+ this.noTickSystem.mainBeforeTicketTicks.add(() -> this.tacs.getTicketManager().addTicketWithLevel(VANILLA_TICKET_TYPE, pos, 33, pos)); | ||
return holder.getFutureForStatus(NewChunkStatus.SERVER_ACCESSIBLE); | ||
} | ||
|
||
@@ -192,6 +196,7 @@ public class PlayerNoTickLoader { | ||
pos, | ||
NewChunkStatus.SERVER_ACCESSIBLE_CHUNK_SENDING | ||
); | ||
+ this.noTickSystem.mainBeforeTicketTicks.add(() -> this.tacs.getTicketManager().removeTicketWithLevel(VANILLA_TICKET_TYPE, pos, 33, pos)); | ||
} | ||
|
||
public long getPendingLoadsCount() { |
45 changes: 45 additions & 0 deletions
45
patches/main/0015-fix-no-tick-pending-chunk-loads-counter.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: ishland <[email protected]> | ||
Date: Thu, 2 Jan 2025 21:39:27 +0800 | ||
Subject: [PATCH] fix: no-tick pending chunk loads counter | ||
|
||
Backported from 6073966852cea0d5ffcf5048831766753dace91a | ||
|
||
diff --git a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
index aabdfd8e..b2a9c4ce 100644 | ||
--- a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
+++ b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
@@ -114,16 +114,6 @@ public class PlayerNoTickLoader { | ||
} | ||
|
||
this.tickFutures(); | ||
- | ||
- { | ||
- long pendingLoadsCount = 0L; | ||
- ObjectBidirectionalIterator<Long2ReferenceMap.Entry<ChunkIterator>> iterator = this.iterators.long2ReferenceEntrySet().fastIterator(); | ||
- while (iterator.hasNext()) { | ||
- Long2ReferenceMap.Entry<ChunkIterator> entry = iterator.next(); | ||
- pendingLoadsCount += entry.getValue().remaining(); | ||
- } | ||
- this.pendingLoadsCountSnapshot = pendingLoadsCount; | ||
- } | ||
} | ||
|
||
private void clearTickets() { | ||
@@ -142,6 +132,16 @@ public class PlayerNoTickLoader { | ||
|
||
if (this.closing.get()) return; | ||
while (this.chunkLoadFutures.size() < Config.maxConcurrentChunkLoads && this.addOneTicket()); | ||
+ | ||
+ { | ||
+ long pendingLoadsCount = 0L; | ||
+ ObjectBidirectionalIterator<Long2ReferenceMap.Entry<ChunkIterator>> iterator = this.iterators.long2ReferenceEntrySet().fastIterator(); | ||
+ while (iterator.hasNext()) { | ||
+ Long2ReferenceMap.Entry<ChunkIterator> entry = iterator.next(); | ||
+ pendingLoadsCount += entry.getValue().remaining(); | ||
+ } | ||
+ this.pendingLoadsCountSnapshot = pendingLoadsCount; | ||
+ } | ||
} | ||
|
||
private boolean addOneTicket() { |
174 changes: 174 additions & 0 deletions
174
patches/main/0016-change-sync-1.21.4-MixinServerAccessibleChunkSending.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: ishland <[email protected]> | ||
Date: Fri, 24 Jan 2025 22:11:49 +0800 | ||
Subject: [PATCH] change: sync 1.21.4 MixinServerAccessibleChunkSending | ||
|
||
|
||
diff --git a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinServerAccessibleChunkSending.java b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinServerAccessibleChunkSending.java | ||
index 4bb24b66..21ada3b6 100644 | ||
--- a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinServerAccessibleChunkSending.java | ||
+++ b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinServerAccessibleChunkSending.java | ||
@@ -1,18 +1,32 @@ | ||
package com.ishland.c2me.notickvd.mixin; | ||
|
||
+import com.google.common.collect.ImmutableList; | ||
+import com.ishland.c2me.base.common.threadstate.ThreadInstrumentation; | ||
import com.ishland.c2me.base.mixin.access.IThreadedAnvilChunkStorage; | ||
import com.ishland.c2me.rewrites.chunksystem.common.ChunkLoadingContext; | ||
import com.ishland.c2me.rewrites.chunksystem.common.ChunkState; | ||
+import com.ishland.c2me.rewrites.chunksystem.common.Config; | ||
import com.ishland.c2me.rewrites.chunksystem.common.NewChunkHolderVanillaInterface; | ||
import com.ishland.c2me.rewrites.chunksystem.common.NewChunkStatus; | ||
import com.ishland.c2me.rewrites.chunksystem.common.statuses.ServerAccessibleChunkSending; | ||
+import com.ishland.c2me.rewrites.chunksystem.common.threadstate.ChunkTaskWork; | ||
import com.ishland.flowsched.scheduler.Cancellable; | ||
import com.ishland.flowsched.scheduler.ItemHolder; | ||
import com.ishland.flowsched.scheduler.KeyStatusPair; | ||
+import it.unimi.dsi.fastutil.shorts.ShortList; | ||
+import it.unimi.dsi.fastutil.shorts.ShortListIterator; | ||
+import net.minecraft.block.Block; | ||
+import net.minecraft.block.BlockState; | ||
+import net.minecraft.block.Blocks; | ||
import net.minecraft.server.world.ServerChunkLoadingManager; | ||
+import net.minecraft.server.world.ServerWorld; | ||
+import net.minecraft.util.math.BlockPos; | ||
import net.minecraft.util.math.ChunkPos; | ||
+import net.minecraft.world.ChunkRegion; | ||
import net.minecraft.world.chunk.Chunk; | ||
+import net.minecraft.world.chunk.ChunkGenerationSteps; | ||
import net.minecraft.world.chunk.ChunkStatus; | ||
+import net.minecraft.world.chunk.ProtoChunk; | ||
import net.minecraft.world.chunk.WorldChunk; | ||
import org.spongepowered.asm.mixin.Final; | ||
import org.spongepowered.asm.mixin.Mixin; | ||
@@ -24,6 +38,7 @@ import org.spongepowered.asm.mixin.injection.At; | ||
import org.spongepowered.asm.mixin.injection.Inject; | ||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||
|
||
+import java.util.ArrayList; | ||
import java.util.concurrent.CompletableFuture; | ||
import java.util.concurrent.CompletionStage; | ||
|
||
@@ -56,7 +71,48 @@ public class MixinServerAccessibleChunkSending { | ||
*/ | ||
@Overwrite(remap = false) | ||
public CompletionStage<Void> upgradeToThis(ChunkLoadingContext context, Cancellable cancellable) { | ||
- return CompletableFuture.runAsync(() -> sendChunkToPlayer(context.tacs(), context.holder()), ((IThreadedAnvilChunkStorage) context.tacs()).getMainThreadExecutor()); | ||
+ ArrayList<BlockPos> blocksToRemove = new ArrayList<>(); | ||
+ if (Config.suppressGhostMushrooms) { | ||
+ ServerWorld serverWorld = ((IThreadedAnvilChunkStorage) context.tacs()).getWorld(); | ||
+ ChunkState state = context.holder().getItem().get(); | ||
+ ChunkRegion chunkRegion = new ChunkRegion(serverWorld, context.chunks(), ChunkGenerationSteps.GENERATION.get(ChunkStatus.FULL), state.protoChunk()); | ||
+ Chunk chunk = state.chunk(); | ||
+ | ||
+ ChunkPos chunkPos = context.holder().getKey(); | ||
+ | ||
+ ShortList[] postProcessingLists = chunk.getPostProcessingLists(); | ||
+ for (int i = 0; i < postProcessingLists.length; i++) { | ||
+ if (postProcessingLists[i] != null) { | ||
+ for (ShortListIterator iterator = postProcessingLists[i].iterator(); iterator.hasNext(); ) { | ||
+ short short_ = iterator.nextShort(); | ||
+ BlockPos blockPos = ProtoChunk.joinBlockPos(short_, chunk.sectionIndexToCoord(i), chunkPos); | ||
+ BlockState blockState = chunk.getBlockState(blockPos); | ||
+ | ||
+ if (blockState.getBlock() == Blocks.BROWN_MUSHROOM || blockState.getBlock() == Blocks.RED_MUSHROOM) { | ||
+ if (!blockState.canPlaceAt(chunkRegion, blockPos)) { | ||
+ blocksToRemove.add(blockPos); | ||
+ } | ||
+ } | ||
+ } | ||
+ } | ||
+ } | ||
+ } | ||
+ return CompletableFuture.runAsync(() -> { | ||
+ try (var ignored = ThreadInstrumentation.getCurrent().begin(new ChunkTaskWork(context, (ServerAccessibleChunkSending) (Object) this, true))) { | ||
+ if (Config.suppressGhostMushrooms) { | ||
+ ServerWorld serverWorld = ((IThreadedAnvilChunkStorage) context.tacs()).getWorld(); | ||
+ ChunkState state = context.holder().getItem().get(); | ||
+ Chunk chunk = state.chunk(); | ||
+ for (BlockPos blockPos : blocksToRemove) { | ||
+ serverWorld.setBlockState(blockPos, Blocks.AIR.getDefaultState(), Block.NO_REDRAW | Block.FORCE_STATE); | ||
+ } | ||
+ for (BlockPos blockPos2 : ImmutableList.copyOf(chunk.getBlockEntityPositions())) { | ||
+ chunk.getBlockEntity(blockPos2); | ||
+ } | ||
+ } | ||
+ sendChunkToPlayer(context.tacs(), context.holder()); | ||
+ } | ||
+ }, ((IThreadedAnvilChunkStorage) context.tacs()).getMainThreadExecutor()); | ||
} | ||
|
||
@Unique | ||
diff --git a/c2me-rewrites-chunk-system/src/main/java/com/ishland/c2me/rewrites/chunksystem/mixin/MixinWorldChunk.java b/c2me-rewrites-chunk-system/src/main/java/com/ishland/c2me/rewrites/chunksystem/mixin/MixinWorldChunk.java | ||
deleted file mode 100644 | ||
index 7746bcbc..00000000 | ||
--- a/c2me-rewrites-chunk-system/src/main/java/com/ishland/c2me/rewrites/chunksystem/mixin/MixinWorldChunk.java | ||
+++ /dev/null | ||
@@ -1,55 +0,0 @@ | ||
-package com.ishland.c2me.rewrites.chunksystem.mixin; | ||
- | ||
-import com.llamalad7.mixinextras.injector.wrapoperation.Operation; | ||
-import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; | ||
-import net.minecraft.block.entity.BlockEntity; | ||
-import net.minecraft.network.packet.s2c.play.BlockEntityUpdateS2CPacket; | ||
-import net.minecraft.registry.Registry; | ||
-import net.minecraft.server.network.ServerPlayerEntity; | ||
-import net.minecraft.server.world.ServerWorld; | ||
-import net.minecraft.util.math.BlockPos; | ||
-import net.minecraft.util.math.ChunkPos; | ||
-import net.minecraft.world.HeightLimitView; | ||
-import net.minecraft.world.World; | ||
-import net.minecraft.world.biome.Biome; | ||
-import net.minecraft.world.chunk.Chunk; | ||
-import net.minecraft.world.chunk.ChunkSection; | ||
-import net.minecraft.world.chunk.UpgradeData; | ||
-import net.minecraft.world.chunk.WorldChunk; | ||
-import net.minecraft.world.gen.chunk.BlendingData; | ||
-import org.jetbrains.annotations.Nullable; | ||
-import org.spongepowered.asm.mixin.Final; | ||
-import org.spongepowered.asm.mixin.Mixin; | ||
-import org.spongepowered.asm.mixin.Shadow; | ||
-import org.spongepowered.asm.mixin.injection.At; | ||
- | ||
-import java.util.List; | ||
- | ||
-@Mixin(WorldChunk.class) | ||
-public abstract class MixinWorldChunk extends Chunk { | ||
- | ||
- @Shadow @Final private World world; | ||
- | ||
- public MixinWorldChunk(ChunkPos pos, UpgradeData upgradeData, HeightLimitView heightLimitView, Registry<Biome> biomeRegistry, long inhabitedTime, @Nullable ChunkSection[] sectionArray, @Nullable BlendingData blendingData) { | ||
- super(pos, upgradeData, heightLimitView, biomeRegistry, inhabitedTime, sectionArray, blendingData); | ||
- } | ||
- | ||
- @WrapOperation(method = "runPostProcessing", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/chunk/WorldChunk;getBlockEntity(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/entity/BlockEntity;")) | ||
- private BlockEntity syncBlockEntities(WorldChunk instance, BlockPos pos, Operation<BlockEntity> original) { | ||
- if (this.world instanceof ServerWorld serverWorld) { | ||
- BlockEntity blockEntity = original.call(instance, pos); | ||
- if (blockEntity == null) return null; | ||
- | ||
- List<ServerPlayerEntity> playersWatchingChunk = serverWorld.getChunkManager().chunkLoadingManager.getPlayersWatchingChunk(this.getPos(), false); | ||
- BlockEntityUpdateS2CPacket packet = BlockEntityUpdateS2CPacket.create(blockEntity); | ||
- for (ServerPlayerEntity player : playersWatchingChunk) { | ||
- player.networkHandler.send(packet); | ||
- } | ||
- | ||
- return blockEntity; | ||
- } else { | ||
- return original.call(instance, pos); | ||
- } | ||
- } | ||
- | ||
-} | ||
diff --git a/c2me-rewrites-chunk-system/src/main/resources/c2me-rewrites-chunk-system.mixins.json b/c2me-rewrites-chunk-system/src/main/resources/c2me-rewrites-chunk-system.mixins.json | ||
index d54edac4..47e86bf4 100644 | ||
--- a/c2me-rewrites-chunk-system/src/main/resources/c2me-rewrites-chunk-system.mixins.json | ||
+++ b/c2me-rewrites-chunk-system/src/main/resources/c2me-rewrites-chunk-system.mixins.json | ||
@@ -14,7 +14,6 @@ | ||
"MixinSerializingRegionBasedStorage", | ||
"MixinServerChunkManager", | ||
"MixinThreadedAnvilChunkStorage", | ||
- "MixinWorldChunk", | ||
"async_serialization.MixinBlender", | ||
"async_serialization.MixinChunkRegion", | ||
"async_serialization.MixinChunkSerializer", |
32 changes: 32 additions & 0 deletions
32
patches/main/0017-fix-load-1-extra-radius-to-notickvd-to-avoid-issues.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: ishland <[email protected]> | ||
Date: Tue, 21 Jan 2025 12:13:43 +0800 | ||
Subject: [PATCH] fix: load 1 extra radius to notickvd to avoid issues | ||
|
||
Backported from a8a51fcbc9b02844e0bec7a8386e0f4128b3d8f4 | ||
|
||
diff --git a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
index b2a9c4ce..30e68469 100644 | ||
--- a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
+++ b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/common/PlayerNoTickLoader.java | ||
@@ -64,7 +64,6 @@ public class PlayerNoTickLoader { | ||
|
||
public void setViewDistance(int viewDistance) { | ||
this.viewDistance = viewDistance; | ||
- this.dirtyManagedChunks = true; | ||
this.recreateIterators = true; | ||
} | ||
|
||
diff --git a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinChunkTicketManager.java b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinChunkTicketManager.java | ||
index 1d683e6d..37732ee8 100644 | ||
--- a/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinChunkTicketManager.java | ||
+++ b/c2me-notickvd/src/main/java/com/ishland/c2me/notickvd/mixin/MixinChunkTicketManager.java | ||
@@ -79,7 +79,7 @@ public class MixinChunkTicketManager implements ChunkTicketManagerExtension { | ||
*/ | ||
@Overwrite | ||
public void setWatchDistance(int viewDistance) { | ||
- this.noTickSystem.setNoTickViewDistance(viewDistance); | ||
+ this.noTickSystem.setNoTickViewDistance(viewDistance + 1); | ||
} | ||
|
||
@Override |
Oops, something went wrong.