Skip to content

Commit 88099c9

Browse files
ItsNatureTrentinTheKidLunarClientBot
authored
Version - 1.2.8 (#292)
* Deploy as `1.2.8-SNAPSHOT` * Add `ALLOW_DIG_AND_USE` to Combat Module (#290) * Add CombatModule#ALLOW_ATTACK_AND_USE * Update supported versions docs for the ALLOW_ATTACK_AND_USE option * Rename to `allow-dig-and-use` & add anticheat callout * Update combat.mdx --------- Co-authored-by: Trentin <25537885+TrentinTheKid@users.noreply.github.com> * Add `ServerlinkModule#LEGACY_BUTTON_PLACEMENT` & `ServerLinkModule#MODERN_BUTTON_PLACEMENT` (#291) * Optimizations (#294) * Optimize `EventBus#post` * Optimize packet broadcasting * Optimize `Option#getKey` * Optimize `ApolloWorld#getPlayers` * Optimize `NetworkOptions#sendOption` * Avoid streams in packet/recipient conversions * Remove dead repo * Add `CombatModule#DISABLE_BLOCK_MISS_PENALTY` (#297) * StaffMod Module Improvements - Add `enabledByDefault` (#296) * Add `StaffModModule#enableStaffMods(recipients, mods, enabledByDefault)` & `StaffModModule#enableAllStaffMods(recipients, enabledByDefault)` * Apply changes from optimizations PR * Feature - Markers Module (#293) * Add Marker API classes * Marker Module Impl * Add examples and docs # Conflicts: # example/bukkit/json/src/main/java/com/lunarclient/apollo/example/json/util/JsonPacketUtil.java # example/bukkit/proto/src/main/java/com/lunarclient/apollo/example/proto/util/ProtobufPacketUtil.java * Rename loot chest example to display block example * Publish branch * add marker overview gif * add overview gif to marker docs * Relocate compact mode callout * Remove dead repo * Update markers gif * Use apollo-protos 0.2.0 * Apply changes from optimizations PR * Remove temp publish --------- Co-authored-by: Trentin <25537885+TrentinTheKid@users.noreply.github.com> * Sync LunarClient Mods & Options (#298) * Sync LunarClient Mods & Options * Update version tags to 1.2.8 --------- Co-authored-by: LunarClient Bot <lc-bot@moonsworth.com> * Bump to 1.2.8 (#299) --------- Co-authored-by: Trentin <25537885+TrentinTheKid@users.noreply.github.com> Co-authored-by: LunarClient Bot <lc-bot@moonsworth.com>
1 parent 85242ac commit 88099c9

109 files changed

Lines changed: 4142 additions & 270 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

api/src/bukkit/java/com/lunarclient/apollo/BukkitApollo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@
3030
import com.lunarclient.apollo.player.ApolloPlayer;
3131
import com.lunarclient.apollo.player.ApolloPlayerManager;
3232
import com.lunarclient.apollo.recipients.Recipients;
33+
import java.util.ArrayList;
3334
import java.util.Collection;
3435
import java.util.List;
35-
import java.util.Optional;
3636
import java.util.UUID;
3737
import java.util.function.Consumer;
38-
import java.util.stream.Collectors;
3938
import lombok.NonNull;
4039
import org.bukkit.Bukkit;
4140
import org.bukkit.Location;
@@ -81,11 +80,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer<Apol
8180
*/
8281
public static Recipients getRecipientsFrom(@NonNull Collection<Player> players) {
8382
ApolloPlayerManager playerManager = Apollo.getPlayerManager();
84-
List<ApolloPlayer> apolloPlayers = players.stream()
85-
.map(player -> playerManager.getPlayer(player.getUniqueId()))
86-
.filter(Optional::isPresent)
87-
.map(Optional::get)
88-
.collect(Collectors.toList());
83+
List<ApolloPlayer> apolloPlayers = new ArrayList<>(players.size());
84+
85+
for (Player player : players) {
86+
playerManager.getPlayer(player.getUniqueId())
87+
.ifPresent(apolloPlayers::add);
88+
}
8989

9090
return Recipients.of(apolloPlayers);
9191
}

api/src/bungee/java/com/lunarclient/apollo/BungeeApollo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@
2626
import com.lunarclient.apollo.player.ApolloPlayer;
2727
import com.lunarclient.apollo.player.ApolloPlayerManager;
2828
import com.lunarclient.apollo.recipients.Recipients;
29+
import java.util.ArrayList;
2930
import java.util.Collection;
3031
import java.util.List;
31-
import java.util.Optional;
3232
import java.util.UUID;
3333
import java.util.function.Consumer;
34-
import java.util.stream.Collectors;
3534
import lombok.NonNull;
3635
import net.md_5.bungee.api.connection.ProxiedPlayer;
3736

@@ -74,11 +73,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer<Apol
7473
*/
7574
public static Recipients getRecipientsFrom(@NonNull Collection<ProxiedPlayer> players) {
7675
ApolloPlayerManager playerManager = Apollo.getPlayerManager();
77-
List<ApolloPlayer> apolloPlayers = players.stream()
78-
.map(player -> playerManager.getPlayer(player.getUniqueId()))
79-
.filter(Optional::isPresent)
80-
.map(Optional::get)
81-
.collect(Collectors.toList());
76+
List<ApolloPlayer> apolloPlayers = new ArrayList<>(players.size());
77+
78+
for (ProxiedPlayer player : players) {
79+
playerManager.getPlayer(player.getUniqueId())
80+
.ifPresent(apolloPlayers::add);
81+
}
8282

8383
return Recipients.of(apolloPlayers);
8484
}

api/src/folia/java/com/lunarclient/apollo/FoliaApollo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@
3030
import com.lunarclient.apollo.player.ApolloPlayer;
3131
import com.lunarclient.apollo.player.ApolloPlayerManager;
3232
import com.lunarclient.apollo.recipients.Recipients;
33+
import java.util.ArrayList;
3334
import java.util.Collection;
3435
import java.util.List;
35-
import java.util.Optional;
3636
import java.util.UUID;
3737
import java.util.function.Consumer;
38-
import java.util.stream.Collectors;
3938
import lombok.NonNull;
4039
import org.bukkit.Bukkit;
4140
import org.bukkit.Location;
@@ -81,11 +80,12 @@ public static void runForPlayer(@NonNull UUID playerUuid, @NonNull Consumer<Apol
8180
*/
8281
public static Recipients getRecipientsFrom(@NonNull Collection<Player> players) {
8382
ApolloPlayerManager playerManager = Apollo.getPlayerManager();
84-
List<ApolloPlayer> apolloPlayers = players.stream()
85-
.map(player -> playerManager.getPlayer(player.getUniqueId()))
86-
.filter(Optional::isPresent)
87-
.map(Optional::get)
88-
.collect(Collectors.toList());
83+
List<ApolloPlayer> apolloPlayers = new ArrayList<>(players.size());
84+
85+
for (Player player : players) {
86+
playerManager.getPlayer(player.getUniqueId())
87+
.ifPresent(apolloPlayers::add);
88+
}
8989

9090
return Recipients.of(apolloPlayers);
9191
}

api/src/main/java/com/lunarclient/apollo/event/EventBus.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.lang.reflect.Method;
2727
import java.util.ArrayList;
2828
import java.util.Arrays;
29+
import java.util.Collections;
2930
import java.util.List;
3031
import java.util.Map;
3132
import java.util.concurrent.ConcurrentHashMap;
@@ -96,7 +97,8 @@ public void unregister(@NonNull Object instance) {
9697
for (Method method : this.getEventMethods(instance)) {
9798
List<Consumer<? extends Event>> listeners = this.events.get(method.getParameterTypes()[0]);
9899
if (listeners != null) {
99-
listeners.removeIf(consumer -> consumer instanceof ReflectiveConsumer && ((ReflectiveConsumer<?>) consumer).getInstance() == instance);
100+
listeners.removeIf(consumer -> consumer instanceof ReflectiveConsumer
101+
&& ((ReflectiveConsumer<?>) consumer).getInstance() == instance);
100102
}
101103
}
102104
}
@@ -127,17 +129,24 @@ public <T extends Event> boolean unregister(@NonNull Class<T> event, @NonNull Co
127129
@SuppressWarnings("unchecked")
128130
public <T extends Event> EventResult<T> post(@NonNull T event) {
129131
CopyOnWriteArrayList<Consumer<? extends Event>> consumers = this.events.get(event.getClass());
130-
List<Throwable> throwables = new ArrayList<>();
131-
if (consumers != null) {
132-
for (Consumer<? extends Event> consumer : consumers) {
133-
try {
134-
((Consumer<T>) consumer).accept(event);
135-
} catch (Throwable throwable) {
136-
throwables.add(throwable);
132+
if (consumers == null || consumers.isEmpty()) {
133+
return new EventResult<>(event, Collections.emptyList());
134+
}
135+
136+
List<Throwable> throwables = null;
137+
for (Consumer<? extends Event> consumer : consumers) {
138+
try {
139+
((Consumer<T>) consumer).accept(event);
140+
} catch (Throwable throwable) {
141+
if (throwables == null) {
142+
throwables = new ArrayList<>();
137143
}
144+
145+
throwables.add(throwable);
138146
}
139147
}
140-
return new EventResult<>(event, throwables);
148+
149+
return new EventResult<>(event, throwables == null ? Collections.emptyList() : throwables);
141150
}
142151

143152
private List<Method> getEventMethods(Object instance) {

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.lunarclient.apollo.mods.impl.Mod2dItems;
2727
import com.lunarclient.apollo.mods.impl.Mod3dSkins;
2828
import com.lunarclient.apollo.mods.impl.ModArmorstatus;
29+
import com.lunarclient.apollo.mods.impl.ModAttackIndicator;
2930
import com.lunarclient.apollo.mods.impl.ModAudioSubtitles;
3031
import com.lunarclient.apollo.mods.impl.ModAutoTextActions;
3132
import com.lunarclient.apollo.mods.impl.ModAutoTextHotkey;
@@ -49,6 +50,7 @@
4950
import com.lunarclient.apollo.mods.impl.ModFps;
5051
import com.lunarclient.apollo.mods.impl.ModFreelook;
5152
import com.lunarclient.apollo.mods.impl.ModGlintColorizer;
53+
import com.lunarclient.apollo.mods.impl.ModGuiScale;
5254
import com.lunarclient.apollo.mods.impl.ModHitColor;
5355
import com.lunarclient.apollo.mods.impl.ModHitbox;
5456
import com.lunarclient.apollo.mods.impl.ModHorseStats;
@@ -145,6 +147,7 @@ public final class Mods {
145147
ModCoordinates.class,
146148
ModDayCounter.class,
147149
ModCrosshair.class,
150+
ModAttackIndicator.class,
148151
ModPotionEffects.class,
149152
ModDirectionHud.class,
150153
ModWaypoints.class,
@@ -219,9 +222,10 @@ public final class Mods {
219222
ModKillSounds.class,
220223
ModInventoryMod.class,
221224
ModF3Display.class,
225+
ModGuiScale.class,
222226
ModRadio.class,
223-
ModUhcOverlay.class,
224227
ModSba.class,
228+
ModUhcOverlay.class,
225229
ModNeu.class
226230
);
227231

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

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,40 @@ public final class ModArmorstatus {
125125
.notifyClient()
126126
.build();
127127

128+
/**
129+
* No documentation available.
130+
*
131+
* @since 1.2.8
132+
*/
133+
public static final SimpleOption<Boolean> BACKGROUND = SimpleOption.<Boolean>builder()
134+
.node("armorstatus", "background").type(TypeToken.get(Boolean.class))
135+
.defaultValue(false)
136+
.notifyClient()
137+
.build();
138+
139+
/**
140+
* No documentation available.
141+
*
142+
* @since 1.2.8
143+
*/
144+
public static final SimpleOption<Boolean> BORDER = SimpleOption.<Boolean>builder()
145+
.node("armorstatus", "border").type(TypeToken.get(Boolean.class))
146+
.defaultValue(false)
147+
.notifyClient()
148+
.build();
149+
150+
/**
151+
* No documentation available.
152+
*
153+
* @since 1.2.8
154+
*/
155+
public static final NumberOption<Float> BORDER_THICKNESS = NumberOption.<Float>number()
156+
.node("armorstatus", "border-thickness").type(TypeToken.get(Float.class))
157+
.min(0.5F).max(3.0F)
158+
.defaultValue(0.5F)
159+
.notifyClient()
160+
.build();
161+
128162
/**
129163
* No documentation available.
130164
*
@@ -169,6 +203,28 @@ public final class ModArmorstatus {
169203
.notifyClient()
170204
.build();
171205

206+
/**
207+
* No documentation available.
208+
*
209+
* @since 1.2.8
210+
*/
211+
public static final SimpleOption<Color> BACKGROUND_COLOR = SimpleOption.<Color>builder()
212+
.node("armorstatus", "background-color").type(TypeToken.get(Color.class))
213+
.defaultValue(new Color(0, 0, 0, 111))
214+
.notifyClient()
215+
.build();
216+
217+
/**
218+
* No documentation available.
219+
*
220+
* @since 1.2.8
221+
*/
222+
public static final SimpleOption<Color> BORDER_COLOR = SimpleOption.<Color>builder()
223+
.node("armorstatus", "border-color").type(TypeToken.get(Color.class))
224+
.defaultValue(new Color(0, 0, 0, 159))
225+
.notifyClient()
226+
.build();
227+
172228
/**
173229
* No documentation available.
174230
*

0 commit comments

Comments
 (0)