Skip to content

Commit c992ee7

Browse files
Sync LunarClient Mods & Options (#307)
* Sync LunarClient Mods & Options * Update version tags to 1.2.9 --------- Co-authored-by: LunarClient Bot <lc-bot@moonsworth.com>
1 parent 60a22d0 commit c992ee7

30 files changed

Lines changed: 2668 additions & 124 deletions

api/src/main/java/com/lunarclient/apollo/mods/Mods.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import com.lunarclient.apollo.mods.impl.Mod2dItems;
2727
import com.lunarclient.apollo.mods.impl.Mod3dSkins;
28+
import com.lunarclient.apollo.mods.impl.ModActionBar;
2829
import com.lunarclient.apollo.mods.impl.ModArmorstatus;
2930
import com.lunarclient.apollo.mods.impl.ModAttackIndicator;
3031
import com.lunarclient.apollo.mods.impl.ModAudioSubtitles;
@@ -64,6 +65,8 @@
6465
import com.lunarclient.apollo.mods.impl.ModItemTracker;
6566
import com.lunarclient.apollo.mods.impl.ModKeystrokes;
6667
import com.lunarclient.apollo.mods.impl.ModKillSounds;
68+
import com.lunarclient.apollo.mods.impl.ModKnockbackTrainer;
69+
import com.lunarclient.apollo.mods.impl.ModLightOverlay;
6770
import com.lunarclient.apollo.mods.impl.ModLighting;
6871
import com.lunarclient.apollo.mods.impl.ModMarkers;
6972
import com.lunarclient.apollo.mods.impl.ModMemory;
@@ -83,6 +86,7 @@
8386
import com.lunarclient.apollo.mods.impl.ModParticleChanger;
8487
import com.lunarclient.apollo.mods.impl.ModPing;
8588
import com.lunarclient.apollo.mods.impl.ModPlaytime;
89+
import com.lunarclient.apollo.mods.impl.ModPotionCounter;
8690
import com.lunarclient.apollo.mods.impl.ModPotionEffects;
8791
import com.lunarclient.apollo.mods.impl.ModPvpInfo;
8892
import com.lunarclient.apollo.mods.impl.ModQuickplay;
@@ -155,6 +159,7 @@ public final class Mods {
155159
ModScoreboard.class,
156160
ModTitles.class,
157161
ModItemCounter.class,
162+
ModPotionCounter.class,
158163
ModPing.class,
159164
ModMotionBlur.class,
160165
ModPackOrganizer.class,
@@ -218,15 +223,18 @@ public final class Mods {
218223
ModOverlayMod.class,
219224
ModRewind.class,
220225
ModAudioSubtitles.class,
226+
ModActionBar.class,
221227
ModShields.class,
228+
ModLightOverlay.class,
222229
ModKillSounds.class,
223230
ModInventoryMod.class,
224231
ModF3Display.class,
225232
ModGuiScale.class,
233+
ModKnockbackTrainer.class,
226234
ModRadio.class,
227-
ModSba.class,
228235
ModUhcOverlay.class,
229-
ModNeu.class
236+
ModNeu.class,
237+
ModSba.class
230238
);
231239

232240
private Mods() {
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/*
2+
* This file is part of Apollo, licensed under the MIT License.
3+
*
4+
* Copyright (c) 2026 Moonsworth
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in all
14+
* copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
* SOFTWARE.
23+
*/
24+
package com.lunarclient.apollo.mods.impl;
25+
26+
import com.lunarclient.apollo.option.NumberOption;
27+
import com.lunarclient.apollo.option.SimpleOption;
28+
import io.leangen.geantyref.TypeToken;
29+
30+
/**
31+
* Allows you to move and scale Minecraft's action bar.
32+
*
33+
* @since 1.2.9
34+
*/
35+
public final class ModActionBar {
36+
37+
/**
38+
* No documentation available.
39+
*
40+
* @since 1.2.9
41+
*/
42+
public static final SimpleOption<Boolean> ENABLED = SimpleOption.<Boolean>builder()
43+
.node("action-bar", "enabled").type(TypeToken.get(Boolean.class))
44+
.defaultValue(false)
45+
.notifyClient()
46+
.build();
47+
48+
/**
49+
* No documentation available.
50+
*
51+
* @since 1.2.9
52+
*/
53+
public static final NumberOption<Float> SCALE = NumberOption.<Float>number()
54+
.node("action-bar", "scale").type(TypeToken.get(Float.class))
55+
.min(0.25F).max(5.0F)
56+
.defaultValue(1.0F)
57+
.notifyClient()
58+
.build();
59+
60+
private ModActionBar() {
61+
}
62+
63+
}

api/src/main/java/com/lunarclient/apollo/mods/impl/ModChat.java

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,66 @@ public final class ModChat {
207207
.notifyClient()
208208
.build();
209209

210+
/**
211+
* Displays the player's Minecraft head before their message in chat.
212+
*
213+
* @since 1.2.9
214+
*/
215+
public static final SimpleOption<Boolean> CHAT_HEADS = SimpleOption.<Boolean>builder()
216+
.comment("Displays the player's Minecraft head before their message in chat.")
217+
.node("chat", "chat-heads").type(TypeToken.get(Boolean.class))
218+
.defaultValue(false)
219+
.notifyClient()
220+
.build();
221+
222+
/**
223+
* Looks up skins for chat senders that aren't in the tab list, like players on other servers of a network. Head detection may be less accurate.
224+
*
225+
* @since 1.2.9
226+
*/
227+
public static final SimpleOption<Boolean> CHAT_HEADS_FETCH_UNKNOWN = SimpleOption.<Boolean>builder()
228+
.comment("Looks up skins for chat senders that aren't in the tab list, like players on other servers of a network. Head detection may be less accurate.")
229+
.node("chat", "chat-heads-fetch-unknown").type(TypeToken.get(Boolean.class))
230+
.defaultValue(false)
231+
.notifyClient()
232+
.build();
233+
234+
/**
235+
* Adds emojis to chat. Shortcodes like :smile: autocomplete as you type, and emojis in messages show as colorful Twemoji.
236+
*
237+
* @since 1.2.9
238+
*/
239+
public static final SimpleOption<Boolean> CHAT_EMOJI = SimpleOption.<Boolean>builder()
240+
.comment("Adds emojis to chat. Shortcodes like :smile: autocomplete as you type, and emojis in messages show as colorful Twemoji.")
241+
.node("chat", "chat-emoji").type(TypeToken.get(Boolean.class))
242+
.defaultValue(true)
243+
.notifyClient()
244+
.build();
245+
246+
/**
247+
* Shows emojis with Minecraft's built-in font instead of Twemoji images. Shortcodes the game font can't display are left as text.
248+
*
249+
* @since 1.2.9
250+
*/
251+
public static final SimpleOption<Boolean> CHAT_EMOJI_UNICODE_ONLY = SimpleOption.<Boolean>builder()
252+
.comment("Shows emojis with Minecraft's built-in font instead of Twemoji images. Shortcodes the game font can't display are left as text.")
253+
.node("chat", "chat-emoji-unicode-only").type(TypeToken.get(Boolean.class))
254+
.defaultValue(false)
255+
.notifyClient()
256+
.build();
257+
258+
/**
259+
* Turns shortcodes like :skull: in other players' messages into emojis. When disabled, only emojis sent as actual characters are shown.
260+
*
261+
* @since 1.2.9
262+
*/
263+
public static final SimpleOption<Boolean> CHAT_EMOJI_CONVERT_SHORTCODES = SimpleOption.<Boolean>builder()
264+
.comment("Turns shortcodes like :skull: in other players' messages into emojis. When disabled, only emojis sent as actual characters are shown.")
265+
.node("chat", "chat-emoji-convert-shortcodes").type(TypeToken.get(Boolean.class))
266+
.defaultValue(true)
267+
.notifyClient()
268+
.build();
269+
210270
/**
211271
* Copies the hovered chat message when holding the keybind and clicking.
212272
*

0 commit comments

Comments
 (0)