1
mirror of https://github.com/carm-outsource/TimeReward.git synced 2024-09-19 19:25:49 +00:00

fix(version): 适配 1.10- 版本的消息文本发送 (#6)

feat(command): 添加了指令权限判断与重载时的奖励数量反馈
This commit is contained in:
Yurinann 2023-02-23 00:50:58 +08:00 committed by GitHub
parent d2600d308c
commit 681a65230b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 22 deletions

View File

@ -61,7 +61,7 @@ public class Main extends EasyPlugin {
log("加载奖励管理器...");
this.rewardManager = new RewardManager(this);
debug("加载了 " + this.rewardManager.listRewards().size() + " 个奖励配置。");
log("成功加载了 " + this.rewardManager.listRewards().size() + " 个奖励配置。");
log("注册监听器...");
registerListener(new UserListener());

View File

@ -30,9 +30,10 @@ public class TimeRewardCommand implements CommandExecutor, TabCompleter {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) {
if (sender instanceof Player && !sender.hasPermission("TimeReward.admin")) PluginMessages.NO_PERMISSION.send(sender);
if (args.length < 1) return help(sender);
String aim = args[0];
String aim = args[0];
if (aim.equalsIgnoreCase("reload")) {
long s1 = System.currentTimeMillis();
PluginMessages.RELOAD.START.send(sender);
@ -41,7 +42,7 @@ public class TimeRewardCommand implements CommandExecutor, TabCompleter {
Main.getInstance().getConfigProvider().reload();
Main.getInstance().getMessageProvider().reload();
PluginMessages.RELOAD.COMPLETE.send(sender, System.currentTimeMillis() - s1);
PluginMessages.RELOAD.COMPLETE.send(sender, System.currentTimeMillis() - s1, TimeRewardAPI.getRewardManager().listRewards().size());
} catch (Exception e) {
PluginMessages.RELOAD.ERROR.send(sender);
e.printStackTrace();

View File

@ -4,15 +4,13 @@ import cc.carm.lib.configuration.core.ConfigurationRoot;
import cc.carm.lib.configuration.core.annotation.HeaderComment;
import cc.carm.lib.easyplugin.utils.ColorParser;
import cc.carm.lib.mineconfiguration.bukkit.builder.message.CraftMessageListBuilder;
import cc.carm.lib.mineconfiguration.bukkit.builder.message.CraftMessageValueBuilder;
import cc.carm.lib.mineconfiguration.bukkit.builder.title.TitleConfigBuilder;
import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredMessage;
import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredMessageList;
import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredTitle;
import de.themoep.minedown.MineDown;
import me.clip.placeholderapi.PlaceholderAPI;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
@ -22,23 +20,21 @@ import java.util.function.BiFunction;
@HeaderComment({
"TimeReward 在线奖励插件的消息配置文件",
"如特定的消息不需要任何提示,可直接留下单行空内容消息。",
"支持 支持 &+颜色代码(原版颜色)、§(#XXXXXX)(RGB颜色) 与 &<#XXXXXX>(前后标注RGB颜色渐变)。",
"支持 &+颜色代码(原版颜色)、&(#XXXXXX)(RGB颜色) 与 &<#XXXXXX>(前后标注RGB颜色渐变)。",
" "
})
public class PluginMessages extends ConfigurationRoot {
public static @NotNull CraftMessageListBuilder<BaseComponent[]> list() {
return ConfiguredMessageList.create(getParser())
.whenSend((sender, message) -> message.forEach(m -> sender.spigot().sendMessage(m)));
}
public static @NotNull CraftMessageValueBuilder<BaseComponent[]> value() {
return ConfiguredMessage.create(getParser())
.whenSend((sender, message) -> sender.spigot().sendMessage(message));
}
public static @NotNull TitleConfigBuilder title() {
return ConfiguredTitle.create().whenSend((player, in, stay, out, line1, line2) -> player.sendTitle(line1, line2, in, stay, out));
.whenSend((sender, message) -> {
if (sender instanceof ConsoleCommandSender) {
message.forEach(m -> sender.sendMessage(TextComponent.toLegacyText(m)));
return;
}
Player player = (Player) sender;
message.forEach(m -> player.spigot().sendMessage(m));
});
}
public static @NotNull BiFunction<CommandSender, String, BaseComponent[]> getParser() {
@ -79,7 +75,7 @@ public class PluginMessages extends ConfigurationRoot {
"&8-&7 重载插件配置文件。",
"&8#&f user &6<玩家>",
"&8-&7 查看用户的在线时长信息与奖励领取情况。",
"&8#&f listUserData",
"&8#&f list",
"&8-&7 列出所有奖励与条件。",
"&8#&f test &6<奖励ID>",
"&8-&7 测试执行奖励配置的指令。"
@ -118,8 +114,8 @@ public class PluginMessages extends ConfigurationRoot {
).build();
public static final ConfiguredMessageList<BaseComponent[]> COMPLETE = list().defaults(
"&f配置文件重载完成,共耗时 &d%(time)&fms "
).params("time").build();
"&f配置文件重载完成!耗时 &d%(time)&fms共加载了 &d(count) &f个奖励配置"
).params("time", "count").build();
}