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