· 6 years ago · Aug 18, 2019, 08:32 PM
1public class ServerPlugin extends JavaPlugin
2{
3 private static ServerPlugin plugin;
4 private static Store store;
5 private static PluginManager pluginManager;
6
7
8 public void onLoad() {
9 ServerPlugin.plugin = this;
10 }
11
12 public void onEnable() {
13 this.initTab();
14 for (final Player p : Bukkit.getOnlinePlayers()) {
15 final Combat c = CombatManager.getCombat(p);
16 if (c == null) {
17 CombatManager.createCombat(p);
18 }
19 }
20 BorderMapListener.setBorder();
21 new Ticking().start();
22 this.registerDatabase();
23 this.registerListener();
24 this.registerTasks();
25 this.registerManager();
26 registerCommand();
27 CraftingUtil.registerRecipe();
28 }
29
30 public void onDisable() {
31 Bukkit.getScheduler().cancelTasks((Plugin)this);
32 for (final Player p : Bukkit.getOnlinePlayers()) {
33 CombatManager.removeCombat(p);
34 }
35 Bukkit.savePlayers();
36 for (final World w : Bukkit.getWorlds()) {
37 w.save();
38 }
39 try {
40 Thread.sleep(2000L);
41 }
42 catch (InterruptedException e) {
43 e.printStackTrace();
44 }
45 if (ServerPlugin.store != null && ServerPlugin.store.isConnected()) {
46 ServerPlugin.store.disconnect();
47 }
48 ServerPlugin.plugin = null;
49 }
50
51 public static ServerPlugin getPlugin() {
52 return ServerPlugin.plugin;
53 }
54
55 protected boolean registerDatabase() {
56 switch (StoreMode.getByName(Config.DATABASE_MODE)) {
57 case MYSQL: {
58 ServerPlugin.store = new StoreMySQL(Config.DATABASE_MYSQL_HOST, Config.DATABASE_MYSQL_PORT, Config.DATABASE_MYSQL_USER, Config.DATABASE_MYSQL_PASS, Config.DATABASE_MYSQL_NAME, Config.DATABASE_TABLEPREFIX);
59 break;
60 }
61 case SQLITE: {
62 ServerPlugin.store = new StoreSQLITE(Config.DATABASE_SQLITE_NAME, Config.DATABASE_TABLEPREFIX);
63 break;
64 }
65 }
66 final boolean conn = ServerPlugin.store.connect();
67 if (conn) {
68 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}users` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`name` varchar(32) NOT NULL,`points` int(11) NOT NULL,`coins` int(11) NOT NULL, `kills` int(11) NOT NULL, `deaths` int(11) NOT NULL, `asyst` int(11) NOT NULL, `wykstone` int(11) NOT NULL, `logout` int(11) NOT NULL, `kox` int(11) NOT NULL, `koxeat` int(11) NOT NULL, `refil` int(11) NOT NULL, `refileat` int(11) NOT NULL, `perly` int(11) NOT NULL, `perlycyk` int(11) NOT NULL, `strzaly` int(11) NOT NULL, `caseopen` int(11) NOT NULL, `jajopen` int(11) NOT NULL, `zdrapkaopen` int(11) NOT NULL, `cobblexopen` int(11) NOT NULL, `join` int(11) NOT NULL, `time` bigint(22) NOT NULL, `timelast` bigint(22) NOT NULL, " + "`firstIP` varchar(64) NOT NULL, `lastIP` varchar(64) NOT NULL, `firstJoin` bigint(22) NOT NULL, `kit_start` bigint(64) NOT NULL, `kit_yt` bigint(22) NOT NULL, `kit_tw` bigint(22) NOT NULL, " + "`kit_vip` bigint(22) NOT NULL, `kit_svip` bigint(22) NOT NULL, `turboDrop` bigint(22) NOT NULL, `turboExp` bigint(22) NOT NULL, `home` varchar(255) NOT NULL, `lastKill` varchar(32) NOT NULL, `lastKillTime` bigint(22) NOT NULL, `god` int(1) NOT NULL, `lvl` int(11) NOT NULL, `exp` int(11) NOT NULL);");
69 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}guilds` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`tag` varchar(5) NOT NULL, `name` varchar(32) NOT NULL, `description` varchar(64) NOT NULL, `owner` varchar(64) NOT NULL, `leader` varchar(64) NOT NULL, `cuboidX` int(11) NOT NULL, `cuboidZ` int(11) NOT NULL, `cuboidSize` int(11) NOT NULL, `hp` int(11) NOT NULL, " + "`hpLastAttack` bigint(22) NOT NULL, `life` int(11) NOT NULL, " + "`lifeLastAttack` bigint(22) NOT NULL, `prolong` bigint(22) NOT NULL, `pvp` int(2) NOT NULL, `createTime` bigint(22) NOT NULL, `homeX` double NOT NULL, `homeY` double NOT NULL, `homeZ` double NOT NULL, `ally` varchar(255) NOT NULL, `points` int(11) NOT NULL, `sojusz` int(11) NOT NULL, `coins` int(11) NOT NULL, `kills` int(11) NOT NULL, `deaths` int(11) NOT NULL, `turboDrop` bigint(22) NOT NULL, `turboExp` bigint(22) NOT NULL, `exp` int(11) NOT NULL, `pvpAlly` int(1) NOT NULL);");
70 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}members` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`name` varchar(32) NOT NULL,`tag` varchar(5) NOT NULL);");
71 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}bans` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`name` varchar(32) NOT NULL,`time` bigint(22) NOT NULL, `reason` text NOT NULL, `admin` varchar(32) NOT NULL, `start` BIGINT(22) NOT NULL);");
72 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}bansip` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`ip` varchar(32) NOT NULL,`time` bigint(22) NOT NULL, `reason` text NOT NULL, `admin` varchar(32) NOT NULL, `start` BIGINT(22) NOT NULL);");
73 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}mutes` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`name` varchar(32) NOT NULL,`time` bigint(22) NOT NULL, `reason` text NOT NULL, `admin` varchar(32) NOT NULL, `start` BIGINT(22) NOT NULL);");
74 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}backups` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`name` varchar(32) NOT NULL,`time` bigint(22) NOT NULL, `killer` varchar(32) NOT NULL, `ping` int(11) NOT NULL, `inventory` text NOT NULL, `armor` text NOT NULL, `enderchest` text NOT NULL);");
75 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}warp` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`name` varchar(32) NOT NULL,`location` text NOT NULL, `pex` varchar(32) NOT NULL NOT NULL);");
76 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}deathbans` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`name` varchar(32) NOT NULL,`mode` int(1) NOT NULL, `time` bigint(11) NOT NULL NOT NULL);");
77 ServerPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}sejfs` (" + ((ServerPlugin.store.getStoreMode() == StoreMode.MYSQL) ? "`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT," : "`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,") + "`owner` varchar(32) NOT NULL, `opis` varchar(32) NOT NULL, `itemy` text NOT NULL);");
78 return conn;
79 }
80 return conn;
81 }
82
83 public static void registerCommand(final Command command) {
84 CommandManager.register(command);
85 }
86
87 public static void registerListener(final Plugin plugin, final Listener... listeners) {
88 if (ServerPlugin.pluginManager == null) {
89 ServerPlugin.pluginManager = Bukkit.getPluginManager();
90 }
91 for (final Listener listener : listeners) {
92 ServerPlugin.pluginManager.registerEvents(listener, plugin);
93 }
94 }
95
96 public static Store getStore() {
97 return ServerPlugin.store;
98 }
99
100 public static void registerCommand() {
101 registerCommand(new AEventCommand());
102 registerCommand(new EventCommand());
103 registerCommand(new ListCommand());
104 registerCommand(new RankingCommand());
105 registerCommand(new GodCommand());
106 registerCommand(new BanIPCommand());
107 registerCommand(new BanCommand());
108 registerCommand(new UnBanCommand());
109 registerCommand(new MoreCommand());
110 registerCommand(new UnBanIpCommand());
111 registerCommand(new ChatCommand());
112 registerCommand(new GamemodeCommand());
113 registerCommand(new FlyCommand());
114 registerCommand(new SpawnCommand());
115 registerCommand(new SetSpawnCommand());
116 registerCommand(new KitCommand());
117 registerCommand(new TpacceptCommand());
118 registerCommand(new TpdenyCommmand());
119 registerCommand(new ClearCommand());
120 registerCommand(new EnchantCommand());
121 registerCommand(new ItemCommand());
122 registerCommand(new GiveCommand());
123 registerCommand(new HealCommand());
124 registerCommand(new HelpOpCommand());
125 registerCommand(new HomeCommand());
126 registerCommand(new KickAllCommand());
127 registerCommand(new KickCommand());
128 registerCommand(new SetHomeCommand());
129 registerCommand(new RepairCommand());
130 registerCommand(new ResetRankingCommand());
131 registerCommand(new TellCommand());
132 registerCommand(new ReplyCommand());
133 registerCommand(new SlotCommand());
134 registerCommand(new SlowmodeCommand());
135 registerCommand(new StpCommand());
136 registerCommand(new VipCommand());
137 registerCommand(new YouTubeCommand());
138 registerCommand(new CraftCommand());
139 registerCommand(new SmietnikCommand());
140 registerCommand(new BroadcastTitleCommand());
141 registerCommand(new TpaCommand());
142 registerCommand(new SchowekCommand());
143 registerCommand(new StoneCommand());
144 registerCommand(new TeleportCommand());
145 registerCommand(new BackupCommand());
146 registerCommand(new RenameCommand());
147 registerCommand(new IsCommand());
148 registerCommand(new MarmurCommand());
149 registerCommand(new EnderchestCommand());
150 registerCommand(new SpeedCommand());
151 registerCommand(new LevelCommand());
152 registerCommand(new TurboCommand());
153 registerCommand(new StatsCommand());
154 registerCommand(new HcCommand());
155 registerCommand(new DayCommand());
156 registerCommand(new NetherCommand());
157 registerCommand(new EnableCommand());
158 registerCommand(new ClearEnderchestCommand());
159 registerCommand(new GuildAdminCommand());
160 registerCommand(new AllyCommand());
161 registerCommand(new CreateCommand());
162 registerCommand(new DeleteCommand());
163 registerCommand(new EnlargeCommand());
164 registerCommand(new GuildSetHomeCommand());
165 registerCommand(new GuildHomeCommand());
166 registerCommand(new InfoCommand());
167 registerCommand(new InviteCommand());
168 registerCommand(new JoinCommand());
169 registerCommand(new pl.proxen.xencore.commands.guild.KickCommand());
170 registerCommand(new ItemCommand());
171 registerCommand(new LeaderCommand());
172 registerCommand(new OwnerCommand());
173 registerCommand(new ProlongCommand());
174 registerCommand(new PvpCommand());
175 registerCommand(new AutoMsgCommand());
176 registerCommand(new LeaveCommand());
177 registerCommand(new HelpCommand());
178 registerCommand(new GuildHelpCommand());
179 registerCommand(new PaczkaCommand());
180 registerCommand(new NadajCommand());
181 registerCommand(new InvCommand());
182 registerCommand(new BorderCommand());
183 registerCommand(new GuildEffectsCommand());
184 registerCommand(new SklepCommand());
185 registerCommand(new IgnoreCommand());
186 registerCommand(new PayCommand());
187 registerCommand(new MuteCommand());
188 registerCommand(new SetWarpCommand());
189 registerCommand(new DelWarpCommand());
190 registerCommand(new WarpCommand());
191 registerCommand(new UnMuteCommand());
192 registerCommand(new VanishCommand());
193 registerCommand(new GuildManageCommand());
194 registerCommand(new SVipCommand());
195 registerCommand(new StatystykiCommand());
196 registerCommand(new pl.proxen.xencore.commands.guild.ZaprosallCommand());
197 }
198
199 public void registerTasks() {
200 new CheckValidityTask().runTaskTimer((Plugin)this, 2400L, 2400L);
201 new CombatTask().runTaskTimerAsynchronously((Plugin)this, 40L, 20L);
202 new LimitTask().runTaskTimer((Plugin)this, 200L, 200L);
203 new AutoMsgTask().runTaskTimerAsynchronously((Plugin)this, 1200L, 1200L);
204 new CircleTask().runTaskTimer((Plugin)this, 6L, 6L);
205 new VanishCheckTask().runTaskTimer((Plugin)this, 2L, 2L);
206 new TabFreshRunnable().runTaskTimerAsynchronously((Plugin)this, 500L, 500L);
207 }
208
209 public void registerManager() {
210 NameTagManager.enable();
211 DropFile.saveDefaultConfig();
212 DropManager.setup();
213 UserManager.loadUsers();
214 GuildManager.loadGuilds();
215 BanManager.loadBans();
216 BanIPManager.loadBans();
217 MuteManager.loadMutes();
218 WarpManager.loadWarp();
219 }
220
221
222 private void initTab() {
223 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new PointsVariable("points"));
224 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new KillsVariable("kills"));
225 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new DeathsVariable("deaths"));
226 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new AssistsVariable("assists"));
227 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new KDVariable("kd"));
228 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new LvlVariable("lvl"));
229 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new CoinsVariable("coins"));
230 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new WykopanyStoneVariable("stone"));
231 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new GuildVariable("guild"));
232 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new GuildPointsVariable("gpoints"));
233 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new GuildKillsVariable("gkills"));
234 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new GuildDeathsVariable("gdeaths"));
235 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new GuildHpVariable("ghp"));
236 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new GuildKdVariable("gkd"));
237 for (int i = 1; i < 16; ++i) {
238 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new TopPointsVariable("pointstop" + i, i));
239 }
240 for (int i = 1; i < 16; ++i) {
241 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new TopKillsVariable("killstop" + i, i));
242 }
243 for (int i = 1; i < 16; ++i) {
244 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new TopDeathsVariable("deathstop" + i, i));
245 }
246 for (int i = 1; i < 16; ++i) {
247 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new TopAssistsVariable("assiststop" + i, i));
248 }
249 for (int i = 1; i < 16; ++i) {
250 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new TopCoinsVariable("coinsstop" + i, i));
251 }
252 for (int i = 1; i < 16; ++i) {
253 BungeeTabListPlusBukkitAPI.registerVariable((Plugin)this, (Variable)new TopGuildPointsVariable("gpointstop" + i, i));
254 }
255 }
256
257 private void unTab() {
258 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new PointsVariable("points"));
259 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new KillsVariable("kills"));
260 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new DeathsVariable("deaths"));
261 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new AssistsVariable("assists"));
262 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new KDVariable("kd"));
263 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new LvlVariable("lvl"));
264 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new CoinsVariable("coins"));
265 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new WykopanyStoneVariable("stone"));
266 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new GuildVariable("guild"));
267 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new GuildPointsVariable("gpoints"));
268 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new GuildKillsVariable("gkills"));
269 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new GuildDeathsVariable("gdeaths"));
270 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new GuildHpVariable("ghp"));
271 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new GuildKdVariable("gkd"));
272 for (int i = 1; i < 16; ++i) {
273 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new TopPointsVariable("pointstop" + i, i));
274 }
275 for (int i = 1; i < 16; ++i) {
276 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new TopKillsVariable("killstop" + i, i));
277 }
278 for (int i = 1; i < 16; ++i) {
279 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new TopDeathsVariable("deathstop" + i, i));
280 }
281 for (int i = 1; i < 16; ++i) {
282 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new TopAssistsVariable("assiststop" + i, i));
283 }
284 for (int i = 1; i < 16; ++i) {
285 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new TopCoinsVariable("coinsstop" + i, i));
286 }
287 for (int i = 1; i < 16; ++i) {
288 BungeeTabListPlusBukkitAPI.unregisterVariable((Variable)new TopGuildPointsVariable("gpointstop" + i, i));
289 }
290 }
291
292 public void registerListener() {
293 registerListener((Plugin)this, (Listener)new InventoryClickListener(), (Listener)new PlayerCommandPreprocessListener(), (Listener)new PlayerQuitJoinListener(), (Listener)new PlayerJoinListener(), (Listener)new TimerManager(), (Listener)new AsyncPlayerChatListener(), (Listener)new ChatGuildsListener(), (Listener)new PlayerMoveListener(), (Listener)new BlockBreakListener(), (Listener)new BlockPlaceListener(), (Listener)new PlayerBucketEmptyListener(), (Listener)new PlayerBucketFillListener(), (Listener)new GuildExplodeListener(), (Listener)new BeaconListener(), (Listener)new EntityDamageByEntityListener(), (Listener)new EntityDamageListener(), (Listener)new PlayerDeathListener(), (Listener)new InCommbatInGuildListener(), (Listener)new TakeCrystalListener(), (Listener)new CheckLoginListener(), (Listener)new Nether(), (Listener)new BoyListener(), (Listener)new PlayerInteractListener(), (Listener)new PlayerShearEntityListener(), (Listener)new DropBlockBreakListener(), (Listener)new EntityDeathListener(), (Listener)new BorderMapListener(), (Listener)new RainStartListener(), (Listener)new TntEvent(), (Listener)new PhysicsWaterAndLavaListener(), (Listener)new BlokowanieListener(), (Listener)new EventyListener(), (Listener)new BorderBreakListener(), (Listener)new BorderPlaceListener(), (Listener)new BlockCraftingListener(), (Listener)new InventoryListener(), (Listener)new OpenInventoryListener(), (Listener)new SignChangeListener(), (Listener)new BlockBreakListener2(), (Listener)new MarmurListener());
294 }
295}