Skip to content

Commit 8567e9f

Browse files
author
nazrin
committed
Завтра доделаю..
1 parent 87ea956 commit 8567e9f

File tree

12 files changed

+137
-21
lines changed

12 files changed

+137
-21
lines changed

src/smp/Main.java

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

33
import arc.Events;
44
import arc.util.CommandHandler;
5+
import arc.util.Timer;
56
import mindustry.Vars;
67
import mindustry.game.EventType;
78
import mindustry.mod.*;
@@ -50,12 +51,6 @@ public void init() {
5051
} catch (UnknownHostException e) {
5152
throw new RuntimeException(e);
5253
}
53-
Events.on(EventType.PlayerJoin.class, plr -> {
54-
joinEvent(plr.player);
55-
});
56-
Events.on(EventType.PlayerLeave.class, playerLeave -> {
57-
leaveEvent(playerLeave.player);
58-
});
5954
Vars.net.handleServer(Packets.Connect.class, (con, connect) -> {
6055
Events.fire(new EventType.ConnectionEvent(con));
6156
MongoDbPlayerIpCheck(con);
@@ -65,6 +60,12 @@ public void init() {
6560
}
6661
kickIfBanned(con);
6762
});
63+
Events.on(EventType.PlayerJoin.class, plr -> {
64+
joinEvent(plr.player);
65+
});
66+
Events.on(EventType.PlayerLeave.class, playerLeave -> {
67+
leaveEvent(playerLeave.player);
68+
});
6869
}
6970

