· 8 years ago · Mar 09, 2018, 12:38 PM
1package pl.endrju.ytcore;
2
3import org.bukkit.plugin.java.*;
4public class GuildPlugin extends JavaPlugin
5{
6 private static GuildPlugin plugin;
7 private static Store store;
8 private static Chat chat;
9 private static PluginManager pluginManager;
10
11 static {
12 GuildPlugin.chat = null;
13 }
14
15 public void onLoad() {
16 GuildPlugin.plugin = this;
17 }
18
19 public void onEnable() {
20 for (final Player p : Bukkit.getOnlinePlayers()) {
21 final Combat c = CombatManager.getCombat(p);
22 if (c == null) {
23 CombatManager.createCombat(p);
24 }
25 }
26 BorderMapListener.setBorder();
27 new Ticking().start();
28 this.registerDatabase();
29 this.registerManager();
30 this.registerListener();
31 this.registerTasks();
32 registerCommand();
33 CraftingUtil.registerRecipe();
34 }
35
36 public void onDisable() {
37 Bukkit.getScheduler().cancelTasks((Plugin)this);
38 final ResultSet rs = getStore().query("SELECT * FROM `{P}guilds`");
39 try {
40 while (rs.next()) {
41 final Guild g = GuildManager.getGuild(rs.getNString(0));
42 getStore().update(false, "UPDATE `{P}guilds` SET `hp` = '" + g.getHp() + "' WHERE `tag` ='" + g.getTag() + "';");
43 }
44 }
45 catch (SQLException e1) {
46 e1.printStackTrace();
47 }
48 for (final Player p : Bukkit.getOnlinePlayers()) {
49 CombatManager.removeCombat(p);
50 }
51 Bukkit.savePlayers();
52 for (final World w : Bukkit.getWorlds()) {
53 w.save();
54 }
55 try {
56 Thread.sleep(2000L);
57 }
58 catch (InterruptedException e2) {
59 e2.printStackTrace();
60 }
61 if (GuildPlugin.store != null && GuildPlugin.store.isConnected()) {
62 GuildPlugin.store.disconnect();
63 }
64 GuildPlugin.plugin = null;
65 }
66
67 public static GuildPlugin getPlugin() {
68 return GuildPlugin.plugin;
69 }
70
71 protected boolean registerDatabase() {
72 switch (StoreMode.getByName(Config.DATABASE_MODE)) {
73 case MYSQL: {
74 GuildPlugin.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);
75 break;
76 }
77 case SQLITE: {
78 GuildPlugin.store = new StoreSQLITE(Config.DATABASE_SQLITE_NAME, Config.DATABASE_TABLEPREFIX);
79 break;
80 }
81 default: {
82 Logger.warning("Value of databse mode is not valid! Using SQLITE as database!");
83 GuildPlugin.store = new StoreSQLITE(Config.DATABASE_SQLITE_NAME, Config.DATABASE_TABLEPREFIX);
84 break;
85 }
86 }
87 final boolean conn = GuildPlugin.store.connect();
88 if (conn) {
89 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}users` (" + ((GuildPlugin.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, `kills` int(11) NOT NULL, `deaths` int(11) NOT NULL, `asyst` 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, `cobblekop` int(11) NOT NULL, `obskop` 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);");
90 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}guilds` (" + ((GuildPlugin.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, `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);");
91 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}members` (" + ((GuildPlugin.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);");
92 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}bans` (" + ((GuildPlugin.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);");
93 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}bansip` (" + ((GuildPlugin.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);");
94 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}mutes` (" + ((GuildPlugin.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);");
95 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}backups` (" + ((GuildPlugin.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);");
96 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}warp` (" + ((GuildPlugin.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);");
97 GuildPlugin.store.update(true, "CREATE TABLE IF NOT EXISTS `{P}deathbans` (" + ((GuildPlugin.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);");
98 return conn;
99 }
100 return conn;
101 }
102
103 public static void registerCommand(final Command command) {
104 CommandManager.register(command);
105 }
106
107 public static void registerListener(final Plugin plugin, final Listener... listeners) {
108 if (GuildPlugin.pluginManager == null) {
109 GuildPlugin.pluginManager = Bukkit.getPluginManager();
110 }
111 for (final Listener listener : listeners) {
112 GuildPlugin.pluginManager.registerEvents(listener, plugin);
113 }
114 }
115
116 private boolean setupChat() {
117 if (this.getServer().getPluginManager().getPlugin("Vault") == null) {
118 return false;
119 }
120 final RegisteredServiceProvider<Chat> rsp = (RegisteredServiceProvider<Chat>)this.getServer().getServicesManager().getRegistration((Class)Chat.class);
121 GuildPlugin.chat = (Chat)rsp.getProvider();
122 return GuildPlugin.chat != null;
123 }
124
125 public static Chat getChat() {
126 return GuildPlugin.chat;
127 }
128
129 public static Store getStore() {
130 return GuildPlugin.store;
131 }
132
133 public static void registerCommand() {
134 registerCommand(new ListCommand());
135 registerCommand(new RankingCommand());
136 registerCommand(new GodCommand());
137 registerCommand(new BanIPCommand());
138 registerCommand(new BanCommand());
139 registerCommand(new UnBanCommand());
140 registerCommand(new UnBanIpCommand());
141 registerCommand(new ChatCommand());
142 registerCommand(new GamemodeCommand());
143 registerCommand(new FlyCommand());
144 registerCommand(new SpawnCommand());
145 registerCommand(new SetSpawnCommand());
146 registerCommand(new KitCommand());
147 registerCommand(new TpacceptCommand());
148 registerCommand(new TpdenyCommmand());
149 registerCommand(new ClearCommand());
150 registerCommand(new EnchantCommand());
151 registerCommand(new GcCommand());
152 registerCommand(new ItemCommand());
153 registerCommand(new GiveCommand());
154 registerCommand(new HeadCommand());
155 registerCommand(new HealCommand());
156 registerCommand(new HelpOpCommand());
157 registerCommand(new HomeCommand());
158 registerCommand(new KickAllCommand());
159 registerCommand(new KickCommand());
160 registerCommand(new OsiagnieciaCommand());
161 registerCommand(new SetHomeCommand());
162 registerCommand(new RepairCommand());
163 registerCommand(new TellCommand());
164 registerCommand(new ReplyCommand());
165 registerCommand(new SlotCommand());
166 registerCommand(new SlowmodeCommand());
167 registerCommand(new StpCommand());
168 registerCommand(new StreamerCommand());
169 registerCommand(new VipCommand());
170 registerCommand(new YouTubeCommand());
171 registerCommand(new CraftCommand());
172 registerCommand(new SmietnikCommand());
173 registerCommand(new BroadcastCommand());
174 registerCommand(new AntyNogiCommand());
175 registerCommand(new TpaCommand());
176 registerCommand(new WhiteListCommand());
177 registerCommand(new WhoIsCommand());
178 registerCommand(new SchowekCommand());
179 registerCommand(new StoneCommand());
180 registerCommand(new TeleportCommand());
181 registerCommand(new BackupCommand());
182 registerCommand(new RenameCommand());
183 registerCommand(new BoyFamerCommand());
184 registerCommand(new TopCommand());
185 registerCommand(new IsCommand());
186 registerCommand(new CobblexCommand());
187 registerCommand(new WorkBenchCommand());
188 registerCommand(new EnderchestCommand());
189 registerCommand(new SpeedCommand());
190 registerCommand(new LevelCommand());
191 registerCommand(new TurboCommand());
192 registerCommand(new StatsCommand());
193 registerCommand(new CaseCommand());
194 registerCommand(new HcCommand());
195 registerCommand(new DayCommand());
196 registerCommand(new NightCommand());
197 registerCommand(new NetherCommand());
198 registerCommand(new EnableCommand());
199 registerCommand(new ConfigCommand());
200 registerCommand(new ClearEnderchestCommand());
201 registerCommand(new GaCommand());
202 registerCommand(new AllyCommand());
203 registerCommand(new CreateCommand());
204 registerCommand(new DeleteCommand());
205 registerCommand(new EnlargeCommand());
206 registerCommand(new GuildSetHomeCommand());
207 registerCommand(new GuildHomeCommand());
208 registerCommand(new InfoCommand());
209 registerCommand(new InviteCommand());
210 registerCommand(new JoinCommand());
211 registerCommand(new pl.endrju.ytcore.commands.guild.KickCommand());
212 registerCommand(new LeaderCommand());
213 registerCommand(new OwnerCommand());
214 registerCommand(new ProlongCommand());
215 registerCommand(new PvpCommand());
216 registerCommand(new AutoMsgCommand());
217 registerCommand(new LeaveCommand());
218 registerCommand(new HelpCommand());
219 registerCommand(new GuildHelpCommand());
220 registerCommand(new SniezkaCommand());
221 registerCommand(new NadajCommand());
222 registerCommand(new InvCommand());
223 registerCommand(new ZdrapkaCommand());
224 registerCommand(new BorderCommand());
225 registerCommand(new CMDListCommand());
226 registerCommand(new StoniarkaCommand());
227 registerCommand(new WiadomosciCommand());
228 registerCommand(new IgnoreCommand());
229 registerCommand(new GOpisCommand());
230 registerCommand(new MuteCommand());
231 registerCommand(new SetWarpCommand());
232 registerCommand(new DelWarpCommand());
233 registerCommand(new WarpCommand());
234 registerCommand(new UnMuteCommand());
235 registerCommand(new VoucherCommand());
236 registerCommand(new VanishCommand());
237 registerCommand(new SVipCommand());
238 registerCommand(new StatystykiCommand());
239 registerCommand(new EventCommand());
240 registerCommand(new AEventCommand());
241 registerCommand(new TopkiCommand());
242 }
243
244 public void registerTasks() {
245 new CheckValidityTask().runTaskTimer((Plugin)this, 2400L, 2400L);
246 new CombatTask().runTaskTimerAsynchronously((Plugin)this, 40L, 20L);
247 new LimitTask().runTaskTimer((Plugin)this, 300L, 300L);
248 new AutoMsgTask().runTaskTimerAsynchronously((Plugin)this, 1200L, 1200L);
249 new TabUpdateZmienne().runTaskTimerAsynchronously((Plugin)this, 250L, 250L);
250 new TabUpdate().runTaskTimerAsynchronously((Plugin)this, 20L, 20L);
251 }
252
253 public void registerManager() {
254 DropFile.saveDefaultConfig();
255 DropManager.setup();
256 UserManager.loadUsers();
257 GuildManager.loadGuilds();
258 DeathBanManager.loadDeathsBans();
259 BanManager.loadBans();
260 BanIPManager.loadBans();
261 MuteManager.loadMutes();
262 WarpManager.loadWarp();
263 }
264
265 public void registerListener() {
266 registerListener((Plugin)this, new InventoryClickListener(), new PlayerQuitJoinListener(), new PlayerJoinListener(), new TimerManager(), new AsyncPlayerChatListener(), new ChatGuildsListener(), new PlayerMoveListener(), new BlockBreakListener(), new BlockPlaceListener(), new PlayerBucketEmptyListener(), new PlayerBucketFillListener(), new GuildExplodeListener(), new EntityDamageByEntityListener(), new EntityDamageListener(), new PlayerDeathListener(), new InCommbatInGuildListener(), new TakeCrystalListener(), new CheckLoginListener(), new BoyListener(), new PlayerInteractListener(), new PunchPotyListener(), new DropBlockBreakListener(), new EntityDeathListener(), new BorderMapListener(), new RainStartListener(), new TntEvent(), new BlokowanieListener(), new BorderBreakListener(), new BorderPlaceListener(), new BlockCraftingListener(), new EventyListener(), new InventoryListener(), new OpenInventoryListener(), new SignChangeListener(), new CaseDropListener(), new CasePlaceListener(), new CaseKickQuitListener(), new magiccase.listeners.InventoryClickListener(), new CobblexListener());
267 }
268}