Skip to content

Commit 7ce4430

Browse files
committed
Add more EVNT testing stuff
1 parent 4be48d9 commit 7ce4430

File tree

6 files changed

+75
-32
lines changed

6 files changed

+75
-32
lines changed

bukkit-example/src/main/java/com/lunarclient/apollo/example/api/examples/EVNTApiExample.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,11 @@ public void resetHeartTextureExample(Player viewer) {
7373
}
7474

7575
@Override
76-
public void openGuiExample(Player viewer) {
76+
public void openGuiExample(Player viewer, GuiType type) {
7777
Optional<ApolloPlayer> apolloPlayerOpt = Apollo.getPlayerManager().getPlayer(viewer.getUniqueId());
7878

7979
apolloPlayerOpt.ifPresent(apolloPlayer -> {
80-
GuiType[] values = GuiType.values();
81-
int randomGuiType = ThreadLocalRandom.current().nextInt(values.length);
82-
83-
this.evntModule.openGui(apolloPlayer, values[randomGuiType]);
80+
this.evntModule.openGui(apolloPlayer, type);
8481
});
8582
}
8683

bukkit-example/src/main/java/com/lunarclient/apollo/example/common/commands/module/EVNTCommand.java

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@
2525

2626
import com.lunarclient.apollo.example.ApolloExamplePlugin;
2727
import com.lunarclient.apollo.example.common.modules.impl.EVNTExample;
28+
import com.lunarclient.apollo.module.evnt.GuiType;
2829
import org.bukkit.command.Command;
2930
import org.bukkit.command.CommandExecutor;
3031
import org.bukkit.command.CommandSender;
3132
import org.bukkit.entity.Player;
3233
import org.jetbrains.annotations.NotNull;
34+
import java.util.Arrays;
35+
import java.util.concurrent.ThreadLocalRandom;
3336

3437
public class EVNTCommand implements CommandExecutor {
3538

@@ -41,22 +44,25 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
4144
}
4245

4346
Player player = (Player) sender;
47+
EVNTExample evntExample = ApolloExamplePlugin.getPlugin().getEvntExample();
48+
49+
if (args.length == 2 && args[0].equalsIgnoreCase("opengui")) {
50+
try {
51+
GuiType type = GuiType.valueOf(args[1].toUpperCase());
52+
evntExample.openGuiExample(player, type);
53+
player.sendMessage("Opening GUI...");
54+
} catch (IllegalArgumentException e) {
55+
player.sendMessage("Invalid GUI menu type!");
56+
player.sendMessage("Available GUI types: " + Arrays.toString(GuiType.values()));
57+
}
4458

45-
if (args.length != 1) {
46-
player.sendMessage("Usage: /evnt <overrideHeartTexture" +
47-
"|resetHeartTexture" +
48-
"|openGui" +
49-
"|closeGui" +
50-
"|overrideCharacter" +
51-
"|overrideCharacterAbility" +
52-
"|overrideCharacterCosmetic" +
53-
"|overrideCosmeticResource" +
54-
"|updateGameOverview" +
55-
"|updateStatusOverview>");
5659
return true;
5760
}
5861

59-
EVNTExample evntExample = ApolloExamplePlugin.getPlugin().getEvntExample();
62+
if (args.length != 1) {
63+
this.sendUsage(player);
64+
return true;
65+
}
6066

6167
switch (args[0].toLowerCase()) {
6268
case "overridehearttexture": {
@@ -72,7 +78,10 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
7278
}
7379

7480
case "opengui": {
75-
evntExample.openGuiExample(player);
81+
GuiType[] values = GuiType.values();
82+
int randomGuiType = ThreadLocalRandom.current().nextInt(values.length);
83+
84+
evntExample.openGuiExample(player, values[randomGuiType]);
7685
player.sendMessage("Opening GUI...");
7786
break;
7887
}
@@ -120,21 +129,25 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
120129
}
121130

122131
default: {
123-
player.sendMessage("Usage: /evnt <overrideHeartTexture" +
124-
"|resetHeartTexture" +
125-
"|openGui" +
126-
"|closeGui" +
127-
"|overrideCharacter" +
128-
"|overrideCharacterAbility" +
129-
"|overrideCharacterCosmetic" +
130-
"|overrideCosmeticResource" +
131-
"|updateGameOverview" +
132-
"|updateStatusOverview>");
132+
this.sendUsage(player);
133133
break;
134134
}
135135
}
136136

137137
return true;
138138
}
139139

140+
private void sendUsage(CommandSender sender) {
141+
sender.sendMessage("/evnt overrideHeartTexture");
142+
sender.sendMessage("/evnt resetHeartTexture");
143+
sender.sendMessage("/evnt openGui <type>");
144+
sender.sendMessage("/evnt closeGui");
145+
sender.sendMessage("/evnt overrideCharacter");
146+
sender.sendMessage("/evnt overrideCharacterAbility");
147+
sender.sendMessage("/evnt overrideCharacterCosmetic");
148+
sender.sendMessage("/evnt overrideCosmeticResource");
149+
sender.sendMessage("/evnt updateGameOverview");
150+
sender.sendMessage("/evnt updateStatusOverview");
151+
}
152+
140153
}

bukkit-example/src/main/java/com/lunarclient/apollo/example/common/modules/impl/EVNTExample.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
package com.lunarclient.apollo.example.common.modules.impl;
2525

