debugMessagesToSend = new ArrayList<>();
/**
* Send exception to the {@link TBMCExceptionEvent}.
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/TBMCDebugMessageEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/TBMCDebugMessageEvent.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/TBMCExceptionEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/TBMCExceptionEvent.java
old mode 100644
new mode 100755
index 7bb0e05..9cf6b3e
--- a/ButtonCore/src/main/java/buttondevteam/lib/TBMCExceptionEvent.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/TBMCExceptionEvent.java
@@ -1,10 +1,9 @@
package buttondevteam.lib;
-import org.bukkit.event.Event;
-import org.bukkit.event.HandlerList;
-
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+import org.bukkit.event.Event;
+import org.bukkit.event.HandlerList;
/**
*
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/TBMCSystemChatEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/TBMCSystemChatEvent.java
old mode 100644
new mode 100755
index c0fce47..81d82d4
--- a/ButtonCore/src/main/java/buttondevteam/lib/TBMCSystemChatEvent.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/TBMCSystemChatEvent.java
@@ -1,10 +1,9 @@
package buttondevteam.lib;
-import org.bukkit.command.CommandSender;
-import org.bukkit.event.HandlerList;
-
import buttondevteam.lib.chat.Channel;
import lombok.Getter;
+import org.bukkit.command.CommandSender;
+import org.bukkit.event.HandlerList;
/**
* Make sure to only send the message to users who {@link #shouldSendTo(CommandSender)} returns true.
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/Channel.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/Channel.java
old mode 100644
new mode 100755
index 6c3a353..181d820
--- a/ButtonCore/src/main/java/buttondevteam/lib/chat/Channel.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/Channel.java
@@ -1,5 +1,11 @@
package buttondevteam.lib.chat;
+import buttondevteam.core.MainPlugin;
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.function.BiFunction;
@@ -7,119 +13,107 @@ import java.util.function.BiPredicate;
import java.util.function.Function;
import java.util.function.Predicate;
-import org.bukkit.Bukkit;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-import buttondevteam.core.MainPlugin;
-
public class Channel {
- public final String DisplayName;
- public final Color color;
- public final String ID;
- /**
- * Filters both the sender and the targets
- */
- public final Function filteranderrormsg;
+ public final String DisplayName;
+ public final Color color;
+ public final String ID;
+ @Nullable
+ public String[] IDs;
+ /**
+ * Filters both the sender and the targets
+ */
+ public final Function filteranderrormsg;
- private static List channels = new ArrayList<>();
+ private static List channels = new ArrayList<>();
- /**
- * Creates a channel.
- *
- * @param displayname
- * The name that should appear at the start of the message. A chat color is expected at the beginning (§9).
- * @param color
- * The default color of the messages sent in the channel
- * @param command
- * The command to be used for the channel without /. For example "mod". It's also used for scoreboard objective names.
- * @param filteranderrormsg
- * Checks all senders against the criteria provided here and sends the message if the index matches the sender's - if no score at all, displays the error.
- * May be null to send to everyone.
- */
- public Channel(String displayname, Color color, String command,
- Function filteranderrormsg) {
- DisplayName = displayname;
- this.color = color;
- ID = command;
- this.filteranderrormsg = filteranderrormsg;
- }
+ /**
+ * Creates a channel.
+ *
+ * @param displayname The name that should appear at the start of the message. A chat color is expected at the beginning (§9).
+ * @param color The default color of the messages sent in the channel
+ * @param command The command to be used for the channel without /. For example "mod". It's also used for scoreboard objective names.
+ * @param filteranderrormsg Checks all senders against the criteria provided here and sends the message if the index matches the sender's - if no score at all, displays the error.
+ * May be null to send to everyone.
+ */
+ public Channel(String displayname, Color color, String command,
+ Function filteranderrormsg) {
+ DisplayName = displayname;
+ this.color = color;
+ ID = command;
+ this.filteranderrormsg = filteranderrormsg;
+ }
- /**
- * Must be only called from a subclass - otherwise it'll throw an exception.
- *
- * @see Channel#Channel(String, Color, String, Function)
- */
- @SuppressWarnings("unchecked")
- protected Channel(String displayname, Color color, String command,
- BiFunction filteranderrormsg) {
- DisplayName = displayname;
- this.color = color;
- ID = command;
- this.filteranderrormsg = s -> filteranderrormsg.apply((T) this, s);
- }
+ /**
+ * Must be only called from a subclass - otherwise it'll throw an exception.
+ *
+ * @see Channel#Channel(String, Color, String, Function)
+ */
+ @SuppressWarnings("unchecked")
+ protected Channel(String displayname, Color color, String command,
+ BiFunction filteranderrormsg) {
+ DisplayName = displayname;
+ this.color = color;
+ ID = command;
+ this.filteranderrormsg = s -> filteranderrormsg.apply((T) this, s);
+ }
- public static List getChannels() {
- return channels;
- }
+ public static List getChannels() {
+ return channels;
+ }
- /**
- * Convenience method for the function parameter of {@link #Channel(String, Color, String, Function)}. It checks if the sender is OP or optionally has the specified group. The error message is
- * generated automatically.
- *
- * @param permgroup
- * The group that can access the channel or null to only allow OPs.
- * @return
- */
- public static Function inGroupFilter(String permgroup) {
- return noScoreResult(
- s -> s.isOp() || (permgroup != null
- ? s instanceof Player && MainPlugin.permission.playerInGroup((Player) s, permgroup) : false),
- "You need to be a(n) " + (permgroup != null ? permgroup : "OP") + " to use this channel.");
- }
+ /**
+ * Convenience method for the function parameter of {@link #Channel(String, Color, String, Function)}. It checks if the sender is OP or optionally has the specified group. The error message is
+ * generated automatically.
+ *
+ * @param permgroup The group that can access the channel or null to only allow OPs.
+ * @return
+ */
+ public static Function inGroupFilter(String permgroup) {
+ return noScoreResult(
+ s -> s.isOp() || (permgroup != null
+ ? s instanceof Player && MainPlugin.permission.playerInGroup((Player) s, permgroup) : false),
+ "You need to be a(n) " + (permgroup != null ? permgroup : "OP") + " to use this channel.");
+ }
- public static Function noScoreResult(Predicate filter,
- String errormsg) {
- return s -> filter.test(s) ? new RecipientTestResult(0) : new RecipientTestResult(errormsg);
- }
+ public static Function noScoreResult(Predicate filter,
+ String errormsg) {
+ return s -> filter.test(s) ? new RecipientTestResult(0) : new RecipientTestResult(errormsg);
+ }
- public static BiFunction noScoreResult(
- BiPredicate filter, String errormsg) {
- return (this_, s) -> filter.test(this_, s) ? new RecipientTestResult(0) : new RecipientTestResult(errormsg);
- }
+ public static BiFunction noScoreResult(
+ BiPredicate filter, String errormsg) {
+ return (this_, s) -> filter.test(this_, s) ? new RecipientTestResult(0) : new RecipientTestResult(errormsg);
+ }
- public static Channel GlobalChat;
- public static Channel AdminChat;
- public static Channel ModChat;
+ public static Channel GlobalChat;
+ public static Channel AdminChat;
+ public static Channel ModChat;
- static void RegisterChannel(Channel channel) {
- channels.add(channel);
- Bukkit.getScheduler().runTask(MainPlugin.Instance,
- () -> Bukkit.getPluginManager().callEvent(new ChatChannelRegisterEvent(channel))); // Wait for server start
- }
+ static void RegisterChannel(Channel channel) {
+ channels.add(channel);
+ Bukkit.getScheduler().runTask(Bukkit.getPluginManager().callEvent(new ChatChannelRegisterEvent(channel))); // Wait for server start
+ }
- public static class RecipientTestResult {
- public String errormessage = null;
- public int score = -1; // Anything below 0 is "never send"
+ public static class RecipientTestResult {
+ public String errormessage = null;
+ public int score = -1; // Anything below 0 is "never send"
- /**
- * Creates a result that indicates an error
- *
- * @param errormessage
- * The error message to show the sender if they don't meet the criteria.
- */
- public RecipientTestResult(String errormessage) {
- this.errormessage = errormessage;
- }
+ /**
+ * Creates a result that indicates an error
+ *
+ * @param errormessage The error message to show the sender if they don't meet the criteria.
+ */
+ public RecipientTestResult(String errormessage) {
+ this.errormessage = errormessage;
+ }
- /**
- * Creates a result that indicates a success
- *
- * @param score
- * The score that identifies the target group. For example, the index of the town or nation to send to.
- */
- public RecipientTestResult(int score) {
- this.score = score;
- }
- }
+ /**
+ * Creates a result that indicates a success
+ *
+ * @param score The score that identifies the target group. For example, the index of the town or nation to send to.
+ */
+ public RecipientTestResult(int score) {
+ this.score = score;
+ }
+ }
}
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatChannelRegisterEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatChannelRegisterEvent.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatRoom.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatRoom.java
old mode 100644
new mode 100755
index 6a735e7..f037936
--- a/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatRoom.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatRoom.java
@@ -1,8 +1,9 @@
package buttondevteam.lib.chat;
+import org.bukkit.command.CommandSender;
+
import java.util.ArrayList;
import java.util.List;
-import org.bukkit.command.CommandSender;
public class ChatRoom extends Channel {
private List usersInRoom = new ArrayList<>();
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/Color.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/Color.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/CommandClass.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/CommandClass.java
old mode 100644
new mode 100755
index 74e70d7..6e0206c
--- a/ButtonCore/src/main/java/buttondevteam/lib/chat/CommandClass.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/CommandClass.java
@@ -1,10 +1,6 @@
package buttondevteam.lib.chat;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.lang.annotation.*;
/**
* Abstract classes with no {@link CommandClass} annotations will be ignored. Classes that are not abstract or have the annotation will be included in the command path unless
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/IDiscordSender.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/IDiscordSender.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/OptionallyPlayerCommandBase.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/OptionallyPlayerCommandBase.java
old mode 100644
new mode 100755
index 889cf76..d5095ee
--- a/ButtonCore/src/main/java/buttondevteam/lib/chat/OptionallyPlayerCommandBase.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/OptionallyPlayerCommandBase.java
@@ -1,10 +1,9 @@
package buttondevteam.lib.chat;
+import buttondevteam.lib.TBMCCoreAPI;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import buttondevteam.lib.TBMCCoreAPI;
-
public abstract class OptionallyPlayerCommandBase extends TBMCCommandBase {
public boolean OnCommand(Player player, String alias, String[] args) {
if (getClass().isAnnotationPresent(OptionallyPlayerCommandClass.class)
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/OptionallyPlayerCommandClass.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/OptionallyPlayerCommandClass.java
old mode 100644
new mode 100755
index 6cfd977..88418c7
--- a/ButtonCore/src/main/java/buttondevteam/lib/chat/OptionallyPlayerCommandClass.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/OptionallyPlayerCommandClass.java
@@ -1,10 +1,6 @@
package buttondevteam.lib.chat;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.lang.annotation.*;
/**
* Only needed to use with {@link OptionallyPlayerCommandBase} command classes
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/PlayerCommandBase.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/PlayerCommandBase.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/Priority.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/Priority.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCChatAPI.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCChatAPI.java
old mode 100644
new mode 100755
index c537b63..118b0e2
--- a/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCChatAPI.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCChatAPI.java
@@ -1,13 +1,12 @@
package buttondevteam.lib.chat;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.function.Consumer;
-
+import buttondevteam.core.CommandCaller;
+import buttondevteam.core.MainPlugin;
+import buttondevteam.lib.TBMCChatEvent;
+import buttondevteam.lib.TBMCChatPreprocessEvent;
+import buttondevteam.lib.TBMCCoreAPI;
+import buttondevteam.lib.TBMCSystemChatEvent;
+import buttondevteam.lib.chat.Channel.RecipientTestResult;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -17,13 +16,13 @@ import org.reflections.scanners.SubTypesScanner;
import org.reflections.util.ClasspathHelper;
import org.reflections.util.ConfigurationBuilder;
-import buttondevteam.core.CommandCaller;
-import buttondevteam.core.MainPlugin;
-import buttondevteam.lib.TBMCChatEvent;
-import buttondevteam.lib.TBMCChatPreprocessEvent;
-import buttondevteam.lib.TBMCCoreAPI;
-import buttondevteam.lib.TBMCSystemChatEvent;
-import buttondevteam.lib.chat.Channel.RecipientTestResult;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.function.Consumer;
public class TBMCChatAPI {
@@ -119,7 +118,7 @@ public class TBMCChatAPI {
continue;
TBMCCommandBase c = cmd.newInstance();
c.plugin = plugin;
- if (!CheckForNulls(plugin, c))
+ if (HasNulls(plugin, c))
continue;
commands.put(c.GetCommandPath(), c);
CommandCaller.RegisterCommand(c);
@@ -155,7 +154,7 @@ public class TBMCChatAPI {
else
c = thecmdclass.newInstance();
c.plugin = plugin;
- if (!CheckForNulls(plugin, c))
+ if (HasNulls(plugin, c))
return;
commands.put(c.GetCommandPath(), c);
CommandCaller.RegisterCommand(c);
@@ -181,7 +180,7 @@ public class TBMCChatAPI {
* The command to add
*/
public static void AddCommand(JavaPlugin plugin, TBMCCommandBase cmd) {
- if (!CheckForNulls(plugin, cmd))
+ if (HasNulls(plugin, cmd))
return;
// plugin.getLogger().info("Registering command /" + cmd.GetCommandPath() + " for " + plugin.getName());
try {
@@ -193,22 +192,22 @@ public class TBMCChatAPI {
}
}
- private static boolean CheckForNulls(JavaPlugin plugin, TBMCCommandBase cmd) {
+ private static boolean HasNulls(JavaPlugin plugin, TBMCCommandBase cmd) {
if (cmd == null) {
TBMCCoreAPI.SendException("An error occured while registering a command for plugin " + plugin.getName(),
new Exception("The command is null!"));
- return false;
+ return true;
} else if (cmd.GetCommandPath() == null) {
TBMCCoreAPI.SendException("An error occured while registering command " + cmd.getClass().getSimpleName()
+ " for plugin " + plugin.getName(), new Exception("The command path is null!"));
- return false;
+ return true;
}
- return true;
+ return false;
}
/**
* Sends a chat message to Minecraft. Make sure that the channel is registered with {@link #RegisterChatChannel(Channel)}.
- *
+ *
* @param channel
* The channel to send to
* @param sender
@@ -218,6 +217,19 @@ public class TBMCChatAPI {
* @return The event cancelled state
*/
public static boolean SendChatMessage(Channel channel, CommandSender sender, String message) {
+ return SendChatMessage(channel, sender, message, false);
+ }
+
+ /**
+ * Sends a chat message to Minecraft. Make sure that the channel is registered with {@link #RegisterChatChannel(Channel)}.
+ *
+ * @param channel The channel to send to
+ * @param sender The sender to send from
+ * @param message The message to send
+ * @param fromcommand Whether this message comes from running a command, used to determine whether to delete Discord messages for example
+ * @return The event cancelled state
+ */
+ public static boolean SendChatMessage(Channel channel, CommandSender sender, String message, boolean fromcommand) {
if (!Channel.getChannels().contains(channel))
throw new RuntimeException("Channel " + channel.DisplayName + " not registered!");
TBMCChatPreprocessEvent eventPre = new TBMCChatPreprocessEvent(sender, channel, message);
@@ -227,7 +239,7 @@ public class TBMCChatAPI {
int score = getScoreOrSendError(channel, sender);
if (score == -1)
return true;
- TBMCChatEvent event = new TBMCChatEvent(sender, channel, eventPre.getMessage(), score);
+ TBMCChatEvent event = new TBMCChatEvent(sender, channel, eventPre.getMessage(), score, fromcommand);
Bukkit.getPluginManager().callEvent(event);
return event.isCancelled();
}
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCCommandBase.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCCommandBase.java
old mode 100644
new mode 100755
index e8c3c52..cefc1f2
--- a/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCCommandBase.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCCommandBase.java
@@ -1,11 +1,10 @@
package buttondevteam.lib.chat;
-import java.util.function.Function;
-
+import javassist.Modifier;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.Plugin;
-import javassist.Modifier;
+import java.util.function.Function;
/**
* Extend this class to create new TBMCCommand and use {@link TBMCChatAPI#AddCommand(org.bukkit.plugin.java.JavaPlugin, TBMCCommandBase)} to add it. Note: The command path (command name
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/TellrawSerializableEnum.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/TellrawSerializableEnum.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/AbstractUserClass.java b/ButtonCore/src/main/java/buttondevteam/lib/player/AbstractUserClass.java
old mode 100644
new mode 100755
index fdbc45d..14cf8cb
--- a/ButtonCore/src/main/java/buttondevteam/lib/player/AbstractUserClass.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/player/AbstractUserClass.java
@@ -1,10 +1,6 @@
package buttondevteam.lib.player;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.lang.annotation.*;
/**
* Specifies a {@link ChromaGamerBase} direct subclass which's abstract. For Minecraft data, use {@link PlayerClass}
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/ChromaGamerBase.java b/ButtonCore/src/main/java/buttondevteam/lib/player/ChromaGamerBase.java
old mode 100644
new mode 100755
index c533fa8..e340af6
--- a/ButtonCore/src/main/java/buttondevteam/lib/player/ChromaGamerBase.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/player/ChromaGamerBase.java
@@ -1,17 +1,15 @@
package buttondevteam.lib.player;
+import buttondevteam.lib.TBMCCoreAPI;
+import com.google.common.collect.HashBiMap;
+import lombok.val;
+import org.bukkit.Bukkit;
+import org.bukkit.configuration.file.YamlConfiguration;
+
import java.io.File;
import java.util.HashMap;
import java.util.function.Consumer;
-import org.bukkit.Bukkit;
-import org.bukkit.configuration.file.YamlConfiguration;
-
-import com.google.common.collect.HashBiMap;
-
-import buttondevteam.lib.TBMCCoreAPI;
-import lombok.val;
-
@ChromaGamerEnforcer
public abstract class ChromaGamerBase implements AutoCloseable {
public static final String TBMC_PLAYERS_DIR = "TBMC/players/";
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/ChromaGamerEnforcer.java b/ButtonCore/src/main/java/buttondevteam/lib/player/ChromaGamerEnforcer.java
old mode 100644
new mode 100755
index 35ffdf4..b08d064
--- a/ButtonCore/src/main/java/buttondevteam/lib/player/ChromaGamerEnforcer.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/player/ChromaGamerEnforcer.java
@@ -1,10 +1,6 @@
package buttondevteam.lib.player;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.lang.annotation.*;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/EnumPlayerData.java b/ButtonCore/src/main/java/buttondevteam/lib/player/EnumPlayerData.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/PlayerClass.java b/ButtonCore/src/main/java/buttondevteam/lib/player/PlayerClass.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/PlayerData.java b/ButtonCore/src/main/java/buttondevteam/lib/player/PlayerData.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayer.java b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayer.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerBase.java b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerBase.java
old mode 100644
new mode 100755
index 7cc3d43..690f901
--- a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerBase.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerBase.java
@@ -1,23 +1,21 @@
package buttondevteam.lib.player;
+import buttondevteam.lib.TBMCCoreAPI;
+import com.palmergames.bukkit.towny.Towny;
+import com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException;
+import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
+import com.palmergames.bukkit.towny.object.Resident;
+import com.palmergames.bukkit.towny.object.TownyUniverse;
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.entity.Player;
+
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.entity.Player;
-
-import com.palmergames.bukkit.towny.Towny;
-import com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException;
-import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
-import com.palmergames.bukkit.towny.object.Resident;
-import com.palmergames.bukkit.towny.object.TownyUniverse;
-
-import buttondevteam.lib.TBMCCoreAPI;
-
@AbstractUserClass(foldername = "minecraft", prototype = TBMCPlayer.class)
@TBMCPlayerEnforcer
public abstract class TBMCPlayerBase extends ChromaGamerBase {
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerGetInfoEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerGetInfoEvent.java
old mode 100644
new mode 100755
index 6e310a0..1abfac0
--- a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerGetInfoEvent.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerGetInfoEvent.java
@@ -1,14 +1,13 @@
package buttondevteam.lib.player;
+import buttondevteam.lib.player.ChromaGamerBase.InfoTarget;
+import org.bukkit.event.Event;
+import org.bukkit.event.HandlerList;
+
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
-import org.bukkit.event.Event;
-import org.bukkit.event.HandlerList;
-
-import buttondevteam.lib.player.ChromaGamerBase.InfoTarget;
-
/**
*
* This event gets called when player information is requested. It can be used to give more per-plugin information about a player.
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerJoinEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerJoinEvent.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerLoadEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerLoadEvent.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerQuitEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerQuitEvent.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerSaveEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCPlayerSaveEvent.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCYEEHAWEvent.java b/ButtonCore/src/main/java/buttondevteam/lib/player/TBMCYEEHAWEvent.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/player/UserClass.java b/ButtonCore/src/main/java/buttondevteam/lib/player/UserClass.java
old mode 100644
new mode 100755
index cae2326..9abfce6
--- a/ButtonCore/src/main/java/buttondevteam/lib/player/UserClass.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/player/UserClass.java
@@ -1,10 +1,6 @@
package buttondevteam.lib.player;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.lang.annotation.*;
/**
* Specifies a {@link ChromaGamerBase} direct subclass which can be instantiated. For Minecraft data, use {@link PlayerClass}
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/potato/DebugPotato.java b/ButtonCore/src/main/java/buttondevteam/lib/potato/DebugPotato.java
old mode 100644
new mode 100755
index 4c5269f..d410bd9
--- a/ButtonCore/src/main/java/buttondevteam/lib/potato/DebugPotato.java
+++ b/ButtonCore/src/main/java/buttondevteam/lib/potato/DebugPotato.java
@@ -1,15 +1,15 @@
package buttondevteam.lib.potato;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
public class DebugPotato {
private List message;
private String type;
diff --git a/ButtonCore/src/main/java/buttondevteam/lib/potato/Gary.java b/ButtonCore/src/main/java/buttondevteam/lib/potato/Gary.java
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/main/resources/plugin.yml b/ButtonCore/src/main/resources/plugin.yml
old mode 100644
new mode 100755
diff --git a/ButtonCore/src/test/java/buttondevteam/core/PlayerDataTest.java b/ButtonCore/src/test/java/buttondevteam/core/PlayerDataTest.java
old mode 100644
new mode 100755
index 298d1c9..23993d5
--- a/ButtonCore/src/test/java/buttondevteam/core/PlayerDataTest.java
+++ b/ButtonCore/src/test/java/buttondevteam/core/PlayerDataTest.java
@@ -1,16 +1,15 @@
package buttondevteam.core;
-import java.io.File;
-import java.util.UUID;
-
-import org.apache.commons.io.FileUtils;
-
import buttondevteam.core.TestPlayerClass.TestEnum;
import buttondevteam.lib.player.ChromaGamerBase;
import buttondevteam.lib.player.TBMCPlayerBase;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
+import org.apache.commons.io.FileUtils;
+
+import java.io.File;
+import java.util.UUID;
public class PlayerDataTest extends TestCase {
public PlayerDataTest() {
diff --git a/ButtonCore/src/test/java/buttondevteam/core/TestPlayerClass.java b/ButtonCore/src/test/java/buttondevteam/core/TestPlayerClass.java
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/.classpath b/ButtonProcessor/.classpath
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/.gitignore b/ButtonProcessor/.gitignore
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/.project b/ButtonProcessor/.project
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/.settings/org.eclipse.core.resources.prefs b/ButtonProcessor/.settings/org.eclipse.core.resources.prefs
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/.settings/org.eclipse.jdt.core.prefs b/ButtonProcessor/.settings/org.eclipse.jdt.core.prefs
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/.settings/org.eclipse.m2e.core.prefs b/ButtonProcessor/.settings/org.eclipse.m2e.core.prefs
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/ButtonProcessor.iml b/ButtonProcessor/ButtonProcessor.iml
new file mode 100755
index 0000000..cc79963
--- /dev/null
+++ b/ButtonProcessor/ButtonProcessor.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ButtonProcessor/License.md b/ButtonProcessor/License.md
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/pom.xml b/ButtonProcessor/pom.xml
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/src/main/java/buttondevteam/buttonproc/ButtonProcessor.java b/ButtonProcessor/src/main/java/buttondevteam/buttonproc/ButtonProcessor.java
old mode 100644
new mode 100755
index 6ea6e7f..63c0950
--- a/ButtonProcessor/src/main/java/buttondevteam/buttonproc/ButtonProcessor.java
+++ b/ButtonProcessor/src/main/java/buttondevteam/buttonproc/ButtonProcessor.java
@@ -19,35 +19,35 @@ import javax.tools.Diagnostic.Kind;
@SupportedAnnotationTypes("buttondevteam.*")
public class ButtonProcessor extends AbstractProcessor {
@Override
- public boolean process(Set extends TypeElement> annotations, RoundEnvironment roundEnv) {
- for (TypeElement te : annotations) {
- Set extends Element> classes = roundEnv.getElementsAnnotatedWith(te);
- for (Element targetcl : classes) {
- System.out.println("Processing " + targetcl);
- List extends AnnotationMirror> annotationMirrors = processingEnv.getElementUtils()
- .getAllAnnotationMirrors(targetcl);
- System.out.println("Annotations: " + annotationMirrors);
- Function hasAnnotation = ann -> annotationMirrors.stream()
- .anyMatch(am -> am.getAnnotationType().toString().contains(ann));
- if (hasAnnotation.apply("ChromaGamerEnforcer") && !hasAnnotation.apply("UserClass")
- && !targetcl.getModifiers().contains(Modifier.ABSTRACT))
- processingEnv.getMessager().printMessage(Kind.ERROR,
- "No UserClass annotation found for " + targetcl.getSimpleName(), targetcl);
- if (hasAnnotation.apply("TBMCPlayerEnforcer") && !hasAnnotation.apply("PlayerClass")
- && !targetcl.getModifiers().contains(Modifier.ABSTRACT))
- processingEnv.getMessager().printMessage(Kind.ERROR,
- "No PlayerClass annotation found for " + targetcl.getSimpleName(), targetcl);
- for (AnnotationMirror annotation : annotationMirrors) {
- String type = annotation.getAnnotationType().toString();
- System.out.println("Type: " + type);
- }
- }
- }
- return true; // claim the annotations
- }
+ public boolean process(Set extends TypeElement> annotations, RoundEnvironment roundEnv) {
+ for (TypeElement te : annotations) {
+ Set extends Element> classes = roundEnv.getElementsAnnotatedWith(te);
+ for (Element targetcl : classes) {
+ System.out.println("Processing " + targetcl);
+ List extends AnnotationMirror> annotationMirrors = processingEnv.getElementUtils()
+ .getAllAnnotationMirrors(targetcl);
+ System.out.println("Annotations: " + annotationMirrors);
+ Function hasAnnotation = ann -> annotationMirrors.stream()
+ .anyMatch(am -> am.getAnnotationType().toString().contains(ann));
+ if (hasAnnotation.apply("ChromaGamerEnforcer") && !hasAnnotation.apply("UserClass")
+ && !targetcl.getModifiers().contains(Modifier.ABSTRACT))
+ processingEnv.getMessager().printMessage(Kind.ERROR,
+ "No UserClass annotation found for " + targetcl.getSimpleName(), targetcl);
+ if (hasAnnotation.apply("TBMCPlayerEnforcer") && !hasAnnotation.apply("PlayerClass")
+ && !targetcl.getModifiers().contains(Modifier.ABSTRACT))
+ processingEnv.getMessager().printMessage(Kind.ERROR,
+ "No PlayerClass annotation found for " + targetcl.getSimpleName(), targetcl);
+ for (AnnotationMirror annotation : annotationMirrors) {
+ String type = annotation.getAnnotationType().toString();
+ System.out.println("Type: " + type);
+ }
+ }
+ }
+ return true; // claim the annotations
+ }
- @Override
- public SourceVersion getSupportedSourceVersion() {
- return SourceVersion.latestSupported();
- }
+ @Override
+ public SourceVersion getSupportedSourceVersion() {
+ return SourceVersion.latestSupported();
+ }
}
diff --git a/ButtonProcessor/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/ButtonProcessor/src/main/resources/META-INF/services/javax.annotation.processing.Processor
old mode 100644
new mode 100755
diff --git a/ButtonProcessor/src/test/java/buttondevteam/ButtonProcessor/AppTest.java b/ButtonProcessor/src/test/java/buttondevteam/ButtonProcessor/AppTest.java
old mode 100644
new mode 100755
diff --git a/deploy.sh b/deploy.sh
old mode 100644
new mode 100755
diff --git a/jitpack.yml b/jitpack.yml
old mode 100644
new mode 100755
diff --git a/pom.xml b/pom.xml
old mode 100644
new mode 100755
index 672f423..1da127a
--- a/pom.xml
+++ b/pom.xml
@@ -13,6 +13,7 @@
ButtonCore
ButtonProcessor
+ BuildConfigUpdater