Skip to content
This repository was archived by the owner on Nov 28, 2025. It is now read-only.

Commit 897e6fb

Browse files
committed
Add option to hide Beacon Beams
1 parent 1807e33 commit 897e6fb

File tree

9 files changed

+187
-64
lines changed

9 files changed

+187
-64
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,8 @@
6464
- Add Option to toggle Freelook
6565
- update config library to 1.0.13
6666

67+
### 2.2.6
68+
69+
- add sourcesJar to files to be uploaded to modrinth
70+
- add option to hide Beacon Beams
71+

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ modrinth {
120120
uploadFile = remapJar
121121
gameVersions = ["${project.minecraft_version}"]
122122
loaders = ["quilt"]
123+
additionalFiles = [sourcesJar]
123124
dependencies {
124125
required.project "qsl"
125126
}

src/main/java/io/github/axolotlclient/AxolotlClient.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import io.github.axolotlclient.modules.hypixel.nickhider.NickHider;
3737
import io.github.axolotlclient.modules.motionblur.MotionBlur;
3838
import io.github.axolotlclient.modules.particles.Particles;
39+
import io.github.axolotlclient.modules.renderOptions.BeaconBeam;
3940
import io.github.axolotlclient.modules.rpc.DiscordRPC;
4041
import io.github.axolotlclient.modules.screenshotUtils.ScreenshotUtils;
4142
import io.github.axolotlclient.modules.scrollableTooltips.ScrollableTooltips;
@@ -156,6 +157,7 @@ public static void getModules() {
156157
modules.add(TntTime.getInstance());
157158
modules.add(Particles.getInstance());
158159
modules.add(ScreenshotUtils.getInstance());
160+
modules.add(BeaconBeam.getInstance());
159161
}
160162

161163
private static void addExternalModules() {
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/*
2+
* Copyright © 2021-2022 moehreag <[email protected]> & Contributors
3+
*
4+
* This file is part of AxolotlClient.
5+
*
6+
* This program is free software; you can redistribute it and/or
7+
* modify it under the terms of the GNU Lesser General Public
8+
* License as published by the Free Software Foundation; either
9+
* version 3 of the License, or (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14+
* Lesser General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU Lesser General Public License
17+
* along with this program; if not, write to the Free Software Foundation,
18+
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19+
*
20+
* For more information, see the LICENSE file.
21+
*/
22+
23+
package io.github.axolotlclient.mixin;
24+
25+
import io.github.axolotlclient.modules.renderOptions.BeaconBeam;
26+
import net.minecraft.client.render.VertexConsumerProvider;
27+
import net.minecraft.client.render.block.entity.BeaconBlockEntityRenderer;
28+
import net.minecraft.client.util.math.MatrixStack;
29+
import net.minecraft.util.Identifier;
30+
import org.spongepowered.asm.mixin.Mixin;
31+
import org.spongepowered.asm.mixin.injection.At;
32+
import org.spongepowered.asm.mixin.injection.Inject;
33+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
34+
35+
@Mixin(BeaconBlockEntityRenderer.class)
36+
public abstract class BeaconBlockEntityRendererMixin {
37+
38+
39+
@Inject(method = "renderBeam(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/util/Identifier;FFJII[FFF)V", at = @At("HEAD"), cancellable = true)
40+
private static void cancelBeamRender(MatrixStack matrices, VertexConsumerProvider vertexConsumers, Identifier textureId, float tickDelta,
41+
float heightScale, long worldTime, int yOffset, int maxY, float[] color, float innerRadius, float outerRadius, CallbackInfo ci) {
42+
if(!BeaconBeam.getInstance().showBeam(textureId.getPath().contains("end_gateway"))) {
43+
ci.cancel();
44+
}
45+
}
46+
}

src/main/java/io/github/axolotlclient/modules/ModuleLoader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.quiltmc.loader.api.QuiltLoader;
3030

3131
import java.util.ArrayList;
32+
import java.util.Arrays;
3233
import java.util.List;
3334
import java.util.stream.Collectors;
3435

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
* Copyright © 2021-2022 moehreag <[email protected]> & Contributors
3+
*
4+
* This file is part of AxolotlClient.
5+
*
6+
* This program is free software; you can redistribute it and/or
7+
* modify it under the terms of the GNU Lesser General Public
8+
* License as published by the Free Software Foundation; either
9+
* version 3 of the License, or (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14+
* Lesser General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU Lesser General Public License
17+
* along with this program; if not, write to the Free Software Foundation,
18+
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19+
*
20+
* For more information, see the LICENSE file.
21+
*/
22+
23+
package io.github.axolotlclient.modules.renderOptions;
24+
25+
import io.github.axolotlclient.AxolotlClient;
26+
import io.github.axolotlclient.AxolotlclientConfig.options.BooleanOption;
27+
import io.github.axolotlclient.AxolotlclientConfig.options.OptionCategory;
28+
import io.github.axolotlclient.modules.AbstractModule;
29+
import lombok.Getter;
30+
31+
public class BeaconBeam extends AbstractModule {
32+
33+
@Getter
34+
private final static BeaconBeam Instance = new BeaconBeam();
35+
36+
private final BooleanOption showBeaconBeams = new BooleanOption("showBeaconBeams", true);
37+
private final BooleanOption showEndGatewayBeams = new BooleanOption("showEndGatewayBeams", true);
38+
39+
private final OptionCategory beams = new OptionCategory("beams");
40+
41+
@Override
42+
public void init() {
43+
beams.add(showBeaconBeams, showEndGatewayBeams);
44+
45+
AxolotlClient.CONFIG.rendering.add(beams);
46+
}
47+
48+
public boolean showBeam(boolean endGateway){
49+
return endGateway ? showEndGatewayBeams.get() : showBeaconBeams.get();
50+
}
51+
}

src/main/resources/assets/axolotlclient/lang/de_de.json

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,22 @@
313313
"majorindicator": "Indikatorfarbe (Major)",
314314
"minorindicator": "Indikatorfarbe (Minor)",
315315
"dynamicrotation": "Dynamische Rotation",
316-
"rotation": "Rotation"
316+
"rotation": "Rotation",
317+
"debugLogOutput": "Debug Log Ausgabe",
318+
"openAction": "[Öffnen]",
319+
"open_image": "Dieses Bild Öffnen",
320+
"autoExec": "Automatische Ausführung",
321+
"autoExec.tooltip": "Eine Aktion automatisch ausführen.",
322+
"hideTipMessages": "Tip-Nachrichten verstecken",
323+
"hideTipMessages.tooltip": "Versteckt Tip-Nachrichten. Funktioniert nur, <br>wenn deine Hypixel-Sprache auf Englisch eingestellt ist.",
324+
"allArrowTypes": "Alle Pfeilarten",
325+
"allocated": "Alloziiert",
326+
"autoHide": "Automatisch verstecken",
327+
"toggle": "Toggle",
328+
"toggle.tooltip": "Verwende die Taste um Freelook zu toggeln.",
329+
"beams": "Beacon Beams",
330+
"showBeaconBeams": "Zeige Beacon Beams",
331+
"showEndGatewayBeams": "Zeige End Gateway Beams"
332+
317333

318334
}

src/main/resources/assets/axolotlclient/lang/en_us.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,10 @@
312312
"toggle": "Toggle",
313313
"toggle.tooltip": "Use the set key to toggle whether Freelook is enabled.",
314314

315+
"beams": "Beacon Beams",
316+
"showBeaconBeams": "Show Beacon Beams",
317+
"showEndGatewayBeams": "Show End Gateway Beams",
318+
315319
"credits": "Credits",
316320
"creditsBGM": "BGM",
317321
"contributors": "Contributors",
Lines changed: 60 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,63 @@
11
{
2-
"required": true,
3-
"package": "io.github.axolotlclient.mixin",
4-
"compatibilityLevel": "JAVA_17",
5-
"mixins": [
6-
7-
],
8-
"client": [
9-
"AddServerScreenMixin",
10-
"BackgroundRendererMixin",
11-
"BossBarHudAccessor",
12-
"BossBarHudMixin",
13-
"BuiltinModelItemRendererMixin",
14-
"CameraMixin",
15-
"ChatHudMixin",
16-
"ClientBrandRetrieverMixin",
17-
"ClientPlayerEntityMixin",
18-
"ClientPlayNetworkHandlerMixin",
19-
"ClientWorldMixin",
20-
"ConnectScreenMixin",
21-
"CrashReportMixin",
22-
"DebugHudMixin",
23-
"DownloadingTerrainScreenMixin",
24-
"EmitterParticleMixin",
25-
"EntityMixin",
26-
"EntityRendererMixin",
27-
"GameMenuScreenMixin",
28-
"GameRendererMixin",
29-
"HandledScreenMixin",
30-
"IdentifierMixin",
31-
"InGameHudMixin",
32-
"InGameOverlayRendererMixin",
33-
"KeyBindMixin",
34-
"KeyboardInputMixin",
35-
"LightmapManagerMixin",
36-
"LivingEntityMixin",
37-
"LivingEntityRendererMixin",
38-
"MinecraftClientAccessor",
39-
"MinecraftClientMainMixin",
40-
"MinecraftClientMixin",
41-
"ModStatusMixin",
42-
"MouseMixin",
43-
"MultiplayerScreenMixin",
44-
"ParticleAccessor",
45-
"ParticleManagerMixin",
46-
"PlayerEntityMixin",
47-
"PlayerEntityRendererMixin",
48-
"PlayerListEntryMixin",
49-
"PlayerListHudMixin",
50-
"ReloadableResourceManagerMixin",
51-
"RenderSystemMixin",
52-
"ScreenMixin",
53-
"ScreenshotRecorderMixin",
54-
"ShaderEffectAccessor",
55-
"SplashOverlayMixin",
56-
"TitleScreenMixin",
57-
"TntEntityRendererMixin",
58-
"WorldListWidgetEntryMixin",
59-
"WorldRendererAccessor",
60-
"WorldRendererMixin"
61-
],
62-
"server": [],
63-
"injectors": {
64-
"defaultRequire": 1
2+
"required": true,
3+
"package": "io.github.axolotlclient.mixin",
4+
"compatibilityLevel": "JAVA_17",
5+
"client": [
6+
"AddServerScreenMixin",
7+
"BackgroundRendererMixin",
8+
"BeaconBlockEntityRendererMixin",
9+
"BossBarHudAccessor",
10+
"BossBarHudMixin",
11+
"BuiltinModelItemRendererMixin",
12+
"CameraMixin",
13+
"ChatHudMixin",
14+
"ClientBrandRetrieverMixin",
15+
"ClientPlayerEntityMixin",
16+
"ClientPlayNetworkHandlerMixin",
17+
"ClientWorldMixin",
18+
"ConnectScreenMixin",
19+
"CrashReportMixin",
20+
"DebugHudMixin",
21+
"DownloadingTerrainScreenMixin",
22+
"EmitterParticleMixin",
23+
"EntityMixin",
24+
"EntityRendererMixin",
25+
"GameMenuScreenMixin",
26+
"GameRendererMixin",
27+
"HandledScreenMixin",
28+
"IdentifierMixin",
29+
"InGameHudMixin",
30+
"InGameOverlayRendererMixin",
31+
"KeyBindMixin",
32+
"KeyboardInputMixin",
33+
"LightmapManagerMixin",
34+
"LivingEntityMixin",
35+
"LivingEntityRendererMixin",
36+
"MinecraftClientAccessor",
37+
"MinecraftClientMainMixin",
38+
"MinecraftClientMixin",
39+
"ModStatusMixin",
40+
"MouseMixin",
41+
"MultiplayerScreenMixin",
42+
"ParticleAccessor",
43+
"ParticleManagerMixin",
44+
"PlayerEntityMixin",
45+
"PlayerEntityRendererMixin",
46+
"PlayerListEntryMixin",
47+
"PlayerListHudMixin",
48+
"ReloadableResourceManagerMixin",
49+
"RenderSystemMixin",
50+
"ScreenMixin",
51+
"ScreenshotRecorderMixin",
52+
"ShaderEffectAccessor",
53+
"SplashOverlayMixin",
54+
"TitleScreenMixin",
55+
"TntEntityRendererMixin",
56+
"WorldListWidgetEntryMixin",
57+
"WorldRendererAccessor",
58+
"WorldRendererMixin"
59+
],
60+
"injectors": {
61+
"defaultRequire": 1
6562
}
6663
}

0 commit comments

Comments
 (0)