Rebrand client as GEC Client
Refresh the launcher, HUD, metadata, and user-facing branding while preserving internal IDs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
12
CREDITS.md
|
|
@ -1,33 +1,33 @@
|
|||
# Credits
|
||||
|
||||
AUTISM Client includes original code written for this project, but it also uses, references, or derives ideas/code from other open-source Minecraft client projects.
|
||||
GEC Client includes original code written for this project, but it also uses, references, or derives ideas/code from other open-source Minecraft client projects.
|
||||
|
||||
Huge credit to the following developers and projects:
|
||||
|
||||
## OpSec by aurickk
|
||||
|
||||
Parts of AUTISM Client related to client privacy, mod detection protection, compatibility handling, and anti-fingerprinting behavior are inspired by or derived from OpSec.
|
||||
Parts of GEC Client related to client privacy, mod detection protection, compatibility handling, and anti-fingerprinting behavior are inspired by or derived from OpSec.
|
||||
|
||||
Project: https://github.com/aurickk/OpSec
|
||||
License: GPL-3.0
|
||||
|
||||
## Meteor Client
|
||||
|
||||
AUTISM Client uses ideas, structure, APIs, or source-code references from Meteor Client, especially around Fabric client architecture, modules, utilities, and client-side systems.
|
||||
GEC Client uses ideas, structure, APIs, or source-code references from Meteor Client, especially around Fabric client architecture, modules, utilities, and client-side systems.
|
||||
|
||||
Project: https://github.com/MeteorDevelopment/meteor-client
|
||||
License: GPL-3.0
|
||||
|
||||
## Wurst Client
|
||||
|
||||
AUTISM Client uses ideas, references, or code patterns from Wurst Client, one of the long-running open-source Minecraft utility clients.
|
||||
GEC Client uses ideas, references, or code patterns from Wurst Client, one of the long-running open-source Minecraft utility clients.
|
||||
|
||||
Project: https://github.com/Wurst-Imperium/Wurst7
|
||||
License: GPL-3.0
|
||||
|
||||
## ExploitPreventer by NikOverflow
|
||||
|
||||
AUTISM Client uses ideas, references, or derived logic from ExploitPreventer for protection against known client-side exploits.
|
||||
GEC Client uses ideas, references, or derived logic from ExploitPreventer for protection against known client-side exploits.
|
||||
|
||||
Project: https://github.com/NikOverflow/ExploitPreventer
|
||||
License: MIT
|
||||
|
|
@ -40,7 +40,7 @@ Project: https://github.com/bestluaucoder/Autism-Better-Storage-esp-1-addon/tree
|
|||
|
||||
## License Notice
|
||||
|
||||
Because AUTISM Client uses and/or derives from GPL-licensed projects, AUTISM Client is released under the GNU General Public License v3.0.
|
||||
Because GEC Client uses and/or derives from GPL-licensed projects, GEC Client is released under the GNU General Public License v3.0.
|
||||
|
||||
Source code must stay available to users, and any redistributed modified versions must follow the same GPL-3.0 license terms.
|
||||
|
||||
|
|
|
|||
22
README.md
|
|
@ -1,14 +1,14 @@
|
|||
# AUTISM Client
|
||||
# GEC Client
|
||||
|
||||
AUTISM Client is the best Duping/Debugging client built for people who actually want control over what actions server recieves.
|
||||
GEC Client is an advanced Minecraft client built for players who want precise control over modules, macros, visual customization, and addon support.
|
||||
|
||||
It is not trying to be a bloated all-in-one mess with 400 random buttons nobody uses. The point is simple: useful modules, a strong macro system, clean addon support, and tools that make testing, automation, and server interaction less painful.
|
||||
Its focus is a fast, cohesive experience: useful modules, a flexible macro system, clean addon support, and tools that make testing and automation easier.
|
||||
|
||||
This client is built around speed, control, and not pretending that users are too stupid to touch advanced features.
|
||||
The interface pairs a compact, animated main menu with configurable colors and detailed controls, while keeping advanced features accessible.
|
||||
|
||||
## What It Includes
|
||||
|
||||
AUTISM Client includes the normal client stuff you would expect, but the main focus is on systems that are actually useful.
|
||||
GEC Client includes the expected client features, with a focus on systems that are genuinely useful.
|
||||
|
||||
Main features include:
|
||||
|
||||
|
|
@ -32,34 +32,34 @@ The client is made to be expandable. If the base client is not enough, addons ca
|
|||
|
||||
# Credits
|
||||
|
||||
AUTISM Client includes original code written for this project, but it also uses, references, or derives ideas/code from other open-source Minecraft client projects.
|
||||
GEC Client includes original code written for this project, but it also uses, references, or derives ideas/code from other open-source Minecraft client projects.
|
||||
|
||||
Huge credit to the following developers and projects:
|
||||
|
||||
## OpSec by aurickk
|
||||
|
||||
Parts of AUTISM Client related to client privacy, mod detection protection, compatibility handling, and anti-fingerprinting behavior are inspired by or derived from OpSec.
|
||||
Parts of GEC Client related to client privacy, mod detection protection, compatibility handling, and anti-fingerprinting behavior are inspired by or derived from OpSec.
|
||||
|
||||
Project: https://github.com/aurickk/OpSec
|
||||
License: GPL-3.0
|
||||
|
||||
## Meteor Client
|
||||
|
||||
AUTISM Client uses ideas, structure, APIs, or source-code references from Meteor Client, especially around Fabric client architecture, modules, utilities, and client-side systems.
|
||||
GEC Client uses ideas, structure, APIs, or source-code references from Meteor Client, especially around Fabric client architecture, modules, utilities, and client-side systems.
|
||||
|
||||
Project: https://github.com/MeteorDevelopment/meteor-client
|
||||
License: GPL-3.0
|
||||
|
||||
## Wurst Client
|
||||
|
||||
AUTISM Client uses ideas, references, or code patterns from Wurst Client, one of the long-running open-source Minecraft utility clients.
|
||||
GEC Client uses ideas, references, or code patterns from Wurst Client, one of the long-running open-source Minecraft utility clients.
|
||||
|
||||
Project: https://github.com/Wurst-Imperium/Wurst7
|
||||
License: GPL-3.0
|
||||
|
||||
## ExploitPreventer by NikOverflow
|
||||
|
||||
AUTISM Client uses ideas, references, or derived logic from ExploitPreventer for protection against known client-side exploits.
|
||||
GEC Client uses ideas, references, or derived logic from ExploitPreventer for protection against known client-side exploits.
|
||||
|
||||
Project: https://github.com/NikOverflow/ExploitPreventer
|
||||
License: MIT
|
||||
|
|
@ -78,7 +78,7 @@ Project: https://github.com/bestluaucoder/Autism-Better-Storage-esp-1-addon/tree
|
|||
|
||||
## License Notice
|
||||
|
||||
Because AUTISM Client uses and/or derives from GPL-licensed projects, AUTISM Client is released under the GNU General Public License v3.0.
|
||||
Because GEC Client uses and/or derives from GPL-licensed projects, GEC Client is released under the GNU General Public License v3.0.
|
||||
|
||||
Source code must stay available to users, and any redistributed modified versions must follow the same GPL-3.0 license terms.
|
||||
|
||||
|
|
|
|||
|
|
@ -779,7 +779,7 @@ tasks.register("buildAllTemplates") {
|
|||
|
||||
// ---------------------------------------------------------------------------
|
||||
// LITE variant: turns the FINAL release jar (post guardian weaving) into the stripped-down
|
||||
// "AUTISM Client Lite" build in four stages, with no recompilation so the jars can never drift.
|
||||
// "GEC Client Lite" build in four stages, with no recompilation so the jars can never drift.
|
||||
// The pipeline uses NO ProGuard and NO obfuscation tooling of any kind - every stage is our own
|
||||
// code (ASM for bytecode surgery, plain zip + constant-pool analysis for shrinking):
|
||||
// litePatchVariant - copies the full jar, patches AutismLiteVariant.ENABLED to a compile-time
|
||||
|
|
@ -2119,7 +2119,7 @@ tasks.register("verifyLiteJar") {
|
|||
}
|
||||
|
||||
val fabricJson = entryText("fabric.mod.json")
|
||||
if (!fabricJson.contains("\"name\":\"AUTISM Client\"")) {
|
||||
if (!fabricJson.contains("\"name\":\"GEC Client\"")) {
|
||||
fail("fabric.mod.json name drifted - the game title/icon must not change in lite")
|
||||
}
|
||||
if (fabricJson.contains("AutismModMenuIntegration")) {
|
||||
|
|
|
|||
|
|
@ -6,4 +6,4 @@ org.gradle.configuration-cache=false
|
|||
org.gradle.daemon=false
|
||||
|
||||
maven_group=com.autismclient
|
||||
archives_base_name=AUTISM Client
|
||||
archives_base_name=GEC Client
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public final class AddonManager {
|
|||
String modId = mod.getMetadata().getId();
|
||||
AddonReport report = ensureReport(mod.getMetadata());
|
||||
if (isDisabledOnRestart(modId)) {
|
||||
report.markDisabled("Disabled in AUTISM config. Enable it and restart to load.");
|
||||
report.markDisabled("Disabled in GEC Client config. Enable it and restart to load.");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ public final class AddonManager {
|
|||
for (String id : config.disabledAddonIds) {
|
||||
if (id == null || id.isBlank() || REPORTS.containsKey(id)) continue;
|
||||
AddonReport report = new AddonReport(id.trim(), id.trim(), "", "", 0xFFAA66FF);
|
||||
report.markDisabled("Disabled in AUTISM config, but no matching addon entrypoint was discovered.");
|
||||
report.markDisabled("Disabled in GEC Client config, but no matching addon entrypoint was discovered.");
|
||||
REPORTS.put(report.modId(), report);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ public final class AutismCommands {
|
|||
Command command = find(first);
|
||||
String prefix = effectivePrefix();
|
||||
if (command == null) {
|
||||
AutismClientMessaging.sendPrefixed("§cUnknown AUTISM command: §f" + first);
|
||||
AutismClientMessaging.sendPrefixed("§cUnknown GEC command: §f" + first);
|
||||
AutismClientMessaging.sendPrefixed("§7Use §f" + prefix + "commands §7or §f" + prefix + "help§7.");
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import com.mojang.brigadier.builder.RequiredArgumentBuilder;
|
|||
|
||||
public class PrefixCommand extends Command {
|
||||
public PrefixCommand() {
|
||||
super("prefix", "Change the AUTISM command prefix.");
|
||||
super("prefix", "Change the GEC Client command prefix.");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public class AutismModMenuConfigScreen extends Screen {
|
|||
private record Hit(UiBounds bounds, Runnable onLeft, Runnable onRight) {}
|
||||
|
||||
public AutismModMenuConfigScreen(Screen parent) {
|
||||
super(Component.literal("AUTISM Client Settings"));
|
||||
super(Component.literal("GEC Client Settings"));
|
||||
this.parent = parent;
|
||||
AutismConfig cfg = AutismConfig.getGlobal();
|
||||
keybinds.add(new Keybind("Module Menu", () -> cfg.keybindModuleMenu, v -> { cfg.keybindModuleMenu = v; cfg.save(); }));
|
||||
|
|
@ -98,7 +98,7 @@ public class AutismModMenuConfigScreen extends Screen {
|
|||
|
||||
UiBounds header = UiBounds.of(px, py, panelW, HEADER_H);
|
||||
UiRenderer.rect(graphics, UiBounds.of(px + 1, py + 1, panelW - 2, HEADER_H - 1), p(0x33241A1D, Channel.HEADER));
|
||||
drawCentered(graphics, "AUTISM Client Settings", UiAssets.FONT_TITLE, p(TEXT_COLOR, Channel.TEXT), header);
|
||||
drawCentered(graphics, "GEC Client Settings", UiAssets.FONT_TITLE, p(TEXT_COLOR, Channel.TEXT), header);
|
||||
|
||||
UiBounds footer = UiBounds.of(px, panel.bottom() - FOOTER_H, panelW, FOOTER_H);
|
||||
UiBounds done = UiBounds.of(px + 8, footer.y() + 6, panelW - 16, ROW_H);
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public class AutismMultiDisclaimerScreen extends Screen {
|
|||
private static final String TITLE_TEXT = "[DISCLAIMER]";
|
||||
|
||||
private static final String[] PARAGRAPHS = {
|
||||
"AUTISM just provides the open-source software that lets you run more than one Minecraft account. That's all it does.",
|
||||
"GEC Client provides the open-source software that lets you run more than one Minecraft account. That's all it does.",
|
||||
"What you choose to do with it is not our concern, and not our responsibility.",
|
||||
"By clicking Agree, you take full responsibility for whatever you use this feature for.",
|
||||
};
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@ import net.minecraft.client.resources.sounds.SimpleSoundInstance;
|
|||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.Identifier;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.util.ARGB;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
|
|
@ -62,11 +61,10 @@ import java.util.Locale;
|
|||
import java.util.function.Supplier;
|
||||
|
||||
public class AutismTitleScreen extends Screen {
|
||||
private static final Identifier LOGO = Identifier.fromNamespaceAndPath("autismclient", "textures/gui/title/autism_client_logo.png");
|
||||
private static final Identifier BUTTON_CLICK_SOUND_ID = Identifier.fromNamespaceAndPath("autismclient", "gui.main_menu_click");
|
||||
private static final SoundEvent BUTTON_CLICK_SOUND = SoundEvent.createVariableRangeEvent(BUTTON_CLICK_SOUND_ID);
|
||||
private static final int LOGO_TEXTURE_WIDTH = 516;
|
||||
private static final int LOGO_TEXTURE_HEIGHT = 144;
|
||||
private static final int BRAND_CARD_WIDTH = 300;
|
||||
private static final int BRAND_CARD_HEIGHT = 72;
|
||||
private static final Identifier TEXT_SINGLEPLAYER = buttonText("singleplayer");
|
||||
private static final Identifier TEXT_MULTIPLAYER = buttonText("multiplayer");
|
||||
private static final Identifier TEXT_REALMS = buttonText("minecraft_realms");
|
||||
|
|
@ -326,8 +324,8 @@ public class AutismTitleScreen extends Screen {
|
|||
int margin = 8;
|
||||
|
||||
cardW = Math.min(296, Math.max(180, screenW - margin * 2));
|
||||
cardH = Math.max(20, Math.round(LOGO_TEXTURE_HEIGHT
|
||||
* Math.min(1.0f, (cardW - 16) / (float) LOGO_TEXTURE_WIDTH)));
|
||||
cardH = Math.max(52, Math.round(BRAND_CARD_HEIGHT
|
||||
* Math.min(1.0f, (cardW - 16) / (float) BRAND_CARD_WIDTH)));
|
||||
int rowW = Math.min(cardW - 28, compact ? 220 : 240);
|
||||
int rowH = compact ? 18 : 22;
|
||||
int rowGap = compact ? 3 : 5;
|
||||
|
|
@ -408,7 +406,7 @@ public class AutismTitleScreen extends Screen {
|
|||
int supportRowGap = 3;
|
||||
|
||||
int supportIcon = Math.min(14, supportRowH - 6);
|
||||
String[] supportLabels = {"Card/PayPal", "Crypto", "AUTISM INC", "AUTISM CLIENT"};
|
||||
String[] supportLabels = {"Card/PayPal", "Crypto", "COMMUNITY", "GEC CLIENT"};
|
||||
int supportTextW = 0;
|
||||
for (String label : supportLabels) {
|
||||
supportTextW = Math.max(supportTextW,
|
||||
|
|
@ -630,13 +628,39 @@ public class AutismTitleScreen extends Screen {
|
|||
float p = introProgress(0);
|
||||
if (p <= 0.0f) return;
|
||||
|
||||
float scale = Math.min(1.0f, (cardW - 16) / (float) LOGO_TEXTURE_WIDTH);
|
||||
int drawW = Math.max(1, Math.round(LOGO_TEXTURE_WIDTH * scale));
|
||||
int drawH = Math.max(1, Math.round(LOGO_TEXTURE_HEIGHT * scale));
|
||||
int logoX = UiSizing.centerInside(cardX, cardW, drawW);
|
||||
int logoY = cardY + introOffset(p) + Math.max(0, (cardH - drawH) / 2);
|
||||
graphics.blit(RenderPipelines.GUI_TEXTURED, AutismThemeTextures.recolored(LOGO, Channel.ACCENT), logoX, logoY, 0.0F, 0.0F, drawW, drawH,
|
||||
LOGO_TEXTURE_WIDTH, LOGO_TEXTURE_HEIGHT, LOGO_TEXTURE_WIDTH, LOGO_TEXTURE_HEIGHT, ARGB.white(p));
|
||||
int y = cardY + introOffset(p);
|
||||
int accent = fade(theme.color(UiTone.ACCENT), p);
|
||||
int text = fade(theme.color(UiTone.TITLE), p);
|
||||
boolean compact = cardH < 60;
|
||||
UiRenderer.frame(graphics, UiBounds.of(cardX, y, cardW, cardH), fade(theme.windowFill(), p), fade(theme.borderSoft(), p));
|
||||
UiRenderer.horizontalEdge(graphics, cardX + 1, y + 1, Math.min(18, cardW - 2), accent);
|
||||
UiRenderer.verticalEdge(graphics, cardX + 1, y + 1, Math.min(18, cardH - 2), accent);
|
||||
UiRenderer.horizontalEdge(graphics, cardX + cardW - Math.min(19, cardW - 1), y + 1,
|
||||
Math.min(18, cardW - 2), accent);
|
||||
UiRenderer.verticalEdge(graphics, cardX + cardW - 2, y + 1, Math.min(18, cardH - 2), accent);
|
||||
|
||||
String name = "GEC";
|
||||
int nameWidth = UiText.width(this.font, name, UiAssets.FONT_TITLE, text);
|
||||
UiText.draw(graphics, this.font, name, UiAssets.FONT_TITLE, text,
|
||||
cardX + (cardW - nameWidth) / 2, y + (compact ? 6 : 10), false);
|
||||
|
||||
String label = "CLIENT";
|
||||
int labelWidth = UiText.width(this.font, label, UiAssets.FONT_LABEL, accent);
|
||||
int labelY = y + (compact ? 25 : 31);
|
||||
int labelX = cardX + (cardW - labelWidth) / 2;
|
||||
UiText.draw(graphics, this.font, label, UiAssets.FONT_LABEL, accent, labelX, labelY, false);
|
||||
|
||||
int ruleY = y + cardH - 12;
|
||||
UiRenderer.horizontalEdge(graphics, cardX + 14, ruleY, cardW - 28, fade(theme.borderSoft(), p));
|
||||
int sweepWidth = Math.min(24, cardW - 28);
|
||||
int sweepTravel = Math.max(1, cardW - 28 - sweepWidth);
|
||||
int sweepX = cardX + 14 + (int) Math.floorMod(System.nanoTime() / 12_000_000L, sweepTravel);
|
||||
UiRenderer.horizontalEdge(graphics, sweepX, ruleY, sweepWidth, accent);
|
||||
|
||||
String caption = "ADVANCED CLIENT SYSTEMS";
|
||||
int captionWidth = UiText.width(this.font, caption, UiAssets.FONT_BODY, fade(theme.color(UiTone.MUTED), p));
|
||||
UiText.draw(graphics, this.font, caption, UiAssets.FONT_BODY, fade(theme.color(UiTone.MUTED), p),
|
||||
cardX + (cardW - captionWidth) / 2, y + cardH - 9, false);
|
||||
}
|
||||
|
||||
private void renderSupportPanel(GuiGraphicsExtractor graphics) {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import net.minecraft.client.gui.GuiGraphicsExtractor;
|
|||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.client.gui.screens.TitleScreen;
|
||||
import net.minecraft.client.input.MouseButtonEvent;
|
||||
import net.minecraft.client.renderer.RenderPipelines;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.Identifier;
|
||||
|
||||
|
|
@ -34,11 +33,6 @@ public class AutismWelcomeScreen extends Screen {
|
|||
private static final int CARD_FILL = 0xF20A0A0C;
|
||||
private static final int CARD_BORDER = 0xFFFF4A4A;
|
||||
private static final int DIVIDER_COLOR = 0x66FF4A4A;
|
||||
private static final Identifier HUD_LOGO = Identifier.fromNamespaceAndPath("autismclient", "textures/gui/hud/autismclient_welcome.png");
|
||||
private static final int HUD_LOGO_TEXTURE_WIDTH = 878;
|
||||
private static final int HUD_LOGO_TEXTURE_HEIGHT = 83;
|
||||
private static final int HUD_LOGO_DISPLAY_WIDTH = 878;
|
||||
private static final int HUD_LOGO_DISPLAY_HEIGHT = 83;
|
||||
private static final Identifier DONATE_SUPPORT_ICON = Identifier.fromNamespaceAndPath("autismclient", "textures/gui/title/icons/donate.png");
|
||||
private static final int SUPPORT_ICON_WIDTH = 32;
|
||||
private static final int SUPPORT_ICON_HEIGHT = 32;
|
||||
|
|
@ -47,7 +41,7 @@ public class AutismWelcomeScreen extends Screen {
|
|||
private static final String TITLE_TEXT = "Thanks for using";
|
||||
private static final String[][] SECTIONS = {
|
||||
{"Donate",
|
||||
"If AUTISM Client has helped you or made Minecraft more fun, a donation is a kind way to support the time behind it."},
|
||||
"If GEC Client has helped you or made Minecraft more fun, a donation is a kind way to support the time behind it."},
|
||||
{"Choose Method",
|
||||
"Use Card or PayPal for the normal route, or Crypto if you want the direct one."},
|
||||
};
|
||||
|
|
@ -121,11 +115,9 @@ public class AutismWelcomeScreen extends Screen {
|
|||
int y = cardY + PAD + 2;
|
||||
drawCentered(graphics, TITLE_TEXT, FONT_TITLE, autismclient.util.AutismTheme.recolor(TITLE_COLOR, autismclient.util.AutismTheme.Channel.TEXT), x, innerW, y);
|
||||
y += UiText.fontHeight(FONT_TITLE) + 7;
|
||||
int logoW = welcomeLogoWidth(innerW);
|
||||
int logoH = welcomeLogoHeight(logoW);
|
||||
int logoX = x + (innerW - logoW) / 2;
|
||||
graphics.blit(RenderPipelines.GUI_TEXTURED, autismclient.util.AutismThemeTextures.recolored(HUD_LOGO, autismclient.util.AutismTheme.Channel.ACCENT), logoX, y, 0.0F, 0.0F, logoW, logoH,
|
||||
HUD_LOGO_TEXTURE_WIDTH, HUD_LOGO_TEXTURE_HEIGHT, HUD_LOGO_TEXTURE_WIDTH, HUD_LOGO_TEXTURE_HEIGHT);
|
||||
drawCentered(graphics, "GEC CLIENT", FONT_TITLE,
|
||||
autismclient.util.AutismTheme.recolor(HEADER_COLOR, autismclient.util.AutismTheme.Channel.ACCENT), x, innerW, y);
|
||||
int logoH = UiText.fontHeight(FONT_TITLE);
|
||||
y += logoH + 9;
|
||||
UiRenderer.rect(graphics, UiBounds.of(x, y, innerW, 1), autismclient.util.AutismTheme.recolor(DIVIDER_COLOR, autismclient.util.AutismTheme.Channel.OUTLINE));
|
||||
y += 8;
|
||||
|
|
@ -185,8 +177,7 @@ public class AutismWelcomeScreen extends Screen {
|
|||
int headerH = UiText.fontHeight(FONT_LABEL);
|
||||
int lineH = UiText.fontHeight(FONT_LABEL) + 3;
|
||||
|
||||
int logoW = welcomeLogoWidth(innerW);
|
||||
int h = PAD + UiText.fontHeight(FONT_TITLE) + 7 + welcomeLogoHeight(logoW) + 9 + 1 + 8;
|
||||
int h = PAD + UiText.fontHeight(FONT_TITLE) + 7 + UiText.fontHeight(FONT_TITLE) + 9 + 1 + 8;
|
||||
List<List<String>> linesBySection = wrappedSections(innerW);
|
||||
for (int i = 0; i < SECTIONS.length; i++) {
|
||||
h += headerH + 3 + linesBySection.get(i).size() * lineH + 8;
|
||||
|
|
@ -250,14 +241,6 @@ public class AutismWelcomeScreen extends Screen {
|
|||
UiText.draw(graphics, this.font, text, fontId, color, x + (width - textW) / 2, y, false);
|
||||
}
|
||||
|
||||
private static int welcomeLogoWidth(int innerW) {
|
||||
return Math.max(170, Math.min(innerW - 18, 286));
|
||||
}
|
||||
|
||||
private static int welcomeLogoHeight(int width) {
|
||||
return Math.max(1, Math.round(width * (HUD_LOGO_DISPLAY_HEIGHT / (float) HUD_LOGO_DISPLAY_WIDTH)));
|
||||
}
|
||||
|
||||
private void renderButton(GuiGraphicsExtractor graphics, Btn btn, float mouseX, float mouseY, boolean enabled) {
|
||||
boolean hovered = enabled && btn.contains(mouseX, mouseY);
|
||||
UiContext ctx = UiContexts.overlay(graphics, this.font, (int) mouseX, (int) mouseY);
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@ public abstract class AutismTitleScreenSupportMixin extends Screen {
|
|||
|
||||
autism$leftButton(Component.literal("Card/PayPal"), 4, AutismLinks.KOFI);
|
||||
autism$leftButton(Component.literal("Crypto"), 28, AutismLinks.CRYPTO_DONATE);
|
||||
autism$leftButton(Component.literal("AUTISM INC"), 52, AutismLinks.AUTISM_INC_DISCORD);
|
||||
autism$leftButton(Component.literal("AUTISM Client"), 76, AutismLinks.DISCORD);
|
||||
autism$leftButton(Component.literal("COMMUNITY"), 52, AutismLinks.AUTISM_INC_DISCORD);
|
||||
autism$leftButton(Component.literal("GEC Client"), 76, AutismLinks.DISCORD);
|
||||
}
|
||||
|
||||
@Unique
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ public final class PackFreecamState {
|
|||
private static net.minecraft.network.chat.Component speedMessage(double speed) {
|
||||
return net.minecraft.network.chat.Component.empty()
|
||||
.append(styled("[", autismclient.util.AutismColors.textMuted(), false))
|
||||
.append(styled("AUTISM", autismclient.util.AutismColors.accent(), true))
|
||||
.append(styled("GEC", autismclient.util.AutismColors.accent(), true))
|
||||
.append(styled("] ", autismclient.util.AutismColors.textMuted(), false))
|
||||
.append(styled("Freecam Speed", autismclient.util.AutismColors.packetGray(), true))
|
||||
.append(styled(": ", autismclient.util.AutismColors.textMuted(), false))
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import java.util.Set;
|
|||
public final class AutismClientMessaging {
|
||||
private static final Minecraft MC = Minecraft.getInstance();
|
||||
private static final long DUPLICATE_WINDOW_MS = 600L;
|
||||
private static final String PREFIX_TEXT = "[AUTISM] ";
|
||||
private static final String PREFIX_TEXT = "[GEC] ";
|
||||
|
||||
private static String lastMessageKey = "";
|
||||
private static long lastMessageAtMs = 0L;
|
||||
|
|
@ -38,7 +38,7 @@ public final class AutismClientMessaging {
|
|||
|
||||
public static void sendPrefixed(String message) {
|
||||
MutableComponent text = Component.empty()
|
||||
.append(themedTag("AUTISM"))
|
||||
.append(themedTag("GEC"))
|
||||
.append(buildBodyText(message));
|
||||
send(text);
|
||||
}
|
||||
|
|
@ -563,8 +563,7 @@ public final class AutismClientMessaging {
|
|||
|
||||
private static String normalizeDuplicateKey(String message) {
|
||||
if (message == null) return "";
|
||||
return stripLegacyCodes(normalizeLegacyFormatting(message))
|
||||
.replace(PREFIX_TEXT, "")
|
||||
return stripAutismPrefix(stripLegacyCodes(normalizeLegacyFormatting(message)))
|
||||
.replaceAll("\\s+", " ")
|
||||
.trim()
|
||||
.toLowerCase();
|
||||
|
|
|
|||
|
|
@ -292,7 +292,7 @@ public final class AutismHudManager {
|
|||
case WORLD_TIME -> "Current world day time.";
|
||||
case REAL_TIME -> "Local system time.";
|
||||
case ROTATION -> "Camera direction, yaw, and pitch.";
|
||||
case WATERMARK -> "Movable AUTISM Client logo image.";
|
||||
case WATERMARK -> "Movable GEC Client logo image.";
|
||||
case ARMOR -> "Equipped armor with vanilla item overlays.";
|
||||
case INVENTORY -> "Main inventory grid.";
|
||||
case ITEM_COUNTER -> "Counts a picked or held item across the inventory.";
|
||||
|
|
|
|||
|
|
@ -870,7 +870,7 @@ public class AutismMacroListOverlay extends AutismOverlayBase {
|
|||
localSection.add(DisplayItem.localMacro(macro));
|
||||
}
|
||||
if (!localSection.isEmpty()) {
|
||||
items.add(DisplayItem.section("AUTISM Client Macros", AutismTheme.recolor(0xFFFF5555, AutismTheme.Channel.ACCENT)));
|
||||
items.add(DisplayItem.section("GEC Client Macros", AutismTheme.recolor(0xFFFF5555, AutismTheme.Channel.ACCENT)));
|
||||
items.addAll(localSection);
|
||||
}
|
||||
|
||||
|
|
@ -887,7 +887,7 @@ public class AutismMacroListOverlay extends AutismOverlayBase {
|
|||
}
|
||||
if (!remoteSection.isEmpty()) {
|
||||
if (localSection.isEmpty()) {
|
||||
items.add(DisplayItem.section("AUTISM Client Macros", AutismTheme.recolor(0xFFFF5555, AutismTheme.Channel.ACCENT)));
|
||||
items.add(DisplayItem.section("GEC Client Macros", AutismTheme.recolor(0xFFFF5555, AutismTheme.Channel.ACCENT)));
|
||||
}
|
||||
items.addAll(remoteSection);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
public final class AutismWindowBranding {
|
||||
public static final String WINDOW_TITLE = "AUTISM Client";
|
||||
public static final String WINDOW_TITLE = "GEC Client";
|
||||
private static final String ICON_ROOT = "assets/autismclient/icons/window/";
|
||||
private static final int[] ICON_SIZES = {16, 32, 48, 128, 256};
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 326 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 654 B After Width: | Height: | Size: 674 B |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 15 KiB |
|
|
@ -1,15 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="a" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="1191.36" height="114.62" viewBox="0 0 1191.36 114.62">
|
||||
<path d="M39.8,21.38h33.46l38.73,72.19h-31.69l-5.69-12.35h-36.15l-5.69,12.35H1.07L39.8,21.38ZM46.62,63.59h19.82l-9.88-21.32-9.94,21.32Z" fill="#ec2027"/>
|
||||
<path d="M177.73,21.27h28.2v38.78c.11,27.29-22.24,35.13-49.31,35.18-27.07-.05-49.41-7.9-49.31-35.18V21.27h28.14v37.01c-.11,11.87,9.61,13.91,21.16,14.07,11.49-.16,21.27-2.2,21.11-14.07V21.27Z" fill="#ec2027"/>
|
||||
<path d="M248.68,93.56v-49.31h-33.46v-22.88h95.07v22.88h-33.46v49.31h-28.14Z" fill="#ec2027"/>
|
||||
<path d="M347.83,21.27v72.19h-28.15V21.27h28.15Z" fill="#ec2027"/>
|
||||
<path d="M404.98,49.2c20.14,1.02,48.45,2.42,48.39,20.52,0,20.62-23.63,25.51-48.98,25.51-25.3-.05-46.3-3.12-48.98-25.51h29.49c3.22,5.59,10.69,7.04,19.5,7.04s19.5-1.45,19.5-7.04c0-3.17-8.75-3.65-20.09-4.19-20.14-1.02-48.45-2.42-48.39-20.46,0-20.62,23.63-25.57,48.98-25.57,25.3.16,46.3,3.01,48.98,25.57h-29.49c-3.22-5.69-10.69-7.04-19.5-7.04s-19.5,1.29-19.5,7.04c0,3.17,8.75,3.6,20.09,4.14Z" fill="#ec2027"/>
|
||||
<path d="M460.89,21.27h35.23l28.14,36.09,28.2-36.09h35.18v72.19h-28.14v-38.51l-28.2,38.51h-14.07l-28.2-38.51v38.51h-28.14V21.27Z" fill="#ec2027"/>
|
||||
<path d="M741.96,63.54c-1.77,24.38-23.15,31.69-49.15,31.69-27.07-.05-49.41-7.9-49.31-35.23v-5.26c-.11-27.29,22.24-35.13,49.31-35.23,26,.05,47.37,7.36,49.15,31.69h-28.84c-2.63-7.09-10.63-8.75-20.3-8.75-11.49.16-21.27,2.2-21.11,14.07v1.77c-.16,11.76,9.61,13.91,21.11,14.07,9.67,0,17.72-1.72,20.3-8.81h28.84Z" fill="#ec2027"/>
|
||||
<path d="M778.49,21.27v49.31h56.34v22.88h-84.49V21.27h28.14Z" fill="#ec2027"/>
|
||||
<path d="M872.48,21.27v72.19h-28.14V21.27h28.14Z" fill="#ec2027"/>
|
||||
<path d="M887.41,21.38h84.49v18.48h-56.34v9.24h56.34v16.7h-56.34v9.24h56.34v18.53h-84.49V21.38Z" fill="#ec2027"/>
|
||||
<path d="M1057.25,21.27h28.2v72.19h-31.69l-38.78-44.1v44.1h-28.14V21.27h38.73l31.69,38.24V21.27Z" fill="#ec2027"/>
|
||||
<path d="M1128.68,93.56v-49.31h-33.46v-22.88h95.07v22.88h-33.46v49.31h-28.14Z" fill="#ec2027"/>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1191.36" height="160" viewBox="0 0 1191.36 160">
|
||||
<defs>
|
||||
<linearGradient id="gec-accent" x1="0" y1="0" x2="1" y2="0">
|
||||
<stop offset="0" stop-color="#ff4a58"/>
|
||||
<stop offset="1" stop-color="#be5bff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M95 126 160 14h72l65 112h-54l-11-22h-72l-11 22zm83-62h36l-18-34z" fill="url(#gec-accent)"/>
|
||||
<text x="650" y="108" fill="#f6f4ff" font-family="Segoe UI,Arial,sans-serif" font-size="100" font-weight="700" letter-spacing="4" text-anchor="middle">GEC CLIENT</text>
|
||||
<path d="M95 146h1000" fill="none" stroke="url(#gec-accent)" stroke-linecap="round" stroke-width="5"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 719 B |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 288 KiB After Width: | Height: | Size: 48 KiB |
|
|
@ -2,8 +2,8 @@
|
|||
"schemaVersion": 1,
|
||||
"id": "autism",
|
||||
"version": "${version}",
|
||||
"name": "AUTISM Client",
|
||||
"description": "AUTISM Client is an elite packet, macro, and duping toolkit built for players who want total control.",
|
||||
"name": "GEC Client",
|
||||
"description": "GEC Client is an advanced Minecraft client focused on modules, macros, visual customization, and addon support.",
|
||||
"authors": [
|
||||
"Melonik"
|
||||
],
|
||||
|
|
|
|||