1
mirror of https://github.com/carm-outsource/TimeReward.git synced 2026-06-04 15:28:16 +08:00

项目初始化

This commit is contained in:
2022-02-27 22:07:22 +08:00
commit dc96a8d1cf
14 changed files with 511 additions and 0 deletions
@@ -0,0 +1,62 @@
package cc.carm.plugin.timereward;
import cc.carm.lib.easyplugin.EasyPlugin;
import cc.carm.lib.easyplugin.i18n.EasyPluginMessageProvider;
import cc.carm.plugin.timereward.configuration.PluginConfig;
import cc.carm.plugin.timereward.manager.ConfigManager;
public class Main extends EasyPlugin {
private static Main instance;
public Main() {
super(new EasyPluginMessageProvider.zh_CN());
instance = this;
}
protected static ConfigManager configManager;
@Override
public boolean initialize() {
log("加载插件配置文件...");
Main.configManager = new ConfigManager();
if (!Main.configManager.initConfig()) {
error("插件配置文件初始化失败,请检查文件权限。");
return false;
}
log("加载玩家管理器...");
log("注册监听器...");
log("注册指令...");
return true;
}
@Override
protected void shutdown() {
}
@Override
public boolean isDebugging() {
return PluginConfig.DEBUG.get();
}
public static Main getInstance() {
return instance;
}
public static void info(String... messages) {
getInstance().log(messages);
}
public static void severe(String... messages) {
getInstance().error(messages);
}
public static void debugging(String... messages) {
getInstance().debug(messages);
}
}
@@ -0,0 +1,4 @@
package cc.carm.plugin.timereward;
public class TimeRewardAPI {
}
@@ -0,0 +1,12 @@
package cc.carm.plugin.timereward.configuration;
import cc.carm.lib.easyplugin.configuration.impl.ConfigSound;
import cc.carm.lib.easyplugin.configuration.values.ConfigValue;
import org.bukkit.Sound;
public class PluginConfig {
public static final ConfigValue<Boolean> DEBUG = new ConfigValue<>(
"debug", Boolean.class, false
);
}
@@ -0,0 +1,14 @@
package cc.carm.plugin.timereward.configuration;
import cc.carm.lib.easyplugin.configuration.language.EasyMessageList;
import cc.carm.lib.easyplugin.configuration.language.MessagesRoot;
public class PluginMessages extends MessagesRoot {
public static final EasyMessageList NOT_ONLINE = new EasyMessageList(
new String[]{"&7玩家 &c%(player) &7并不在线。"},
new String[]{"%(player)"}
);
}
@@ -0,0 +1,50 @@
package cc.carm.plugin.timereward.manager;
import cc.carm.lib.easyplugin.configuration.file.FileConfig;
import cc.carm.lib.easyplugin.configuration.language.MessagesConfig;
import cc.carm.lib.easyplugin.configuration.language.MessagesInitializer;
import cc.carm.plugin.timereward.Main;
import cc.carm.plugin.timereward.configuration.PluginMessages;
public class ConfigManager {
private FileConfig pluginConfiguration;
private MessagesConfig messageConfiguration;
public boolean initConfig() {
try {
pluginConfiguration = new FileConfig(Main.getInstance(), "config.yml");
messageConfiguration = new MessagesConfig(Main.getInstance(), "messages.yml");
FileConfig.pluginConfiguration = () -> pluginConfiguration;
FileConfig.messageConfiguration = () -> messageConfiguration;
MessagesInitializer.initialize(messageConfiguration, PluginMessages.class);
return true;
} catch (Exception ex) {
return false;
}
}
public FileConfig getPluginConfig() {
return FileConfig.pluginConfiguration.get();
}
public FileConfig getMessageConfig() {
return FileConfig.messageConfiguration.get();
}
public void reload() throws Exception {
getPluginConfig().reload();
getMessageConfig().reload();
}
public void saveConfig() throws Exception {
getPluginConfig().save();
getMessageConfig().save();
}
}
+6
View File
@@ -0,0 +1,6 @@
# ${project.name} - ${project.description}
# 项目地址: ${project.url}
# 下载地址: ${project.distributionManagement.downloadUrl}
version: ${project.version}
debug: false
+5
View File
@@ -0,0 +1,5 @@
# ${project.name} - ${project.description}
# 项目地址: ${project.url}
# 下载地址: ${project.distributionManagement.downloadUrl}
version: ${project.version}
+21
View File
@@ -0,0 +1,21 @@
main: cc.carm.plugin.timereward.Main
name: TimeReward
version: ${project.version}
description: ${project.description}
website: ${project.url}
authors:
- CarmJos
commands:
"TimeReward":
permission: "TimeReward.admin"
description: "在线自动领奖的基础指令。"
usage: "/TimeReward help"
permissions:
"TimeReward.admin":
description: "区域保护插件的管理员权限。"
default: op