24 lines
821 B
Java
24 lines
821 B
Java
package carpet.mixins;
|
|
|
|
import carpet.helpers.TickSpeed;
|
|
import net.minecraft.server.level.DistanceManager;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.Shadow;
|
|
import org.spongepowered.asm.mixin.injection.At;
|
|
import org.spongepowered.asm.mixin.injection.Inject;
|
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
|
|
@Mixin(DistanceManager.class)
|
|
public class DistanceManager_tickMixin
|
|
{
|
|
@Shadow private long ticketTickCounter;
|
|
|
|
@Inject(method = "purgeStaleTickets", at = @At("HEAD"))
|
|
private void pauseTicketSystem(CallbackInfo ci)
|
|
{
|
|
// pausing expiry of tickets
|
|
// that will prevent also chunks from unloading, so require a deep frozen state
|
|
if (!TickSpeed.process_entities && TickSpeed.deeplyFrozen()) ticketTickCounter--;
|
|
}
|
|
}
|