Skip to content

Commit eebeb13

Browse files
committed
last things before release
1 parent 8e62213 commit eebeb13

File tree

9 files changed

+120
-54
lines changed

9 files changed

+120
-54
lines changed

build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
plugins {
22
id 'fabric-loom' version "0.12-SNAPSHOT"
3+
id 'io.github.juuxel.loom-quiltflower' version '1.7.+' // For loom 0.8-0.9, 0.11+
34
id 'maven-publish'
45
}
56

67
sourceCompatibility = JavaVersion.VERSION_1_8
78
targetCompatibility = JavaVersion.VERSION_1_8
89

9-
archivesBaseName = project.archives_base_name +"-" + project.minecraft_version
10+
archivesBaseName = project.archives_base_name
1011
version = project.mod_version
1112
group = project.maven_group
1213

@@ -23,7 +24,7 @@ repositories {
2324
}
2425

2526
loom {
26-
setIntermediaryUrl('https://maven.legacyfabric.net/net/fabricmc/intermediary/%1$s/intermediary-%1$s-v2.jar');
27+
setIntermediaryUrl('https://maven.legacyfabric.net/net/fabricmc/intermediary/%1$s/intermediary-%1$s-v2.jar')
2728
accessWidenerPath = file("src/main/resources/axolotlclient.accesswidener")
2829
}
2930

src/main/java/io/github/axolotlclient/config/screen/OptionsScreenBuilder.java

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,14 @@ public void render(int mouseX, int mouseY, float tickDelta) {
4949
this.list.render(mouseX, mouseY, tickDelta);
5050
drawCenteredString(textRenderer, cat.getTranslatedName(), width/2, 25, -1);
5151

52+
53+
super.render(mouseX, mouseY, tickDelta);
54+
5255
if(picker!=null){
56+
GlStateManager.disableDepthTest();
5357
picker.render(MinecraftClient.getInstance(), mouseX, mouseY);
58+
GlStateManager.enableDepthTest();
5459
}
55-
56-
super.render(mouseX, mouseY, tickDelta);
5760
}
5861

