Skip to content

Commit 54262ab

Browse files
authored
Add files via upload
1 parent a5775ab commit 54262ab

12 files changed

Lines changed: 2734 additions & 0 deletions

File tree

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
package com.cleardrop;
2+
3+
import com.cleardrop.commands.ClearDropCommand;
4+
import com.cleardrop.commands.DropShopCommand;
5+
import com.cleardrop.config.ConfigManager;
6+
import com.cleardrop.economy.VaultEconomy;
7+
import com.cleardrop.listeners.ShopListener;
8+
import com.cleardrop.managers.ClearManager;
9+
import com.cleardrop.managers.ShopManager;
10+
import com.cleardrop.utils.MessageUtil;
11+
import org.bukkit.plugin.java.JavaPlugin;
12+
13+
public class ClearDropPlugin extends JavaPlugin {
14+
15+
private static ClearDropPlugin instance;
16+
private ConfigManager configManager;
17+
private ClearManager clearManager;
18+
private ShopManager shopManager;
19+
private MessageUtil messageUtil;
20+
private VaultEconomy vaultEconomy;
21+
22+
@Override
23+
public void onEnable() {
24+
instance = this;
25+
26+
// 初始化配置管理器
27+
configManager = new ConfigManager(this);
28+
configManager.loadConfig();
29+
30+
// 初始化消息工具
31+
messageUtil = new MessageUtil(this);
32+
33+
// 初始化經濟系統
34+
vaultEconomy = new VaultEconomy();
35+
36+
// 初始化管理器
37+
clearManager = new ClearManager(this);
38+
shopManager = new ShopManager(this);
39+
40+
// 註冊指令
41+
registerCommands();
42+
43+
// 註冊事件監聽器
44+
registerListeners();
45+
46+
// 啟動清理計時器
47+
clearManager.startTimer();
48+
49+
getLogger().info("ClearDrop 插件已啟用!");
50+
getLogger().info("支援版本: 1.21-1.21.8");
51+
}
52+
53+
@Override
54+
public void onDisable() {
55+
if (clearManager != null) {
56+
clearManager.stopTimer();
57+
}
58+
59+
if (shopManager != null) {
60+
shopManager.saveShopData();
61+
}
62+
63+
getLogger().info("ClearDrop 插件已停用!");
64+
}
65+
66+
private void registerCommands() {
67+
getCommand("cleardrop").setExecutor(new ClearDropCommand(this));
68+
getCommand("dropshop").setExecutor(new DropShopCommand(this));
69+
}
70+
71+
private void registerListeners() {
72+
getServer().getPluginManager().registerEvents(new ShopListener(this), this);
73+
}
74+
75+
public void reloadPlugin() {
76+
// 停止計時器
77+
if (clearManager != null) {
78+
clearManager.stopTimer();
79+
}
80+
81+
// 保存商店數據
82+
if (shopManager != null) {
83+
shopManager.saveShopData();
84+
}
85+
86+
// 重新加載配置
87+
configManager.reloadConfig();
88+
89+
// 重新初始化管理器
90+
clearManager = new ClearManager(this);
91+
shopManager = new ShopManager(this);
92+
93+
// 重新啟動計時器
94+
clearManager.startTimer();
95+
}
96+
97+
// Getter 方法
98+
public static ClearDropPlugin getInstance() {
99+
return instance;
100+
}
101+
102+
public ConfigManager getConfigManager() {
103+
return configManager;
104+
}
105+
106+
public ClearManager getClearManager() {
107+
return clearManager;
108+
}
109+
110+
public ShopManager getShopManager() {
111+
return shopManager;
112+
}
113+
114+
public MessageUtil getMessageUtil() {
115+
return messageUtil;
116+
}
117+
118+
public VaultEconomy getVaultEconomy() {
119+
return vaultEconomy;
120+
}
121+
}

0 commit comments

Comments
 (0)