Skip to content

Commit a195fbf

Browse files
committed
time changer
and crash fixes
1 parent ab6a928 commit a195fbf

16 files changed

+65
-61
lines changed

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ org.gradle.parallel = true
55
# Dependencies
66
minecraft_version = 1.19
77
quilt_mappings = 1
8-
loader_version = 0.17.1-beta.1
8+
loader_version = 0.17.1-beta.2
99

1010
# QSL
1111
# QSL version number is shared between all the modules.
1212
qsl_version = 2.0.0-beta.2
1313

1414
# Quilted Fabric API
15-
quilted_fabric_api_version = 2.0.0-alpha.2+0.55.3
15+
quilted_fabric_api_version = 2.0.0-alpha.3+0.55.3
1616

1717
# Mod Properties
1818
version = 2.0.0+1.19

run/options.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ guiScale:2
3434
particles:1
3535
maxFps:260
3636
graphicsMode:1
37-
ao:2
37+
ao:1
3838
prioritizeChunkUpdates:0
3939
biomeBlendRadius:2
4040
renderClouds:"false"

src/main/java/io/github/axolotlclient/config/AxolotlClientConfig.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ public class AxolotlClientConfig {
1616
public final BooleanOption customBadge = new BooleanOption("customBadge", false);
1717
public final StringOption badgeText = new StringOption("badgeText", "");
1818

19+
public final BooleanOption timeChangerEnabled = new BooleanOption("enabled", false);
20+
public final IntegerOption customTime = new IntegerOption("time", 0, 0, 24000);
1921
public final BooleanOption customSky = new BooleanOption("customSky", true);
2022
public final BooleanOption showSunMoon = new BooleanOption("showSunMoon", true);
2123
public final BooleanOption customCloudHeight = new BooleanOption("customCloudHeight", false);
@@ -49,6 +51,8 @@ public class AxolotlClientConfig {
4951
public final OptionCategory outlines= new OptionCategory("blockOutlines");
5052
public final OptionCategory motionBlur = new OptionCategory("motionBlur");
5153

54+
public final OptionCategory timeChanger = new OptionCategory("timeChanger");
55+
5256
private final List<Option> options = new ArrayList<>();
5357
private final List<OptionCategory> categories = new ArrayList<>();
5458

@@ -110,6 +114,10 @@ public void init(){
110114
motionBlur.add(motionBlurInGuis);
111115
rendering.addSubCategory(motionBlur);
112116

117+
timeChanger.add(timeChangerEnabled);
118+
timeChanger.add(customTime);
119+
rendering.addSubCategory(timeChanger);
120+
113121
outlines.add(enableCustomOutlines);
114122
outlines.add(outlineColor);
115123
outlines.add(outlineChroma);

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,9 @@ public void renderTooltip(MatrixStack matrices, Tooltippable option, int x, int
115115
for(String s:tooltip) text.add(Text.literal(s));
116116
this.renderTooltip(matrices, text, x, y);
117117
}
118+
119+
@Override
120+
public boolean isPauseScreen() {
121+
return false;
122+
}
118123
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
import java.text.DecimalFormat;
1616

1717
public class OptionSliderWidget extends ButtonWidget {
18-
/*public OptionSliderWidget(int x, int y, int width, Text text, PressAction pressAction) {
19-
super(x, y, width, 20, text, pressAction);
20-
}*/
18+
2119
private final DecimalFormat format = new DecimalFormat("##.#");
2220
private final DecimalFormat intformat = new DecimalFormat("##");
2321

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.github.axolotlclient.mixin;
22

3+
import io.github.axolotlclient.AxolotlClient;
34
import io.github.axolotlclient.modules.hypixel.HypixelAbstractionLayer;
45
import net.minecraft.client.world.ClientWorld;
56
import net.minecraft.entity.Entity;
@@ -9,6 +10,7 @@
910
import org.spongepowered.asm.mixin.Shadow;
1011
import org.spongepowered.asm.mixin.injection.At;
1112
import org.spongepowered.asm.mixin.injection.Inject;
13+
import org.spongepowered.asm.mixin.injection.ModifyArg;
1214
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1315

1416
@Mixin(ClientWorld.class)
@@ -23,4 +25,12 @@ public void onEntityRemoved(int entityId, Entity.RemovalReason removalReason, Ca
2325
HypixelAbstractionLayer.handleDisconnectEvents(entity.getUuid());
2426
}
2527
}
28+
29+
@ModifyArg(method = "setTimeOfDay", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/world/ClientWorld$Properties;setTimeOfDay(J)V"))
30+
public long timeChanger(long time){
31+
if(AxolotlClient.CONFIG.timeChangerEnabled.get()){
32+
return AxolotlClient.CONFIG.customTime.get();
33+
}
34+
return time;
35+
}
2636
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ public class MixinCrashReport {
1414

1515
@Inject(method = "addStackTrace", at = @At(value = "TAIL"))
1616
public void addAxolotlclientInfo(StringBuilder builder, CallbackInfo ci){
17+
if (!Objects.equals(AxolotlClient.badmod, "")) {
1718
builder.append("\n\n")
1819
.append("---- Axolotlclient Information ----\n");
19-
if (!Objects.equals(AxolotlClient.badmod, "")){
20-
builder.append("Unsupported Mods were found!\n")
21-
.append("Suspected mod: ")
22-
.append(AxolotlClient.badmod);
23-
}
20+
builder.append("Unsupported Mods were found!\n")
21+
.append("Suspected mod: ")
22+
.append(AxolotlClient.badmod);
2423
builder.append("\n\n");
24+
}
2525
}
2626
}
Lines changed: 11 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,21 @@
11
package io.github.axolotlclient.mixin;
22

3+
import io.github.axolotlclient.modules.hud.HudEditScreen;
4+
import net.minecraft.client.MinecraftClient;
35
import net.minecraft.client.gui.screen.GameMenuScreen;
6+
import net.minecraft.client.gui.widget.ButtonWidget;
7+
import net.minecraft.text.Text;
48
import org.spongepowered.asm.mixin.Mixin;
59
import org.spongepowered.asm.mixin.injection.At;
6-
import org.spongepowered.asm.mixin.injection.Inject;
7-
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
10+
import org.spongepowered.asm.mixin.injection.ModifyArgs;
11+
import org.spongepowered.asm.mixin.injection.invoke.arg.Args;
812

913
@Mixin(GameMenuScreen.class)
1014
public abstract class MixinGameMenuScreen {
1115

12-
@Inject(method = "initWidgets", at = @At("RETURN"))
13-
public void addConfigButton(CallbackInfo ci){
14-
/*if(MinecraftClient.getInstance().isInSingleplayer() && MinecraftClient.getInstance().getServer().isDedicated()) {
15-
buttons.add(new ButtonWidget(20, width / 2 - 100, height / 4 +
16-
(FabricLoader.getInstance().isModLoaded("modmenu")? 82 :80),
17-
I18n.translate("config")));
18-
for (ButtonWidget button : buttons) {
19-
if (button.y >= this.height / 4 - 16 + 24 * 4 - 1 && !(button.id == 20)) {
20-
button.y += 24;
21-
}
22-
//button.y -= 12;
23-
}
24-
} else {
25-
for (ButtonWidget button:buttons){
26-
if(!button.active && button.id==20){
27-
button.active=true;
28-
}
29-
}
30-
}
31-
}
32-
33-
@ModifyArgs(method = "init", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/widget/ButtonWidget;<init>(IIIIILjava/lang/String;)V", ordinal = 1))
34-
public void addOptionsButton(Args args){
35-
if((MinecraftClient.getInstance().getServer()!=null && !MinecraftClient.getInstance().getServer().isDedicated())
36-
|| MinecraftClient.getInstance().getCurrentServerEntry() != null){
37-
args.set(0, 20);
38-
args.set(5, I18n.translate("title_short"));
39-
}
40-
}
41-
42-
@Inject(method = "buttonClicked", at = @At("HEAD"))
43-
public void customButtons(ButtonWidget button, CallbackInfo ci){
44-
if(button.id==20){
45-
MinecraftClient.getInstance().openScreen(new HudEditScreen(new GameMenuScreen()));
46-
}*/
47-
}
16+
@ModifyArgs(method = "initWidgets", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/widget/ButtonWidget;<init>(IIIILnet/minecraft/text/Text;Lnet/minecraft/client/gui/widget/ButtonWidget$PressAction;)V", ordinal = 3))
17+
public void addClientOptionsButton(Args args){
18+
args.set(4, Text.translatable("title_short"));
19+
args.set(5, (ButtonWidget.PressAction)(buttonWidget)-> MinecraftClient.getInstance().setScreen(new HudEditScreen(((GameMenuScreen)(Object)this) )));
20+
}
4821
}

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.github.axolotlclient.mixin;
22

3-
import com.mojang.blaze3d.systems.RenderSystem;
43
import io.github.axolotlclient.AxolotlClient;
54
import io.github.axolotlclient.modules.motionblur.MotionBlur;
65
import io.github.axolotlclient.modules.zoom.Zoom;
@@ -15,7 +14,6 @@
1514
import org.spongepowered.asm.mixin.Mixin;
1615
import org.spongepowered.asm.mixin.Shadow;
1716
import org.spongepowered.asm.mixin.injection.At;
18-
import org.spongepowered.asm.mixin.injection.At.Shift;
1917
import org.spongepowered.asm.mixin.injection.Inject;
2018
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2119
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@@ -112,8 +110,7 @@ public void setZoom(Camera camera, float tickDelta, boolean changingFov, Callbac
112110
cir.setReturnValue(returnValue);
113111
}
114112

115-
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/framebuffer/Framebuffer;beginWrite(Z)V",
116-
shift = Shift.BEFORE), remap = false)
113+
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;getFramebuffer()Lcom/mojang/blaze3d/framebuffer/Framebuffer;"))
117114
public void worldMotionBlur(float tickDelta, long startTime, boolean tick, CallbackInfo ci) {
118115
motionBlur(tickDelta, startTime, tick, null);
119116
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.mojang.blaze3d.systems.RenderSystem;
44
import io.github.axolotlclient.AxolotlClient;
5-
import net.minecraft.obfuscate.DontObfuscate;
65
import org.spongepowered.asm.mixin.Final;
76
import org.spongepowered.asm.mixin.Mixin;
87
import org.spongepowered.asm.mixin.Shadow;
@@ -13,7 +12,7 @@
1312
@Mixin(RenderSystem.class)
1413
public abstract class MixinRenderSystem {
1514

16-
@Shadow @Final @DontObfuscate
15+
@Shadow(remap = false) @Final
1716
private static float[] shaderColor;
1817

1918
@Inject(method = "_setShaderColor", at = @At(value = "HEAD"), cancellable = true, remap = false)

0 commit comments

Comments
 (0)