5962
public void openColorPicker(ColorOption option){
@@ -72,26 +75,40 @@ public boolean isPickerOpen(){
7275
protected void mouseClicked(int mouseX, int mouseY, int button) {
7376
super.mouseClicked(mouseX, mouseY, button);
7477

75-
this.list.entries.forEach(pair -> {
76-
if(pair.left instanceof StringOptionWidget && ((StringOptionWidget) pair.left).textField.isFocused()){
77-
((StringOptionWidget) pair.left).textField.mouseClicked(mouseX, mouseY, button);
78-
}
79-
if(pair.left instanceof ColorOptionWidget){
80-
if(((ColorOptionWidget) pair.left).textField.isFocused()) {
81-
((ColorOptionWidget) pair.left).textField.mouseClicked(mouseX, mouseY, button);
82-
}
83-
}
84-
});
78+
8579

8680
if(picker!=null){
8781
if(!picker.isMouseOver(MinecraftClient.getInstance(), mouseX, mouseY)) {
8882
closeColorPicker();
83+
this.list.mouseClicked(mouseX, mouseY, button);this.list.entries.forEach(pair -> {
84+
if(pair.left instanceof StringOptionWidget && ((StringOptionWidget) pair.left).textField.isFocused()){
85+
((StringOptionWidget) pair.left).textField.mouseClicked(mouseX, mouseY, button);
86+
}
87+
if(pair.left instanceof ColorOptionWidget){
88+
if(((ColorOptionWidget) pair.left).textField.isFocused()) {
89+
((ColorOptionWidget) pair.left).textField.mouseClicked(mouseX, mouseY, button);
90+
}
91+
}
92+
});
93+
8994
} else {
9095
picker.onClick(mouseX, mouseY);
9196
}
97+
} else {
98+
this.list.mouseClicked(mouseX, mouseY, button);
99+
this.list.entries.forEach(pair -> {
100+
if(pair.left instanceof StringOptionWidget && ((StringOptionWidget) pair.left).textField.isFocused()){
101+
((StringOptionWidget) pair.left).textField.mouseClicked(mouseX, mouseY, button);
102+
}
103+
if(pair.left instanceof ColorOptionWidget){
104+
if(((ColorOptionWidget) pair.left).textField.isFocused()) {
105+
((ColorOptionWidget) pair.left).textField.mouseClicked(mouseX, mouseY, button);
106+
}
107+
}
108+
});
92109
}
93110

94-
this.list.mouseClicked(mouseX, mouseY, button);
111+
95112
}
96113

97114
@Override

src/main/java/io/github/axolotlclient/config/screen/widgets/ColorSelectionWidget.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.lwjgl.opengl.GL11;
1414

1515
import java.nio.ByteBuffer;
16-
import java.nio.IntBuffer;
1716

1817
public class ColorSelectionWidget extends ButtonWidget {
1918
private final ColorOption option;
@@ -28,7 +27,7 @@ public ColorSelectionWidget(ColorOption option) {
2827
width=window.getWidth()-200;
2928
height=window.getHeight()-100;
3029

31-
pickerImage = new Rectangle(120, 70, width/2, height/3);
30+
pickerImage = new Rectangle(120, 70, width/2, height/2);
3231

3332
//rect = new Rectangle(100, 50, width-200, height-100);
3433
}
@@ -50,17 +49,18 @@ public void render(MinecraftClient client, int mouseX, int mouseY) {
5049

5150
public void onClick(int mouseX, int mouseY){
5251
if(pickerImage.isMouseOver(mouseX, mouseY)) {
53-
ByteBuffer buf = ByteBuffer.allocateDirect(4);
54-
IntBuffer color = buf.asIntBuffer();
52+
ByteBuffer pixels = ByteBuffer.allocateDirect(16);
53+
//IntBuffer pixels = IntBuffer.allocate(4);
54+
//IntBuffer color = buf.asIntBuffer();
5555

5656
MinecraftClient.getInstance().getFramebuffer().bind(true);
57-
GL11.glReadPixels(mouseX, mouseY, 1, 1, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, buf);
57+
GL11.glReadPixels(mouseX, mouseY, 1, 1, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, pixels);
5858

59-
System.out.println(buf.get());
59+
String color = (pixels.get(0) & 0xFF) +""+ (pixels.get(1) & 0xFF)+ (pixels.get(2) & 0xFF)+ (pixels.get(3) & 0xFF);
60+
System.out.println(color);
6061

61-
option.set(new Color(buf.get(0) & 0xFF, buf.get(1) & 0xFF, buf.get(2) & 0xFF, buf.get(3) & 0xFF));
62+
option.set(new Color(pixels.get(0) & 0xFF, pixels.get(1) & 0xFF, pixels.get(2) & 0xFF, pixels.get(3) & 0xFF));
6263
}
6364
}
6465

65-
6666
}

src/main/java/io/github/axolotlclient/mixin/ChatHudMixin.java

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,59 @@
11
package io.github.axolotlclient.mixin;
22

3-
import com.mojang.blaze3d.platform.GlStateManager;
4-
import io.github.axolotlclient.modules.hud.HudManager;
5-
import io.github.axolotlclient.modules.hud.util.DrawPosition;
63
import io.github.axolotlclient.modules.hypixel.autoboop.AutoBoop;
74
import io.github.axolotlclient.modules.hypixel.autogg.AutoGG;
5+
import io.github.axolotlclient.modules.hypixel.nickhider.NickHider;
86
import net.minecraft.client.MinecraftClient;
9-
import net.minecraft.client.font.TextRenderer;
10-
import net.minecraft.client.gui.DrawableHelper;
117
import net.minecraft.client.gui.hud.ChatHud;
12-
import net.minecraft.client.util.Window;
8+
import net.minecraft.entity.player.PlayerEntity;
9+
import net.minecraft.text.LiteralText;
1310
import net.minecraft.text.Text;
14-
import org.spongepowered.asm.mixin.Final;
1511
import org.spongepowered.asm.mixin.Mixin;
16-
import org.spongepowered.asm.mixin.Shadow;
1712
import org.spongepowered.asm.mixin.injection.At;
1813
import org.spongepowered.asm.mixin.injection.Inject;
19-
import org.spongepowered.asm.mixin.injection.Redirect;
14+
import org.spongepowered.asm.mixin.injection.ModifyArg;
2015
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2116

2217
@Mixin(ChatHud.class)
2318
public abstract class ChatHudMixin {
2419

25-
@Shadow @Final private MinecraftClient client;
26-
27-
@Shadow public abstract int getWidth();
28-
2920
@Inject(method = "addMessage(Lnet/minecraft/text/Text;IIZ)V", at = @At("HEAD"))
3021
public void autoGG(Text message, int messageId, int timestamp, boolean bl, CallbackInfo ci){
3122
AutoGG.Instance.onMessage(message);
3223
AutoBoop.Instance.onMessage(message);
3324
}
3425

35-
@Redirect(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/ChatHud;fill(IIIII)V"))
26+
@ModifyArg(method = "addMessage(Lnet/minecraft/text/Text;I)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/ChatHud;addMessage(Lnet/minecraft/text/Text;IIZ)V"))
27+
public Text editChat(Text message) {
28+
String msg = message.asString();
29+
30+
if(NickHider.Instance.hideOwnName.get() || NickHider.Instance.hideOtherNames.get()) {
31+
String playerName = MinecraftClient.getInstance().player.getCustomName();
32+
if (NickHider.Instance.hideOwnName.get() && msg.contains(playerName)) {
33+
msg = msg.replaceAll(playerName, NickHider.Instance.hiddenNameSelf.get());
34+
35+
}
36+
37+
if (NickHider.Instance.hideOtherNames.get()) {
38+
for (PlayerEntity player : MinecraftClient.getInstance().world.playerEntities) {
39+
if (msg.contains(player.getCustomName())) {
40+
msg = msg.replaceAll(player.getCustomName(), NickHider.Instance.hiddenNameOthers.get());
41+
}
42+
}
43+
}
44+
45+
46+
return new LiteralText(msg).setStyle(message.getStyle().deepCopy());
47+
}
48+
return message;
49+
}
50+
51+
@ModifyArg(method = "addMessage(Lnet/minecraft/text/Text;I)V", at = @At(value = "INVOKE", target = "Lorg/apache/logging/log4j/Logger;info(Ljava/lang/String;)V"), remap = false)
52+
public String noNamesInLogIfHidden(String message){
53+
return editChat(new LiteralText(message)).getString();
54+
}
55+
56+
/*@Redirect(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/ChatHud;fill(IIIII)V"))
3657
public void customChatHud(int x, int y, int x2, int y2, int color){
3758
io.github.axolotlclient.modules.hud.gui.hud.ChatHud hud = (io.github.axolotlclient.modules.hud.gui.hud.ChatHud) HudManager.getINSTANCE().get(io.github.axolotlclient.modules.hud.gui.hud.ChatHud.ID);
3859
if(hud.isEnabled()){
@@ -62,5 +83,5 @@ public int customChat(TextRenderer instance, String text, float x, float y, int
6283
instance.drawWithShadow(text, x, y, color);
6384
}
6485
return 0;
65-
}
86+
}*/
6687
}

src/main/java/io/github/axolotlclient/mixin/ChatScreenMixin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public abstract class ChatScreenMixin {
1515
@ModifyArgs(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/ChatHud;getTextAt(II)Lnet/minecraft/text/Text;"))
1616
public void redirectMousePos(Args args){
1717
io.github.axolotlclient.modules.hud.gui.hud.ChatHud hud = (io.github.axolotlclient.modules.hud.gui.hud.ChatHud) HudManager.getINSTANCE().get(io.github.axolotlclient.modules.hud.gui.hud.ChatHud.ID);
18-
if(hud.isEnabled()){
18+
if(hud!=null && hud.isEnabled()){
1919
Window window = new Window(MinecraftClient.getInstance());
2020
int x=args.get(0);
2121
int y = args.get(1);
@@ -35,7 +35,7 @@ public void redirectMousePos(Args args){
3535
@ModifyArgs(method = "mouseClicked", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/ChatHud;getTextAt(II)Lnet/minecraft/text/Text;"))
3636
public void redirectMousePosOnClick(Args args){
3737
io.github.axolotlclient.modules.hud.gui.hud.ChatHud hud = (io.github.axolotlclient.modules.hud.gui.hud.ChatHud) HudManager.getINSTANCE().get(io.github.axolotlclient.modules.hud.gui.hud.ChatHud.ID);
38-
if(hud.isEnabled()){
38+
if(hud != null && hud.isEnabled()){
3939
int x=args.get(0);
4040
int y = args.get(1);
4141
Window window = new Window(MinecraftClient.getInstance());

src/main/java/io/github/axolotlclient/mixin/DebugHudMixin.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
import io.github.axolotlclient.modules.hud.HudManager;
44
import io.github.axolotlclient.modules.hud.gui.hud.CrosshairHud;
5+
import net.fabricmc.loader.api.FabricLoader;
6+
import net.minecraft.client.ClientBrandRetriever;
57
import net.minecraft.client.gui.hud.DebugHud;
68
import net.minecraft.client.util.Window;
79
import org.spongepowered.asm.mixin.Mixin;
810
import org.spongepowered.asm.mixin.injection.At;
911
import org.spongepowered.asm.mixin.injection.Inject;
12+
import org.spongepowered.asm.mixin.injection.Redirect;
1013
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1114

1215
@Mixin(DebugHud.class)
@@ -21,4 +24,12 @@ public void onRender(Window window, CallbackInfo ci){
2124
}
2225

2326
}
27+
28+
@Redirect(method = "getLeftText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/ClientBrandRetriever;getClientModName()Ljava/lang/String;"))
29+
public String nicerVersionString(){
30+
if(FabricLoader.getInstance().getModContainer("axolotlclient").isPresent()) {
31+
return ClientBrandRetriever.getClientModName() + "/" + FabricLoader.getInstance().getModContainer("axolotlclient").get().getMetadata().getVersion().getFriendlyString();
32+
}
33+
return ClientBrandRetriever.getClientModName();
34+
}
2435
}

src/main/java/io/github/axolotlclient/mixin/MinecraftClientMixin.java

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
11
package io.github.axolotlclient.mixin;
22

3-
import org.lwjgl.LWJGLException;
4-
import org.lwjgl.input.Mouse;
5-
import org.lwjgl.opengl.Display;
6-
import org.spongepowered.asm.mixin.Final;
7-
import org.spongepowered.asm.mixin.Mixin;
8-
import org.spongepowered.asm.mixin.Shadow;
9-
import org.spongepowered.asm.mixin.injection.At;
10-
import org.spongepowered.asm.mixin.injection.Inject;
11-
import org.spongepowered.asm.mixin.injection.Redirect;
12-
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
13-
143
import io.github.axolotlclient.AxolotlClient;
154
import io.github.axolotlclient.NetworkHelper;
16-
import io.github.axolotlclient.config.Color;
175
import io.github.axolotlclient.modules.hud.HudManager;
186
import io.github.axolotlclient.modules.hud.gui.hud.CPSHud;
197
import io.github.axolotlclient.modules.sky.SkyResourceManager;
208
import io.github.axolotlclient.modules.zoom.Zoom;
219
import io.github.axolotlclient.util.DiscordRPC;
2210
import net.minecraft.client.MinecraftClient;
2311
import net.minecraft.client.RunArgs;
12+
import net.minecraft.client.gl.Framebuffer;
2413
import net.minecraft.client.options.GameOptions;
2514
import net.minecraft.client.render.BufferBuilder;
2615
import net.minecraft.client.texture.TextureManager;
16+
import net.minecraft.client.util.ScreenshotUtils;
2717
import net.minecraft.client.world.ClientWorld;
2818
import net.minecraft.entity.player.ClientPlayerEntity;
2919
import net.minecraft.world.level.LevelInfo;
20+
import org.lwjgl.LWJGLException;
21+
import org.lwjgl.input.Keyboard;
22+
import org.lwjgl.input.Mouse;
23+
import org.lwjgl.opengl.Display;
24+
import org.spongepowered.asm.mixin.Final;
25+
import org.spongepowered.asm.mixin.Mixin;
26+
import org.spongepowered.asm.mixin.Shadow;
27+
import org.spongepowered.asm.mixin.injection.At;
28+
import org.spongepowered.asm.mixin.injection.Inject;
29+
import org.spongepowered.asm.mixin.injection.Redirect;
30+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
3031

3132
@Mixin(MinecraftClient.class)
3233
public abstract class MinecraftClientMixin {
@@ -42,6 +43,8 @@ public abstract class MinecraftClientMixin {
4243

4344
@Shadow private TextureManager textureManager;
4445

46+
@Shadow private Framebuffer fbo;
47+
4548
/**
4649
* @author meohreag
4750
* @reason Customize Window title for use in AxolotlClient
@@ -62,6 +65,20 @@ public void loadSkiesOnStartup(CallbackInfo ci){
6265
} catch (Exception ignored){}
6366
}
6467

68+
// Fix taking a screenshot when pressing '<' (Because it has the same keyCode as F2)
69+
@Inject(method = "handleKeyInput", at = @At(value = "HEAD"), cancellable = true)
70+
public void iTryToFixTheScreenshotKey(CallbackInfo ci){
71+
int i = Keyboard.getEventKey() == 0 ? Keyboard.getEventCharacter() : Keyboard.getEventKey();
72+
73+
if (i != 0 && !Keyboard.isRepeatEvent() && !Keyboard.getEventKeyState()) {
74+
// We don't need the stream utils since the streaming integration is out of service anyway
75+
if (i == options.keyScreenshot.getCode() && !(Keyboard.getEventCharacter() == '<')) {
76+
MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(ScreenshotUtils.saveScreenshot(MinecraftClient.getInstance().runDirectory, MinecraftClient.getInstance().width, MinecraftClient.getInstance().height, this.fbo));
77+
}
78+
}
79+
ci.cancel();
80+
}
81+
6582
// Don't ask me why we need both here, but otherwise it looks ugly
6683
@Redirect(method = "loadLogo", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/BufferBuilder;color(IIII)Lnet/minecraft/client/render/BufferBuilder;"))
6784
public BufferBuilder loadingScreenColor(BufferBuilder instance, int red, int green, int blue, int alpha){

src/main/java/io/github/axolotlclient/modules/hud/HudManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public void init(){
6969
add(new CoordsHud());
7070
add(new ActionBarHud());
7171
add(new BossBarHud());
72-
add(new ChatHud());
72+
//add(new ChatHud()); // Too buggy to be used
7373
add(new ArrowHud());
7474
add(new ItemUpdateHud());
7575
add(new PackDisplayHud());

src/main/java/io/github/axolotlclient/modules/zoom/Zoom.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.github.axolotlclient.modules.zoom;
22

33
import io.github.axolotlclient.AxolotlClient;
4-
import io.github.axolotlclient.config.AxolotlClientConfig;
54
import io.github.axolotlclient.config.options.BooleanOption;
65
import io.github.axolotlclient.config.options.FloatOption;
76
import io.github.axolotlclient.config.options.OptionCategory;

0 commit comments

Comments
 (0)