Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.logging.Logger;
- import listener.join_listener;
- import listener.leave_listener;
- import listener.other_listener;
- import listener.respawn_listener;
- import org.bukkit.Bukkit;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.World;
- import org.bukkit.WorldCreator;
- import org.bukkit.entity.Player;
- import org.bukkit.event.Listener;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scoreboard.DisplaySlot;
- import org.bukkit.scoreboard.Objective;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.ScoreboardManager;
- import org.bukkit.scoreboard.Team;
- import commands.bedwars_cmd;
- import commands.bedwars_funktionen;
- import commands.team_cmd;
- public class Main extends JavaPlugin implements Listener {
- public static String pluginName = "§7[§6BedWars§7] ";
- public static String motd = "§aLobby";
- public static Logger log;
- public static ArrayList<String> team_blau = new ArrayList<String>();
- public static ArrayList<String> team_gruen = new ArrayList<String>();
- public static ArrayList<String> team_gelb = new ArrayList<String>();
- public static ArrayList<String> team_rot = new ArrayList<String>();
- public static String blau = "0";
- public static String rot = "0";
- public static String gruen = "0";
- public static String gelb = "0";
- public static String world_name = "BedWars_Map";
- public static String sb_blau = "§1Team Blau";
- public static String sb_gruen = "§2Team Grün";
- public static String sb_gelb = "§6Team Gelb";
- public static String sb_rot = "§4Team Rot";
- @SuppressWarnings("deprecation")
- static OfflinePlayer line2 = Bukkit.getOfflinePlayer(sb_blau);
- @SuppressWarnings("deprecation")
- static OfflinePlayer line3 = Bukkit.getOfflinePlayer(sb_gruen);
- @SuppressWarnings("deprecation")
- static OfflinePlayer line4 = Bukkit.getOfflinePlayer(sb_gelb);
- @SuppressWarnings("deprecation")
- static OfflinePlayer line5 = Bukkit.getOfflinePlayer(sb_rot);
- public static int cd;
- public static Main plugin;
- @Override
- public void onDisable() {
- for(Player players : Bukkit.getServer().getOnlinePlayers()) {
- players.kickPlayer("§cServer restartet!");
- }
- System.out.println(this.getDescription().getName() + " Wurde erfolreich deaktiviert!");
- super.onDisable();
- }
- @SuppressWarnings("deprecation")
- @Override
- public void onEnable() {
- refresh();
- bedwars_funktionen.plugin = this;
- Main.plugin = this;
- for(Player players : Bukkit.getServer().getOnlinePlayers()) {
- players.kickPlayer("§cServer restartet!");
- }
- log = this.getLogger();
- Bukkit.getWorld("world").setPVP(false);
- rollback();
- bedwars_funktionen.timer_end = 21;
- registerCommands();
- System.out.println(this.getDescription().getName() + ": Die Commands wurden erfolgreich geladen!");
- registerListeners();
- System.out.println(this.getDescription().getName() + ": Die Listener wurden erfolgreich geladen!");
- System.out.println(this.getDescription().getName() + ": Wurde erfolreich aktiviert!");
- // Dauerhafte Abfrage (Alle 1 Sekunden)
- cd = Bukkit.getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
- public void run() {
- commands.bedwars_funktionen.checkTeam();
- refresh();
- if(bedwars_funktionen.status == "1") {
- if(Main.team_blau.size() == 0) {
- if(blau == "0") {
- Bukkit.broadcastMessage(Main.pluginName + "§7Das §1Blaue Team §7wurde vernichtet!");
- blau = "1";
- }
- } if(Main.team_gruen.size() == 0) {
- if(gruen == "0") {
- Bukkit.broadcastMessage(Main.pluginName + "§7Das §2Grüne Team §7wurde vernichtet!");
- gruen = "1";
- }
- } if(Main.team_gelb.size() == 0) {
- if(gelb == "0") {
- Bukkit.broadcastMessage(Main.pluginName + "§7Das §6Gelbe Team §7wurde vernichtet!");
- gelb = "1";
- }
- } if(Main.team_rot.size() == 0) {
- if(rot == "0") {
- Bukkit.broadcastMessage(Main.pluginName + "§7Das §4Rote Team §7wurde vernichtet!");
- rot = "1";
- }
- } if(team_blau.size() <= 1 && team_gelb.size() == 0 && team_gruen.size() == 0 && team_rot.size() == 0) {
- Bukkit.broadcastMessage(Main.pluginName + "§aDas §1Blaue Team §ahat das Spiel gewonnen!");
- bedwars_funktionen.gameEnd();
- Bukkit.getScheduler().cancelTask(cd);
- } if(team_blau.size() == 0 && team_gelb.size() <= 1 && team_gruen.size() == 0 && team_rot.size() == 0) {
- Bukkit.broadcastMessage(Main.pluginName + "§aDas §6Gelbe Team §ahat das Spiel gewonnen!");
- bedwars_funktionen.gameEnd();
- Bukkit.getScheduler().cancelTask(cd);
- } if(team_blau.size() == 0 && team_gelb.size() == 0 && team_gruen.size() <= 1 && team_rot.size() == 0) {
- Bukkit.broadcastMessage(Main.pluginName + "§aDas §2Grüne Team §ahat das Spiel gewonnen!");
- bedwars_funktionen.gameEnd();
- Bukkit.getScheduler().cancelTask(cd);
- } if(team_blau.size() == 0 && team_gelb.size() == 0 && team_gruen.size() == 0 && team_rot.size() <= 1) {
- Bukkit.broadcastMessage(Main.pluginName + "§aDas §4Rote Team §ahat das Spiel gewonnen!");
- bedwars_funktionen.gameEnd();
- Bukkit.getScheduler().cancelTask(cd);
- }
- }
- }
- }, 60L, 20L);
- // Dauerhafte Abfrage (Jede Minute)
- Bukkit.getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
- public void run() {
- commands.bedwars_funktionen.morePlayerMessage();
- }
- }, 60L, 60*20L);
- super.onEnable();
- }
- public void registerListeners() {
- PluginManager pm = getServer().getPluginManager();
- pm.registerEvents(new join_listener(this), this);
- pm.registerEvents(new leave_listener(this), this);
- pm.registerEvents(new respawn_listener(this), this);
- pm.registerEvents(new other_listener(this), this);
- }
- private void registerCommands() {
- team_cmd team = new team_cmd();
- getCommand("team").setExecutor(team);
- bedwars_cmd bedwars = new bedwars_cmd();
- getCommand("bedwars").setExecutor(bedwars);
- }
- public static void unloadMap(){
- if(Bukkit.getServer().unloadWorld(Bukkit.getServer().getWorld(world_name), false)){
- reset();
- }else{
- reset();
- }
- }
- public static void loadMap(){
- Bukkit.getServer().createWorld(new WorldCreator(world_name));
- }
- public static void rollback(){
- unloadMap();
- loadMap();
- }
- @SuppressWarnings("deprecation")
- public static void refresh() {
- OfflinePlayer line2 = Bukkit.getOfflinePlayer(sb_blau);
- OfflinePlayer line3 = Bukkit.getOfflinePlayer(sb_gruen);
- OfflinePlayer line4 = Bukkit.getOfflinePlayer(sb_gelb);
- OfflinePlayer line5 = Bukkit.getOfflinePlayer(sb_rot);
- ScoreboardManager manager = Bukkit.getScoreboardManager();
- Scoreboard board = manager.getNewScoreboard();
- Objective obj = board.getObjective("sidebar");
- if(obj == null) {
- obj = board.registerNewObjective("sidebar", "dummy");
- }
- int team_blau_size = team_blau.size();
- int team_gruen_size = team_gruen.size();
- int team_gelb_size = team_gelb.size();
- int team_rot_size = team_rot.size();
- obj.setDisplaySlot(DisplaySlot.SIDEBAR);
- obj.setDisplayName("§7[BedWars Status]");
- obj.getScore(line2).setScore(team_blau_size);
- obj.getScore(line3).setScore(team_gruen_size);
- obj.getScore(line4).setScore(team_gelb_size);
- obj.getScore(line5).setScore(team_rot_size);
- Team sb_blau = board.registerNewTeam("Blau");
- Team sb_gruen = board.registerNewTeam("Gruen");
- Team sb_gelb = board.registerNewTeam("Gelb");
- Team sb_rot = board.registerNewTeam("Rot");
- sb_blau.setAllowFriendlyFire(false);
- sb_gruen.setAllowFriendlyFire(false);
- sb_gelb.setAllowFriendlyFire(false);
- sb_rot.setAllowFriendlyFire(false);
- for(String p_blau : Main.team_blau) {
- sb_blau.addPlayer(Bukkit.getPlayerExact(p_blau));
- }
- for(String p_gruen : Main.team_gruen) {
- sb_gruen.addPlayer(Bukkit.getPlayerExact(p_gruen));
- }
- for(String p_gelb : Main.team_gelb) {
- sb_gelb.addPlayer(Bukkit.getPlayerExact(p_gelb));
- }
- for(String p_rot : Main.team_rot) {
- sb_rot.addPlayer(Bukkit.getPlayerExact(p_rot));
- }
- for(Player t : Bukkit.getOnlinePlayers()) {
- t.setScoreboard(board);
- }
- }
- public static void reset() {
- log.info("World reset started");
- World resetworld = Bukkit.getWorld(world_name);
- if(resetworld != null) {
- for(Player player : resetworld.getPlayers())
- player.teleport(Bukkit.getWorlds().get(0).getSpawnLocation());
- Bukkit.unloadWorld(world_name, false);
- }
- File file = new File(plugin.getDataFolder() + System.getProperty("file.separator") + world_name);
- if(file != null) {
- try {
- copyDir(file, new File(world_name));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- Bukkit.createWorld(new WorldCreator(world_name));
- log.info("World reset successfully finished");
- }
- public static void copyDir(File quelle, File ziel) throws FileNotFoundException, IOException {
- File[] files = quelle.listFiles();
- File newFile = null;
- ziel.mkdirs();
- if (files != null) {
- for (int i = 0; i < files.length; i++) {
- newFile = new File(ziel.getAbsolutePath() + System.getProperty("file.separator") + files[i].getName());
- if (files[i].isDirectory()) {
- copyDir(files[i], newFile);
- }
- else {
- copyFile(files[i], newFile);
- }
- }
- }
- }
- public static void copyFile(File file, File ziel) throws FileNotFoundException, IOException {
- BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
- BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(ziel, true));
- int bytes = 0;
- while ((bytes = in.read()) != -1) {
- out.write(bytes);
- }
- in.close();
- out.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement