Skip to content

Commit cb2d3f4

Browse files
committed
fix: 解决所有警告
1 parent 325fe1e commit cb2d3f4

File tree

9 files changed

+53
-54
lines changed

9 files changed

+53
-54
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,11 @@
101101
<artifactId>httpasyncclient</artifactId>
102102
<version>4.1.5</version>
103103
</dependency>
104+
<dependency>
105+
<groupId>org.jetbrains</groupId>
106+
<artifactId>annotations</artifactId>
107+
<version>RELEASE</version>
108+
<scope>compile</scope>
109+
</dependency>
104110
</dependencies>
105111
</project>

src/main/java/center/xzy/qb/messagesync/Main.java

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.bukkit.Material;
1010
import org.bukkit.inventory.ItemStack;
1111
import org.bukkit.inventory.meta.ItemMeta;
12-
import org.bukkit.plugin.Plugin;
1312
import org.bukkit.plugin.java.JavaPlugin;
1413

1514
import java.net.URISyntaxException;
@@ -19,18 +18,15 @@
1918
import java.sql.DriverManager;
2019
import java.sql.SQLException;
2120
import java.sql.Statement;
22-
import java.util.Arrays;
23-
import java.util.HashMap;
24-
import java.util.List;
25-
import java.util.Map;
21+
import java.util.*;
2622

