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.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;
- private PlayerManager playerManager;
- @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();
- VehicleManager.initialize(eventManager);
- PermissionManager permissionManager = new PermissionManager(eventManager, getConnection());
- LicenseManager licenseManager = new LicenseManager(eventManager);
- playerManager = new PlayerManager(licenseManager, permissionManager, getConnection());
- PlayerColorManager playerColorManager = new PlayerColorManager(getConnection());
- FractionManager fractionManager = new FractionManager(getConnection());
- RankManager rankManager = new RankManager(getConnection());
- MuteManager muteManager = new MuteManager(getConnection());
- BanManager banManager = new BanManager(getConnection(), playerManager);
- CommandManager commandManager = new CommandManager(eventManager);
- commandManager.getPlayerCommandManager().registerCommands(new HelpCommand(eventManager, playerManager));
- commandManager.getPlayerCommandManager().registerCommands(new AcceptCommand());
- commandManager.getPlayerCommandManager().registerCommands(new DeacceptCommand());
- commandManager.getPlayerCommandManager().registerCommands(new StatsCommand(eventManager, playerManager));
- commandManager.getPlayerCommandManager().registerCommands(new LicensesCommand(eventManager, licenseManager, playerManager));
- commandManager.getPlayerCommandManager().registerCommands(new ShoutCommand(playerManager, muteManager));
- commandManager.getPlayerCommandManager().registerCommands(new FractionChatCommand(playerManager, muteManager));
- commandManager.getPlayerCommandManager().registerCommands(new GcCommand(playerManager, muteManager));
- commandManager.getPlayerCommandManager().registerCommands(new WhisperCommand(playerManager, muteManager));
- commandManager.getPlayerCommandManager().registerCommands(new EjectCommand());
- commandManager.getPlayerCommandManager().registerCommands(new PlayerLicensesCommand(playerManager, licenseManager, eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new PlayerStatsCommand(playerManager, eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new GcStatusCommand(playerManager));
- commandManager.getPlayerCommandManager().registerCommands(new PortCommand(playerManager, eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new ManageCommand(playerManager, licenseManager, eventManager));
- commandManager.getPlayerCommandManager().registerCommands(new VehCommand(playerManager));
- commandManager.getPlayerCommandManager().registerCommands(new VehRepairCommand(playerManager));
- commandManager.getPlayerCommandManager().registerCommands(new ReloadCommand(
- playerManager,
- permissionManager,
- playerColorManager,
- fractionManager,
- rankManager,
- licenseManager,
- muteManager,
- banManager
- ));
- destroyable = new ArrayList<Destroyable>();
- destroyable.add(new Tacho(eventManager));
- destroyable.add(new PlayerConnect(eventManager, banManager, rankManager, playerManager, playerColorManager));
- destroyable.add(new PlayerDisconnect(eventManager, playerManager));
- destroyable.add(new PlayerInitialize(eventManager, playerManager, playerColorManager));
- destroyable.add(new PlayerRequestClass(eventManager));
- destroyable.add(new PlayerDeath(eventManager));
- destroyable.add(new UnknownCommand(eventManager));
- destroyable.add(new LicenseCheck(eventManager, licenseManager, playerManager));
- destroyable.add(new MotorInfo(eventManager, licenseManager, playerManager));
- destroyable.add(new ChangeMotorState(eventManager));
- destroyable.add(new PlayerClickPlayer(eventManager, licenseManager, playerManager));
- destroyable.add(new PlayerChat(eventManager, playerManager));
- 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();
- }
- getConnection().close();
- }
- }
Add Comment
Please, Sign In to add comment