diff --git a/src/alisolarflare/links/AliLinkSubPlug.java b/src/alisolarflare/links/AliLinkSubPlug.java
index 08be881..f5e2843 100644
--- a/src/alisolarflare/links/AliLinkSubPlug.java
+++ b/src/alisolarflare/links/AliLinkSubPlug.java
@@ -1,36 +1,32 @@
-package alisolarflare.links;
-import java.util.ArrayList;
-import java.util.List;
-
-import alisolarflare.AliPresents;
-import alisolarflare.links.commands.PressAliLink;
-import alisolarflare.links.commands.SetAliLink;
-import alisolarflare.links.entities.Link;
-
-public class AliLinkSubPlug{
- public List linkList = new ArrayList();
- public AliPresents plugin;
-
- @SuppressWarnings("unchecked")
- public AliLinkSubPlug(AliPresents plugin){
- this.plugin = plugin;
- linkList = (List) plugin.getConfig().getList("aliLinkList");
- if(linkList == null || linkList.isEmpty()){
- linkList = new ArrayList();
- }
-
- }
- public void register(){
- plugin.getCommand("pressalilink").setExecutor(new PressAliLink(this));
- plugin.getCommand("setalilink").setExecutor(new SetAliLink(this));
-
- }
- public void saveLinkList(){
- plugin.getConfig().set("aliLinkList", linkList);
- }
- @SuppressWarnings("unchecked")
- public List loadLinkList(){
- return (List) plugin.getConfig().getList("aliLinkList");
- }
-
-}
+package alisolarflare.links;
+import java.util.List;
+
+import alisolarflare.AliPresents;
+import alisolarflare.links.commands.PressAliLink;
+import alisolarflare.links.commands.SetAliLink;
+import alisolarflare.links.entities.Link;
+
+public class AliLinkSubPlug{
+ public AliPresents plugin;
+ private SetAliLink setAliLink;
+
+ public AliLinkSubPlug(AliPresents plugin){
+ this.plugin = plugin;
+
+
+ }
+ public void register(){
+ setAliLink = new SetAliLink(this.plugin);
+ plugin.getCommand("setalilink").setExecutor(setAliLink);
+ plugin.getCommand("pressalilink").setExecutor(new PressAliLink(this, setAliLink));
+
+ }
+ public void saveLinkList(){
+ plugin.getConfig().set("aliLinkList", setAliLink.linkList);
+ }
+ @SuppressWarnings("unchecked")
+ public List loadLinkList(){
+ return (List) plugin.getConfig().getList("aliLinkList");
+ }
+
+}
diff --git a/src/alisolarflare/links/commands/PressAliLink.java b/src/alisolarflare/links/commands/PressAliLink.java
index ba39b6e..de76443 100644
--- a/src/alisolarflare/links/commands/PressAliLink.java
+++ b/src/alisolarflare/links/commands/PressAliLink.java
@@ -1,34 +1,36 @@
-package alisolarflare.links.commands;
-
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-
-import alisolarflare.links.AliLinkSubPlug;
-import alisolarflare.links.entities.Link;
-
-public class PressAliLink implements CommandExecutor{
- private AliLinkSubPlug subplugin;
- public PressAliLink(AliLinkSubPlug subplugin){
- this.subplugin = subplugin;
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
-
- subplugin.plugin.getServer().broadcastMessage(subplugin.linkList.toString() + "over.");
-
- if (args.length < 1){
- sender.sendMessage("You must specify a link frequency");
- sender.sendMessage("/pressalilink [frequency]");
- }
- for (Link link: subplugin.linkList){
- for (String inputlink: args){
- if(inputlink.equals(link.frequency)){
- link.press(subplugin);
- }
- }
- }
- return false;
- }
-
-}
+package alisolarflare.links.commands;
+
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+
+import alisolarflare.links.AliLinkSubPlug;
+import alisolarflare.links.entities.Link;
+
+public class PressAliLink implements CommandExecutor{
+ private AliLinkSubPlug subplugin;
+ private SetAliLink setAliLink;
+ public PressAliLink(AliLinkSubPlug subplugin, SetAliLink setAliLink){
+ this.subplugin = subplugin;
+ this.setAliLink = setAliLink;
+ }
+ @Override
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
+
+ subplugin.plugin.getServer().broadcastMessage(setAliLink.linkList.toString() + "over.");
+
+ if (args.length < 1){
+ sender.sendMessage("You must specify a link frequency");
+ sender.sendMessage("/pressalilink [frequency]");
+ }
+ for (Link link: setAliLink.linkList){
+ for (String inputlink: args){
+ if(inputlink.equals(link.frequency)){
+ link.press(subplugin);
+ }
+ }
+ }
+ return false;
+ }
+
+}
diff --git a/src/alisolarflare/links/commands/SetAliLink.java b/src/alisolarflare/links/commands/SetAliLink.java
index 1df6d82..5fd5fa7 100644
--- a/src/alisolarflare/links/commands/SetAliLink.java
+++ b/src/alisolarflare/links/commands/SetAliLink.java
@@ -1,71 +1,124 @@
-package alisolarflare.links.commands;
-
-
-import org.apache.commons.lang3.StringUtils;
-import org.bukkit.Location;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-import alisolarflare.links.AliLinkSubPlug;
-import alisolarflare.links.entities.Link;
-
-public class SetAliLink implements CommandExecutor{
- AliLinkSubPlug subplugin;
- public SetAliLink(AliLinkSubPlug plugin){
- this.subplugin = plugin;
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- sender.sendMessage("you pressed shit");
- if (args == null || args.length < 1){
- sender.sendMessage("You must specify a link frequency");
- sender.sendMessage("/pressalilink [name]");
- return false;
- }
- if (!(sender instanceof Player)){
- sender.sendMessage("You must be a player to use this command!");
- }
- Player player = (Player) sender;
- if (args.length < 4){
- player.sendMessage("short");
- subplugin.linkList.add(new Link(args[0], player.getLocation()));
- save(player);
- player.sendMessage("end");
- return false;
- }
- if (StringUtils.isNumericSpace(args[1]) && StringUtils.isNumericSpace(args[2]) && StringUtils.isNumericSpace(args[3])){
- player.sendMessage("CUUUSTOM");
- subplugin.linkList.add(new Link(args[0],new Location(player.getWorld(), Double.parseDouble(args[1]), Double.parseDouble(args[2]), Double.parseDouble(args[3]))));
- save(player);
- player.sendMessage("FINISHED");
- }else{
- player.sendMessage("UNCUSTOOM");
- subplugin.linkList.add(new Link(args[0], player.getLocation()));
- save(player);
- player.sendMessage("UNFINISHED");
- return false;
- }
- return false;
- }
- private void save(Player player){
- player.sendMessage("SAAAVING");
- player.sendMessage("SAVE FAILED: TELL ALI TO FIX THE SAVE AND UN-COMMENT THE PARAGRAPH SHE COMMENTED");
- player.sendMessage("Link will only last until next server restart");
- return;
- /*
- subplugin.plugin.getConfig().set("aliLinkList", subplugin.linkList);
- try {
- player.sendMessage("SAVIN");
- subplugin.plugin.saveConfig();
- player.sendMessage("GOOD SAVE");
- } catch (Exception e) {
- player.sendMessage("YOU FUCKED STUFF UP");
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- */
- }
-
-}
+package alisolarflare.links.commands;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.lang3.StringUtils;
+import org.bukkit.Location;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+import alisolarflare.AliPresents;
+import alisolarflare.links.AliLinkSubPlug;
+import alisolarflare.links.entities.Link;
+
+/**
+ * This class manages the command /SetAliLink [x] [y] [z]. This command creates an Ali-Link,
+ * a location in a world that when called on by {@link Class#PressAliLink}, creates a temporary redstone block,
+ * enabling wireless redstone
+ *
+ * @see Class#PressAliLink
+ * @author Alisolarflare
+ *
+ */
+public class SetAliLink implements CommandExecutor{
+ public List linkList = new ArrayList();
+ AliLinkSubPlug subplugin;
+ private AliPresents plugin;
+
+ /**
+ * Constructs the SetAliLink class
+ * @param plugin The plugin that contains the configuration file of AliPresents
+ */
+ public SetAliLink(AliPresents plugin){
+ this.plugin = plugin;
+ load();
+ }
+ /**
+ * This command creates an Ali-Link which, when activated by the command /PressAliLink,
+ * creates a temporary redstone block if and only if /PressAliLink [frequency] matches the frequency
+ * saved when /SetAliLink [frequency] is called.
+ *
+ * @see Class#PressAliLink
+ * @param sender Player who sent the command
+ * @param command Command Object created
+ * @param label Name of the command
+ * @param args Arguments: [frequency] [x-coordinate] [y-coordinate] [z-coordinate], where the coordinates point
+ * to the intended location of the Ali-Link
+ */
+ @Override
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
+ sender.sendMessage("you pressed shit");
+ if (args == null || args.length < 1){
+ sender.sendMessage("You must specify a link frequency");
+ sender.sendMessage("/pressalilink [name]");
+ return false;
+ }
+ if (!(sender instanceof Player)){
+ sender.sendMessage("You must be a player to use this command!");
+ }
+ Player player = (Player) sender;
+ if (args.length < 4){
+ player.sendMessage("short");
+ linkList.add(new Link(args[0], player.getLocation()));
+ save(player);
+ player.sendMessage("end");
+ return false;
+ }
+ if (StringUtils.isNumericSpace(args[1]) && StringUtils.isNumericSpace(args[2]) && StringUtils.isNumericSpace(args[3])){
+ player.sendMessage("CUUUSTOM");
+ linkList.add(new Link(args[0],new Location(player.getWorld(), Double.parseDouble(args[1]), Double.parseDouble(args[2]), Double.parseDouble(args[3]))));
+ save(player);
+ player.sendMessage("FINISHED");
+ }else{
+ player.sendMessage("UNCUSTOOM");
+ linkList.add(new Link(args[0], player.getLocation()));
+ save(player);
+ player.sendMessage("UNFINISHED");
+ return false;
+ }
+ return false;
+ }
+ /**
+ * Tries to save the entire SetAliLink class into memory, which includes
+ * all of the current Ali-links saved and in use.
+ * @param player
+ */
+ private void save(Player player){
+ player.sendMessage("SAAAVING");
+ player.sendMessage("SAVE FAILED: TELL ALI TO FIX THE SAVE AND UN-COMMENT THE PARAGRAPH SHE COMMENTED");
+ player.sendMessage("Link will only last until next server restart");
+ return;
+ /*
+ subplugin.plugin.getConfig().set("aliLinkList", subplugin.linkList);
+ try {
+ player.sendMessage("SAVIN");
+ subplugin.plugin.saveConfig();
+ player.sendMessage("GOOD SAVE");
+ } catch (Exception e) {
+ player.sendMessage("YOU FUCKED STUFF UP");
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ */
+ }
+ /**
+ * Attempts to load the previous saved state of AliLinks, from the plugin
+ * configuration file
+ */
+ @SuppressWarnings("unchecked")
+ private void load(){
+ try{
+ linkList = (List) plugin.getConfig().getList("aliLinkList");
+ if(linkList == null || linkList.isEmpty()){
+ linkList = new ArrayList();
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/src/alisolarflare/shulker/AliShulker.java b/src/alisolarflare/shulker/AliShulker.java
index 5e8ee83..6f503a9 100644
--- a/src/alisolarflare/shulker/AliShulker.java
+++ b/src/alisolarflare/shulker/AliShulker.java
@@ -1,39 +1,47 @@
-package alisolarflare.shulker;
-
-import org.bukkit.Location;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.Player;
-import org.bukkit.entity.Shulker;
-import org.bukkit.potion.PotionEffect;
-import org.bukkit.potion.PotionEffectType;
-
-public class AliShulker implements CommandExecutor {
-
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- if (!(sender instanceof Player)){
- sender.sendMessage("You must be a player to use this command!");
- return false;
- }
- Player player = (Player) sender;
- if(!(player.getName().equals("iie"))){
- return false;
- }
- Location location = player.getLocation();
- Entity entity = player.getWorld().spawnEntity(location, EntityType.SHULKER);
- Shulker shulker = (Shulker) entity;
- shulker.setHealth(10);
-
- shulker.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 1728000, 5, false));
- shulker.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 1728000, 5, false));
- shulker.setAI(false);
- shulker.setGlowing(true);
-
- return false;
- }
-
-}
+package alisolarflare.shulker;
+
+import org.bukkit.Location;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Player;
+import org.bukkit.entity.Shulker;
+import org.bukkit.potion.PotionEffect;
+import org.bukkit.potion.PotionEffectType;
+/**
+ * @author Alisolarflare
+ * This class is responsible for the command /aliShulker, which in-game spawns
+ * a shulker that:
+ * Has a health of 10
+ * Has a wither and invisibility effect present
+ * Has noAI
+ * And is Glowing
+ */
+public class AliShulker implements CommandExecutor {
+
+ @Override
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
+ if (!(sender instanceof Player)){
+ sender.sendMessage("You must be a player to use this command!");
+ return false;
+ }
+ Player player = (Player) sender;
+ if(!(player.getName().equals("iie") || player.getName().equals("alisolarflare"))){
+ return false;
+ }
+ Location location = player.getLocation();
+ Entity entity = player.getWorld().spawnEntity(location, EntityType.SHULKER);
+ Shulker shulker = (Shulker) entity;
+ shulker.setHealth(10);
+
+ shulker.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 1728000, 5, false));
+ shulker.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 1728000, 5, false));
+ shulker.setAI(false);
+ shulker.setGlowing(true);
+
+ return false;
+ }
+
+}
diff --git a/src/alisolarflare/uhc/UHCMatch.java b/src/alisolarflare/uhc/UHCMatch.java
index 3eff51d..f4e6ccc 100644
--- a/src/alisolarflare/uhc/UHCMatch.java
+++ b/src/alisolarflare/uhc/UHCMatch.java
@@ -13,20 +13,43 @@ import org.bukkit.entity.Player;
public class UHCMatch {
private List matchPlayerUsernames = new ArrayList();
+ /**
+ * Adds a player to an Ultrahardcore match, storing their name
+ * @param playername player.getName();
+ */
public void addPlayerToMatch(String playername){
- matchPlayerUsernames.add(playername);
- }
- public void addPlayerToMatch(Player player){
- matchPlayerUsernames.add(player.toString());
- }
- public void removePlayerFromMatch(Player player){
- if (matchPlayerUsernames.contains(player)){
- matchPlayerUsernames.remove(player.toString());
+ if (!(matchPlayerUsernames.contains(playername))){
+ matchPlayerUsernames.add(playername);
}
}
+ /**
+ * Adds a player to an Ultrahardcore match, storing their name
+ * @param player Player to be added
+ */
+ public void addPlayerToMatch(Player player){
+ if (!(matchPlayerUsernames.contains(player.getName()))){
+ matchPlayerUsernames.add(player.getName());
+ }
+ }
+ /**
+ * Removes a player from an Ultrahardcore match, removing their username from the list
+ * @param player
+ */
+ public void removePlayerFromMatch(Player player){
+ if (matchPlayerUsernames.contains(player)){
+ matchPlayerUsernames.remove(player.getName());
+ }
+ }
+
+ /**
+ * Removes all players from the match
+ */
public void removeAllPlayersFromMatch(){
matchPlayerUsernames.clear();
}
+ /**
+ * Fully de-loads and clears out this match, reverting all values to the initialized setting
+ */
public void endMatch(){
matchPlayerUsernames.clear();
}