Начинающий
- Статус
- Оффлайн
- Регистрация
- 14 Дек 2022
- Сообщения
- 125
- Реакции
- 2
- Выберите загрузчик игры
- Fabric
qq, югеймовцы.
Смотря на частичный переход пастеров на 1.21+ решил вам немного завезти функционала (несмотря на то, что он особо не полезен, но вдруг кому-то пригодится)
Смотря на частичный переход пастеров на 1.21+ решил вам немного завезти функционала (несмотря на то, что он особо не полезен, но вдруг кому-то пригодится)
code:
package fun.Nexgen.function.impl.misc;
import fun.Nexgen.function.api.Category;
import fun.Nexgen.function.api.Function;
import fun.Nexgen.function.settings.impl.BooleanSetting;
public class ClientName extends Function {
public final BooleanSetting nick = new BooleanSetting("Никнейм", true);
public final BooleanSetting server = new BooleanSetting("Сервер", true);
public ClientName() {
super("ClientName", Category.Misc, "Меняет название окна игры");
}
}
MinecraftClientMixin:
package fun.Nexgen.api.mixins;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import fun.Nexgen.NexgenClient;
import fun.Nexgen.api.events.impl.EventTick;
import fun.Nexgen.utils.math.Counter;
import net.minecraft.client.MinecraftClient;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(MinecraftClient.class)
public abstract class MinecraftClientMixin {
@Inject(method = "tick", at = @At("HEAD"))
public void tick(CallbackInfo ci) {
EventTick event = new EventTick();
NexgenClient.getInstance().getEventHandler().post(event);
Counter.updateFPS();
}
@Inject(method = "getWindowTitle", at = @At("HEAD"), cancellable = true)
public void updateWindowTitle(CallbackInfoReturnable<String> cir) {
if (!NexgenClient.getInstance().isPanic()) {
MinecraftClient client = MinecraftClient.getInstance();
String base = "Nexgen Recode";
StringBuilder sb = new StringBuilder(base);
fun.Nexgen.function.impl.misc.ClientName cn = NexgenClient.getInstance().getModuleManager().getModule(fun.Nexgen.function.impl.misc.ClientName.class);
boolean enabled = cn != null && cn.isToggled();
boolean showNick = enabled && cn.nick.getValue();
boolean showServer = enabled && cn.server.getValue();
if (showNick) {
String username = "Player";
if (client != null && client.getSession() != null && client.getSession().getUsername() != null) username = client.getSession().getUsername();
sb.append(" | ").append(username);
}
if (showServer) {
String address = null;
if (client != null) {
if (client.getCurrentServerEntry() != null && client.getCurrentServerEntry().address != null && !client.getCurrentServerEntry().address.isEmpty()) address = client.getCurrentServerEntry().address;
else if (client.isInSingleplayer()) address = "singleplayer";
}
if (address != null) sb.append(" | ").append(address);
}
cir.setReturnValue(sb.toString());
}
}
}
