Guest User

Untitled

a guest
Jun 17th, 2016
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.30 KB | None | 0 0
  1. package com.gmail.candanatak97.selfmade;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. import java.util.ArrayList;
  7.  
  8. import org.json.JSONObject;
  9.  
  10. import com.gmail.candanatak97.selfmade.ban.BanManager;
  11. import com.gmail.candanatak97.selfmade.commands.*;
  12. import com.gmail.candanatak97.selfmade.commands.chat.*;
  13. import com.gmail.candanatak97.selfmade.commands.helpers.*;
  14. import com.gmail.candanatak97.selfmade.commands.staffs.*;
  15. import com.gmail.candanatak97.selfmade.controllers.*;
  16. import com.gmail.candanatak97.selfmade.fraction.FractionManager;
  17. import com.gmail.candanatak97.selfmade.license.LicenseManager;
  18. import com.gmail.candanatak97.selfmade.mute.MuteManager;
  19. import com.gmail.candanatak97.selfmade.permission.PermissionManager;
  20. import com.gmail.candanatak97.selfmade.player.PlayerInfo;
  21. import com.gmail.candanatak97.selfmade.player.PlayerManager;
  22. import com.gmail.candanatak97.selfmade.player.color.PlayerColorManager;
  23. import com.gmail.candanatak97.selfmade.rank.RankManager;
  24. import com.gmail.candanatak97.selfmade.utils.FileUtils;
  25. import com.gmail.candanatak97.selfmade.utils.JDBC;
  26. import com.gmail.candanatak97.selfmade.vehicle.VehicleManager;
  27.  
  28. import net.gtaun.shoebill.constant.PlayerMarkerMode;
  29. import net.gtaun.shoebill.object.Destroyable;
  30. import net.gtaun.shoebill.object.Player;
  31. import net.gtaun.shoebill.object.Server;
  32. import net.gtaun.shoebill.object.World;
  33. import net.gtaun.shoebill.resource.Gamemode;
  34. import net.gtaun.util.event.EventManager;
  35.  
  36. public class Selfmade extends Gamemode {
  37. private Connection connection;
  38.  
  39. private String[] files = {
  40. "config.json", "texts.json"
  41. };
  42.  
  43. private ArrayList<Destroyable> destroyable;
  44.  
  45. private PlayerManager playerManager;
  46.  
  47. @Override
  48. protected void onEnable() throws Throwable {
  49. Server server = Server.get();
  50. server.setGamemodeText(getDescription().getName());
  51.  
  52. World world = World.get();
  53. world.showNameTags(true);
  54. world.enableStuntBonusForAll(false);
  55. world.usePlayerPedAnims();
  56. world.disableInteriorEnterExits();
  57. world.manualEngineAndLights();
  58.  
  59. FileUtils.copyResources(getDataDir(), getClass().getClassLoader(), files);
  60.  
  61. ConfigManager.initialize(getDataDir());
  62.  
  63. JSONObject mySQL = ConfigManager.getJSONObject("MySQL");
  64. connection = JDBC.create(mySQL.getString("String"), mySQL.getString("Username"), mySQL.getString("Password"));
  65.  
  66. if(getConnection() != null && !getConnection().isClosed()) {
  67. SettingsManager.initialize(getConnection());
  68. TextManager.initialize(getDataDir());
  69.  
  70. world.showPlayerMarkers(PlayerMarkerMode.valueOf(SettingsManager.get("PLAYERMARKERMODE")));
  71.  
  72. EventManager eventManager = getEventManager();
  73.  
  74. VehicleManager.initialize(eventManager);
  75.  
  76. PermissionManager permissionManager = new PermissionManager(eventManager, getConnection());
  77. LicenseManager licenseManager = new LicenseManager(eventManager);
  78.  
  79. playerManager = new PlayerManager(licenseManager, permissionManager, getConnection());
  80.  
  81. PlayerColorManager playerColorManager = new PlayerColorManager(getConnection());
  82. FractionManager fractionManager = new FractionManager(getConnection());
  83. RankManager rankManager = new RankManager(getConnection());
  84. MuteManager muteManager = new MuteManager(getConnection());
  85. BanManager banManager = new BanManager(getConnection(), playerManager);
  86.  
  87. CommandManager commandManager = new CommandManager(eventManager);
  88.  
  89. commandManager.getPlayerCommandManager().registerCommands(new HelpCommand(eventManager, playerManager));
  90. commandManager.getPlayerCommandManager().registerCommands(new AcceptCommand());
  91. commandManager.getPlayerCommandManager().registerCommands(new DeacceptCommand());
  92. commandManager.getPlayerCommandManager().registerCommands(new StatsCommand(eventManager, playerManager));
  93. commandManager.getPlayerCommandManager().registerCommands(new LicensesCommand(eventManager, licenseManager, playerManager));
  94.  
  95. commandManager.getPlayerCommandManager().registerCommands(new ShoutCommand(playerManager, muteManager));
  96. commandManager.getPlayerCommandManager().registerCommands(new FractionChatCommand(playerManager, muteManager));
  97. commandManager.getPlayerCommandManager().registerCommands(new GcCommand(playerManager, muteManager));
  98. commandManager.getPlayerCommandManager().registerCommands(new WhisperCommand(playerManager, muteManager));
  99.  
  100. commandManager.getPlayerCommandManager().registerCommands(new EjectCommand());
  101.  
  102. commandManager.getPlayerCommandManager().registerCommands(new PlayerLicensesCommand(playerManager, licenseManager, eventManager));
  103. commandManager.getPlayerCommandManager().registerCommands(new PlayerStatsCommand(playerManager, eventManager));
  104. commandManager.getPlayerCommandManager().registerCommands(new GcStatusCommand(playerManager));
  105. commandManager.getPlayerCommandManager().registerCommands(new PortCommand(playerManager, eventManager));
  106. commandManager.getPlayerCommandManager().registerCommands(new ManageCommand(playerManager, licenseManager, eventManager));
  107. commandManager.getPlayerCommandManager().registerCommands(new VehCommand(playerManager));
  108. commandManager.getPlayerCommandManager().registerCommands(new VehRepairCommand(playerManager));
  109. commandManager.getPlayerCommandManager().registerCommands(new ReloadCommand(
  110. playerManager,
  111. permissionManager,
  112. playerColorManager,
  113. fractionManager,
  114. rankManager,
  115. licenseManager,
  116. muteManager,
  117. banManager
  118. ));
  119.  
  120. destroyable = new ArrayList<Destroyable>();
  121. destroyable.add(new Tacho(eventManager));
  122. destroyable.add(new PlayerConnect(eventManager, banManager, rankManager, playerManager, playerColorManager));
  123. destroyable.add(new PlayerDisconnect(eventManager, playerManager));
  124. destroyable.add(new PlayerInitialize(eventManager, playerManager, playerColorManager));
  125. destroyable.add(new PlayerRequestClass(eventManager));
  126. destroyable.add(new PlayerDeath(eventManager));
  127. destroyable.add(new UnknownCommand(eventManager));
  128. destroyable.add(new LicenseCheck(eventManager, licenseManager, playerManager));
  129. destroyable.add(new MotorInfo(eventManager, licenseManager, playerManager));
  130. destroyable.add(new ChangeMotorState(eventManager));
  131. destroyable.add(new PlayerClickPlayer(eventManager, licenseManager, playerManager));
  132. destroyable.add(new PlayerChat(eventManager, playerManager));
  133.  
  134. destroyable.add(new ShowClock(eventManager));
  135.  
  136. getLogger().info("Server started successfully.");
  137. } else {
  138. getLogger().error("Database connection was failed.");
  139. }
  140. }
  141.  
  142. private Connection getConnection() {
  143. return connection;
  144. }
  145.  
  146. @Override
  147. protected void onDisable() throws Throwable {
  148. for(PlayerInfo playerInfo : playerManager.getPlayers().values()) {
  149. Player player = playerInfo.getPlayer();
  150.  
  151. if(player != null) {
  152. playerInfo.getPlayerData().setAngledLocation(player.getLocation());
  153. }
  154. }
  155.  
  156. try {
  157. String SQL = "UPDATE `samp_users` SET `online` = '0'";
  158. PreparedStatement preparedStatement;
  159. preparedStatement = getConnection().prepareStatement(SQL);
  160.  
  161. preparedStatement.executeUpdate();
  162. } catch (SQLException e) {
  163. e.printStackTrace();
  164. }
  165.  
  166. for(Destroyable destroyable : destroyable) {
  167. destroyable.destroy();
  168. }
  169.  
  170. getConnection().close();
  171. }
  172. }
Add Comment
Please, Sign In to add comment