Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Часть функционала StaffList rockstar 2.0

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Июл 2025
Сообщения
24
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
сделал стаффлист(персонал) потому что его не было в моих сурсах
SS:
staff.jpg


сам стаффлист:

stafflist rockstar 2.0:
Expand Collapse Copy
package moscow.rockstar.ui.hud.impl;

import moscow.rockstar.Rockstar;
import moscow.rockstar.framework.base.UIContext;
import moscow.rockstar.framework.msdf.Font;
import moscow.rockstar.framework.msdf.Fonts;
import moscow.rockstar.ui.hud.HudList;
import moscow.rockstar.utility.colors.Colors;
import net.minecraft.client.network.PlayerListEntry;
import net.minecraft.world.GameMode;

import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

public class StaffList extends HudList {

    public StaffList() {
        super("hud.stafflist", "icons/hud/player.png");
    }

    @Override
    public void update(UIContext context) {
        this.width = 80.0F;
        this.height = 18.0F;
        Font font = Fonts.REGULAR.getFont(7.0F);

        List<PlayerListEntry> staffMembers = getStaffMembers();

        if (!staffMembers.isEmpty()) {
            for (PlayerListEntry entry : staffMembers) {
                String name = entry.getProfile().getName();
                this.width = Math.max(font.width(name) + 30.0F, this.width);
                this.height += 16.0F;
            }
            this.height += 4.0F;
        }

        super.update(context);
    }

    @Override
    protected void renderComponent(UIContext context) {
        super.renderComponent(context);
        Font font = Fonts.REGULAR.getFont(7.0F);

        List<PlayerListEntry> staffMembers = getStaffMembers();
        float currentY = 22.0F;

        for (PlayerListEntry entry : staffMembers) {
            float rowY = this.y + currentY;
            String name = entry.getProfile().getName();
            String mode = "SPEC";

            context.drawText(font, name, this.x + 8, rowY + 6,
                    Colors.getTextColor().withAlpha(255));

            context.drawRightText(font, mode, this.x + this.width - 8, rowY + 6,
                    Colors.getTextColor().withAlpha(150));

            currentY += 16.0F;
        }
    }

    private List<PlayerListEntry> getStaffMembers() {
        return mc.getNetworkHandler().getPlayerList().stream()
                .filter(entry -> entry.getGameMode() == GameMode.SPECTATOR)
                .sorted(Comparator.comparing(entry -> entry.getProfile().getName()))
                .collect(Collectors.toList());
    }

    @Override
    public boolean show() {
        return !getStaffMembers().isEmpty() || mc.currentScreen instanceof net.minecraft.client.gui.screen.ChatScreen;
    }
}
 
сделал стаффлист(персонал) потому что его не было в моих сурсах
SS:
Посмотреть вложение 328402

сам стаффлист:

stafflist rockstar 2.0:
Expand Collapse Copy
package moscow.rockstar.ui.hud.impl;

import moscow.rockstar.Rockstar;
import moscow.rockstar.framework.base.UIContext;
import moscow.rockstar.framework.msdf.Font;
import moscow.rockstar.framework.msdf.Fonts;
import moscow.rockstar.ui.hud.HudList;
import moscow.rockstar.utility.colors.Colors;
import net.minecraft.client.network.PlayerListEntry;
import net.minecraft.world.GameMode;

import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

public class StaffList extends HudList {

    public StaffList() {
        super("hud.stafflist", "icons/hud/player.png");
    }

    @Override
    public void update(UIContext context) {
        this.width = 80.0F;
        this.height = 18.0F;
        Font font = Fonts.REGULAR.getFont(7.0F);

        List<PlayerListEntry> staffMembers = getStaffMembers();

        if (!staffMembers.isEmpty()) {
            for (PlayerListEntry entry : staffMembers) {
                String name = entry.getProfile().getName();
                this.width = Math.max(font.width(name) + 30.0F, this.width);
                this.height += 16.0F;
            }
            this.height += 4.0F;
        }

        super.update(context);
    }

    @Override
    protected void renderComponent(UIContext context) {
        super.renderComponent(context);
        Font font = Fonts.REGULAR.getFont(7.0F);

        List<PlayerListEntry> staffMembers = getStaffMembers();
        float currentY = 22.0F;

        for (PlayerListEntry entry : staffMembers) {
            float rowY = this.y + currentY;
            String name = entry.getProfile().getName();
            String mode = "SPEC";

            context.drawText(font, name, this.x + 8, rowY + 6,
                    Colors.getTextColor().withAlpha(255));

            context.drawRightText(font, mode, this.x + this.width - 8, rowY + 6,
                    Colors.getTextColor().withAlpha(150));

            currentY += 16.0F;
        }
    }

    private List<PlayerListEntry> getStaffMembers() {
        return mc.getNetworkHandler().getPlayerList().stream()
                .filter(entry -> entry.getGameMode() == GameMode.SPECTATOR)
                .sorted(Comparator.comparing(entry -> entry.getProfile().getName()))
                .collect(Collectors.toList());
    }

    @Override
    public boolean show() {
        return !getStaffMembers().isEmpty() || mc.currentScreen instanceof net.minecraft.client.gui.screen.ChatScreen;
    }
}
кривовато будто
 
Назад
Сверху Снизу