Redoing stuff.
This commit is contained in:
		@@ -1,6 +1,5 @@
 | 
			
		||||
package nl.Steffion.BlockHunt;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.Listeners.PlayerListener;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.CommandC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
@@ -19,8 +18,9 @@ public class BlockHunt extends JavaPlugin implements Listener {
 | 
			
		||||
	public void onEnable() {
 | 
			
		||||
		W.newFiles();
 | 
			
		||||
		getServer().getPluginManager().registerEvents(this, this);
 | 
			
		||||
		getServer().getPluginManager().registerEvents(new PlayerListener(this),
 | 
			
		||||
				this);
 | 
			
		||||
		// getServer().getPluginManager().registerEvents(new
 | 
			
		||||
		// PlayerListener(this),
 | 
			
		||||
		// this);
 | 
			
		||||
		MessageM.sendFMessage(null, ConfigC.log_Enabled, true, "name-"
 | 
			
		||||
				+ W.pluginName, "version-" + W.pluginVersion, "autors-"
 | 
			
		||||
				+ W.pluginAutors);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,65 +0,0 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Commands;
 | 
			
		||||
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.PlayerM;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.PlayerM.PermsC;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.command.Command;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
 | 
			
		||||
public class CMDlist extends DefaultCMD {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean exectue(Player player, Command cmd, String label,
 | 
			
		||||
			String[] args) {
 | 
			
		||||
		if (PlayerM.hasPerm(player, PermsC.list, true)) {
 | 
			
		||||
			MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false,
 | 
			
		||||
					"header-" + W.pluginName);
 | 
			
		||||
			File arenaworldFolder = new File("plugins/" + W.pluginName
 | 
			
		||||
					+ "/defaultArenas/");
 | 
			
		||||
			ArrayList<String> arenas = new ArrayList<String>();
 | 
			
		||||
			for (String file : arenaworldFolder.list()) {
 | 
			
		||||
				File arenaCheck = new File(arenaworldFolder, file);
 | 
			
		||||
				if (arenaCheck.isDirectory()) {
 | 
			
		||||
					arenas.add(arenaCheck.getName());
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			if (arenas.size() >= 1) {
 | 
			
		||||
				for (String arena : arenas) {
 | 
			
		||||
					MessageM.sendMessage(player, "%A" + arena, false);
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				MessageM.sendMessage(player, "&7&oNo arenas available...",
 | 
			
		||||
						false);
 | 
			
		||||
				MessageM.sendMessage(player, "&7&oAdd arenas in the '"
 | 
			
		||||
						+ W.pluginName + "/defaultArenas/' folder.", false);
 | 
			
		||||
			}
 | 
			
		||||
			MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false,
 | 
			
		||||
					"header-&oArenas list");
 | 
			
		||||
		}
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public static boolean isAnArena(String worldname) {
 | 
			
		||||
		File arenaworldFolder = new File("plugins/" + W.pluginName
 | 
			
		||||
				+ "/defaultArenas/");
 | 
			
		||||
 | 
			
		||||
		ArrayList<String> arenas = new ArrayList<String>();
 | 
			
		||||
		for (String file : arenaworldFolder.list()) {
 | 
			
		||||
			File arenaCheck = new File(arenaworldFolder, file);
 | 
			
		||||
			if (arenaCheck.isDirectory()) {
 | 
			
		||||
				arenas.add(arenaCheck.getName());
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (arenas.contains(worldname)) {
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -1,73 +0,0 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Commands;
 | 
			
		||||
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.CommandC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.FileM;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.PlayerM;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.PlayerM.PermsC;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
import org.bukkit.World;
 | 
			
		||||
import org.bukkit.WorldCreator;
 | 
			
		||||
import org.bukkit.command.Command;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
 | 
			
		||||
public class CMDpreview extends DefaultCMD {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean exectue(Player player, Command cmd, String label,
 | 
			
		||||
			String[] args) {
 | 
			
		||||
		if (PlayerM.hasPerm(player, PermsC.preview, true)) {
 | 
			
		||||
			if (args.length == 1) {
 | 
			
		||||
				MessageM.sendFMessage(player, ConfigC.error_notEnoughArguments,
 | 
			
		||||
						true, "syntax-" + CommandC.PREVIEW.usage);
 | 
			
		||||
			} else {
 | 
			
		||||
				File arenaworldFolder = new File("plugins/" + W.pluginName
 | 
			
		||||
						+ "/defaultArenas/" + args[1]);
 | 
			
		||||
				if (!arenaworldFolder.exists()) {
 | 
			
		||||
					MessageM.sendFMessage(player, ConfigC.error_noArena, true,
 | 
			
		||||
							"name-" + args[1]);
 | 
			
		||||
					return true;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				boolean notFound = true;
 | 
			
		||||
				int subID = 1;
 | 
			
		||||
				while (notFound) {
 | 
			
		||||
					File destFolder = new File("plugins/" + W.pluginName
 | 
			
		||||
							+ "/loadedArenas/" + args[1] + "_" + subID);
 | 
			
		||||
					if (!destFolder.exists()) {
 | 
			
		||||
						MessageM.sendFMessage(player,
 | 
			
		||||
								ConfigC.normal_previewWorld, true);
 | 
			
		||||
						try {
 | 
			
		||||
							FileM.copyFolder(arenaworldFolder, destFolder);
 | 
			
		||||
							W.previewWorlds.add(destFolder.getPath());
 | 
			
		||||
							MessageM.broadcastMessage(destFolder.getPath(),
 | 
			
		||||
									false);
 | 
			
		||||
						} catch (IOException e) {
 | 
			
		||||
							e.printStackTrace();
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
						WorldCreator wc = new WorldCreator(destFolder.getPath());
 | 
			
		||||
						Bukkit.getServer().createWorld(wc);
 | 
			
		||||
 | 
			
		||||
						World world = Bukkit.getWorld(destFolder.getPath());
 | 
			
		||||
						player.teleport(world.getSpawnLocation());
 | 
			
		||||
 | 
			
		||||
						notFound = false;
 | 
			
		||||
 | 
			
		||||
						MessageM.sendFMessage(player,
 | 
			
		||||
								ConfigC.normal_previewWorldDone, true);
 | 
			
		||||
					} else {
 | 
			
		||||
						subID = subID + 1;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -1,106 +1,38 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Listeners;
 | 
			
		||||
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.BlockHunt;
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.FileM;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.event.EventHandler;
 | 
			
		||||
import org.bukkit.event.EventPriority;
 | 
			
		||||
import org.bukkit.event.Listener;
 | 
			
		||||
import org.bukkit.event.player.PlayerTeleportEvent;
 | 
			
		||||
 | 
			
		||||
public class PlayerListener implements Listener {
 | 
			
		||||
 | 
			
		||||
	private BlockHunt plugin;
 | 
			
		||||
	// private BlockHunt plugin;
 | 
			
		||||
	//
 | 
			
		||||
	// public PlayerListener (BlockHunt plugin) {
 | 
			
		||||
	// this.plugin = plugin;
 | 
			
		||||
	// }
 | 
			
		||||
 | 
			
		||||
	public PlayerListener (BlockHunt plugin) {
 | 
			
		||||
		this.plugin = plugin;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@EventHandler(priority = EventPriority.HIGHEST)
 | 
			
		||||
	public void onPlayerTeleportEvent(final PlayerTeleportEvent event) {
 | 
			
		||||
		final Player player = event.getPlayer();
 | 
			
		||||
		if (W.previewWorlds.contains(event.getFrom().getWorld().getName())) {
 | 
			
		||||
			if (!event.getFrom().getWorld().getName()
 | 
			
		||||
					.equals(event.getTo().getWorld().getName())) {
 | 
			
		||||
				final String worldLoc = event.getFrom().getWorld().getName();
 | 
			
		||||
				boolean unload = true;
 | 
			
		||||
 | 
			
		||||
				for (Player pl : Bukkit.getOnlinePlayers()) {
 | 
			
		||||
					if (pl.getLocation().getWorld().getName().equals(worldLoc)) {
 | 
			
		||||
						if (!pl.equals(player)) {
 | 
			
		||||
							unload = false;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (unload) {
 | 
			
		||||
					Bukkit.getScheduler().runTaskLaterAsynchronously(
 | 
			
		||||
							this.plugin, new Runnable() {
 | 
			
		||||
								@Override
 | 
			
		||||
								public void run() {
 | 
			
		||||
									Bukkit.unloadWorld(
 | 
			
		||||
											Bukkit.getWorld(worldLoc), true);
 | 
			
		||||
									MessageM.sendFMessage(
 | 
			
		||||
											player,
 | 
			
		||||
											ConfigC.normal_previewWorldUnloaded,
 | 
			
		||||
											true);
 | 
			
		||||
								}
 | 
			
		||||
							}, 20);
 | 
			
		||||
 | 
			
		||||
					Bukkit.getScheduler().runTaskLaterAsynchronously(
 | 
			
		||||
							this.plugin, new Runnable() {
 | 
			
		||||
								@Override
 | 
			
		||||
								public void run() {
 | 
			
		||||
									try {
 | 
			
		||||
										String[] worldPlace = event.getFrom()
 | 
			
		||||
												.getWorld().getName()
 | 
			
		||||
												.split("/");
 | 
			
		||||
										String[] worldName = worldPlace[worldPlace.length - 1]
 | 
			
		||||
												.split("_");
 | 
			
		||||
										File destFolder = new File("plugins/"
 | 
			
		||||
												+ W.pluginName
 | 
			
		||||
												+ "/defaultArenas/"
 | 
			
		||||
												+ worldName[0]);
 | 
			
		||||
										if (destFolder.exists()) {
 | 
			
		||||
											FileM.delete(destFolder);
 | 
			
		||||
										}
 | 
			
		||||
 | 
			
		||||
										FileM.copyFolder(new File(worldLoc),
 | 
			
		||||
												destFolder);
 | 
			
		||||
									} catch (IOException e) {
 | 
			
		||||
										e.printStackTrace();
 | 
			
		||||
									}
 | 
			
		||||
								}
 | 
			
		||||
							}, 40);
 | 
			
		||||
 | 
			
		||||
					Bukkit.getScheduler().runTaskLaterAsynchronously(
 | 
			
		||||
							this.plugin, new Runnable() {
 | 
			
		||||
								@Override
 | 
			
		||||
								public void run() {
 | 
			
		||||
									try {
 | 
			
		||||
										FileM.delete(new File(worldLoc));
 | 
			
		||||
									} catch (IOException e) {
 | 
			
		||||
										e.printStackTrace();
 | 
			
		||||
									}
 | 
			
		||||
 | 
			
		||||
									MessageM.sendFMessage(player,
 | 
			
		||||
											ConfigC.normal_previewWorldDeleted,
 | 
			
		||||
											true);
 | 
			
		||||
								}
 | 
			
		||||
 | 
			
		||||
							}, 60);
 | 
			
		||||
					W.previewWorlds
 | 
			
		||||
							.remove(event.getFrom().getWorld().getName());
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	// @EventHandler(priority = EventPriority.MONITOR)
 | 
			
		||||
	// public void onPlayerTeleportEvent(final PlayerTeleportEvent event) {
 | 
			
		||||
	// final Player player = event.getPlayer();
 | 
			
		||||
	// if (W.previewWorlds.contains(event.getFrom().getWorld().getName())) {
 | 
			
		||||
	// if (!event.getFrom().getWorld().getName()
 | 
			
		||||
	// .equals(event.getTo().getWorld().getName())) {
 | 
			
		||||
	// final String worldLoc = event.getFrom().getWorld().getName();
 | 
			
		||||
	// boolean unload = true;
 | 
			
		||||
	//
 | 
			
		||||
	// for (Player pl : Bukkit.getOnlinePlayers()) {
 | 
			
		||||
	// if (pl.getLocation().getWorld().getName().equals(worldLoc)) {
 | 
			
		||||
	// if (!pl.equals(player)) {
 | 
			
		||||
	// unload = false;
 | 
			
		||||
	// }
 | 
			
		||||
	// }
 | 
			
		||||
	// }
 | 
			
		||||
	//
 | 
			
		||||
	// if (unload) {
 | 
			
		||||
	// ArenaHandler ah = new ArenaHandler(this.plugin);
 | 
			
		||||
	// ah.unLoadArena(worldLoc, player);
 | 
			
		||||
	// W.previewWorlds.remove(worldLoc);
 | 
			
		||||
	// }
 | 
			
		||||
	// }
 | 
			
		||||
	// }
 | 
			
		||||
	// }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -42,22 +42,6 @@ public enum CommandC {
 | 
			
		||||
			ConfigC.help_reload,
 | 
			
		||||
			1,
 | 
			
		||||
			W.pluginName + " <reload|r>"),
 | 
			
		||||
	LIST ("BlockHunt%list_",
 | 
			
		||||
			"BlockHunt%l_",
 | 
			
		||||
			new CMDlist(),
 | 
			
		||||
			ConfigC.commandEnabled_list,
 | 
			
		||||
			PermsC.list,
 | 
			
		||||
			ConfigC.help_list,
 | 
			
		||||
			1,
 | 
			
		||||
			W.pluginName + " <list|l>"),
 | 
			
		||||
	PREVIEW ("BlockHunt%preview_",
 | 
			
		||||
			"BlockHunt%p_",
 | 
			
		||||
			new CMDpreview(),
 | 
			
		||||
			ConfigC.commandEnabled_preview,
 | 
			
		||||
			PermsC.preview,
 | 
			
		||||
			ConfigC.help_preview,
 | 
			
		||||
			1,
 | 
			
		||||
			W.pluginName + " <preview|p> <arenaname>"),
 | 
			
		||||
	NOT_FOUND ("%_",
 | 
			
		||||
			"%_",
 | 
			
		||||
			new CMDnotfound(),
 | 
			
		||||
 
 | 
			
		||||
@@ -18,8 +18,6 @@ public enum ConfigC {
 | 
			
		||||
	commandEnabled_info (true, W.config),
 | 
			
		||||
	commandEnabled_help (true, W.config),
 | 
			
		||||
	commandEnabled_reload (true, W.config),
 | 
			
		||||
	commandEnabled_list (true, W.config),
 | 
			
		||||
	commandEnabled_preview (true, W.config),
 | 
			
		||||
 | 
			
		||||
	log_Enabled ("%N%name%&a&k + %N%version% is now Enabled. Made by %A%autors%%N.",
 | 
			
		||||
			W.messages),
 | 
			
		||||
@@ -29,18 +27,8 @@ public enum ConfigC {
 | 
			
		||||
	help_info ("%NDisplays the plugin's info.", W.messages),
 | 
			
		||||
	help_help ("%NShows a list of commands.", W.messages),
 | 
			
		||||
	help_reload ("%NReloads all configs.", W.messages),
 | 
			
		||||
	help_list ("%NDisplays a list of available arenas.", W.messages),
 | 
			
		||||
	help_preview ("%NMakes a copy of an arena to make changes in your arena.",
 | 
			
		||||
			W.messages),
 | 
			
		||||
 | 
			
		||||
	normal_reloadedConfigs ("&aReloaded all configs!", W.messages),
 | 
			
		||||
	normal_previewWorld ("%NMaking a preview world for you...", W.messages),
 | 
			
		||||
	normal_previewWorldDone ("%NYour preview world has been created! Sending you...",
 | 
			
		||||
			W.messages),
 | 
			
		||||
	normal_previewWorldUnloaded ("%NYour preview world has been %Eunloaded%N!",
 | 
			
		||||
			W.messages),
 | 
			
		||||
	normal_previewWorldDeleted ("%NYour preview world has been %Edeleted%N!",
 | 
			
		||||
			W.messages),
 | 
			
		||||
 | 
			
		||||
	error_noPermission ("%EYou don't have the permissions to do that!",
 | 
			
		||||
			W.messages),
 | 
			
		||||
 
 | 
			
		||||
@@ -17,11 +17,8 @@ public class W {
 | 
			
		||||
	public static String pluginMainPermission = pluginName + ".";
 | 
			
		||||
 | 
			
		||||
	public static ArrayList<String> newFiles = new ArrayList<String>();
 | 
			
		||||
	public static ArrayList<String> previewWorlds = new ArrayList<String>();
 | 
			
		||||
	public static ConfigM config = new ConfigM("config", "");
 | 
			
		||||
	public static ConfigM messages = new ConfigM("messages", "");
 | 
			
		||||
	public static ConfigM note1 = new ConfigM("PLACE WORLD FOLDERS HERE!",
 | 
			
		||||
			"defaultArenas/");
 | 
			
		||||
 | 
			
		||||
	public static void newFiles() {
 | 
			
		||||
		ConfigM.setDefaults();
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ version: 1.0.0
 | 
			
		||||
authors:
 | 
			
		||||
  - Steffion
 | 
			
		||||
description: Description here.
 | 
			
		||||
softdepend: [DisguiseCraft, Multiverse-Core]
 | 
			
		||||
commands:
 | 
			
		||||
  BlockHunt:
 | 
			
		||||
    usage: /<command>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user