7071
@Override
@@ -87,7 +88,6 @@ public void registerClientCommands(CommandHandler handler){
8788
StatsCommand statsCommands = new StatsCommand();
8889
ServerHopCommand serverHopCommand = new ServerHopCommand();
8990
register = new CommandRegister(handler);
90-
register.updateCommands();
9191
register.registerCommand(testCommand);
9292
register.registerCommand(helpCommand);
9393
register.registerCommand(whisperCommand);
@@ -99,6 +99,9 @@ public void registerClientCommands(CommandHandler handler){
9999
statsCommands,
100100
serverHopCommand);
101101

102+
Timer.schedule(() -> {
103+
register.updateCommands();
104+
}, 5);
102105
/* admin commands */
103106

104107
AdminChatCommand adminChatCommand = new AdminChatCommand();
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
package smp.commands.ds.discord.admin;
22

3+
import org.javacord.api.entity.message.embed.Embed;
4+
import org.javacord.api.entity.message.embed.EmbedBuilder;
35
import org.javacord.api.event.message.MessageCreateEvent;
46
import smp.commands.ds.discord.DiscordCommand;
57
import smp.database.players.FindPlayerData;
68
import smp.functions.Utilities;
79
import smp.models.PlayerData;
810
import smp.models.Punishment;
911

12+
import java.util.ArrayList;
1013
import java.util.Date;
14+
import java.util.List;
1115

1216
import static arc.util.Strings.canParseInt;
1317
import static java.lang.Integer.parseInt;
18+
import static smp.discord.embeds.PunishmentEmbed.punishmentEmbed;
1419
import static smp.functions.Wrappers.formatBanTime;
1520

1621
public class ListPunishmentsCommand extends DiscordCommand {
@@ -22,20 +27,16 @@ public ListPunishmentsCommand() {
2227
public void run(MessageCreateEvent listener) {
2328
String[] args = this.params;
2429
PlayerData plr = null;
25-
30+
System.out.println(args[0]);
2631
if (canParseInt(args[0])) {
2732
plr = FindPlayerData.getPlayerData(parseInt(args[0]));
2833
} else {
2934
plr = FindPlayerData.getPlayerData(args[0]);
3035
}
31-
StringBuilder builder = new StringBuilder();
3236
for (Punishment punishment : plr.punishments){
33-
builder.append("Punishment type: ").append(punishment.punishmentType).append("\n");
34-
builder.append("Punishment reason: ").append(punishment.punishmentReason).append("\n");
35-
builder.append("Punishment expire date: ").append("<t:").append(punishment.punishmentDuration).append(">").append("\n");
36-
builder.append("Punishment moderator: ").append(punishment.punishmentModerator).append("\n");
37-
builder.append("\n\n");
37+
System.out.println("yaya");
38+
listener.getChannel().sendMessage(punishmentEmbed(punishment));
3839
}
39-
listener.getChannel().sendMessage(builder.toString());
40+
4041
}
4142
}

src/smp/commands/ds/discord/admin/WarnCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public void run(MessageCreateEvent listener) {
3434

3535
if (time == null) {listener.getChannel().sendMessage("Incorrect time!"); return;}
3636

37-
Utilities.banPlayer(time, reason, plr, listener.getMessageAuthor().asUser().get());
37+
Utilities.warnPlayer(time, reason, plr, listener.getMessageAuthor().asUser().get());
3838
listener.getChannel().sendMessage("Warned: " + plr.name);
3939
}
4040
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package smp.commands.ds.discord.console;
2+
3+
import org.javacord.api.event.message.MessageCreateEvent;
4+
import smp.commands.ds.discord.DiscordCommand;
5+
6+
import static smp.commands.CommandRegister.discordCommands;
7+
8+
public class ConHelpCommand extends DiscordCommand {
9+
public ConHelpCommand() {
10+
super("conhelp", " -> Shows the list of console commands", 0, false, true);
11+
}
12+
13+
@Override
14+
public void run(MessageCreateEvent listener) {
15+
StringBuilder builder = new StringBuilder();
16+
builder.append("```\n");
17+
for (DiscordCommand cmd : discordCommands){
18+
if (cmd.isConsole) {
19+
builder.append(cmd.name).append(cmd.desc).append("\n");
20+
}
21+
}
22+
builder.append("```");
23+
listener.getChannel().sendMessage(builder.toString());
24+
}
25+
}

src/smp/discord/Bot.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ public static void initBot(){
7171
DeleteMapCommand deleteMapCommand = new DeleteMapCommand();
7272
UploadMapCommand uploadMapCommand = new UploadMapCommand();
7373
ListPunishmentsCommand listPunishmentsCommand = new ListPunishmentsCommand();
74+
WarnCommand warnCommand = new WarnCommand();
75+
ConHelpCommand conHelpCommand= new ConHelpCommand();
7476
registerDiscordCommand(listPlayersCommand,
7577
adminAddCommand,
7678
adminRewCommand,
@@ -90,7 +92,9 @@ public static void initBot(){
9092
pardonCommand,
9193
deleteMapCommand,
9294
uploadMapCommand,
93-
listPunishmentsCommand);
95+
listPunishmentsCommand,
96+
warnCommand,
97+
conHelpCommand);
9498
Events.on(EventType.PlayerChatEvent.class, event -> {
9599
if (event.message.startsWith("/")) {
96100
return;

src/smp/discord/DiscordCommandHandler.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ public static void handleMessage(MessageCreateEvent listener){
4040
return;
4141
};
4242
command.cmdUser = listener.getMessage().getUserAuthor().get();
43-
String argsAfter = joinArrayString(newArray, command.argCount-1);
44-
newArray[command.argCount-1] = argsAfter;
43+
if (sepArray.length != 1) {
44+
String argsAfter = joinArrayString(newArray, command.argCount - 1);
45+
newArray[command.argCount - 1] = argsAfter;
46+
}
4547
command.params = newArray;
4648
command.run(listener);
4749
return;

src/smp/discord/embeds/BanEmbed.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public static EmbedBuilder banEmbed(PlayerData data, String reason, long banTime
1212
.setColor(Color.RED)
1313
.addField("**ID**", String.valueOf(data.id))
1414
.addField("**Name**", data.name)
15-
.addField("**Reason**", reason)
15+
.addField("**Reason**", reason, true)
1616
.addField("**Expires**", "<t:" + banTime / 1000 + ":D>")
1717
.addField("**Moderator**", moderator);
1818
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package smp.discord.embeds;
2+
3+
import org.javacord.api.entity.message.embed.EmbedBuilder;
4+
import smp.models.PlayerData;
5+
import smp.models.Punishment;
6+
7+
import java.awt.*;
8+
9+
public class PunishmentEmbed {
10+
public static EmbedBuilder punishmentEmbed(Punishment punishment) {
11+
12+
return new EmbedBuilder()
13+
.setTitle("Punishment")
14+
.setColor(Color.RED)
15+
.addField("**Punishment Type**", punishment.punishmentType)
16+
.addField("**Reason**", punishment.punishmentReason)
17+
.addField("**Expires**", "<t:" + punishment.punishmentDuration + ">", true)
18+
.addField("**Moderator**", punishment.punishmentModerator);
19+
}
20+
}

src/smp/events/PlayerJoinEvent.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import arc.util.Strings;
55
import mindustry.gen.Call;
66
import mindustry.gen.Player;
7+
import smp.menus.Menus.WelcomeMenu;
78
import smp.models.PlayerData;
89

910
import static smp.database.players.PlayerChecks.MongoDbPlayerRankCheck;
@@ -12,6 +13,8 @@
1213
import static smp.functions.Checks.kickIfBanned;
1314

1415
public class PlayerJoinEvent {
16+
public static WelcomeMenu welcomeMenu = new WelcomeMenu();
17+
1518
public static void joinEvent(Player plr){
1619
PlayerData data = findPlayerDataOrCreate(plr);
1720
fillData(data, plr);
@@ -20,5 +23,6 @@ public static void joinEvent(Player plr){
2023
MongoDbPlayerRankCheck(plr.uuid());
2124
Call.sendMessage(Strings.format(joinMessage + " [grey][" + data.id + "]", plr.name()));
2225
Log.info(plr.plainName() + " joined! " + "[" + data.id + "]");
26+
welcomeMenu.run(plr.con());
2327
}
2428
}

src/smp/functions/Checks.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ public static void kickIfBanned(NetConnection player){
2323
Date date = new Date();
2424
if (lastBan.punishmentDuration > date.getTime()) {
2525
String timeUntilUnban = timeToDuration(lastBan.punishmentDuration);
26+
player.kick("[red]You have been banned!\n\n" +
27+
"[white]Reason: " + lastBan.punishmentReason + "\n\n"
28+
+"[white]Moderator: " + lastBan.punishmentModerator + "\n\n"
29+
+"[white]Duration: " + timeUntilUnban + " until unban" +
30+
"\n\nIf you think this is a mistake, make sure to appeal ban in our discord: " + discordURL, 0);
2631
}
2732
}
2833
public static void kickIfBanned(Player player){

0 commit comments

Comments
 (0)