2626
import com.lunarclient.apollo.example.common.modules.ApolloExample;
27+
import com.lunarclient.apollo.module.evnt.GuiType;
2728
import org.bukkit.entity.Player;
2829

2930
public abstract class EVNTExample extends ApolloExample {
@@ -32,7 +33,7 @@ public abstract class EVNTExample extends ApolloExample {
3233

3334
public abstract void resetHeartTextureExample(Player viewer);
3435

35-
public abstract void openGuiExample(Player viewer);
36+
public abstract void openGuiExample(Player viewer, GuiType type);
3637

3738
public abstract void closeGuiExample(Player viewer);
3839

bukkit-example/src/main/java/com/lunarclient/apollo/example/json/examples/EVNTJsonExample.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
package com.lunarclient.apollo.example.json.examples;
2525

2626
import com.lunarclient.apollo.example.common.modules.impl.EVNTExample;
27+
import com.lunarclient.apollo.module.evnt.GuiType;
2728
import org.bukkit.entity.Player;
2829

2930
public class EVNTJsonExample extends EVNTExample {
@@ -39,7 +40,7 @@ public void resetHeartTextureExample(Player viewer) {
3940
}
4041

4142
@Override
42-
public void openGuiExample(Player viewer) {
43+
public void openGuiExample(Player viewer, GuiType type) {
4344
this.sendNotImplemented(viewer);
4445
}
4546

bukkit-example/src/main/java/com/lunarclient/apollo/example/proto/examples/EVNTProtoExample.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
package com.lunarclient.apollo.example.proto.examples;
2525

2626
import com.lunarclient.apollo.example.common.modules.impl.EVNTExample;
27+
import com.lunarclient.apollo.module.evnt.GuiType;
2728
import org.bukkit.entity.Player;
2829

2930
public class EVNTProtoExample extends EVNTExample {
@@ -39,7 +40,7 @@ public void resetHeartTextureExample(Player viewer) {
3940
}
4041

4142
@Override
42-
public void openGuiExample(Player viewer) {
43+
public void openGuiExample(Player viewer, GuiType type) {
4344
this.sendNotImplemented(viewer);
4445
}
4546

common/src/main/java/com/lunarclient/apollo/module/evnt/EVNTModuleImpl.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
package com.lunarclient.apollo.module.evnt;
2525

2626
import com.lunarclient.apollo.common.ApolloComponent;
27+
import com.lunarclient.apollo.event.ApolloReceivePacketEvent;
2728
import com.lunarclient.apollo.evnt.v1.CharacterAbilityMessage;
2829
import com.lunarclient.apollo.evnt.v1.CloseGuiMessage;
2930
import com.lunarclient.apollo.evnt.v1.EventGameOverviewMessage;
@@ -47,9 +48,10 @@
4748
import com.lunarclient.apollo.module.evnt.event.EventTeam;
4849
import com.lunarclient.apollo.network.NetworkTypes;
4950
import com.lunarclient.apollo.player.AbstractApolloPlayer;
51+
import com.lunarclient.apollo.player.ApolloPlayer;
5052
import com.lunarclient.apollo.recipients.Recipients;
5153
import lombok.NonNull;
52-
54+
import java.awt.Color;
5355
import java.util.List;
5456
import java.util.UUID;
5557
import java.util.stream.Collectors;
@@ -61,6 +63,17 @@
6163
*/
6264
public final class EVNTModuleImpl extends EVNTModule {
6365

66+
/**
67+
* Creates a new instance of {@link EVNTModuleImpl}.
68+
*
69+
* @since 1.0.0
70+
*/
71+
public EVNTModuleImpl() {
72+
super();
73+
this.handle(ApolloReceivePacketEvent.class, this::onCharacterSelection);
74+
}
75+
76+
6477
@Override
6578
public void overrideHeartTexture(@NonNull Recipients recipients, int x, boolean hardcore) {
6679
OverrideHeartTextureMessage message = OverrideHeartTextureMessage.newBuilder()
@@ -193,10 +206,27 @@ public void updateEventOverview(@NonNull Recipients recipients, @NonNull List<Ev
193206
recipients.forEach(player -> ((AbstractApolloPlayer) player).sendPacket(message));
194207
}
195208

209+
private void onCharacterSelection(ApolloReceivePacketEvent event) {
210+
event.unpack(OverrideCharacterMessage.class).ifPresent(packet -> {
211+
ApolloPlayer apolloPlayer = event.getPlayer();
212+
213+
this.overrideCharacter(apolloPlayer, Character.builder()
214+
.playerUuid(apolloPlayer.getUniqueId())
215+
.type(this.fromProtobuf(packet.getCharacterType()))
216+
.color(Color.RED)
217+
.equipped(true)
218+
.build());
219+
});
220+
}
221+
196222
private com.lunarclient.apollo.evnt.v1.CharacterType toProtobuf(@NonNull CharacterType type) {
197223
return com.lunarclient.apollo.evnt.v1.CharacterType.forNumber(type.ordinal() + 1);
198224
}
199225

226+
private CharacterType fromProtobuf(@NonNull com.lunarclient.apollo.evnt.v1.CharacterType type) {
227+
return CharacterType.values()[type.ordinal() - 1];
228+
}
229+
200230
private com.lunarclient.apollo.evnt.v1.CharacterAbilityMessage toProtobuf(@NonNull CharacterAbility ability) {
201231
List<String> abilities = ability.getAbilities().stream()
202232
.map(ApolloComponent::toJson)

0 commit comments

Comments
 (0)