First commit.
This commit is contained in:
		
							
								
								
									
										105
									
								
								src/nl/Steffion/BlockHunt/BlockHunt.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								src/nl/Steffion/BlockHunt/BlockHunt.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,105 @@
 | 
			
		||||
package nl.Steffion.BlockHunt;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.CommandC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.command.Command;
 | 
			
		||||
import org.bukkit.command.CommandSender;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.event.Listener;
 | 
			
		||||
import org.bukkit.plugin.java.JavaPlugin;
 | 
			
		||||
 | 
			
		||||
public class BlockHunt extends JavaPlugin implements Listener {
 | 
			
		||||
	/*
 | 
			
		||||
	 * Made by @author Steffion, <20> 2013.
 | 
			
		||||
	 */
 | 
			
		||||
 | 
			
		||||
	public void onEnable() {
 | 
			
		||||
		W.newFiles();
 | 
			
		||||
		getServer().getPluginManager().registerEvents(this, this);
 | 
			
		||||
		MessageM.sendFMessage(null, ConfigC.log_Enabled, true, "name-"
 | 
			
		||||
				+ W.pluginName, "version-" + W.pluginVersion, "autors-"
 | 
			
		||||
				+ W.pluginAutors);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void onDisable() {
 | 
			
		||||
		MessageM.sendFMessage(null, ConfigC.log_Disabled, true, "name-"
 | 
			
		||||
				+ W.pluginName, "version-" + W.pluginVersion, "autors-"
 | 
			
		||||
				+ W.pluginAutors);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Build a string.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param input
 | 
			
		||||
	 * @param startArg
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public static String argsBuild(String[] input, int startArg) {
 | 
			
		||||
		if (input.length - startArg <= 0) {
 | 
			
		||||
			return null;
 | 
			
		||||
		}
 | 
			
		||||
		StringBuilder sb = new StringBuilder(input[startArg]);
 | 
			
		||||
		for (int i = ++startArg; i < input.length; i++) {
 | 
			
		||||
			sb.append(' ').append(input[i]);
 | 
			
		||||
		}
 | 
			
		||||
		return sb.toString();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean onCommand(CommandSender sender, Command cmd, String label,
 | 
			
		||||
			String[] args) {
 | 
			
		||||
		Player player = null;
 | 
			
		||||
		if (sender instanceof Player) {
 | 
			
		||||
			player = (Player) sender;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		for (CommandC command : CommandC.values()) {
 | 
			
		||||
			String[] commandArgsSplit = command.command.split("%");
 | 
			
		||||
			String[] argsSplit = commandArgsSplit[1].split("_");
 | 
			
		||||
			String[] argsSplitAlias = command.alias.split("%")[1].split("_");
 | 
			
		||||
 | 
			
		||||
			if (cmd.getName().equalsIgnoreCase(commandArgsSplit[0])) {
 | 
			
		||||
				int i = 0;
 | 
			
		||||
				boolean equals = true;
 | 
			
		||||
 | 
			
		||||
				if (command.minLenght == 0) {
 | 
			
		||||
					if (args.length == 0) {
 | 
			
		||||
						equals = true;
 | 
			
		||||
					} else {
 | 
			
		||||
						equals = false;
 | 
			
		||||
					}
 | 
			
		||||
				} else {
 | 
			
		||||
					if (args.length >= command.minLenght) {
 | 
			
		||||
						for (String arg : argsSplit) {
 | 
			
		||||
							for (String arga : argsSplitAlias) {
 | 
			
		||||
								if (!arg.equalsIgnoreCase(args[i])
 | 
			
		||||
										&& !arga.equalsIgnoreCase(args[i])) {
 | 
			
		||||
									equals = false;
 | 
			
		||||
								}
 | 
			
		||||
								i = i + 1;
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					} else {
 | 
			
		||||
						equals = false;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (equals) {
 | 
			
		||||
					if (W.config.getFile().getBoolean(
 | 
			
		||||
							command.enabled.getLocation())) {
 | 
			
		||||
						command.cmd.exectue(player, cmd, label, args);
 | 
			
		||||
					} else {
 | 
			
		||||
						MessageM.sendFMessage(player,
 | 
			
		||||
								ConfigC.error_commandNotEnabled, true);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					return true;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		CommandC.NOT_FOUND.cmd.exectue(player, cmd, label, args);
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										125
									
								
								src/nl/Steffion/BlockHunt/Commands/CMDhelp.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								src/nl/Steffion/BlockHunt/Commands/CMDhelp.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Commands;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.CommandC;
 | 
			
		||||
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 CMDhelp extends DefaultCMD {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean exectue(Player player, Command cmd, String label,
 | 
			
		||||
			String[] args) {
 | 
			
		||||
		if (PlayerM.hasPerm(player, PermsC.help, true)) {
 | 
			
		||||
			int amountCommands = 0;
 | 
			
		||||
			for (CommandC command : CommandC.values()) {
 | 
			
		||||
				if (command.usage != "-") {
 | 
			
		||||
					amountCommands = amountCommands + 1;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			int maxPages = Math.round(amountCommands / 3);
 | 
			
		||||
			if (maxPages <= 0) {
 | 
			
		||||
				maxPages = 1;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (args.length == 1) {
 | 
			
		||||
				int page = 1;
 | 
			
		||||
				MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false,
 | 
			
		||||
						"header-" + W.pluginName + " %Nhelp page %A" + page
 | 
			
		||||
								+ "%N/%A" + maxPages);
 | 
			
		||||
				int i = 1;
 | 
			
		||||
				for (CommandC command : CommandC.values()) {
 | 
			
		||||
					if (i <= 4) {
 | 
			
		||||
						if (command.usage != "-") {
 | 
			
		||||
							if (PlayerM.hasPerm(player, command.perm, false)) {
 | 
			
		||||
								MessageM.sendMessage(
 | 
			
		||||
										player,
 | 
			
		||||
										"%A/"
 | 
			
		||||
												+ command.usage
 | 
			
		||||
												+ "%N - "
 | 
			
		||||
												+ W.messages.getFile().get(
 | 
			
		||||
														command.help
 | 
			
		||||
																.getLocation()),
 | 
			
		||||
										false);
 | 
			
		||||
							} else {
 | 
			
		||||
								MessageM.sendMessage(
 | 
			
		||||
										player,
 | 
			
		||||
										"%W/"
 | 
			
		||||
												+ command.usage
 | 
			
		||||
												+ "%N - "
 | 
			
		||||
												+ W.messages.getFile().get(
 | 
			
		||||
														command.help
 | 
			
		||||
																.getLocation()),
 | 
			
		||||
										false);
 | 
			
		||||
							}
 | 
			
		||||
							i = i + 1;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false,
 | 
			
		||||
						"header-&oHelp Page");
 | 
			
		||||
			} else {
 | 
			
		||||
				int page = 1;
 | 
			
		||||
				try {
 | 
			
		||||
					page = Integer.valueOf(args[1]);
 | 
			
		||||
				} catch (NumberFormatException e) {
 | 
			
		||||
					page = 1;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (maxPages < page) {
 | 
			
		||||
					maxPages = page;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false,
 | 
			
		||||
						"header-" + W.pluginName + " %Nhelp page %A" + page
 | 
			
		||||
								+ "%N/%A" + maxPages);
 | 
			
		||||
				int i = 1;
 | 
			
		||||
				for (CommandC command : CommandC.values()) {
 | 
			
		||||
					if (i <= (page * 4) + 4) {
 | 
			
		||||
						if (command.usage != "-") {
 | 
			
		||||
							if (i >= ((page - 1) * 4) + 1
 | 
			
		||||
									&& i <= ((page - 1) * 4) + 4) {
 | 
			
		||||
								if (PlayerM
 | 
			
		||||
										.hasPerm(player, command.perm, false)) {
 | 
			
		||||
									MessageM.sendMessage(
 | 
			
		||||
											player,
 | 
			
		||||
											"%A/"
 | 
			
		||||
													+ command.usage
 | 
			
		||||
													+ "%N - "
 | 
			
		||||
													+ W.messages
 | 
			
		||||
															.getFile()
 | 
			
		||||
															.get(command.help
 | 
			
		||||
																	.getLocation()),
 | 
			
		||||
											false);
 | 
			
		||||
								} else {
 | 
			
		||||
									MessageM.sendMessage(
 | 
			
		||||
											player,
 | 
			
		||||
											"%W/"
 | 
			
		||||
													+ command.usage
 | 
			
		||||
													+ "%N - "
 | 
			
		||||
													+ W.messages
 | 
			
		||||
															.getFile()
 | 
			
		||||
															.get(command.help
 | 
			
		||||
																	.getLocation()),
 | 
			
		||||
											false);
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
							i = i + 1;
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false,
 | 
			
		||||
						"header-&oHelp Page");
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										32
									
								
								src/nl/Steffion/BlockHunt/Commands/CMDinfo.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/nl/Steffion/BlockHunt/Commands/CMDinfo.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Commands;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.CommandC;
 | 
			
		||||
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 CMDinfo extends DefaultCMD {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean exectue(Player player, Command cmd, String label,
 | 
			
		||||
			String[] args) {
 | 
			
		||||
		if (PlayerM.hasPerm(player, PermsC.info, true)) {
 | 
			
		||||
			MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false,
 | 
			
		||||
					"header-" + W.pluginName);
 | 
			
		||||
			MessageM.sendMessage(player, "%A%name%%N made by %A%autors%%N.",
 | 
			
		||||
					false, "name-" + W.pluginName, "autors-" + W.pluginAutors);
 | 
			
		||||
			MessageM.sendMessage(player, "%NVersion: %A%version%%N.", false,
 | 
			
		||||
					"version-" + W.pluginVersion);
 | 
			
		||||
			MessageM.sendMessage(player, "%NType %A/%helpusage% %Nfor help.",
 | 
			
		||||
					false, "helpusage-" + CommandC.HELP.usage);
 | 
			
		||||
			MessageM.sendFMessage(player, ConfigC.chat_headerhigh, false,
 | 
			
		||||
					"header-&oInfo Page");
 | 
			
		||||
		}
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								src/nl/Steffion/BlockHunt/Commands/CMDnotfound.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/nl/Steffion/BlockHunt/Commands/CMDnotfound.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Commands;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.ConfigC;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.command.Command;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
 | 
			
		||||
public class CMDnotfound extends DefaultCMD {
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean exectue(Player player, Command cmd, String label,
 | 
			
		||||
			String[] args) {
 | 
			
		||||
		MessageM.sendFMessage(player, ConfigC.error_commandNotFound, true);
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								src/nl/Steffion/BlockHunt/Commands/CMDreload.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/nl/Steffion/BlockHunt/Commands/CMDreload.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Commands;
 | 
			
		||||
 | 
			
		||||
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 CMDreload extends DefaultCMD {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean exectue(Player player, Command cmd, String label,
 | 
			
		||||
			String[] args) {
 | 
			
		||||
		if (PlayerM.hasPerm(player, PermsC.reload, true)) {
 | 
			
		||||
			W.config.load();
 | 
			
		||||
			W.messages.load();
 | 
			
		||||
			W.newFiles();
 | 
			
		||||
			MessageM.sendFMessage(player, ConfigC.normal_reloadedConfigs, true);
 | 
			
		||||
		}
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								src/nl/Steffion/BlockHunt/Commands/DefaultCMD.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/nl/Steffion/BlockHunt/Commands/DefaultCMD.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Commands;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.command.Command;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
 | 
			
		||||
public class DefaultCMD {
 | 
			
		||||
	
 | 
			
		||||
	public boolean exectue(Player player, Command cmd, String label,
 | 
			
		||||
			String[] args) {
 | 
			
		||||
		MessageM.sendMessage(player, "%NExample of a Command!", true);
 | 
			
		||||
		//TODO Place the command stuff here.
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										75
									
								
								src/nl/Steffion/BlockHunt/Managers/CommandC.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								src/nl/Steffion/BlockHunt/Managers/CommandC.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Managers;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
import nl.Steffion.BlockHunt.Commands.*;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.PlayerM.PermsC;
 | 
			
		||||
 | 
			
		||||
public enum CommandC {
 | 
			
		||||
	/*
 | 
			
		||||
	 * Made by @author Steffion, <20> 2013.
 | 
			
		||||
	 */
 | 
			
		||||
 | 
			
		||||
	INFO ("SteffionDefault%_",
 | 
			
		||||
			"SteffionDefault%_",
 | 
			
		||||
			new CMDinfo(),
 | 
			
		||||
			ConfigC.commandEnabled_info,
 | 
			
		||||
			PermsC.info,
 | 
			
		||||
			ConfigC.help_info,
 | 
			
		||||
			0,
 | 
			
		||||
			"-"),
 | 
			
		||||
	INFO2 ("SteffionDefault%info_",
 | 
			
		||||
			"SteffionDefault%i_",
 | 
			
		||||
			new CMDinfo(),
 | 
			
		||||
			ConfigC.commandEnabled_info,
 | 
			
		||||
			PermsC.info,
 | 
			
		||||
			ConfigC.help_info,
 | 
			
		||||
			1,
 | 
			
		||||
			W.pluginName + " [info|i]"),
 | 
			
		||||
	HELP ("SteffionDefault%help_",
 | 
			
		||||
			"SteffionDefault%h_",
 | 
			
		||||
			new CMDhelp(),
 | 
			
		||||
 | 
			
		||||
			ConfigC.commandEnabled_help,
 | 
			
		||||
			PermsC.help,
 | 
			
		||||
			ConfigC.help_help,
 | 
			
		||||
			1,
 | 
			
		||||
			W.pluginName + " <help|h> [pagenumber]"),
 | 
			
		||||
	RELOAD ("SteffionDefault%reload_",
 | 
			
		||||
			"SteffionDefault%r_",
 | 
			
		||||
			new CMDreload(),
 | 
			
		||||
			ConfigC.commandEnabled_reload,
 | 
			
		||||
			PermsC.reload,
 | 
			
		||||
			ConfigC.help_reload,
 | 
			
		||||
			1,
 | 
			
		||||
			W.pluginName + " <reload|r>"),
 | 
			
		||||
	NOT_FOUND ("%_",
 | 
			
		||||
			"%_",
 | 
			
		||||
			new CMDnotfound(),
 | 
			
		||||
			null,
 | 
			
		||||
			PermsC.info,
 | 
			
		||||
			ConfigC.help_info,
 | 
			
		||||
			0,
 | 
			
		||||
			"-");
 | 
			
		||||
 | 
			
		||||
	public String command;
 | 
			
		||||
	public String alias;
 | 
			
		||||
	public DefaultCMD cmd;
 | 
			
		||||
	public ConfigC enabled;
 | 
			
		||||
	public PermsC perm;
 | 
			
		||||
	public ConfigC help;
 | 
			
		||||
	public int minLenght;
 | 
			
		||||
	public String usage;
 | 
			
		||||
 | 
			
		||||
	private CommandC (String command, String alias, DefaultCMD cmd,
 | 
			
		||||
			ConfigC enabled, PermsC perm, ConfigC help, int minLenght,
 | 
			
		||||
			String usage) {
 | 
			
		||||
		this.command = command;
 | 
			
		||||
		this.alias = alias;
 | 
			
		||||
		this.cmd = cmd;
 | 
			
		||||
		this.enabled = enabled;
 | 
			
		||||
		this.perm = perm;
 | 
			
		||||
		this.help = help;
 | 
			
		||||
		this.minLenght = minLenght;
 | 
			
		||||
		this.usage = usage;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										53
									
								
								src/nl/Steffion/BlockHunt/Managers/ConfigC.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								src/nl/Steffion/BlockHunt/Managers/ConfigC.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Managers;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
 | 
			
		||||
public enum ConfigC {
 | 
			
		||||
	/*
 | 
			
		||||
	 * Made by @author Steffion, <20> 2013.
 | 
			
		||||
	 */
 | 
			
		||||
 | 
			
		||||
	chat_tag ("[" + W.pluginName + "] ", W.config),
 | 
			
		||||
	chat_normal ("&b", W.config),
 | 
			
		||||
	chat_warning ("&c", W.config),
 | 
			
		||||
	chat_error ("&c", W.config),
 | 
			
		||||
	chat_arg ("&e", W.config),
 | 
			
		||||
	chat_header ("&9", W.config),
 | 
			
		||||
	chat_headerhigh ("%H_______.[ %A%header%%H ]._______", W.config),
 | 
			
		||||
 | 
			
		||||
	commandEnabled_info (true, W.config),
 | 
			
		||||
	commandEnabled_help (true, W.config),
 | 
			
		||||
	commandEnabled_reload (true, W.config),
 | 
			
		||||
 | 
			
		||||
	log_Enabled ("%N%name%&a&k + %N%version% is now Enabled. Made by %A%autors%%N.",
 | 
			
		||||
			W.messages),
 | 
			
		||||
	log_Disabled ("%N%name%&c&k - %N%version% is now Disabled. Made by %A%autors%%N.",
 | 
			
		||||
			W.messages),
 | 
			
		||||
 | 
			
		||||
	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),
 | 
			
		||||
 | 
			
		||||
	normal_reloadedConfigs ("&aReloaded all configs!", W.messages),
 | 
			
		||||
 | 
			
		||||
	error_noPermission ("%EYou don't have the permissions to do that!",
 | 
			
		||||
			W.messages),
 | 
			
		||||
	error_commandNotEnabled ("%EThis command has been disabled!", W.messages),
 | 
			
		||||
	error_commandNotFound ("%ECouldn't find the command. Try %A/"
 | 
			
		||||
			+ W.pluginName + " help %Efor more info.", W.messages),
 | 
			
		||||
	error_notEnoughArguments ("%EYou're missing arguments, correct syntax: %A/%syntax%",
 | 
			
		||||
			W.messages);
 | 
			
		||||
 | 
			
		||||
	Object value;
 | 
			
		||||
	ConfigM config;
 | 
			
		||||
 | 
			
		||||
	private ConfigC (Object value, ConfigM config) {
 | 
			
		||||
		this.value = value;
 | 
			
		||||
		this.config = config;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public String getLocation() {
 | 
			
		||||
		return this.name().replaceAll("_", ".");
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										103
									
								
								src/nl/Steffion/BlockHunt/Managers/ConfigM.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								src/nl/Steffion/BlockHunt/Managers/ConfigM.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,103 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Managers;
 | 
			
		||||
 | 
			
		||||
import java.io.File;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.configuration.ConfigurationSection;
 | 
			
		||||
import org.bukkit.configuration.file.FileConfiguration;
 | 
			
		||||
import org.bukkit.configuration.file.YamlConfiguration;
 | 
			
		||||
 | 
			
		||||
public class ConfigM {
 | 
			
		||||
	/*
 | 
			
		||||
	 * Made by @author Steffion, <20> 2013.
 | 
			
		||||
	 */
 | 
			
		||||
 | 
			
		||||
	String fileName;
 | 
			
		||||
	File file;
 | 
			
		||||
	FileConfiguration fileC;
 | 
			
		||||
	ConfigurationSection fileCS;
 | 
			
		||||
	String location;
 | 
			
		||||
 | 
			
		||||
	public ConfigM (String fileName, String location) {
 | 
			
		||||
		this.fileName = fileName;
 | 
			
		||||
		this.file = new File("plugins/" + W.pluginName + "/" + location, fileName
 | 
			
		||||
				+ ".yml");
 | 
			
		||||
		this.location = W.pluginName + "/" + location;
 | 
			
		||||
		
 | 
			
		||||
		this.fileC = new YamlConfiguration();
 | 
			
		||||
		this.checkFile();
 | 
			
		||||
		this.fileCS = fileC.getConfigurationSection("");
 | 
			
		||||
		this.load();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Check if file exists, if not create one.
 | 
			
		||||
	 */
 | 
			
		||||
	public void checkFile() {
 | 
			
		||||
		if (!this.file.exists()) {
 | 
			
		||||
			try {
 | 
			
		||||
				this.file.getParentFile().mkdirs();
 | 
			
		||||
				this.file.createNewFile();
 | 
			
		||||
				W.newFiles.add(this.location + this.fileName);
 | 
			
		||||
			} catch (Exception e) {
 | 
			
		||||
				e.printStackTrace();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Save the file.
 | 
			
		||||
	 */
 | 
			
		||||
	public void save() {
 | 
			
		||||
		try {
 | 
			
		||||
			this.fileC.save(this.file);
 | 
			
		||||
		} catch (Exception e) {
 | 
			
		||||
			e.printStackTrace();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Load the file.
 | 
			
		||||
	 */
 | 
			
		||||
	public void load() {
 | 
			
		||||
		this.checkFile();
 | 
			
		||||
		if (this.file.exists()) {
 | 
			
		||||
			try {
 | 
			
		||||
				this.fileC.load(this.file);
 | 
			
		||||
			} catch (Exception e) {
 | 
			
		||||
				e.printStackTrace();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Add variables to the files if they don't exist.
 | 
			
		||||
	 */
 | 
			
		||||
	public static void setDefaults() {
 | 
			
		||||
		for (ConfigC value : ConfigC.values()) {
 | 
			
		||||
			value.config.load();
 | 
			
		||||
			String location = value.getLocation();
 | 
			
		||||
			if (value.config.getFile().get(location) == null) {
 | 
			
		||||
				value.config.getFile().set(location, value.value);
 | 
			
		||||
				value.config.save();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Get the File.
 | 
			
		||||
	 */
 | 
			
		||||
	public FileConfiguration getFile() {
 | 
			
		||||
		return this.fileC;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 * Get object from a Config.
 | 
			
		||||
	 * @param location
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public Object get(ConfigC location) {
 | 
			
		||||
		return this.getFile().get(location.getLocation());
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										69
									
								
								src/nl/Steffion/BlockHunt/Managers/FileM.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								src/nl/Steffion/BlockHunt/Managers/FileM.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,69 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Managers;
 | 
			
		||||
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.FileInputStream;
 | 
			
		||||
import java.io.FileOutputStream;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.OutputStream;
 | 
			
		||||
 | 
			
		||||
public class FileM {
 | 
			
		||||
	/*
 | 
			
		||||
	 * Made by @author Steffion, <20> 2013.
 | 
			
		||||
	 */
 | 
			
		||||
 | 
			
		||||
	public static void copyFolder(File src, File dest) throws IOException {
 | 
			
		||||
		if (src.isDirectory()) {
 | 
			
		||||
			if (!dest.exists()) {
 | 
			
		||||
				dest.mkdir();
 | 
			
		||||
				// Bukkit.broadcastMessage("Directory copied from " + src
 | 
			
		||||
				// + "  to " + dest);
 | 
			
		||||
			}
 | 
			
		||||
			String files[] = src.list();
 | 
			
		||||
 | 
			
		||||
			for (String file : files) {
 | 
			
		||||
				File srcFile = new File(src, file);
 | 
			
		||||
				File destFile = new File(dest, file);
 | 
			
		||||
				copyFolder(srcFile, destFile);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		} else {
 | 
			
		||||
			InputStream in = new FileInputStream(src);
 | 
			
		||||
			OutputStream out = new FileOutputStream(dest);
 | 
			
		||||
 | 
			
		||||
			byte[] buffer = new byte[1024];
 | 
			
		||||
 | 
			
		||||
			int length;
 | 
			
		||||
			while ((length = in.read(buffer)) > 0) {
 | 
			
		||||
				out.write(buffer, 0, length);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			in.close();
 | 
			
		||||
			out.close();
 | 
			
		||||
			// Bukkit.broadcastMessage("File copied from " + src + " to " +
 | 
			
		||||
			// dest);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public static void delete(File file) throws IOException {
 | 
			
		||||
		if (file.isDirectory()) {
 | 
			
		||||
 | 
			
		||||
			if (file.list().length == 0) {
 | 
			
		||||
				file.delete();
 | 
			
		||||
			} else {
 | 
			
		||||
				String files[] = file.list();
 | 
			
		||||
 | 
			
		||||
				for (String temp : files) {
 | 
			
		||||
					File fileDelete = new File(file, temp);
 | 
			
		||||
					delete(fileDelete);
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (file.list().length == 0) {
 | 
			
		||||
					file.delete();
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			file.delete();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										186
									
								
								src/nl/Steffion/BlockHunt/Managers/MessageM.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								src/nl/Steffion/BlockHunt/Managers/MessageM.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,186 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Managers;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
 | 
			
		||||
public class MessageM {
 | 
			
		||||
	/*
 | 
			
		||||
	 * Made by @author Steffion, <20> 2013.
 | 
			
		||||
	 */
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Send a message to a player.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param player
 | 
			
		||||
	 * @param message
 | 
			
		||||
	 * @param tag
 | 
			
		||||
	 * @param vars
 | 
			
		||||
	 */
 | 
			
		||||
	public static void sendMessage(Player player, String message, Boolean tag,
 | 
			
		||||
			String... vars) {
 | 
			
		||||
		if (player == null) {
 | 
			
		||||
			Bukkit.getConsoleSender().sendMessage(
 | 
			
		||||
					MessageM.replaceAll(CType.TAG(tag) + message, vars));
 | 
			
		||||
		} else {
 | 
			
		||||
			player.sendMessage(MessageM.replaceAll(CType.TAG(tag) + message,
 | 
			
		||||
					vars));
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Send a message to a player from a Config.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param player
 | 
			
		||||
	 * @param location
 | 
			
		||||
	 * @param tag
 | 
			
		||||
	 * @param vars
 | 
			
		||||
	 */
 | 
			
		||||
	public static void sendFMessage(Player player, ConfigC location,
 | 
			
		||||
			Boolean tag, String... vars) {
 | 
			
		||||
		if (player == null) {
 | 
			
		||||
			Bukkit.getConsoleSender().sendMessage(
 | 
			
		||||
					MessageM.replaceAll(
 | 
			
		||||
							CType.TAG(tag)
 | 
			
		||||
									+ location.config.getFile().get(
 | 
			
		||||
											location.getLocation()), vars));
 | 
			
		||||
		} else {
 | 
			
		||||
			player.sendMessage(MessageM.replaceAll(CType.TAG(tag)
 | 
			
		||||
					+ location.config.getFile().get(location.getLocation()),
 | 
			
		||||
					vars));
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Sends a message to all online players. Replaces %player% tag to the
 | 
			
		||||
	 * Player's name or "Console".
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param message
 | 
			
		||||
	 * @param tag
 | 
			
		||||
	 * @param vars
 | 
			
		||||
	 */
 | 
			
		||||
	public static void broadcastMessage(String message, Boolean tag,
 | 
			
		||||
			String... vars) {
 | 
			
		||||
		for (Player player : Bukkit.getOnlinePlayers()) {
 | 
			
		||||
			String pMessage = message.replaceAll("%player%", player.getName());
 | 
			
		||||
			player.sendMessage(MessageM.replaceAll(CType.TAG(tag) + pMessage,
 | 
			
		||||
					vars));
 | 
			
		||||
		}
 | 
			
		||||
		message = message.replaceAll("%player%", "Console");
 | 
			
		||||
		Bukkit.getConsoleSender().sendMessage(
 | 
			
		||||
				MessageM.replaceAll(CType.TAG(tag) + message, vars));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Sends a message to all online players from a Config. Replaces %player%
 | 
			
		||||
	 * tag to the Player's name or "Console".
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param location
 | 
			
		||||
	 * @param tag
 | 
			
		||||
	 * @param vars
 | 
			
		||||
	 */
 | 
			
		||||
	public static void broadcastFMessage(ConfigC location, Boolean tag,
 | 
			
		||||
			String... vars) {
 | 
			
		||||
		for (Player player : Bukkit.getOnlinePlayers()) {
 | 
			
		||||
			String pMessage = location.config.getFile()
 | 
			
		||||
					.get(location.getLocation()).toString()
 | 
			
		||||
					.replaceAll("%player%", player.getName());
 | 
			
		||||
			player.sendMessage(MessageM.replaceAll(CType.TAG(tag) + pMessage,
 | 
			
		||||
					vars));
 | 
			
		||||
		}
 | 
			
		||||
		String message = location.config.getFile().get(location.getLocation())
 | 
			
		||||
				.toString().replaceAll("%player%", "Console");
 | 
			
		||||
		Bukkit.getConsoleSender().sendMessage(
 | 
			
		||||
				MessageM.replaceAll(CType.TAG(tag) + message, vars));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Replace all variable codes.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param message
 | 
			
		||||
	 * @param vars
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public static String replaceAll(String message, String... vars) {
 | 
			
		||||
		return MessageM.replaceColours(MessageM.replaceColourVars(MessageM
 | 
			
		||||
				.replaceVars(message, vars)));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Replace all colour codes.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param message
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public static String replaceColours(String message) {
 | 
			
		||||
		return message.replaceAll("(&([a-fk-or0-9]))", "\u00A7$2");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Replace Colour codes from config.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param message
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public static String replaceColourVars(String message) {
 | 
			
		||||
		message = message.replaceAll("%N", CType.NORMAL());
 | 
			
		||||
		message = message.replaceAll("%W", CType.WARNING());
 | 
			
		||||
		message = message.replaceAll("%E", CType.ERROR());
 | 
			
		||||
		message = message.replaceAll("%A", CType.ARG());
 | 
			
		||||
		message = message.replaceAll("%H", CType.HEADER());
 | 
			
		||||
		return message;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Replace all variables.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param message
 | 
			
		||||
	 * @param vars
 | 
			
		||||
	 * @return Replaced String.
 | 
			
		||||
	 */
 | 
			
		||||
	public static String replaceVars(String message, String... vars) {
 | 
			
		||||
		for (String var : vars) {
 | 
			
		||||
			String[] split = var.split("-");
 | 
			
		||||
			message = message.replaceAll("%" + split[0] + "%", split[1]);
 | 
			
		||||
		}
 | 
			
		||||
		return message;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public static class CType {
 | 
			
		||||
 | 
			
		||||
		public static String NORMAL() {
 | 
			
		||||
			return (String) W.config.get(ConfigC.chat_normal);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static String WARNING() {
 | 
			
		||||
			return (String) W.config.get(ConfigC.chat_warning);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static String ERROR() {
 | 
			
		||||
			return (String) W.config.get(ConfigC.chat_error);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static String ARG() {
 | 
			
		||||
			return (String) W.config.get(ConfigC.chat_arg);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static String HEADER() {
 | 
			
		||||
			return (String) W.config.get(ConfigC.chat_header);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static String TAG() {
 | 
			
		||||
			return (String) W.config.get(ConfigC.chat_header)
 | 
			
		||||
					+ (String) W.config.get(ConfigC.chat_tag);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static String TAG(Boolean enabled) {
 | 
			
		||||
			if (enabled) {
 | 
			
		||||
				return (String) W.config.get(ConfigC.chat_header)
 | 
			
		||||
						+ (String) W.config.get(ConfigC.chat_tag);
 | 
			
		||||
			} else {
 | 
			
		||||
				return "";
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										132
									
								
								src/nl/Steffion/BlockHunt/Managers/PlayerM.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								src/nl/Steffion/BlockHunt/Managers/PlayerM.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,132 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Managers;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.W;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
 | 
			
		||||
public class PlayerM {
 | 
			
		||||
	/*
 | 
			
		||||
	 * Made by @author Steffion, <20> 2013.
 | 
			
		||||
	 */
 | 
			
		||||
 | 
			
		||||
	public static String main = W.pluginMainPermission;
 | 
			
		||||
 | 
			
		||||
	public enum PType {
 | 
			
		||||
		ALL, PLAYER, MODERATOR, ADMIN, OP;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public enum PermsC {
 | 
			
		||||
		info (main + "info", PType.ALL),
 | 
			
		||||
		help (main + "help", PType.ALL),
 | 
			
		||||
		reload (main + "reload", PType.MODERATOR);
 | 
			
		||||
 | 
			
		||||
		public String perm;
 | 
			
		||||
		public PType type;
 | 
			
		||||
 | 
			
		||||
		private PermsC (String perm, PType type) {
 | 
			
		||||
			this.perm = perm;
 | 
			
		||||
			this.type = type;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Check if the player has a permission.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param player
 | 
			
		||||
	 * @param perm
 | 
			
		||||
	 * @param message
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public static boolean hasPerm(Player player, PermsC perm, Boolean message) {
 | 
			
		||||
		PType type = perm.type;
 | 
			
		||||
		if (player == null) {
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (type == PType.ALL) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else if (type == PType.OP) {
 | 
			
		||||
			if (player.isOp()) {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		} else if (type == PType.ADMIN) {
 | 
			
		||||
			if (player.hasPermission(main + "admin")) {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		} else if (type == PType.MODERATOR) {
 | 
			
		||||
			if (player.hasPermission(main + "moderator")) {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		} else if (type == PType.PLAYER) {
 | 
			
		||||
			if (player.hasPermission(main + "player")) {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (player.hasPermission("*")) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else if (player.hasPermission(main + "*")) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else if (player.hasPermission(main + perm)) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else if (player.hasPermission(main + perm + "*")) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else {
 | 
			
		||||
			if (message) {
 | 
			
		||||
				MessageM.sendFMessage(player, ConfigC.error_noPermission, true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Check if the player has a permission.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param player
 | 
			
		||||
	 * @param perm
 | 
			
		||||
	 * @param type
 | 
			
		||||
	 * @param message
 | 
			
		||||
	 * @return
 | 
			
		||||
	 */
 | 
			
		||||
	public static boolean hasPermRaw(Player player, String perm, PType type,
 | 
			
		||||
			Boolean message) {
 | 
			
		||||
		if (player == null) {
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (type == PType.ALL) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else if (type == PType.OP) {
 | 
			
		||||
			if (player.isOp()) {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		} else if (type == PType.ADMIN) {
 | 
			
		||||
			if (player.hasPermission(main + "admin")) {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		} else if (type == PType.MODERATOR) {
 | 
			
		||||
			if (player.hasPermission(main + "moderator")) {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		} else if (type == PType.PLAYER) {
 | 
			
		||||
			if (player.hasPermission(main + "player")) {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (player.hasPermission("*")) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else if (player.hasPermission(main + "*")) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else if (player.hasPermission(main + perm)) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else if (player.hasPermission(main + perm + "*")) {
 | 
			
		||||
			return true;
 | 
			
		||||
		} else {
 | 
			
		||||
			if (message) {
 | 
			
		||||
				MessageM.sendFMessage(player, ConfigC.error_noPermission, true);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,67 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Serializables;
 | 
			
		||||
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.World;
 | 
			
		||||
import org.bukkit.configuration.serialization.ConfigurationSerializable;
 | 
			
		||||
import org.bukkit.configuration.serialization.SerializableAs;
 | 
			
		||||
 | 
			
		||||
@SerializableAs("Location")
 | 
			
		||||
public class LocationSerializable extends Location implements
 | 
			
		||||
		ConfigurationSerializable {
 | 
			
		||||
	public LocationSerializable (World world, double x, double y, double z,
 | 
			
		||||
			float yaw, float pitch) {
 | 
			
		||||
		super(world, x, y, z, yaw, pitch);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public LocationSerializable (Location loc) {
 | 
			
		||||
		super(loc.getWorld(), loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(),
 | 
			
		||||
				loc.getPitch());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean equals(Object o) {
 | 
			
		||||
		if (o instanceof LocationSerializable || o instanceof Location) {
 | 
			
		||||
			Location loc = (Location) o;
 | 
			
		||||
			return loc.getWorld().getName().equals(getWorld().getName())
 | 
			
		||||
					&& loc.getX() == getX() && loc.getY() == getY()
 | 
			
		||||
					&& loc.getZ() == getZ() && loc.getYaw() == getYaw()
 | 
			
		||||
					&& loc.getPitch() == getPitch();
 | 
			
		||||
		}
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public Map<String, Object> serialize() {
 | 
			
		||||
		Map<String, Object> map = new HashMap<String, Object>();
 | 
			
		||||
		map.put("w", getWorld().getName());
 | 
			
		||||
		map.put("x", getX());
 | 
			
		||||
		map.put("y", getY());
 | 
			
		||||
		map.put("z", getZ());
 | 
			
		||||
		if (getYaw() != 0D)
 | 
			
		||||
			map.put("a", getYaw());
 | 
			
		||||
		if (getPitch() != 0D)
 | 
			
		||||
			map.put("p", getPitch());
 | 
			
		||||
		return map;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public static LocationSerializable deserialize(Map<String, Object> map) {
 | 
			
		||||
		World w = Bukkit.getWorld((String) M.g(map, "w", ""));
 | 
			
		||||
		if (w == null) {
 | 
			
		||||
			MessageM.sendMessage(
 | 
			
		||||
					null,
 | 
			
		||||
					"%EError deserializing LocationSerializable - world not found!",
 | 
			
		||||
					true);
 | 
			
		||||
			return null;
 | 
			
		||||
		}
 | 
			
		||||
		return new LocationSerializable(w, (Double) M.g(map, "x", 0D),
 | 
			
		||||
				(Double) M.g(map, "y", 0D), (Double) M.g(map, "z", 0D),
 | 
			
		||||
				((Double) M.g(map, "a", 0D)).floatValue(), ((Double) M.g(map,
 | 
			
		||||
						"p", 0D)).floatValue());
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								src/nl/Steffion/BlockHunt/Serializables/M.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/nl/Steffion/BlockHunt/Serializables/M.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
package nl.Steffion.BlockHunt.Serializables;
 | 
			
		||||
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
public class M {
 | 
			
		||||
	public static Object g(Map<String, Object> map, String key, Object def) {
 | 
			
		||||
		return (map.containsKey(key) ? map.get(key) : def);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										32
									
								
								src/nl/Steffion/BlockHunt/W.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/nl/Steffion/BlockHunt/W.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
package nl.Steffion.BlockHunt;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.ConfigM;
 | 
			
		||||
import nl.Steffion.BlockHunt.Managers.MessageM;
 | 
			
		||||
 | 
			
		||||
public class W {
 | 
			
		||||
	/*
 | 
			
		||||
	 * Made by @author Steffion, <20> 2013.
 | 
			
		||||
	 */
 | 
			
		||||
 | 
			
		||||
	public static String pluginName = "BlockHunt";
 | 
			
		||||
	public static String pluginVersion = "v1.0.0";
 | 
			
		||||
	public static String engineVersion = "v1.1.0";
 | 
			
		||||
	public static String pluginAutors = "Steffion";
 | 
			
		||||
	public static String pluginMainPermission = pluginName + ".";
 | 
			
		||||
 | 
			
		||||
	public static ArrayList<String> newFiles = new ArrayList<String>();
 | 
			
		||||
	public static ConfigM config = new ConfigM("config", "");
 | 
			
		||||
	public static ConfigM messages = new ConfigM("messages", "");
 | 
			
		||||
 | 
			
		||||
	public static void newFiles() {
 | 
			
		||||
		ConfigM.setDefaults();
 | 
			
		||||
		for (String Filename : newFiles) {
 | 
			
		||||
			MessageM.sendMessage(null,
 | 
			
		||||
					"%WCouldn't find '%A%Filename%.yml%W' creating new one.",
 | 
			
		||||
					true, "Filename-" + Filename);
 | 
			
		||||
		}
 | 
			
		||||
		newFiles.clear();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								src/plugin.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/plugin.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
name: BlockHunt
 | 
			
		||||
main: nl.Steffion.BlockHunt.BlockHunt
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
authors:
 | 
			
		||||
  - Steffion
 | 
			
		||||
description: Description here.
 | 
			
		||||
commands:
 | 
			
		||||
  BlockHunt:
 | 
			
		||||
    usage: /<command>
 | 
			
		||||
    description: N/A
 | 
			
		||||
    aliases:
 | 
			
		||||
        - bh
 | 
			
		||||
        - hideandseek
 | 
			
		||||
        - hs
 | 
			
		||||
		Reference in New Issue
	
	Block a user