Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gmail.candanatak97.selfmade;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import org.json.JSONObject;
- import com.gmail.candanatak97.selfmade.ban.BanManager;
- import com.gmail.candanatak97.selfmade.commands.*;
- import com.gmail.candanatak97.selfmade.commands.chat.*;
- import com.gmail.candanatak97.selfmade.commands.helpers.*;
- import com.gmail.candanatak97.selfmade.commands.staffs.*;
- import com.gmail.candanatak97.selfmade.controllers.*;
- import com.gmail.candanatak97.selfmade.fraction.FractionManager;
- import com.gmail.candanatak97.selfmade.gasstation.GasStationManager;
- import com.gmail.candanatak97.selfmade.license.LicenseManager;
- import com.gmail.candanatak97.selfmade.mute.MuteManager;
- import com.gmail.candanatak97.selfmade.permission.PermissionManager;
- import com.gmail.candanatak97.selfmade.player.PlayerInfo;
- import com.gmail.candanatak97.selfmade.player.PlayerManager;
- import com.gmail.candanatak97.selfmade.player.color.PlayerColorManager;
- import com.gmail.candanatak97.selfmade.rank.RankManager;
- import com.gmail.candanatak97.selfmade.utils.FileUtils;
- import com.gmail.candanatak97.selfmade.utils.JDBC;
- import com.gmail.candanatak97.selfmade.vehicle.VehicleManager;
- import net.gtaun.shoebill.constant.PlayerMarkerMode;
- import net.gtaun.shoebill.object.Destroyable;
- import net.gtaun.shoebill.object.Player;
- import net.gtaun.shoebill.object.Server;
- import net.gtaun.shoebill.object.World;
- import net.gtaun.shoebill.resource.Gamemode;
- import net.gtaun.util.event.EventManager;
- public class Selfmade extends Gamemode {
- private Connection connection;
- private String[] files = {
- "config.json", "texts.json"
- };
- private ArrayList<Destroyable> destroyable;
- @Override
- protected void onEnable() throws Throwable {
- Server server = Server.get();
- server.setGamemodeText(getDescription().getName());
- World world = World.get();
- world.showNameTags(true);
- world.enableStuntBonusForAll(false);
- world.usePlayerPedAnims();
- world.disableInteriorEnterExits();
- world.manualEngineAndLights();
- FileUtils.copyResources(getDataDir(), getClass().getClassLoader(), files);
- ConfigManager.initialize(getDataDir());
- JSONObject mySQL = ConfigManager.getJSONObject("MySQL");
- connection = JDBC.create(mySQL.getString("String"), mySQL.getString("Username"), mySQL.getString("Password"));
- if(getConnection() != null && !getConnection().isClosed()) {
- SettingsManager.initialize(getConnection());
- TextManager.initialize(getDataDir());
- world.showPlayerMarkers(PlayerMarkerMode.valueOf(SettingsManager.get("PLAYERMARKERMODE")));
- EventManager eventManager = getEventManager();
- PlayerManager.initialize(getConnection());
- VehicleManager.initialize(eventManager);
- LicenseManager.initialize();
- PermissionManager.initialize(eventManager, getConnection());
- PlayerColorManager.initialize(getConnection());
- FractionManager.initialize(getConnection());
- RankManager.initialize(getConnection());
- MuteManager.initialize(getConnection());
- BanManager.initialize(getConnection());
- GasStationManager.initialize(getConnection());
- CommandManager commandManager = new CommandManager(eventManager);
- commandManager.getPlayerCommandManager().registerCommands(new HelpCommand(eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new AcceptCommand());
- commandManager.getPlayerCommandManager().registerCommands(new DeacceptCommand());
- commandManager.getPlayerCommandManager().registerCommands(new StatsCommand(eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new LicensesCommand(eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new FillCommand());
- commandManager.getPlayerCommandManager().registerCommands(new ShoutCommand());
- commandManager.getPlayerCommandManager().registerCommands(new FractionChatCommand());
- commandManager.getPlayerCommandManager().registerCommands(new GcCommand());
- commandManager.getPlayerCommandManager().registerCommands(new WhisperCommand());
- commandManager.getPlayerCommandManager().registerCommands(new EjectCommand());
- commandManager.getPlayerCommandManager().registerCommands(new PlayerLicensesCommand(eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new PlayerStatsCommand(eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new GcStatusCommand());
- commandManager.getPlayerCommandManager().registerCommands(new KickCommand());
- commandManager.getPlayerCommandManager().registerCommands(new BanCommand());
- commandManager.getPlayerCommandManager().registerCommands(new PortCommand(eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new ManageCommand(eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new VehCommand());
- commandManager.getPlayerCommandManager().registerCommands(new VehRepairCommand());
- commandManager.getPlayerCommandManager().registerCommands(new ReloadCommand());
- destroyable = new ArrayList<Destroyable>();
- destroyable.add(new Tacho(eventManager));
- destroyable.add(new PlayerConnect(eventManager));
- destroyable.add(new PlayerDisconnect(eventManager));
- destroyable.add(new PlayerInitialize(eventManager));
- destroyable.add(new PlayerRequestClass(eventManager));
- destroyable.add(new PlayerDeath(eventManager));
- destroyable.add(new UnknownCommand(eventManager));
- destroyable.add(new LicenseCheck(eventManager));
- destroyable.add(new MotorInfo(eventManager));
- destroyable.add(new ChangeMotorState(eventManager));
- destroyable.add(new PlayerClickPlayer(eventManager));
- destroyable.add(new PlayerChat(eventManager));
- destroyable.add(new ShowClock(eventManager));
- getLogger().info("Server started successfully.");
- } else {
- getLogger().error("Database connection was failed.");
- }
- }
- private Connection getConnection() {
- return connection;
- }
- @Override
- protected void onDisable() throws Throwable {
- for(PlayerInfo playerInfo : PlayerManager.getPlayers().values()) {
- Player player = playerInfo.getPlayer();
- if(player != null) {
- playerInfo.getPlayerData().setAngledLocation(player.getLocation());
- }
- }
- try {
- String SQL = "UPDATE `samp_users` SET `online` = '0'";
- PreparedStatement preparedStatement;
- preparedStatement = getConnection().prepareStatement(SQL);
- preparedStatement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- for(Destroyable destroyable : destroyable) {
- destroyable.destroy();
- }
- GasStationManager.destroy();
- getConnection().close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement