This commit is contained in:
parent
f714526248
commit
7e540d1fe5
@ -65,6 +65,9 @@ public class Commands implements TabExecutor {
|
|||||||
case "set_desc":
|
case "set_desc":
|
||||||
TitleManage.setTitleDescription(sender, args);
|
TitleManage.setTitleDescription(sender, args);
|
||||||
break;
|
break;
|
||||||
|
case "custom_title":
|
||||||
|
TitleManage.customTitle(sender, args);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package cn.lunadeer.miniplayertitle.commands;
|
|||||||
|
|
||||||
import cn.lunadeer.miniplayertitle.MiniPlayerTitle;
|
import cn.lunadeer.miniplayertitle.MiniPlayerTitle;
|
||||||
import cn.lunadeer.miniplayertitle.dtos.PlayerInfoDTO;
|
import cn.lunadeer.miniplayertitle.dtos.PlayerInfoDTO;
|
||||||
|
import cn.lunadeer.miniplayertitle.dtos.PlayerTitleDTO;
|
||||||
import cn.lunadeer.miniplayertitle.dtos.TitleDTO;
|
import cn.lunadeer.miniplayertitle.dtos.TitleDTO;
|
||||||
import cn.lunadeer.miniplayertitle.tuis.AllTitles;
|
import cn.lunadeer.miniplayertitle.tuis.AllTitles;
|
||||||
import cn.lunadeer.miniplayertitle.tuis.MyTitles;
|
import cn.lunadeer.miniplayertitle.tuis.MyTitles;
|
||||||
@ -48,7 +49,16 @@ public class TitleManage {
|
|||||||
MiniPlayerTitle.notification.warn(sender, "用法: /mplt delete_title <称号ID>");
|
MiniPlayerTitle.notification.warn(sender, "用法: /mplt delete_title <称号ID>");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
TitleDTO.delete(Integer.parseInt(args[1]));
|
TitleDTO title = TitleDTO.get(Integer.parseInt(args[1]));
|
||||||
|
if (title == null) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "称号不存在");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
boolean success = title.delete();
|
||||||
|
if (!success) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "删除称号失败,具体请查看控制台日志");
|
||||||
|
return;
|
||||||
|
}
|
||||||
MiniPlayerTitle.notification.info(sender, "已删除称号");
|
MiniPlayerTitle.notification.info(sender, "已删除称号");
|
||||||
if (args.length == 3) {
|
if (args.length == 3) {
|
||||||
int page = Integer.parseInt(args[2]);
|
int page = Integer.parseInt(args[2]);
|
||||||
@ -155,4 +165,55 @@ public class TitleManage {
|
|||||||
MyTitles.show(sender, new String[]{"my_titles", String.valueOf(page)});
|
MyTitles.show(sender, new String[]{"my_titles", String.valueOf(page)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建自定义称号
|
||||||
|
* mplt custom_title <称号>
|
||||||
|
*
|
||||||
|
* @param sender CommandSender
|
||||||
|
* @param args String[]
|
||||||
|
*/
|
||||||
|
public static void customTitle(CommandSender sender, String[] args) {
|
||||||
|
if (!(sender instanceof Player)) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "该命令只能由玩家执行");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Player player = (Player) sender;
|
||||||
|
if (!MiniPlayerTitle.config.isEnableCustom()) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "自定义称号功能已关闭");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
PlayerInfoDTO playerInfo = PlayerInfoDTO.get(player.getUniqueId());
|
||||||
|
if (playerInfo == null) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "获取玩家信息时出现错误");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (MiniPlayerTitle.config.getCustomCost() > playerInfo.getCoin()) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "称号币不足");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (args.length < 2) {
|
||||||
|
MiniPlayerTitle.notification.warn(sender, "用法: /mplt custom_title <称号>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
TitleDTO title = TitleDTO.create(args[1], player.getName() + "的自定义称号");
|
||||||
|
if (title == null) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "创建称号失败,具体请查看控制台日志");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (title.getTitlePlainText().length() > MiniPlayerTitle.config.getMaxLength()) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "称号长度超过限制");
|
||||||
|
title.delete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
PlayerTitleDTO created_rec = PlayerTitleDTO.create(player.getUniqueId(), title, null);
|
||||||
|
if (created_rec == null) {
|
||||||
|
MiniPlayerTitle.notification.error(sender, "创建称号记录失败,具体请查看控制台日志");
|
||||||
|
title.delete();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
playerInfo.setCoin(playerInfo.getCoin() - MiniPlayerTitle.config.getCustomCost());
|
||||||
|
MiniPlayerTitle.notification.info(sender, "成功创建自定义称号");
|
||||||
|
MyTitles.show(sender, new String[]{"my_titles"});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,13 +41,11 @@ public class TitleDTO {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean delete(int id) {
|
public boolean delete() {
|
||||||
String sql = "";
|
String sql = "";
|
||||||
sql += "DELETE FROM mplt_title WHERE id = ?;";
|
sql += "DELETE FROM mplt_title WHERE id = ?;";
|
||||||
try (ResultSet rs = MiniPlayerTitle.database.query(sql, id)) {
|
try (ResultSet rs = MiniPlayerTitle.database.query(sql, id)) {
|
||||||
if (rs != null && rs.next()) {
|
return true;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
MiniPlayerTitle.database.handleDatabaseError("删除称号失败", e, sql);
|
MiniPlayerTitle.database.handleDatabaseError("删除称号失败", e, sql);
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ public class CustomInfo {
|
|||||||
.append("自定义称号最大长度(不含颜色代码):").append(MiniPlayerTitle.config.getMaxLength().toString());
|
.append("自定义称号最大长度(不含颜色代码):").append(MiniPlayerTitle.config.getMaxLength().toString());
|
||||||
Line line_5 = Line.create()
|
Line line_5 = Line.create()
|
||||||
.append("自定义方法:")
|
.append("自定义方法:")
|
||||||
.append("在聊天框输入 /mplt custom <称号>");
|
.append("在聊天框输入 /mplt custom_title <称号>");
|
||||||
Line line_6 = Line.create()
|
Line line_6 = Line.create()
|
||||||
.append("可以使用 Minecraft渐变颜色生成器 来生成具有渐变效果的称号")
|
.append("可以使用 Minecraft渐变颜色生成器 来生成具有渐变效果的称号")
|
||||||
.append(Button.create("点击在浏览器中打开生成器").setOpenURL("https://ssl.lunadeer.cn:14440/").build());
|
.append(Button.create("点击在浏览器中打开生成器").setOpenURL("https://ssl.lunadeer.cn:14440/").build());
|
||||||
|
Loading…
Reference in New Issue
Block a user