Skip to content

Commit 684373a

Browse files
authored
v3.0.0
2 parents ce6f5b0 + 3489c8a commit 684373a

File tree

9 files changed

+153
-14
lines changed

9 files changed

+153
-14
lines changed

pom.xml

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<name>ChatEx</name>
77
<inceptionYear>2022</inceptionYear>
88

9-
<version>2.9.7</version>
9+
<version>3.0.0</version>
1010
<description>ChatManagement plugin for Bukkit</description>
1111
<url>https://www.spigotmc.org/resources/chatex-continued.71041/</url>
1212

@@ -107,16 +107,10 @@
107107
<scope>provided</scope>
108108
</dependency>
109109
<dependency>
110-
<groupId>org.bstats</groupId>
111-
<artifactId>bstats-bukkit</artifactId>
112-
<version>3.0.1-SNAPSHOT</version>
113-
<scope>compile</scope>
114-
</dependency>
115-
<dependency>
116-
<groupId>com.github.TheJeterLP</groupId>
117-
<artifactId>Spigot-Updatechecker</artifactId>
118-
<version>2.0.6</version>
119-
<scope>compile</scope>
110+
<groupId>net.luckperms</groupId>
111+
<artifactId>api</artifactId>
112+
<version>5.4</version>
113+
<scope>provided</scope>
120114
</dependency>
121115
<dependency>
122116
<groupId>net.ess3</groupId>
@@ -130,6 +124,18 @@
130124
<version>1.19.2-R0.1-SNAPSHOT</version>
131125
<scope>provided</scope>
132126
</dependency>
127+
<dependency>
128+
<groupId>org.bstats</groupId>
129+
<artifactId>bstats-bukkit</artifactId>
130+
<version>3.0.1-SNAPSHOT</version>
131+
<scope>compile</scope>
132+
</dependency>
133+
<dependency>
134+
<groupId>com.github.TheJeterLP</groupId>
135+
<artifactId>Spigot-Updatechecker</artifactId>
136+
<version>2.0.6</version>
137+
<scope>compile</scope>
138+
</dependency>
133139
</dependencies>
134140

135141
<properties>