2723
public final class Main extends JavaPlugin {
2824
public static boolean pluginStatus = true;
2925
public static Main instance;
3026
public static Map<String, List<String>> LoginData = new HashMap<>(); // 登录储存的玩家数据
3127
public static Map<String, String> gmData = new HashMap<>(); // 玩家游戏模式数据
3228
public static Map<String, List<String>> regData = new HashMap<>(); // 注册(二次输入密码)储存的玩家数据
33-
public static Map<String, String> regIpData = new HashMap<>(); // prelogin储存的登录IP数据
29+
public static Map<String, String> regIpData = new HashMap<>(); // PreLogin储存的登录IP数据
3430
public static Connection dbConn; // 数据库连接,在`onEnable`方法中初始化
3531
public static SocketClient socket;
3632

@@ -42,7 +38,6 @@ public void onEnable() {
4238
// config.yml
4339
getConfig().options().copyDefaults();
4440
saveDefaultConfig();
45-
Plugin plugin = getPlugin(Main.class);
4641

4742
// 初始化Sqlite数据库
4843
try {
@@ -53,8 +48,8 @@ public void onEnable() {
5348
}
5449

5550
// reg commands
56-
getCommand("ms").setExecutor(new CommandHandler());
57-
getCommand("say").setExecutor(new sayHandler());
51+
Objects.requireNonNull(getCommand("ms")).setExecutor(new CommandHandler());
52+
Objects.requireNonNull(getCommand("say")).setExecutor(new sayHandler());
5853

5954
// register events
6055
getServer().getPluginManager().registerEvents(new customEventHandler(), this);
@@ -105,18 +100,20 @@ public static void initDatabase(Connection conn) throws SQLException {
105100
public static ItemStack NewItem(Material type, String DisplayName, List<String> Lores){
106101
ItemStack myItem = new ItemStack(type);
107102
ItemMeta im = myItem.getItemMeta();
108-
im.setDisplayName(DisplayName);
109-
im.setLore(Lores);
103+
if (im != null) {
104+
im.setDisplayName(DisplayName);
105+
im.setLore(Lores);
106+
}
110107
myItem.setItemMeta(im);
111108
return myItem;
112109
}
113110

114111
public static ItemStack NewItem(Material type, String DisplayName){
115-
return NewItem(type, DisplayName, Arrays.asList());
112+
return NewItem(type, DisplayName, Collections.emptyList());
116113
}
117114

118115
public static String MD5(String key){
119-
char hexDigests[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
116+
char[] hexDigests = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
120117
try {
121118
byte[] in = key.getBytes();
122119
MessageDigest messageDigest = MessageDigest.getInstance("md5");
@@ -127,10 +124,9 @@ public static String MD5(String key){
127124
int j = md.length;
128125
char[] str = new char[j*2];
129126
int k = 0;
130-
for (int i = 0; i < j; i++) {
131-
byte b = md[i];
132-
str[k++] = hexDigests[b >>> 4 & 0xf]; // >>> 无符号右移。这里将字节b右移4位,低位抛弃,就等于是高4位于0xf做与运算。4位最多表示15。
133-
str[k++] = hexDigests[b & 0xf]; //用 1字节=8位,与0xf与运算,高4位必为0,就得到了低四位的数。
127+
for (byte b : md) {
128+
str[k++] = hexDigests[b >>> 4 & 0xf];
129+
str[k++] = hexDigests[b & 0xf];
134130
}
135131
return new String(str);
136132
} catch (NoSuchAlgorithmException e) {

src/main/java/center/xzy/qb/messagesync/commands/ICommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public abstract class ICommand {
99
/**
1010
* 子指令名
1111
*/
12-
private String cmdName;
12+
private final String cmdName;
1313

1414
/**
1515
* 子指令参数

src/main/java/center/xzy/qb/messagesync/commands/impl/login.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import center.xzy.qb.messagesync.Main;
44
import center.xzy.qb.messagesync.commands.ICommand;
55
import center.xzy.qb.messagesync.events.customEventHandler;
6+
import center.xzy.qb.messagesync.scheduler.PlayerLogin;
67
import org.bukkit.ChatColor;
78
import org.bukkit.command.CommandSender;
89
import org.bukkit.entity.Player;
@@ -21,8 +22,8 @@ public login(){
2122

2223
public boolean onCommand(CommandSender sender, String[] args) {
2324
if (plugin.getConfig().getBoolean("login-verify")) {
24-
String title = null;
25-
int timeout = 0;
25+
String title;
26+
int timeout;
2627
try{
2728
Statement statement = Main.dbConn.createStatement();
2829
ResultSet rs = statement.executeQuery("select * from `ms_users` where `id`='" + sender.getName() + "'");
@@ -43,9 +44,9 @@ public boolean onCommand(CommandSender sender, String[] args) {
4344
throw new RuntimeException(e);
4445
}
4546

46-
// PlayerLogin playerLogin = new PlayerLogin();
47-
// playerLogin.setPlayer((Player) sender);
48-
// playerLogin.runTaskLater(Main.instance, timeout);
47+
PlayerLogin playerLogin = new PlayerLogin();
48+
playerLogin.setPlayer((Player) sender);
49+
playerLogin.runTaskLater(Main.instance, timeout);
4950
customEventHandler.openInv((Player) sender, title);
5051
}
5152
return true;

src/main/java/center/xzy/qb/messagesync/commands/impl/reload.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package center.xzy.qb.messagesync.commands.impl;
22

33
import center.xzy.qb.messagesync.Main;
4+
import center.xzy.qb.messagesync.commands.ICommand;
45
import org.bukkit.ChatColor;
56
import org.bukkit.command.CommandSender;
6-
import center.xzy.qb.messagesync.commands.ICommand;
7-
import org.bukkit.plugin.Plugin;
87

98
public class reload extends ICommand {
10-
Plugin plugin = Main.getPlugin(Main.class);
11-
129
public reload(){
1310
super("reload", "", "重载配置");
1411
}

src/main/java/center/xzy/qb/messagesync/events/inventoryEventHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class inventoryEventHandler implements Listener {
3434

3535
private void cleanData(Player p) {
3636
p.setInvulnerable(false);
37-
Main.instance.getLogger().info(Main.gmData.get(p.getName()).toString());
37+
Main.instance.getLogger().info(Main.gmData.get(p.getName()));
3838
p.setGameMode(GameMode.valueOf(Main.gmData.get(p.getName())));
3939
Main.LoginData.remove(p.getName());
4040
Main.gmData.remove(p.getName());
@@ -43,7 +43,7 @@ private void cleanData(Player p) {
4343

4444
@EventHandler
4545
public void onInventoryClick(InventoryClickEvent event) throws SQLException {
46-
if (event.getWhoClicked() instanceof Player == false) { return;}
46+
if (!(event.getWhoClicked() instanceof Player)) { return;}
4747
Player p = (Player)event.getWhoClicked();
4848
if (event.getView().getTitle().equalsIgnoreCase(ChatColor.GREEN + "欢迎来到" + plugin.getConfig().getString("server-name") + "服务器 " + ChatColor.BLUE + "请登录") || event.getView().getTitle().equalsIgnoreCase(ChatColor.GREEN + "欢迎来到" + plugin.getConfig().getString("server-name") + "服务器 " + ChatColor.BLUE + "注册(第一遍输入密码,第二遍确认密码)")) {
4949
List<String> LoginData = Main.LoginData.get(p.getName());
@@ -65,7 +65,7 @@ public void onInventoryClick(InventoryClickEvent event) throws SQLException {
6565
List<String> regData = Main.regData.get(p.getName());
6666
String repeatPassword = StringUtils.join(regData, "");
6767
if (repeatPassword.equals(password)) {
68-
String ip = null;
68+
String ip;
6969
if (Main.regIpData.containsKey(p.getName())) {
7070
ip = Main.regIpData.get(p.getName());
7171
} else {

src/main/java/center/xzy/qb/messagesync/executor/CommandHandler.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.bukkit.command.Command;
77
import org.bukkit.command.CommandSender;
88
import org.bukkit.command.TabExecutor;
9+
import org.jetbrains.annotations.NotNull;
910

1011
import java.util.*;
1112

@@ -18,7 +19,7 @@ public class CommandHandler implements TabExecutor {
1819
/**
1920
* 维护的指令集合
2021
*/
21-
private Map<String, ICommand> commands = new HashMap<>();
22+
private final Map<String, ICommand> commands = new HashMap<>();
2223

2324
public Map<String, ICommand> getCommands() {
2425
return commands;
@@ -65,7 +66,7 @@ private void initHandler() {
6566

6667
/**
6768
* 手动注册指令
68-
* @param command
69+
* @param command 指令
6970
*/
7071
public void registerCommand(ICommand command) {
7172
//command.setHandler(this);
@@ -74,7 +75,7 @@ public void registerCommand(ICommand command) {
7475

7576
/**
7677
* 使用帮助指令
77-
* @param sender
78+
* @param sender 发送者
7879
*/
7980
public void showHelp(CommandSender sender) {
8081
sender.sendMessage(ChatColor.BLUE + "MessageSync for PBF " + ChatColor.GREEN + "插件帮助");
@@ -85,14 +86,14 @@ public void showHelp(CommandSender sender) {
8586

8687
/**
8788
* 统一返回true,使用自定义的showHelp()方法。
88-
* @param sender
89-
* @param command
90-
* @param label
91-
* @param args
92-
* @return
89+
* @param sender 发送者
90+
* @param command 指令
91+
* @param label 标签
92+
* @param args 参数
93+
* @return true
9394
*/
9495
@Override
95-
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
96+
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
9697
if (args == null || args.length < 1) {
9798
showHelp(sender);
9899
return true;
@@ -108,7 +109,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
108109
//用链表的removeFirst,删掉第指令,得到参数
109110
LinkedList<String> list = new LinkedList<>(Arrays.asList(args));
110111
list.removeFirst();
111-
params = list.toArray(new String[list.size()]);
112+
params = list.toArray(new String[0]);
112113
}
113114
boolean res = cmd.onCommand(sender, params);
114115
if (!res) {
@@ -128,7 +129,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
128129
* 玩家每输入一个字母都会被服务器响应
129130
*/
130131
@Override
131-
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
132+
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
132133
if (args == null || args.length < 1) {
133134
showHelp(sender);
134135
return null;
@@ -139,7 +140,7 @@ public List<String> onTabComplete(CommandSender sender, Command command, String
139140
if (args.length == 1) {
140141
String typingStr = args[0].toLowerCase();
141142
for (String cmdName : commands.keySet()) {
142-
/**
143+
/*
143144
* 如果正在输入的字母是正确指令的前缀,且玩家拥有对应指令的权限,就将指令名称拼接到结果里去
144145
* 注意:这里并不是检测到一个符合就立马返回,而是返回符合前缀的指令集合
145146
*/
@@ -150,9 +151,9 @@ public List<String> onTabComplete(CommandSender sender, Command command, String
150151
}
151152
}
152153
}
153-
} else if (args.length > 1) {
154+
} else {
154155
//获取指令参数
155-
String typingStr = args[1].toLowerCase();
156+
// String typingStr = args[1].toLowerCase();
156157
//得到第一个指令,查看对应参数
157158
ICommand cmd = commands.get(args[0].toLowerCase());
158159

@@ -161,7 +162,7 @@ public List<String> onTabComplete(CommandSender sender, Command command, String
161162
String [] params = cmd.getParams().split(" ");
162163
if (params.length > args.length-2) {
163164
String param = params[args.length - 2];
164-
return Arrays.asList(param);
165+
return Collections.singletonList(param);
165166
} else {
166167
sender.sendMessage(cmd.showUsage());
167168
}

src/main/java/center/xzy/qb/messagesync/executor/sayHandler.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
package center.xzy.qb.messagesync.executor;
22

33
import center.xzy.qb.messagesync.Main;
4-
import org.bukkit.ChatColor;
54
import org.bukkit.command.Command;
65
import org.bukkit.command.CommandExecutor;
76
import org.bukkit.command.CommandSender;
8-
import org.bukkit.plugin.Plugin;
97
import org.bukkit.entity.Player;
8+
import org.bukkit.plugin.Plugin;
9+
import org.jetbrains.annotations.NotNull;
1010

1111
public class sayHandler implements CommandExecutor {
1212
Plugin plugin = Main.getPlugin(Main.class);
1313

1414
@Override
15-
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
16-
String msg = "";
17-
for (int i = 0; i < args.length; i++) {
18-
msg += args[i] +" ";
15+
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
16+
StringBuilder msg = new StringBuilder();
17+
for (String arg : args) {
18+
msg.append(arg).append(" ");
1919
}
2020
if (sender instanceof Player){
2121
Main.instance.getServer().broadcastMessage("<" + sender.getName() + "> " + msg);

src/main/java/center/xzy/qb/messagesync/socket/SocketClient.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,7 @@ public void onMessage(String paramString) {
5959
Main.instance.getLogger().warning(ChatColor.BLUE + "WebSocket收到消息:" + paramString);
6060
switch (object.getString("type")){
6161
case "command":
62-
Bukkit.getScheduler().runTask(Main.instance, () -> {
63-
Main.instance.getServer().dispatchCommand(Main.instance.getServer().getConsoleSender(), object.getJSONObject("data").getString("cmd"));
64-
});
62+
Bukkit.getScheduler().runTask(Main.instance, () -> Main.instance.getServer().dispatchCommand(Main.instance.getServer().getConsoleSender(), object.getJSONObject("data").getString("cmd")));
6563
break;
6664

6765
case "message":

0 commit comments

Comments
 (0)