Advertisement
Guest User

Untitled

a guest
Aug 11th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.05 KB | None | 0 0
  1. Main:
  2. package fr.energycube.uhc;
  3.  
  4. import java.io.File;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.GameMode;
  8. import org.bukkit.Location;
  9. import org.bukkit.World;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.plugin.PluginManager;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13. import org.bukkit.plugin.messaging.PluginMessageListener;
  14.  
  15. import fr.energycube.uhc.Commands.Lobby;
  16. import fr.energycube.uhc.Events.JoinEvent;
  17. import fr.energycube.uhc.Events.MoveEvent;
  18. import fr.energycube.uhc.Events.PlayerDeath;
  19. import fr.energycube.uhc.Events.QuitEvent;
  20. import fr.energycube.uhc.Runnable.GameManager;
  21. import fr.energycube.uhc.Utils.Properties;
  22. import fr.energycube.uhc.Utils.PlateformeUtils.LobbySpawn;
  23.  
  24.  
  25. public class Main extends JavaPlugin implements PluginMessageListener{
  26.  
  27. public SQLAPI sql;
  28. public static Main instance;
  29. public static Main getInstance(){return instance;}
  30.  
  31. public void onEnable(){
  32. instance = this;
  33. sql = new SQLAPI("jdbc:mysql://","localhost","energycube","root","local");
  34. //load: STARTUP
  35. sql.Connection();
  36. sql.checkPointMiniJeu();
  37.  
  38. this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
  39. this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this);
  40.  
  41. getCommand("lobby").setExecutor(new Lobby());
  42.  
  43. System.out.println("[UHC] Activée");
  44.  
  45.  
  46. getServer().setDefaultGameMode(GameMode.SURVIVAL);
  47. Properties.setServerProperty(Properties.ServerProperty.HARDCORE, true);
  48. Properties.setServerProperty(Properties.ServerProperty.MAX_WORLD_SIZE, 2000);
  49. Properties.savePropertiesFile();
  50.  
  51.  
  52.  
  53. PluginManager pm = getServer().getPluginManager();
  54.  
  55. pm.registerEvents(new JoinEvent(), this);
  56. pm.registerEvents(new QuitEvent(), this);
  57. pm.registerEvents(new MoveEvent(), this);
  58. pm.registerEvents(new PlayerDeath(), this);
  59.  
  60. new GameManager().runTaskTimer(this, 20, 20);
  61.  
  62.  
  63. getServer().getWorld("world").setTime(1000);
  64. getServer().getWorld("world").setGameRuleValue("doDaylightCycle", "false");
  65. generateLobby();
  66. }
  67.  
  68. @Override
  69. public void onPluginMessageReceived(String channel, Player player, byte[] message) {
  70. if (!channel.equals("BungeeCord")) {
  71.  
  72. return;
  73. }
  74. }
  75.  
  76. public void onDisable(){
  77. sql.Unconnection();
  78. System.out.println("Dechargement de world");
  79. unloadWorld(Bukkit.getWorld("world"));
  80. System.out.println("Dechargement de world_nether");
  81. unloadWorld(Bukkit.getWorld("world_nether"));
  82. System.out.println("Suppression de world");
  83. World delete = Bukkit.getWorld("world");
  84. if(delete != null){
  85. File deleteFolder = delete.getWorldFolder();
  86. deleteWorld(deleteFolder);
  87. deleteWorld(deleteFolder);
  88. deleteWorld(deleteFolder);
  89. }
  90. System.out.println("Suppression de world_nether");
  91. World deletenether = Bukkit.getWorld("world_nether");
  92. if(deletenether != null){
  93. File deleteFolder = deletenether.getWorldFolder();
  94. deleteWorld(deleteFolder);
  95. deleteWorld(deleteFolder);
  96. deleteWorld(deleteFolder);
  97. }
  98. }
  99.  
  100. public boolean deleteWorld(File path) {
  101. if(path.exists()) {
  102. File files[] = path.listFiles();
  103. for(int i=0; i<files.length; i++) {
  104. if(files[i].isDirectory()) {
  105. deleteWorld(files[i]);
  106. deleteWorld(files[i]);
  107. } else {
  108. files[i].delete();
  109. files[i].delete();
  110. files[i].delete();
  111. }
  112. }
  113. }
  114. return(path.delete());
  115. }
  116. public void unloadWorld(World world) {
  117. Bukkit.getServer().unloadWorld(world, true);
  118.  
  119. }
  120.  
  121. public void generateLobby(){
  122.  
  123. System.out.println("Suppression des blocks du lobby...");
  124. LobbySpawn.removeLobby(new Location(Bukkit.getWorld("world"), 0, 90, 0));
  125. System.out.println("Suppression des blocks du lobby : OK");
  126. System.out.println("Creation des du lobby...");
  127. LobbySpawn.spawnLobby(new Location(Bukkit.getWorld("world"), 0, 90, 0));
  128. System.out.println("Creation du lobby : OK");
  129.  
  130. }
  131.  
  132.  
  133.  
  134. }
  135. Lobby:
  136. package fr.energycube.uhc.Commands;
  137.  
  138. import java.io.ByteArrayOutputStream;
  139. import java.io.DataOutputStream;
  140. import java.io.IOException;
  141.  
  142. import org.bukkit.command.Command;
  143. import org.bukkit.command.CommandExecutor;
  144. import org.bukkit.command.CommandSender;
  145. import org.bukkit.entity.Player;
  146.  
  147. import fr.energycube.uhc.Main;
  148.  
  149. public class Lobby implements CommandExecutor{
  150.  
  151. @Override
  152. public boolean onCommand(CommandSender sender, Command cmd, String msg, String[] args) {
  153.  
  154. if(sender instanceof Player){
  155. Player p = (Player) sender;
  156. if(cmd.getName().equalsIgnoreCase("lobby")){
  157.  
  158. ByteArrayOutputStream b = new ByteArrayOutputStream();
  159. DataOutputStream out = new DataOutputStream(b);
  160.  
  161. try {
  162. out.writeUTF("Connect");
  163. out.writeUTF("hub");
  164. } catch (IOException ex) {
  165.  
  166. }
  167. p.sendPluginMessage(Main.getInstance(), "BungeeCord", b.toByteArray());
  168.  
  169.  
  170. }
  171.  
  172.  
  173. }
  174. return false;
  175. }
  176.  
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement