Skip to content

Commit 1d6fe43

Browse files
author
Kim
committed
Added more commands
1 parent f8a637a commit 1d6fe43

File tree

4 files changed

+82
-15
lines changed

4 files changed

+82
-15
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>de.liebki</groupId>
66
<artifactId>simplepushevents</artifactId>
7-
<version>0.0.1-SNAPSHOT</version>
7+
<version>0.0.3</version>
88
<name>simplepushevents</name>
99

1010

src/main/java/de/liebki/Start.java

+30-3
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ public class Start extends JavaPlugin {
1717
public void onEnable() {
1818
config = new Config("plugins/simplepushevents", "options.yml", this);
1919
if (!config.check("configexists")) {
20-
String serverUuid = (UUID.randomUUID() + Bukkit.getServer().getIp()).trim();
21-
System.out.println(serverUuid);
20+
21+
String uuid = CreateShortUuid();
2222

2323
config.set("donottouch.configexists", true);
24-
config.set("donottouch.pushchannel", serverUuid);
24+
config.set("donottouch.pushchannel", uuid);
2525

2626
config.set("messages.general.title", "Minecraft Server:");
2727

@@ -34,6 +34,26 @@ public void onEnable() {
3434
config.set("messages.player.command.op.status", true);
3535
config.set("messages.player.command.op.content", "The player %PLAYER% executed /op for %TARGET% !");
3636

37+
config.set("messages.player.command.deop.status", true);
38+
config.set("messages.player.command.deop.content", "The player %PLAYER% executed /deop for %TARGET% !");
39+
40+
config.set("messages.player.command.ban.status", true);
41+
config.set("messages.player.command.ban.content", "The player %PLAYER% executed /ban for %TARGET% !");
42+
43+
config.set("messages.player.command.banip.status", true);
44+
config.set("messages.player.command.banip.content", "The player %PLAYER% executed /ban-ip for %TARGET% !");
45+
46+
config.set("messages.player.command.pardon.status", true);
47+
config.set("messages.player.command.pardon.content", "The player %PLAYER% executed /pardon for %TARGET% !");
48+
49+
config.set("messages.player.command.pardonip.status", true);
50+
config.set("messages.player.command.pardonip.content",
51+
"The player %PLAYER% executed /pardon-ip for %TARGET% !");
52+
53+
config.set("messages.player.command.whitelist.status", true);
54+
config.set("messages.player.command.whitelist.content",
55+
"The player %PLAYER% used a whitelist command: %CONTENT%");
56+
3757
config.set("messages.player.join.status", true);
3858
config.set("messages.player.join.content", "The player %PLAYER% joined!");
3959

@@ -57,6 +77,13 @@ public void onEnable() {
5777

5878
}
5979

80+
String CreateShortUuid() {
81+
String base = (UUID.randomUUID() + Bukkit.getServer().getIp()).trim();
82+
base = base.replace("-", "").substring(6, base.length() / 2);
83+
84+
return base;
85+
}
86+
6087
@Override
6188
public void onDisable() {
6289
Bukkit.getConsoleSender().sendMessage("§4SimplePushEvents powering off");

src/main/java/de/liebki/events/EventManager.java

+50-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package de.liebki.events;
22

3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
import org.bukkit.entity.Player;
37
import org.bukkit.event.EventHandler;
48
import org.bukkit.event.Listener;
59
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
@@ -19,19 +23,55 @@ public EventManager(Start plugin, PushManager pushManager) {
1923
this.pushManager = pushManager;
2024
}
2125

22-
@EventHandler
23-
public void onPlayerCommand(PlayerCommandPreprocessEvent e) {
24-
boolean IsActive = (boolean) plugin.config.get("messages.player.command.op.status");
26+
private static final Map<String, String> commandMap = new HashMap<>();
2527

26-
if (IsActive && e.getPlayer().isOp() && e.getMessage().startsWith("/op")) {
27-
String configMessage = (String) plugin.config.get("messages.player.command.op.content");
28-
configMessage = configMessage.replace("%PLAYER%", e.getPlayer().getName()).replace("%TARGET%",
29-
e.getMessage().replace("/op ", ""));
30-
31-
pushManager.SendMessage(configMessage);
28+
static {
29+
commandMap.put("/op", "messages.player.command.op");
30+
commandMap.put("/deop", "messages.player.command.deop");
31+
commandMap.put("/ban", "messages.player.command.ban");
32+
commandMap.put("/ban-ip", "messages.player.command.banip");
33+
commandMap.put("/pardon", "messages.player.command.pardon");
34+
commandMap.put("/pardon-ip", "messages.player.command.pardonip");
35+
commandMap.put("/whitelist", "messages.player.command.whitelist");
36+
}
3237

38+
@EventHandler
39+
public void onPlayerCommand(PlayerCommandPreprocessEvent e) {
40+
String commandText = e.getMessage();
41+
Player player = e.getPlayer();
42+
43+
if (player.isOp()) {
44+
String playerName = player.getName();
45+
String messageToPushSend = "";
46+
47+
for (Map.Entry<String, String> entry : commandMap.entrySet()) {
48+
if (commandText.startsWith(entry.getKey())) {
49+
boolean isActive = (boolean) plugin.config.get(entry.getValue() + ".status");
50+
51+
if (isActive) {
52+
if (entry.getKey().equals("/whitelist")) {
53+
messageToPushSend = (String) plugin.config.get(entry.getValue() + ".content");
54+
messageToPushSend = messageToPushSend.replace("%CONTENT%", commandText).replace("%PLAYER%",
55+
playerName);
56+
} else {
57+
String[] parts = commandText.split(" ");
58+
if (parts.length > 1) {
59+
String targetPlayer = parts[1];
60+
messageToPushSend = (String) plugin.config.get(entry.getValue() + ".content");
61+
62+
messageToPushSend = messageToPushSend.replace("%PLAYER%", playerName)
63+
.replace("%TARGET%", targetPlayer);
64+
}
65+
}
66+
}
67+
break;
68+
}
69+
}
70+
71+
if (!messageToPushSend.isEmpty()) {
72+
pushManager.SendMessage(messageToPushSend);
73+
}
3374
}
34-
3575
}
3676

3777
@EventHandler

src/main/resources/plugin.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: SimplePushEvents
22
main: de.liebki.Start
3-
version: 0.0.1
3+
version: 0.0.3
44
api-version: "1.16"
55
commands:

0 commit comments

Comments
 (0)