src/main/java/de/jeter/chatex/ChatEx.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ public void onEnable() {
5656

5757
if (Config.B_STATS.getBoolean()) {
5858
Metrics metrics = new Metrics(this, 7744);
59+
CustomCharts.addPermissionsPluginChart(metrics);
60+
CustomCharts.addUpdateCheckerChart(metrics);
5961
getLogger().info("Thanks for using bstats, it was enabled!");
6062
}
6163

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
package de.jeter.chatex.plugins;
2+
3+
import de.jeter.chatex.utils.Config;
4+
import de.jeter.chatex.utils.LogHelper;
5+
import net.luckperms.api.LuckPermsProvider;
6+
import net.luckperms.api.model.group.Group;
7+
import net.luckperms.api.model.user.User;
8+
import net.luckperms.api.platform.PlayerAdapter;
9+
import org.bukkit.entity.Player;
10+
11+
import java.util.ArrayList;
12+
import java.util.Collection;
13+
import java.util.List;
14+
15+
public class LuckPerms implements PermissionsPlugin {
16+
17+
private net.luckperms.api.LuckPerms getAPI() {
18+
return LuckPermsProvider.get();
19+
}
20+
21+
private Collection<Group> getGroups(Player p) {
22+
PlayerAdapter<Player> playerAdapter = getAPI().getPlayerAdapter(Player.class);
23+
User user = playerAdapter.getUser(p);
24+
Collection<Group> groups = user.getInheritedGroups(playerAdapter.getQueryOptions(p));
25+
return groups;
26+
}
27+
28+
@Override
29+
public String getName() {
30+
return "LuckPerms";
31+
}
32+
33+
@Override
34+
public String getPrefix(Player p) {
35+
if (Config.MULTIPREFIXES.getBoolean()) {
36+
LogHelper.debug("Getting multiprefixes from " + p.getName());
37+
String retprefix = "";
38+
39+
for (String prefix : getAPI().getPlayerAdapter(Player.class).getMetaData(p).getPrefixes().values()) {
40+
LogHelper.debug(prefix);
41+
if (prefix.length() == 2 && prefix.startsWith("&")) {
42+
retprefix += prefix;
43+
} else {
44+
retprefix += (prefix + " ");
45+
}
46+
}
47+
48+
return retprefix;
49+
} else {
50+
String prefix = getAPI().getPlayerAdapter(Player.class).getMetaData(p).getPrefix();
51+
return prefix != null ? prefix : "";
52+
}
53+
}
54+
55+
@Override
56+
public String getSuffix(Player p) {
57+
if (Config.MULTISUFFIXES.getBoolean()) {
58+
LogHelper.debug("Getting multisuffixes from " + p.getName());
59+
String retsuffix = "";
60+
61+
for (String suffix : getAPI().getPlayerAdapter(Player.class).getMetaData(p).getSuffixes().values()) {
62+
LogHelper.debug(suffix);
63+
if (suffix.length() == 2 && suffix.startsWith("&")) {
64+
retsuffix += suffix;
65+
} else {
66+
retsuffix += (suffix + " ");
67+
}
68+
}
69+
70+
return retsuffix;
71+
} else {
72+
String suffix = getAPI().getPlayerAdapter(Player.class).getMetaData(p).getSuffix();
73+
return suffix != null ? suffix : "";
74+
}
75+
76+
}
77+
78+
@Override
79+
public String[] getGroupNames(Player p) {
80+
Collection<Group> groups = getGroups(p);
81+
List<String> list = new ArrayList<>();
82+
for (Group group : groups) {
83+
String name = group.getDisplayName() == null ? group.getName() : group.getDisplayName();
84+
list.add(name);
85+
}
86+
return list.toArray(String[]::new);
87+
}
88+
89+
@Override
90+
public String getMessageFormat(Player p) {
91+
return Config.FORMAT.getString();
92+
}
93+
94+
@Override
95+
public String getGlobalMessageFormat(Player p) {
96+
return Config.GLOBALFORMAT.getString();
97+
}
98+
}

src/main/java/de/jeter/chatex/plugins/PluginManager.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ public static PermissionsPlugin getInstance() {
3434

3535
public static void load() {
3636
INSTANCE = new PluginManager();
37-
if (HookManager.checkVault() && Vault.setupChat()) {
37+
if (HookManager.checkLuckperms()) {
38+
handler = new LuckPerms();
39+
} else if (HookManager.checkVault() && Vault.setupChat()) {
3840
handler = new Vault();
3941
} else {
4042
handler = new Nothing();

src/main/java/de/jeter/chatex/plugins/Vault.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public String[] getGroupNames(Player p) {
8585

8686
@Override
8787
public String getName() {
88-
return chat.getName();
88+
return "Vault:" + chat.getName();
8989
}
9090

9191
@Override

src/main/java/de/jeter/chatex/utils/Config.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,11 @@ public static void load() {
8787
ChatEx.getInstance().getDataFolder().mkdirs();
8888
reload(false);
8989
List<String> header = new ArrayList<>();
90+
header.add("Thanks for installing " + ChatEx.getInstance().getName());
91+
header.add("Please report any bugs you may encounter at my discord under:");
92+
header.add("https://www.thejeterlp.de/discord");
93+
header.add("-------------------------------Descriptions--------------------------------------");
94+
header.add("");
9095
for (Config c : values()) {
9196
header.add(c.getPath() + ": " + c.getDescription());
9297
if (!cfg.contains(c.getPath())) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package de.jeter.chatex.utils;
2+
3+
import de.jeter.chatex.plugins.PluginManager;
4+
import org.bstats.bukkit.Metrics;
5+
import org.bstats.charts.SimplePie;
6+
7+
public class CustomCharts {
8+
9+
public static void addUpdateCheckerChart(Metrics metrics) {
10+
metrics.addCustomChart(new SimplePie("updatechecker_enabled", () -> {
11+
return String.valueOf(Config.CHECK_UPDATE.getBoolean());
12+
}));
13+
}
14+
15+
public static void addPermissionsPluginChart(Metrics metrics) {
16+
metrics.addCustomChart(new SimplePie("used_permissions_plugin", () -> {
17+
return PluginManager.getInstance().getName();
18+
}));
19+
}
20+
21+
}

src/main/java/de/jeter/chatex/utils/HookManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ public static boolean checkVault() {
2828
return plugin != null && plugin.isEnabled();
2929
}
3030

31+
public static boolean checkLuckperms() {
32+
Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("LuckPerms");
33+
return plugin != null && plugin.isEnabled();
34+
}
35+
3136
public static boolean checkPlaceholderAPI() {
3237
Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("PlaceholderAPI");
3338
return plugin != null && plugin.isEnabled();

src/main/resources/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main: de.jeter.chatex.ChatEx
33
version: ${project.version}
44
authors: [ Jeter, Wizard_x ]
55
description: Chat management plugin
6-
softdepend: [ PermissionsEx, Vault, PlaceholderAPI, Essentials ]
6+
softdepend: [ LuckPerms, Vault, PlaceholderAPI, Essentials ]
77
api-version: 1.13
88

99
commands:

0 commit comments

Comments
 (0)