Skip to content

Commit 29e44bd

Browse files
committed
update 1.1.1
1 parent 4f713ca commit 29e44bd

6 files changed

Lines changed: 162 additions & 139 deletions

File tree

.gitignore

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,3 @@
1-
# Compiled class file
2-
*.class
3-
4-
# Log file
5-
*.log
6-
7-
# BlueJ files
8-
*.ctxt
9-
10-
# Mobile Tools for Java (J2ME)
11-
.mtj.tmp/
12-
13-
# Package Files #
14-
*.jar
15-
*.war
16-
*.nar
17-
*.ear
18-
*.zip
19-
*.tar.gz
20-
*.rar
21-
22-
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
23-
hs_err_pid*
24-
replay_pid*
1+
shinthl09.iml
2+
target/
3+
.idea/

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454

5555
<repositories>
5656
<repository>
57-
<id>papermc-repo</id>
57+
<id>papermc</id>
5858
<url>https://repo.papermc.io/repository/maven-public/</url>
5959
</repository>
6060
<repository>
@@ -63,7 +63,7 @@
6363
</repository>
6464
<repository>
6565
<id>opencollab-snapshot</id>
66-
<url>https://repo.opencollab.dev/maven-snapshots/</url>
66+
<url>https://repo.opencollab.dev/main/</url>
6767
</repository>
6868
<repository>
6969
<id>codemc-repo</id>
@@ -75,13 +75,13 @@
7575
<dependency>
7676
<groupId>io.papermc.paper</groupId>
7777
<artifactId>paper-api</artifactId>
78-
<version>1.17.1-R0.1-SNAPSHOT</version>
78+
<version>1.20.1-R0.1-SNAPSHOT</version>
7979
<scope>provided</scope>
8080
</dependency>
8181
<dependency>
8282
<groupId>org.geysermc.floodgate</groupId>
8383
<artifactId>api</artifactId>
84-
<version>2.2.0-SNAPSHOT</version>
84+
<version>2.2.2-SNAPSHOT</version>
8585
<scope>provided</scope>
8686
</dependency>
8787
<dependency>

src/main/java/me/shinthl09/AuthMePE.java

Lines changed: 47 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package me.shinthl09;
22

3-
import java.util.ArrayList;
4-
import java.util.List;
5-
63
import org.bukkit.Bukkit;
74
import org.bukkit.command.Command;
85
import org.bukkit.command.CommandSender;
@@ -12,51 +9,71 @@
129
import me.shinthl09.color.color;
1310
import me.shinthl09.event.PlayerJoin;
1411

