Skip to content

Commit 81bfd6a

Browse files
Redesign /crash embeds to look nicer
1 parent 97a03ab commit 81bfd6a

1 file changed

Lines changed: 31 additions & 9 deletions

File tree

src/main/java/technobot/commands/casino/CrashCommand.java

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public void execute(SlashCommandInteractionEvent event) {
4444
User user = event.getUser();
4545
long bet = event.getOption("bet").getAsLong();
4646
if (games.containsKey(user.getIdLong())) {
47-
String text = "You are already playing a game of crash!";
47+
String text = "You are currently playing a game of crash!";
4848
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
4949
return;
5050
}
@@ -67,8 +67,9 @@ public void execute(SlashCommandInteractionEvent event) {
6767
EmbedBuilder embed = new EmbedBuilder()
6868
.setColor(EmbedColor.DEFAULT.color)
6969
.setAuthor(user.getAsTag(), null, user.getEffectiveAvatarUrl())
70-
.setDescription("Your profit: " + economyHandler.getCurrency() + " " + EconomyHandler.FORMATTER.format(bet))
71-
.addField("Multiplier", "x1.00", false);
70+
.setDescription("Your Bet: " + economyHandler.getCurrency() + " " + EconomyHandler.FORMATTER.format(bet))
71+
.addField("Multiplier", "x1.00", true)
72+
.addField("Profit", economyHandler.getCurrency() + " " + EconomyHandler.FORMATTER.format(bet), true);
7273

7374
// Start crash game
7475
String uuid = user.getId() + ":" + UUID.randomUUID();
@@ -82,16 +83,18 @@ public void execute(SlashCommandInteractionEvent event) {
8283
EmbedBuilder embed2 = new EmbedBuilder().setAuthor(user.getAsTag(), null, user.getEffectiveAvatarUrl());
8384
if (game.currMultiplier >= game.maxMultiplier) {
8485
embed2.setColor(EmbedColor.ERROR.color);
85-
embed2.setDescription("Result: Loss " + economyHandler.getCurrency() + " -" + EconomyHandler.FORMATTER.format(bet));
86-
embed2.addField("Crashed At", multiplierString, false);
86+
embed2.setDescription("Your bet: " + economyHandler.getCurrency() + " " + EconomyHandler.FORMATTER.format(bet));
87+
embed2.addField("Crashed At", multiplierString, true);
88+
embed2.addField("Loss", economyHandler.getCurrency() + " -" + EconomyHandler.FORMATTER.format(bet), true);
8789
msg.editOriginalEmbeds(embed2.build()).queue();
8890
games.remove(user.getIdLong()).task.cancel(true);
8991
ButtonListener.buttons.remove(uuid);
9092
} else {
9193
int profit = (int) (((double)bet)*game.currMultiplier);
9294
embed2.setColor(EmbedColor.DEFAULT.color);
93-
embed2.setDescription("Your profit: " + economyHandler.getCurrency() + " " + EconomyHandler.FORMATTER.format(profit));
94-
embed2.addField("Multiplier", multiplierString, false);
95+
embed2.setDescription("Your bet: " + economyHandler.getCurrency() + " " + EconomyHandler.FORMATTER.format(bet));
96+
embed2.addField("Multiplier", multiplierString, true);
97+
embed2.addField("Profit", economyHandler.getCurrency() + " " + EconomyHandler.FORMATTER.format(profit), true);
9598
msg.editOriginalEmbeds(embed2.build()).queue();
9699
}
97100
}, 1500, 1500, TimeUnit.MILLISECONDS);
@@ -100,6 +103,13 @@ public void execute(SlashCommandInteractionEvent event) {
100103
});
101104
}
102105

106+
/**
107+
* Stop the multiplier and cashout.
108+
*
109+
* @param guild the guild of the user playing this game.
110+
* @param user the user playing this game.
111+
* @return a result embed for the current game.
112+
*/
103113
public static MessageEmbed cashout(Guild guild, User user) {
104114
// Cancel game
105115
CrashGame game = games.remove(user.getIdLong());
@@ -115,18 +125,30 @@ public static MessageEmbed cashout(Guild guild, User user) {
115125
return new EmbedBuilder()
116126
.setColor(EmbedColor.SUCCESS.color)
117127
.setAuthor(user.getAsTag(), null, user.getEffectiveAvatarUrl())
118-
.setDescription("Result: Win " + econ.getCurrency() + " " + EconomyHandler.FORMATTER.format(profit))
119-
.addField("Multiplier", multiplierString, false)
128+
.setDescription("Your bet: " + econ.getCurrency() + " " + EconomyHandler.FORMATTER.format(game.bet))
129+
.addField("Multiplier", multiplierString, true)
130+
.addField("Win", econ.getCurrency() + " " + EconomyHandler.FORMATTER.format(profit), true)
120131
.build();
121132
}
122133

134+
/**
135+
* Represents a Crash game and stores game data.
136+
*/
123137
public static class CrashGame {
124138

125139
ScheduledFuture task;
126140
double currMultiplier;
127141
double maxMultiplier;
128142
long bet;
129143

144+
/**
145+
* Stores Crash game data
146+
*
147+
* @param task the scheduled runnable for this game.
148+
* @param currMultiplier the current multiplier.
149+
* @param maxMultiplier the maximum multiplier before crashing.
150+
* @param bet the bet made for this game.
151+
*/
130152
public CrashGame(ScheduledFuture task, double currMultiplier, double maxMultiplier, long bet) {
131153
this.task = task;
132154
this.currMultiplier = currMultiplier;

0 commit comments

Comments
 (0)