mirror of
https://github.com/kami-blue/client
synced 2025-02-19 06:37:35 +00:00
Optimize ExtraTab even further
This commit is contained in:
parent
4eb892e6b3
commit
f4b578faab
@ -2,6 +2,7 @@ package me.zeroeightsix.kami.mixin.client;
|
||||
|
||||
import me.zeroeightsix.kami.module.modules.render.ExtraTab;
|
||||
import me.zeroeightsix.kami.module.modules.render.TabFriends;
|
||||
import me.zeroeightsix.kami.util.MathsUtils;
|
||||
import net.minecraft.client.gui.GuiPlayerTabOverlay;
|
||||
import net.minecraft.client.network.NetworkPlayerInfo;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
@ -10,11 +11,13 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/**
|
||||
* Created by 086 on 8/04/2018.
|
||||
* Optimized by dominikaaaa on 28/05/20
|
||||
*/
|
||||
@Mixin(GuiPlayerTabOverlay.class)
|
||||
public class MixinGuiPlayerTabOverlay {
|
||||
@ -23,15 +26,21 @@ public class MixinGuiPlayerTabOverlay {
|
||||
|
||||
@Redirect(method = "renderPlayerlist", at = @At(value = "INVOKE", target = "Ljava/util/List;subList(II)Ljava/util/List;", remap = false))
|
||||
public List subList(List list, int fromIndex, int toIndex) {
|
||||
if (list1 == null) {
|
||||
list1 = new AtomicReference<>(list.subList(fromIndex, Math.min(1, list.size())));
|
||||
}
|
||||
if (ExtraTab.INSTANCE.offload.getValue()) {
|
||||
if (list1 == null) {
|
||||
list1 = new AtomicReference<>(list.subList(fromIndex, Math.min(1, list.size())));
|
||||
}
|
||||
|
||||
new Thread(() -> {
|
||||
list1.set(list.subList(fromIndex, ExtraTab.INSTANCE.isEnabled() ? Math.min(ExtraTab.INSTANCE.tabSize.getValue(), list.size()) : toIndex));
|
||||
}).start();
|
||||
|
||||
return list1.get();
|
||||
// only update every 2 seconds
|
||||
if (MathsUtils.isNumberEven(Calendar.getInstance().get(Calendar.SECOND))) {
|
||||
new Thread(() -> {
|
||||
list1.set(list.subList(fromIndex, ExtraTab.INSTANCE.isEnabled() ? Math.min(ExtraTab.INSTANCE.tabSize.getValue(), list.size()) : toIndex));
|
||||
}).start();
|
||||
}
|
||||
return list1.get();
|
||||
} else {
|
||||
return list.subList(fromIndex, ExtraTab.INSTANCE.isEnabled() ? Math.min(ExtraTab.INSTANCE.tabSize.getValue(), list.size()) : toIndex);
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "getPlayerName", at = @At("HEAD"), cancellable = true)
|
||||
|
@ -6,6 +6,7 @@ import me.zeroeightsix.kami.setting.Settings
|
||||
|
||||
/**
|
||||
* Created by 086 on 8/04/2018.
|
||||
* Optimized by dominikaaaa on 28/05/20
|
||||
*/
|
||||
@Module.Info(
|
||||
name = "ExtraTab",
|
||||
@ -14,7 +15,9 @@ import me.zeroeightsix.kami.setting.Settings
|
||||
)
|
||||
class ExtraTab : Module() {
|
||||
@JvmField
|
||||
var tabSize: Setting<Int> = register(Settings.integerBuilder("Players").withMinimum(1).withValue(80).build())
|
||||
var offload: Setting<Boolean> = register(Settings.b("Reduce Lag", true))
|
||||
@JvmField
|
||||
var tabSize: Setting<Int> = register(Settings.integerBuilder("Max Players").withMinimum(1).withValue(230).build())
|
||||
|
||||
companion object {
|
||||
@JvmField
|
||||
|
Loading…
Reference in New Issue
Block a user