12+
import java.util.ArrayList;
13+
import java.util.List;
14+
1515
public class AuthMePE extends JavaPlugin {
16+
1617
@Override
1718
public void onEnable() {
1819
Bukkit.getPluginManager().registerEvents(new PlayerJoin(), this);
1920
getConfig().options().copyDefaults(true);
2021
saveDefaultConfig();
21-
this.getLogger().info(color.transalate("&e---------------------\n"));
22-
this.getLogger().info(color.transalate("&aAuthor:&e ShinTHL09"));
23-
this.getLogger().info(color.transalate("&aPlugin:&e Has Enable"));
24-
this.getLogger().info(color.transalate("&aName:&e " + this.getName() + "\n"));
25-
this.getLogger().info(color.transalate("&e---------------------"));
22+
logMessage("&e---------------------");
23+
logMessage("&aAuthor:&e ShinTHL09");
24+
logMessage("&aPlugin:&e Has Enable");
25+
logMessage("&aName:&e " + this.getName());
26+
logMessage("&aVersion:&e " + this.getPluginMeta().getVersion());
27+
logMessage("&e---------------------");
2628
}
2729

2830
@Override
2931
public void onDisable() {
30-
this.getLogger().info(color.transalate("&e---------------------\n"));
31-
this.getLogger().info(color.transalate("&aAuthor:&e ShinTHL09"));
32-
this.getLogger().info(color.transalate("&aPlugin:&e Has Disable"));
33-
this.getLogger().info(color.transalate("&aName:&e " + this.getName() + "\n"));
34-
this.getLogger().info(color.transalate("&e---------------------"));
32+
logMessage("&e---------------------");
33+
logMessage("&aAuthor:&e ShinTHL09");
34+
logMessage("&aPlugin:&e Has Disable");
35+
logMessage("&aName:&e " + this.getName());
36+
logMessage("&aVersion:&e " + this.getPluginMeta().getVersion());
37+
logMessage("&e---------------------");
3538
}
3639

40+
private void logMessage(String message) {
41+
Bukkit.getConsoleSender().sendMessage(color.transalate(message));
42+
}
43+
44+
@Override
3745
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
3846
if (cmd.getName().equalsIgnoreCase("authmepe")) {
39-
if (sender.hasPermission("authmepe.admin") || !(sender instanceof Player)) {
40-
if (args.length == 0) {
41-
sender.sendMessage(color.transalate(this.getConfig().getString("Message.Command-Wrong")));
42-
} else if (args[0].equalsIgnoreCase("reload") || args[0].equalsIgnoreCase("rl")) {
43-
this.reloadConfig();
44-
sender.sendMessage(color.transalate(this.getConfig().getString("Message.Reload-Successful")));
45-
} else {
46-
sender.sendMessage(color.transalate(this.getConfig().getString("Message.Command-Wrong")));
47-
}
48-
} else
49-
sender.sendMessage(color.transalate(this.getConfig().getString("Message.No-Permissions")));
47+
handleAuthMeCommand(sender, args);
5048
}
5149
return true;
5250
}
53-
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
54-
if (cmd.getName().equalsIgnoreCase("authmepe")) {
55-
if (args.length == 1) {
56-
ArrayList<String> command = new ArrayList<>();
57-
command.add("reload");
58-
return command;
51+
52+
private void handleAuthMeCommand(CommandSender sender, String[] args) {
53+
if (sender.hasPermission("authmepe.admin") || !(sender instanceof Player)) {
54+
if (args.length == 0) {
55+
sender.sendMessage(color.transalate(getConfig().getString("Message.Command-Wrong")));
56+
} else if (args[0].equalsIgnoreCase("reload") || args[0].equalsIgnoreCase("rl")) {
57+
reloadConfiguration(sender);
58+
} else {
59+
sender.sendMessage(color.transalate(getConfig().getString("Message.Command-Wrong")));
5960
}
61+
} else {
62+
sender.sendMessage(color.transalate(getConfig().getString("Message.No-Permissions")));
63+
}
64+
}
65+
66+
private void reloadConfiguration(CommandSender sender) {
67+
reloadConfig();
68+
sender.sendMessage(color.transalate(getConfig().getString("Message.Reload-Successful")));
69+
}
70+
71+
@Override
72+
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
73+
if (cmd.getName().equalsIgnoreCase("authmepe") && args.length == 1) {
74+
ArrayList<String> command = new ArrayList<>();
75+
command.add("reload");
76+
return command;
6077
}
6178
return null;
6279
}
Lines changed: 102 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package me.shinthl09.event;
22

3+
import fr.xephi.authme.api.v3.AuthMeApi;
4+
import me.shinthl09.AuthMePE;
5+
import me.shinthl09.color.color;
36
import org.bukkit.entity.Player;
47
import org.bukkit.event.EventHandler;
58
import org.bukkit.event.Listener;
@@ -11,83 +14,109 @@
1114
import org.geysermc.floodgate.api.FloodgateApi;
1215
import org.geysermc.floodgate.api.player.FloodgatePlayer;
1316

14-
import fr.xephi.authme.api.v3.AuthMeApi;
15-
import me.shinthl09.AuthMePE;
16-
import me.shinthl09.color.color;
17-
1817
public class PlayerJoin implements Listener {
19-
private Plugin plugin = AuthMePE.getPlugin(AuthMePE.class);
18+
private final Plugin plugin = AuthMePE.getPlugin(AuthMePE.class);
2019

2120
@EventHandler
22-
public void onPlayerJoin(PlayerJoinEvent e) {
23-
Player p = e.getPlayer();
24-
(new BukkitRunnable() {
21+
public void onPlayerJoin(final PlayerJoinEvent event) {
22+
new BukkitRunnable() {
2523
public void run() {
26-
if (FloodgateApi.getInstance().isFloodgatePlayer(e.getPlayer().getUniqueId())) {
27-
if ((AuthMeApi.getInstance().isRegistered(e.getPlayer().getName()))) {
28-
if (!AuthMeApi.getInstance().isAuthenticated(e.getPlayer())) {
29-
if (plugin.getConfig().getBoolean("Setting.Skip-AuthMe-Geyser")) {
30-
p.sendMessage(color.transalate(plugin.getConfig().getString("Message.Auto-Login")));
31-
AuthMeApi.getInstance().forceLogin(p);
32-
} else if (plugin.getConfig().getBoolean("Setting.Menu-AuthMe-Geyser")) {
33-
FloodgatePlayer floodplayer = FloodgateApi.getInstance().getPlayer(p.getUniqueId());
34-
floodplayer.sendForm(((CustomForm.Builder) ((CustomForm.Builder) CustomForm.builder()
35-
.title(color.transalate(plugin.getConfig().getString("Menu.Title-Login"))))
36-
.input(color.transalate(plugin.getConfig().getString("Menu.Title-Login-Password")),
37-
color.transalate(
38-
plugin.getConfig().getString("Menu.Input-Login-Placeholder")))
39-
.responseHandler((form, responseData) -> {
40-
CustomFormResponse loginform = form.parseResponse(responseData);
41-
if (!loginform.isCorrect())
42-
p.kickPlayer(color.transalate(
43-
plugin.getConfig().getString("Message.Not-Enough")));
44-
String password = loginform.getInput(0);
45-
if (AuthMeApi.getInstance().checkPassword(p.getName(), password)) {
46-
AuthMeApi.getInstance().forceLogin(p);
47-
} else
48-
p.kickPlayer(color.transalate(
49-
plugin.getConfig().getString("Message.Wrong-Password")));
50-
})).build());
51-
}
52-
}
53-
} else {
54-
if (plugin.getConfig().getBoolean("Setting.Skip-AuthMe-Geyser")) {
55-
AuthMeApi.getInstance().forceRegister(p,
56-
plugin.getConfig().getString("Setting.Password-Login-Geyser"), true);
57-
p.sendMessage(color.transalate(plugin.getConfig().getString("Message.Auto-Register")));
58-
} else if (plugin.getConfig().getBoolean("Setting.Menu-AuthMe-Geyser")) {
59-
FloodgatePlayer floodplayer = FloodgateApi.getInstance().getPlayer(p.getUniqueId());
60-
floodplayer.sendForm(((CustomForm.Builder) ((CustomForm.Builder) CustomForm.builder()
61-
.title(color.transalate(plugin.getConfig().getString("Menu.Title-Register"))))
62-
.input(color.transalate(plugin.getConfig().getString("Menu.Title-Register-Password")),
63-
color.transalate(
64-
plugin.getConfig().getString("Menu.Input-Register-Placeholder")))
65-
.input(color.transalate(plugin.getConfig().getString("Menu.Title-Register-RePassword")),
66-
color.transalate(
67-
plugin.getConfig().getString("Menu.Input-Register-RePlaceholder")))
68-
.responseHandler((form, responseData) -> {
69-
CustomFormResponse registerform = form.parseResponse(responseData);
70-
if (!registerform.getToggle(2)) {
71-
p.kickPlayer(color
72-
.transalate(plugin.getConfig().getString( "Message.Not-Toggle")));
73-
}
74-
if (!registerform.isCorrect())
75-
p.kickPlayer(color
76-
.transalate(plugin.getConfig().getString("Message.Not-Enough")));
77-
String password = registerform.getInput(0);
78-
String repassword = registerform.getInput(1);
79-
if (repassword.equals(password)) {
80-
AuthMeApi.getInstance().forceRegister(p, password, true);
81-
} else
82-
p.kickPlayer(color
83-
.transalate(plugin.getConfig().getString("Message.Not-Same")));
84-
})).build());
85-
}
86-
}
87-
} else {
88-
return;
89-
}
24+
handlePlayerJoin(event.getPlayer());
9025
}
91-
}).runTaskLater(plugin, plugin.getConfig().getLong("Setting.Delay-Open-Menu") * 20L);
26+
}.runTaskLater(plugin, plugin.getConfig().getLong("Setting.Delay-Open-Menu") * 10L);
27+
}
28+
29+
private void handlePlayerJoin(Player player) {
30+
if (FloodgateApi.getInstance().isFloodgatePlayer(player.getUniqueId())) {
31+
if (AuthMeApi.getInstance().isRegistered(player.getName())) {
32+
handleRegisteredPlayer(player);
33+
} else {
34+
handleUnregisteredPlayer(player);
35+
}
36+
}
37+
}
38+
39+
private void handleRegisteredPlayer(Player player) {
40+
if (!AuthMeApi.getInstance().isAuthenticated(player)) {
41+
if (!plugin.getConfig().getBoolean("Setting.Menu-AuthMe-Geyser")) {
42+
player.sendMessage(color.transalate(plugin.getConfig().getString("Message.Auto-Login")));
43+
AuthMeApi.getInstance().forceLogin(player);
44+
} else {
45+
sendLoginMenu(player, null);
46+
}
47+
}
48+
}
49+
50+
private void handleUnregisteredPlayer(Player player) {
51+
if (!plugin.getConfig().getBoolean("Setting.Menu-AuthMe-Geyser")) {
52+
AuthMeApi.getInstance().forceRegister(player, plugin.getConfig().getString("Setting.Password-Login-Geyser"), true);
53+
player.sendMessage(color.transalate(plugin.getConfig().getString("Message.Auto-Register")));
54+
} else {
55+
sendRegisterMenu(player, null);
56+
}
57+
}
58+
59+
private void sendLoginMenu(Player player, String label) {
60+
FloodgatePlayer floodPlayer = FloodgateApi.getInstance().getPlayer(player.getUniqueId());
61+
CustomForm.Builder formBuilder = createFormBuilder("Menu.Title-Login", "Menu.Title-Login-Password", "Menu.Input-Login-Placeholder");
62+
formBuilder.responseHandler((form, responseData) -> handleLoginFormResponse(player, form.parseResponse(responseData)));
63+
addLabelToForm(formBuilder, label);
64+
floodPlayer.sendForm(formBuilder.build());
65+
}
66+
67+
private void handleLoginFormResponse(Player player, CustomFormResponse loginForm) {
68+
if (!loginForm.isCorrect()) {
69+
sendLoginMenu(player, plugin.getConfig().getString("Message.Not-Enough"));
70+
return;
71+
}
72+
73+
String password = loginForm.getInput(0);
74+
if (AuthMeApi.getInstance().checkPassword(player.getName(), password)) {
75+
AuthMeApi.getInstance().forceLogin(player);
76+
} else {
77+
sendLoginMenu(player, plugin.getConfig().getString("Message.Wrong-Password"));
78+
}
79+
}
80+
81+
private void sendRegisterMenu(Player player, String label) {
82+
FloodgatePlayer floodPlayer = FloodgateApi.getInstance().getPlayer(player.getUniqueId());
83+
CustomForm.Builder formBuilder = createFormBuilder("Menu.Title-Register", "Menu.Title-Register-Password", "Menu.Input-Register-Placeholder");
84+
formBuilder.input(
85+
color.transalate(plugin.getConfig().getString("Menu.Title-Register-RePassword")),
86+
color.transalate(plugin.getConfig().getString("Menu.Input-Register-RePlaceholder"))
87+
);
88+
formBuilder.responseHandler((form, responseData) -> handleRegisterFormResponse(player, form.parseResponse(responseData)));
89+
addLabelToForm(formBuilder, label);
90+
floodPlayer.sendForm(formBuilder.build());
91+
}
92+
93+
private void handleRegisterFormResponse(Player player, CustomFormResponse registerForm) {
94+
if (!registerForm.isCorrect()) {
95+
sendRegisterMenu(player, plugin.getConfig().getString("Message.Not-Enough"));
96+
return;
97+
}
98+
99+
String password = registerForm.getInput(0);
100+
String rePassword = registerForm.getInput(1);
101+
if (rePassword.equals(password)) {
102+
AuthMeApi.getInstance().forceRegister(player, password, true);
103+
} else {
104+
sendRegisterMenu(player, plugin.getConfig().getString("Message.Not-Same"));
105+
}
106+
}
107+
108+
private CustomForm.Builder createFormBuilder(String titleConfigKey, String inputTitleConfigKey, String inputPlaceholderConfigKey) {
109+
return CustomForm.builder()
110+
.title(color.transalate(plugin.getConfig().getString(titleConfigKey)))
111+
.input(
112+
color.transalate(plugin.getConfig().getString(inputTitleConfigKey)),
113+
color.transalate(plugin.getConfig().getString(inputPlaceholderConfigKey))
114+
);
115+
}
116+
117+
private void addLabelToForm(CustomForm.Builder formBuilder, String label) {
118+
if (label != null) {
119+
formBuilder.label(color.transalate(label));
120+
}
92121
}
93122
}

src/main/resources/config.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
Setting:
1111
Prefix: '&r[&bAuthMePE&r]'
1212
Delay-Open-Menu: 1 #thời gian delay mở Menu-AuthMe-Geyser
13-
Menu-AuthMe-Geyser: true #bật menu register và login
14-
Skip-AuthMe-Geyser: false #bật tính năng skip register và login cho pe (nhớ tắt Menu-AuthMe-Geyser đi)
13+
Menu-AuthMe-Geyser: true #bật menu register và login, tắt đi tức là bật skip login
1514
Password-Login-Geyser: 'AuthMePE' #password mà plugin sẽ dùng để tạo cho các player pe khi bật Skip-AuthMe-Geyser
1615
#cấu hình menu
1716
Menu:
@@ -27,11 +26,10 @@ Menu:
2726
Input-Login-Placeholder: 'Nhập mật khẩu'
2827
#tùy chỉnh các message, placeholder: {prefix}
2928
Message:
30-
Wrong-Password: '{prefix} &cSai Mật Khẩu' #kick player nếu mật khẩu sai
31-
Not-Enough: '{prefix} &cBạn Chưa Điền Đầy Đủ Thông Tin' #kick player nếu không đầy đủ thông tin
32-
Not-Same: '{prefix} &c2Mật Khẩu Không Giống Nhau' #kick player nếu 2 mật khẩu không giống nhau
29+
Wrong-Password: '&cSai Mật Khẩu' #thông báo player nếu mật khẩu sai
30+
Not-Enough: '&cBạn Chưa Điền Đầy Đủ Thông Tin' #thông báo player nếu không đầy đủ thông tin
31+
Not-Same: '&c2Mật Khẩu Không Giống Nhau' #thông bao player nếu 2 mật khẩu không giống nhau
3332
Reload-Successful: '{prefix} &aReload Config Thành Công' #reload config thành công
34-
Not-Toggle: '{prefix} &cBạn Chưa Chấp Nhận Tạo Tài Khoản' #chưa bật xác nhận tạo acc
3533
No-Permissions: '{prefix} &cBạn Không Có Quyền Thực Hiện Lệnh Này' #thông báo không có quyền
3634
Command-Wrong: '{prefix} &a/authmepe reload |&e Reload Config Plugin' #lệnh không hợp lệ
3735
Auto-Login: '{prefix} &aTài Khoản Của Bạn Đã Được Đăng Nhập Tự Động'

src/main/resources/plugin.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: AuthMePE
2-
version: '1.1.0'
2+
version: '1.1.1'
33
main: me.shinthl09.AuthMePE
4-
api-version: 1.13
4+
api-version: 1.20
55
depend: [ floodgate , AuthMe]
66
author: ShinTHL09
77
commands:

0 commit comments

Comments
 (0)