Advertisement
Guest User

Untitled

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