· 7 years ago · Feb 28, 2019, 08:20 PM
1 private File dir;
2 private File file;
3 private YamlConfiguration yamlConfiguration;
4
5 public FileUtil(String parent, String child) {
6 dir = new File(parent);
7 file = new File(parent, child);
8 try {
9 create();
10 } catch (IOException e) {
11 e.printStackTrace();
12 }
13 }
14
15 private void create() throws IOException {
16 if (!dir.exists()) {
17 dir.mkdir();
18 }
19
20 if (!file.exists()) {
21 file.createNewFile();
22 }
23
24 yamlConfiguration = YamlConfiguration.loadConfiguration(getFile());
25 yamlConfiguration.options().copyDefaults(true);
26 save();
27 }
28
29 public void save() {
30 try {
31 yamlConfiguration.save(file);
32 } catch (IOException e) {
33 e.printStackTrace();
34 }
35 }
36
37 public File getDir() {
38 return dir;
39 }
40
41 public File getFile() {
42 return file;
43 }
44
45 public YamlConfiguration getYamlConfiguration() {
46 return yamlConfiguration;
47 }
48}
49
50---------------------------------------------------------------------------------------------------
51
52private static BuildFFA instance;
53 public AsyncMySQL asyncMySQL;
54 public DatabaseManager databaseManager = new DatabaseManager();
55 public ScoreboardManager scoreboardManager = new ScoreboardManager();
56 public FileUtil fileUtil;
57 public FileUtil fileUtil1;
58
59 @Override
60 public void onEnable() {
61 instance = this;
62 new AsyncThread(this).run();
63 }
64
65 @Override
66 public void onDisable() {
67 asyncMySQL.getDB().closeConnection();
68 Bukkit.getOnlinePlayers().forEach(all -> all.kickPlayer(Data.returnPrefix() + "Du wurdest gekickt, damit keine Fehler entstehen."));
69 instance = null;
70 }
71
72 private void initPlugin() {
73 asyncMySQL = new AsyncMySQL();
74 asyncMySQL.update("CREATE TABLE IF NOT EXISTS stats(UUID varchar(255) PRIMARY KEY, NAME varchar(255), KILLS int(255), DEATHS int(255))");
75 asyncMySQL.update("CREATE TABLE IF NOT EXISTS inventorysort(UUID varchar(255) PRIMARY KEY, NAME varchar(255), INVSORTSTRING text)");
76
77 asyncMySQL.update("ALTER DATABASE buildffa DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");
78
79 asyncMySQL.update("ALTER TABLE stats CONVERT TO CHARACTER SET utf8;");
80 asyncMySQL.update("ALTER TABLE inventorysort CONVERT TO CHARACTER SET utf8;");
81
82 asyncMySQL.update("SET NAMES 'utf8'");
83 asyncMySQL.update("SET CHARACTER SET 'utf8'");
84
85 fileUtil = new FileUtil("plugins/BuildFFA/", "locations.yml");
86 fileUtil1 = new FileUtil("plugins/BuildFFA/", "database.yml");
87
88 fileUtil1.getYamlConfiguration().set("Database.Hostname", "localhost");
89 fileUtil1.getYamlConfiguration().set("Database.Port", "3306");
90 fileUtil1.getYamlConfiguration().set("Database.Database", "buildffa");
91 fileUtil1.getYamlConfiguration().set("Database.Username", "root");
92 fileUtil1.getYamlConfiguration().set("Database.Password", "password");
93 fileUtil1.save();
94
95 LocationManager.loadLocations();
96
97 if (!(new File("plugins", "Citizens.jar").exists())) {
98 try {
99 File file = new File("plugins", "Citizens.jar");
100 file.createNewFile();
101 Bukkit.getConsoleSender().sendMessage(Data.returnPrefix() + "Citizens wird heruntergeladen.");
102 FileUtils.copyURLToFile(new URL("https://media.forgecdn.net/files/2661/341/Citizens.jar"), file);
103 Bukkit.getConsoleSender().sendMessage(Data.returnPrefix() + "Citizens wurde §aerfolgreich§7 heruntergeladen.");
104 Bukkit.getPluginManager().loadPlugin(file);
105 Bukkit.getConsoleSender().sendMessage(Data.returnPrefix() + "Citizens wurde §aaktiviert§7.");
106 for (Plugin plugins : Bukkit.getPluginManager().getPlugins()) {
107 Bukkit.getConsoleSender().sendMessage(Data.returnPrefix() + "Folgendes Plugin wurde §aerfolgreich §7geladen §8» §c" + plugins);
108 }
109 } catch (IOException e) {
110 e.printStackTrace();
111 Bukkit.getConsoleSender().sendMessage(Data.returnPrefix() + "Citizens wurde §cnicht erfolgreich §7heruntergeladen.");
112 } catch (InvalidDescriptionException e) {
113 e.printStackTrace();
114 Bukkit.getConsoleSender().sendMessage(Data.returnPrefix() + "Citizens wurde §cnicht erfolgreich §7geladen.");
115 } catch (InvalidPluginException e) {
116 e.printStackTrace();
117 Bukkit.getConsoleSender().sendMessage(Data.returnPrefix() + "Citizens wurde §cnicht erfolgreich §7geladen.");
118 }
119 }
120
121 Bukkit.getPluginManager().registerEvents(new MapManager(), this);
122 Bukkit.getPluginManager().registerEvents(new JoinListener(), this);
123 Bukkit.getPluginManager().registerEvents(new EventCanceller(), this);
124 Bukkit.getPluginManager().registerEvents(new InventorySortUtil(), this);
125 Bukkit.getPluginManager().registerEvents(new PlayerDeath(), this);
126
127 getCommand("setlocation").setExecutor(new SetLocation());
128 getCommand("build").setExecutor(new Build());
129 getCommand("inventory").setExecutor(new Inventory());
130 getCommand("stats").setExecutor(new Stats());
131 }
132
133 @Contract(pure = true)
134 public static BuildFFA getInstance() {
135 return instance;
136 }
137
138 @Override
139 public void run() {
140 initPlugin();
141
142 Bukkit.getWorlds().forEach(worlds -> {
143 worlds.setDifficulty(Difficulty.PEACEFUL);
144 worlds.setThundering(false);
145 worlds.setStorm(false);
146 worlds.setTime(1000);
147 });
148 }
149}