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
	 
				 Steffion
					Steffion