diff --git a/pom.xml b/pom.xml
index 15db7dfb..ef93fb42 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,39 +7,38 @@
com.github.civclassic
civclassic-parent
- 1.0.0
+ 1.0.1
- com.untamedears
JukeAlert
jar
- 2.1.2
+ 2.2.0
JukeAlert
https://github.com/Civclassic/JukeAlert/
- com.destroystokyo.paper
- paper-api
- 1.16.5-R0.1-SNAPSHOT
+ io.papermc.paper
+ paper
+ 1.17.1-R0.1-SNAPSHOT
provided
- vg.civcraft.mc.civmodcore
- CivModCore
- 1.8.3
+ com.github.civclassic
+ NameLayer
+ 2.15.0
provided
- vg.civcraft.mc.namelayer
- NameLayer
- 2.14.1
+ com.github.civclassic
+ Citadel
+ 4.2.0
provided
- vg.civcraft.mc.citadel
- Citadel
- 4.1.1
+ com.github.civclassic
+ CivModCore
+ 1.9.0
provided
@@ -49,5 +48,9 @@
civ-github-repo
https://raw.githubusercontent.com/CivClassic/artifacts/master/
+
+ papermc
+ https://papermc.io/repo/repository/maven-public/
+
diff --git a/src/main/java/com/untamedears/jukealert/JAConfigManager.java b/src/main/java/com/untamedears/jukealert/JAConfigManager.java
index 325c36ba..850b3bf7 100644
--- a/src/main/java/com/untamedears/jukealert/JAConfigManager.java
+++ b/src/main/java/com/untamedears/jukealert/JAConfigManager.java
@@ -3,10 +3,11 @@
import com.untamedears.jukealert.model.SnitchTypeManager;
import org.bukkit.configuration.ConfigurationSection;
import vg.civcraft.mc.civmodcore.ACivMod;
-import vg.civcraft.mc.civmodcore.CoreConfigManager;
+import vg.civcraft.mc.civmodcore.config.ConfigParser;
+import vg.civcraft.mc.civmodcore.dao.DatabaseCredentials;
import vg.civcraft.mc.civmodcore.dao.ManagedDatasource;
-public class JAConfigManager extends CoreConfigManager {
+public class JAConfigManager extends ConfigParser {
private SnitchTypeManager typeMan;
public JAConfigManager(ACivMod plugin, SnitchTypeManager typeMan) {
@@ -15,7 +16,7 @@ public JAConfigManager(ACivMod plugin, SnitchTypeManager typeMan) {
}
public ManagedDatasource getDatabase(ConfigurationSection config) {
- return (ManagedDatasource) config.get("database");
+ return ManagedDatasource.construct((ACivMod) plugin, (DatabaseCredentials) config.get("database"));
}
@Override
diff --git a/src/main/java/com/untamedears/jukealert/JukeAlert.java b/src/main/java/com/untamedears/jukealert/JukeAlert.java
index 49a5ff9c..7f8dfb88 100644
--- a/src/main/java/com/untamedears/jukealert/JukeAlert.java
+++ b/src/main/java/com/untamedears/jukealert/JukeAlert.java
@@ -1,5 +1,6 @@
package com.untamedears.jukealert;
+import com.untamedears.jukealert.commands.JACommandManager;
import co.aikar.taskchain.BukkitTaskChainFactory;
import co.aikar.taskchain.TaskChainFactory;
import com.untamedears.jukealert.database.JukeAlertDAO;
@@ -14,8 +15,8 @@
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
import vg.civcraft.mc.civmodcore.ACivMod;
-import vg.civcraft.mc.civmodcore.locations.chunkmeta.api.ChunkMetaAPI;
-import vg.civcraft.mc.civmodcore.locations.chunkmeta.api.SingleBlockAPIView;
+import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.api.ChunkMetaAPI;
+import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.api.SingleBlockAPIView;
public class JukeAlert extends ACivMod {
@@ -33,6 +34,7 @@ public static JukeAlert getInstance() {
private JASettingsManager settingsManager;
private SnitchCullManager cullManager;
private TaskChainFactory taskChainFactory;
+ private JACommandManager commandManager;
public JAConfigManager getConfigManager() {
return configManager;
@@ -102,6 +104,7 @@ public void onEnable() {
}
snitchManager = new SnitchManager(api);
settingsManager = new JASettingsManager();
+ commandManager = new JACommandManager(this);
registerJukeAlertEvents();
JukeAlertPermissionHandler.setup();
this.taskChainFactory = BukkitTaskChainFactory.create(this);
diff --git a/src/main/java/com/untamedears/jukealert/SnitchCullManager.java b/src/main/java/com/untamedears/jukealert/SnitchCullManager.java
index 26e558df..777de460 100644
--- a/src/main/java/com/untamedears/jukealert/SnitchCullManager.java
+++ b/src/main/java/com/untamedears/jukealert/SnitchCullManager.java
@@ -2,7 +2,7 @@
import com.untamedears.jukealert.model.appender.DormantCullingAppender;
import org.bukkit.Bukkit;
-import vg.civcraft.mc.civmodcore.util.progress.ProgressTracker;
+import vg.civcraft.mc.civmodcore.utilities.progress.ProgressTracker;
public class SnitchCullManager {
diff --git a/src/main/java/com/untamedears/jukealert/SnitchManager.java b/src/main/java/com/untamedears/jukealert/SnitchManager.java
index 787f3442..1db237be 100644
--- a/src/main/java/com/untamedears/jukealert/SnitchManager.java
+++ b/src/main/java/com/untamedears/jukealert/SnitchManager.java
@@ -11,9 +11,9 @@
import javax.annotation.Nonnull;
import org.bukkit.Location;
import org.bukkit.block.Block;
-import vg.civcraft.mc.civmodcore.locations.SparseQuadTree;
-import vg.civcraft.mc.civmodcore.locations.chunkmeta.CacheState;
-import vg.civcraft.mc.civmodcore.locations.chunkmeta.api.SingleBlockAPIView;
+import vg.civcraft.mc.civmodcore.world.locations.SparseQuadTree;
+import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.CacheState;
+import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.api.SingleBlockAPIView;
public class SnitchManager {
diff --git a/src/main/java/com/untamedears/jukealert/commands/ClearCommand.java b/src/main/java/com/untamedears/jukealert/commands/ClearCommand.java
index 4b4a1b91..b7c3286d 100644
--- a/src/main/java/com/untamedears/jukealert/commands/ClearCommand.java
+++ b/src/main/java/com/untamedears/jukealert/commands/ClearCommand.java
@@ -1,42 +1,33 @@
package com.untamedears.jukealert.commands;
+import co.aikar.commands.BaseCommand;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.Description;
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.model.appender.SnitchLogAppender;
import com.untamedears.jukealert.util.JAUtility;
import com.untamedears.jukealert.util.JukeAlertPermissionHandler;
-import java.util.LinkedList;
-import java.util.List;
import org.bukkit.ChatColor;
-import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import vg.civcraft.mc.civmodcore.command.CivCommand;
-import vg.civcraft.mc.civmodcore.command.StandaloneCommand;
-@CivCommand(id = "jaclear")
-public class ClearCommand extends StandaloneCommand {
+public class ClearCommand extends BaseCommand {
- @Override
- public boolean execute(final CommandSender sender, String[] args) {
- Player player = (Player) sender;
- Snitch snitch = JAUtility.findLookingAtOrClosestSnitch(player, JukeAlertPermissionHandler.getClearLogs());
+ @CommandAlias("jaclear")
+ @Description("Deletes all logs a snitch has")
+ public void execute(final Player sender, String[] args) {
+ Snitch snitch = JAUtility.findLookingAtOrClosestSnitch(sender, JukeAlertPermissionHandler.getClearLogs());
if (snitch == null) {
sender.sendMessage(
ChatColor.RED + "You do not own any snitches nearby or lack permission to delete their logs!");
- return true;
+ return;
}
SnitchLogAppender logAppender = (SnitchLogAppender) snitch.getAppender(SnitchLogAppender.class);
if (logAppender == null) {
sender.sendMessage(
ChatColor.RED + "This " + snitch.getType().getName() + " does not keep any logs");
- return true;
+ return;
}
logAppender.deleteLogs();
sender.sendMessage(ChatColor.GREEN + "Deleted all logs for snitch " + JAUtility.genTextComponent(snitch));
- return true;
- }
-
- @Override
- public List tabComplete(CommandSender sender, String[] args) {
- return new LinkedList<>();
}
}
diff --git a/src/main/java/com/untamedears/jukealert/commands/GUICommand.java b/src/main/java/com/untamedears/jukealert/commands/GUICommand.java
index ce73ec16..4dd79e31 100644
--- a/src/main/java/com/untamedears/jukealert/commands/GUICommand.java
+++ b/src/main/java/com/untamedears/jukealert/commands/GUICommand.java
@@ -1,5 +1,8 @@
package com.untamedears.jukealert.commands;
+import co.aikar.commands.BaseCommand;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.Description;
import com.untamedears.jukealert.JukeAlert;
import com.untamedears.jukealert.gui.SnitchLogGUI;
import com.untamedears.jukealert.gui.SnitchOverviewGUI;
@@ -9,25 +12,19 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
import org.bukkit.ChatColor;
-import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import vg.civcraft.mc.civmodcore.command.CivCommand;
-import vg.civcraft.mc.civmodcore.command.StandaloneCommand;
-@CivCommand(id = "ja")
-public class GUICommand extends StandaloneCommand {
+public class GUICommand extends BaseCommand {
- @Override
- public boolean execute(CommandSender sender, String[] args) {
- Player player = (Player) sender;
+ @CommandAlias("ja")
+ @Description("Opens snitch log GUI")
+ public void execute(Player player) {
Snitch cursorSnitch = JAUtility.getSnitchUnderCursor(player);
if (cursorSnitch != null && cursorSnitch.hasPermission(player, JukeAlertPermissionHandler.getReadLogs())) {
SnitchLogGUI gui = new SnitchLogGUI(player, cursorSnitch);
gui.showScreen();
- return true;
+ return;
}
// No snitch under cursor, so search around player
Collection snitches = JukeAlert.getInstance().getSnitchManager()
@@ -43,20 +40,14 @@ public boolean execute(CommandSender sender, String[] args) {
if (snitches.isEmpty()) {
player.sendMessage(
ChatColor.RED + "You do not own any snitches nearby or lack permission to view their logs!");
- return true;
+ return;
}
if (snitches.size() == 1) {
SnitchLogGUI gui = new SnitchLogGUI(player, snitches.iterator().next());
gui.showScreen();
- return true;
+ return;
}
SnitchOverviewGUI gui = new SnitchOverviewGUI(player, new ArrayList<>(snitches), "Nearby snitches", true);
gui.showScreen();
- return true;
- }
-
- @Override
- public List tabComplete(CommandSender sender, String[] args) {
- return new LinkedList<>();
}
}
diff --git a/src/main/java/com/untamedears/jukealert/commands/InfoCommand.java b/src/main/java/com/untamedears/jukealert/commands/InfoCommand.java
index c3daa788..4361e9a4 100644
--- a/src/main/java/com/untamedears/jukealert/commands/InfoCommand.java
+++ b/src/main/java/com/untamedears/jukealert/commands/InfoCommand.java
@@ -2,6 +2,12 @@
import static com.untamedears.jukealert.util.JAUtility.findLookingAtOrClosestSnitch;
+
+import co.aikar.commands.BaseCommand;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.Description;
+import co.aikar.commands.annotation.Optional;
+import co.aikar.commands.annotation.Syntax;
import com.untamedears.jukealert.JukeAlert;
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.model.actions.abstr.LoggableAction;
@@ -20,43 +26,40 @@
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import vg.civcraft.mc.civmodcore.command.CivCommand;
-import vg.civcraft.mc.civmodcore.command.StandaloneCommand;
import vg.civcraft.mc.namelayer.NameAPI;
-@CivCommand(id = "jainfo")
-public class InfoCommand extends StandaloneCommand {
+public class InfoCommand extends BaseCommand {
private static final String[] autocompleteCommands = { "next", "censor", "action=", "player=" };
- @Override
- public boolean execute(CommandSender sender, String[] args) {
- Player player = (Player) sender;
+ @CommandAlias("jainfo")
+ @Description("Display information from a snitch")
+ @Syntax("[page number_or_'next'] [censor] [action=action_type] [player=player_name]")
+ public void execute(Player player, @Optional String pageNumber) {
Snitch snitch = findLookingAtOrClosestSnitch(player, JukeAlertPermissionHandler.getReadLogs());
if (snitch == null) {
player.sendMessage(
ChatColor.RED + " You do not own any snitches nearby or lack permission to view their logs!");
- return true;
+ return;
}
if (!snitch.hasAppender(SnitchLogAppender.class)) {
player.sendMessage(ChatColor.RED + "This " + snitch.getType().getName() + " named " + snitch.getName()
+ " can not save logs");
- return true;
+ return;
}
int offset = 0;
String filterAction = null;
String filterPlayer = null;
- if (args.length == 1) {
+ if (pageNumber != null) {
try {
- offset = Integer.parseInt(args[0]);
+ offset = Integer.parseInt(pageNumber);
} catch (NumberFormatException e) {
- sender.sendMessage(ChatColor.RED + args[0] + " is not a number");
- return true;
+ player.sendMessage(ChatColor.RED + pageNumber + " is not a number");
+ return;
}
}
int pageLength = JukeAlert.getInstance().getSettingsManager().getJaInfoLength(player.getUniqueId());
sendSnitchLog(player, snitch, offset, pageLength, filterAction, filterPlayer);
- return true;
}
public void sendSnitchLog(Player player, Snitch snitch, int offset, int pageLength, String actionType,
@@ -109,7 +112,6 @@ public void sendSnitchLog(Player player, Snitch snitch, int offset, int pageLeng
}
}
- @Override
public List tabComplete(CommandSender sender, String[] args) {
List completedArgs = new ArrayList<>();
if (args.length > 0) {
diff --git a/src/main/java/com/untamedears/jukealert/commands/JACommandManager.java b/src/main/java/com/untamedears/jukealert/commands/JACommandManager.java
new file mode 100644
index 00000000..ecca882f
--- /dev/null
+++ b/src/main/java/com/untamedears/jukealert/commands/JACommandManager.java
@@ -0,0 +1,23 @@
+package com.untamedears.jukealert.commands;
+
+import org.bukkit.plugin.Plugin;
+import vg.civcraft.mc.civmodcore.commands.CommandManager;
+
+public class JACommandManager extends CommandManager {
+
+ public JACommandManager(Plugin plugin) {
+ super(plugin);
+ init();
+ }
+
+ @Override
+ public void registerCommands() {
+ registerCommand(new ClearCommand());
+ registerCommand(new GUICommand());
+ registerCommand(new InfoCommand());
+ registerCommand(new ListCommand());
+ registerCommand(new MuteCommand());
+ registerCommand(new NameCommand());
+ registerCommand(new ToggleLeverCommand());
+ }
+}
diff --git a/src/main/java/com/untamedears/jukealert/commands/ListCommand.java b/src/main/java/com/untamedears/jukealert/commands/ListCommand.java
index e7ba0ac5..12ef4bb9 100644
--- a/src/main/java/com/untamedears/jukealert/commands/ListCommand.java
+++ b/src/main/java/com/untamedears/jukealert/commands/ListCommand.java
@@ -1,13 +1,16 @@
package com.untamedears.jukealert.commands;
-import com.google.common.base.Strings;
+import co.aikar.commands.BaseCommand;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.Description;
+import co.aikar.commands.annotation.Optional;
+import co.aikar.commands.annotation.Syntax;
import com.untamedears.jukealert.JukeAlert;
import com.untamedears.jukealert.gui.SnitchOverviewGUI;
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.model.appender.DormantCullingAppender;
import com.untamedears.jukealert.util.JukeAlertPermissionHandler;
import it.unimi.dsi.fastutil.ints.IntArrayList;
-import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
@@ -18,24 +21,23 @@
import org.apache.commons.lang3.ArrayUtils;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import vg.civcraft.mc.civmodcore.command.CivCommand;
-import vg.civcraft.mc.civmodcore.command.StandaloneCommand;
import vg.civcraft.mc.namelayer.GroupManager;
import vg.civcraft.mc.namelayer.NameAPI;
import vg.civcraft.mc.namelayer.command.TabCompleters.GroupTabCompleter;
import vg.civcraft.mc.namelayer.group.Group;
-@CivCommand(id = "jalist")
-public class ListCommand extends StandaloneCommand {
+public class ListCommand extends BaseCommand {
- @Override
- public boolean execute(final CommandSender sender, final String[] arguments) {
- final Player player = (Player) sender;
+ @CommandAlias("jalist")
+ @Syntax("[group]")
+ @Description("Lists all snitches you have access to if given no arguments or the ones on the given groups")
+ public void execute(final Player player, @Optional final String targetGroup1, @Optional final String targetGroup2, @Optional final String targetGroup3) {
boolean playerProvidedGroups = true;
List groupNames = null;
- if (ArrayUtils.isNotEmpty(arguments)) {
- groupNames = Arrays.asList(arguments);
- groupNames.removeIf(Strings::isNullOrEmpty);
+ if (!(targetGroup1 == null) && !(targetGroup2 == null) && !(targetGroup3 == null)) {
+ groupNames.add(targetGroup1);
+ groupNames.add(targetGroup2);
+ groupNames.add(targetGroup3);
}
if (CollectionUtils.isEmpty(groupNames)) {
groupNames = NameAPI.getGroupManager().getAllGroupNames(player.getUniqueId());
@@ -46,14 +48,14 @@ public boolean execute(final CommandSender sender, final String[] arguments) {
final Group group = GroupManager.getGroup(groupName);
if (group == null) {
if (playerProvidedGroups) {
- sender.sendMessage(ChatColor.RED + "The group " + groupName + " does not exist");
+ player.sendMessage(ChatColor.RED + "The group " + groupName + " does not exist");
}
continue;
}
if (!NameAPI.getGroupManager().hasAccess(group, player.getUniqueId(),
JukeAlertPermissionHandler.getListSnitches())) {
if (playerProvidedGroups) {
- sender.sendMessage(ChatColor.RED + "You do not have permission to list snitches "
+ player.sendMessage(ChatColor.RED + "You do not have permission to list snitches "
+ "for the group " + group.getName());
}
continue;
@@ -61,10 +63,10 @@ public boolean execute(final CommandSender sender, final String[] arguments) {
groupIds.addAll(group.getGroupIds());
}
if (groupIds.isEmpty()) {
- sender.sendMessage(ChatColor.GREEN + "You do not have access to any group's snitches.");
- return true;
+ player.sendMessage(ChatColor.GREEN + "You do not have access to any group's snitches.");
+ return;
}
- sender.sendMessage(ChatColor.GREEN + "Retrieving snitches for a total of " + groupNames.size()
+ player.sendMessage(ChatColor.GREEN + "Retrieving snitches for a total of " + groupNames.size()
+ " group instances. This may take a moment.");
JukeAlert.getInstance().getTaskChainFactory().newChain()
.async((unused) -> JukeAlert.getInstance().getDAO().loadSnitchesByGroupID(groupIds).parallel()
@@ -82,7 +84,6 @@ public boolean execute(final CommandSender sender, final String[] arguments) {
.syncLast((snitches) -> new SnitchOverviewGUI(player, snitches, "Your snitches",
player.hasPermission("jukealert.admin")).showScreen())
.execute();
- return true;
}
private static class SnitchCache {
@@ -95,7 +96,6 @@ public SnitchCache(@Nonnull final Snitch snitch,
}
}
- @Override
public List tabComplete(final CommandSender sender, final String[] arguments) {
final String last = ArrayUtils.isEmpty(arguments) ? "" : arguments[arguments.length - 1];
return GroupTabCompleter.complete(last, JukeAlertPermissionHandler.getListSnitches(), (Player) sender);
diff --git a/src/main/java/com/untamedears/jukealert/commands/MuteCommand.java b/src/main/java/com/untamedears/jukealert/commands/MuteCommand.java
index dbdd9490..d196254c 100644
--- a/src/main/java/com/untamedears/jukealert/commands/MuteCommand.java
+++ b/src/main/java/com/untamedears/jukealert/commands/MuteCommand.java
@@ -1,46 +1,37 @@
package com.untamedears.jukealert.commands;
+import co.aikar.commands.BaseCommand;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.Description;
+import co.aikar.commands.annotation.Syntax;
import com.untamedears.jukealert.JukeAlert;
import com.untamedears.jukealert.util.JASettingsManager;
import java.util.List;
import net.md_5.bungee.api.ChatColor;
-import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import vg.civcraft.mc.civmodcore.command.CivCommand;
-import vg.civcraft.mc.civmodcore.command.StandaloneCommand;
import vg.civcraft.mc.namelayer.GroupManager;
import vg.civcraft.mc.namelayer.group.Group;
-@CivCommand(id = "jamute")
-public class MuteCommand extends StandaloneCommand {
- @Override
- public boolean execute(CommandSender sender, String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "Players only");
- return true;
+public class MuteCommand extends BaseCommand {
+ @CommandAlias("jamute")
+ @Syntax("")
+ @Description("Adds or removes from a snitch notification ignore list.")
+ public void execute(Player player, String targetGroup) {
+ if (targetGroup == null) {
+ return;
}
- if (args.length == 0) {
- return false;
- }
- Player player = (Player) sender;
- Group group = GroupManager.getGroup(args[0]);
+ Group group = GroupManager.getGroup(targetGroup);
if (group == null) {
- player.sendMessage(ChatColor.RED + "The group " + args[0] + " does not exist");
- return true;
+ player.sendMessage(ChatColor.RED + "The group " + targetGroup + " does not exist");
+ return;
}
JASettingsManager settingsManager = JukeAlert.getInstance().getSettingsManager();
if (settingsManager.doesIgnoreAlert(group.getName(), player.getUniqueId())) {
settingsManager.getIgnoredGroupAlerts().removeElement(player.getUniqueId(), group.getName());
player.sendMessage(ChatColor.GREEN + "You have unmuted " + group.getName());
- return true;
+ return;
}
settingsManager.getIgnoredGroupAlerts().addElement(player.getUniqueId(), group.getName());
player.sendMessage(ChatColor.GREEN + "You have muted " + group.getName());
- return true;
- }
-
- @Override
- public List tabComplete(CommandSender sender, String[] args) {
- return null;
}
}
diff --git a/src/main/java/com/untamedears/jukealert/commands/NameCommand.java b/src/main/java/com/untamedears/jukealert/commands/NameCommand.java
index db51c165..44b44b5f 100644
--- a/src/main/java/com/untamedears/jukealert/commands/NameCommand.java
+++ b/src/main/java/com/untamedears/jukealert/commands/NameCommand.java
@@ -2,36 +2,35 @@
import static com.untamedears.jukealert.util.JAUtility.findLookingAtOrClosestSnitch;
+
+import co.aikar.commands.BaseCommand;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.Description;
+import co.aikar.commands.annotation.Syntax;
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.util.JAUtility;
import com.untamedears.jukealert.util.JukeAlertPermissionHandler;
-import java.util.LinkedList;
-import java.util.List;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.ChatColor;
-import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import vg.civcraft.mc.civmodcore.command.CivCommand;
-import vg.civcraft.mc.civmodcore.command.StandaloneCommand;
-
-@CivCommand(id = "janame")
-public class NameCommand extends StandaloneCommand {
- @Override
- public boolean execute(CommandSender sender, String[] args) {
- Player player = (Player) sender;
+public class NameCommand extends BaseCommand {
+ @CommandAlias("janame")
+ @Syntax("")
+ @Description("Name a snitch")
+ public void execute(Player player, String targetName) {
String name = "";
- if (args[0].length() > 40) {
- name = args[0].substring(0, 40);
+ if (targetName.length() > 40) {
+ name = targetName.substring(0, 40);
} else {
- name = args[0];
+ name = targetName;
}
Snitch snitch = findLookingAtOrClosestSnitch(player, JukeAlertPermissionHandler.getRenameSnitch());
if (snitch == null) {
player.sendMessage(
ChatColor.RED + "You do not own any snitches nearby or lack permission to view their logs!");
- return true;
+ return;
}
String prevName = snitch.getName();
snitch.setName(name);
@@ -39,12 +38,6 @@ public boolean execute(CommandSender sender, String[] args) {
lineText.addExtra(JAUtility.genTextComponent(snitch));
lineText.addExtra(ChatColor.AQUA + " from " + ChatColor.GOLD + prevName);
player.spigot().sendMessage(lineText);
- return true;
-
- }
- @Override
- public List tabComplete(CommandSender sender, String[] args) {
- return new LinkedList<>();
}
}
diff --git a/src/main/java/com/untamedears/jukealert/commands/ToggleLeverCommand.java b/src/main/java/com/untamedears/jukealert/commands/ToggleLeverCommand.java
index 85fb8163..f8caa026 100644
--- a/src/main/java/com/untamedears/jukealert/commands/ToggleLeverCommand.java
+++ b/src/main/java/com/untamedears/jukealert/commands/ToggleLeverCommand.java
@@ -3,48 +3,37 @@
import static com.untamedears.jukealert.util.JAUtility.findLookingAtOrClosestSnitch;
+import co.aikar.commands.BaseCommand;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.Description;
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.model.appender.LeverToggleAppender;
import com.untamedears.jukealert.util.JukeAlertPermissionHandler;
-import java.util.List;
import net.md_5.bungee.api.ChatColor;
-import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import vg.civcraft.mc.civmodcore.command.CivCommand;
-import vg.civcraft.mc.civmodcore.command.StandaloneCommand;
import vg.civcraft.mc.namelayer.permission.PermissionType;
-@CivCommand(id = "jatogglelevers")
-public class ToggleLeverCommand extends StandaloneCommand {
- @Override
- public boolean execute(CommandSender sender, String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "Players only");
- return true;
- }
- Player player = (Player) sender;
+public class ToggleLeverCommand extends BaseCommand {
+
+ @CommandAlias("jatogglelevers")
+ @Description("Toggles flag that indicates if a juke should trigger a lever.")
+ public void execute(Player player, String[] args) {
if (args.length >= 1) {
- return false;
+ return;
}
PermissionType togglePerm = JukeAlertPermissionHandler.getToggleLevers();
Snitch snitch = findLookingAtOrClosestSnitch(player, togglePerm);
if (snitch == null) {
player.sendMessage(
org.bukkit.ChatColor.RED + "You do not own any snitches nearby or lack permission to view their logs!");
- return true;
+ return;
}
if (!snitch.hasAppender(LeverToggleAppender.class)) {
player.sendMessage(ChatColor.RED + "This snitch does not have Toggle lever functionality!");
- return true;
+ return;
}
LeverToggleAppender toggleAppender = (LeverToggleAppender) snitch.getAppender(LeverToggleAppender.class);
toggleAppender.switchState();
player.sendMessage(ChatColor.GREEN + "Toggled lever activation " + (toggleAppender.shouldToggle() ? "on" : "off"));
- return true;
- }
-
- @Override
- public List tabComplete(CommandSender sender, String[] args) {
- return null;
}
}
diff --git a/src/main/java/com/untamedears/jukealert/database/JukeAlertDAO.java b/src/main/java/com/untamedears/jukealert/database/JukeAlertDAO.java
index e897c8cd..e49dcd59 100644
--- a/src/main/java/com/untamedears/jukealert/database/JukeAlertDAO.java
+++ b/src/main/java/com/untamedears/jukealert/database/JukeAlertDAO.java
@@ -43,12 +43,12 @@
import org.bukkit.entity.EntityType;
import vg.civcraft.mc.civmodcore.CivModCorePlugin;
import vg.civcraft.mc.civmodcore.dao.ManagedDatasource;
-import vg.civcraft.mc.civmodcore.locations.chunkmeta.CacheState;
-import vg.civcraft.mc.civmodcore.locations.chunkmeta.api.SingleBlockAPIView;
-import vg.civcraft.mc.civmodcore.locations.global.GlobalLocationTracker;
-import vg.civcraft.mc.civmodcore.locations.global.GlobalTrackableDAO;
-import vg.civcraft.mc.civmodcore.locations.global.WorldIDManager;
-import vg.civcraft.mc.civmodcore.util.CivLogger;
+import vg.civcraft.mc.civmodcore.utilities.CivLogger;
+import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.CacheState;
+import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.api.SingleBlockAPIView;
+import vg.civcraft.mc.civmodcore.world.locations.global.GlobalLocationTracker;
+import vg.civcraft.mc.civmodcore.world.locations.global.GlobalTrackableDAO;
+import vg.civcraft.mc.civmodcore.world.locations.global.WorldIDManager;
import vg.civcraft.mc.namelayer.GroupManager;
import vg.civcraft.mc.namelayer.NameAPI;
import vg.civcraft.mc.namelayer.group.Group;
@@ -116,7 +116,7 @@ public Boolean call() throws Exception {
boolean triggerLever = rs.getBoolean(9);
int oldId = rs.getInt(10);
- short worldID = worldIdMan.getInternalWorldIdByName(worldName);
+ short worldID = worldIdMan.getInternalWorldId(Bukkit.getWorld(worldName));
if (worldID == -1) {
logger.severe("Failed to find world id for world with name " + worldName);
return false;
diff --git a/src/main/java/com/untamedears/jukealert/gui/SnitchLogGUI.java b/src/main/java/com/untamedears/jukealert/gui/SnitchLogGUI.java
index 7cc72b32..faedef8a 100644
--- a/src/main/java/com/untamedears/jukealert/gui/SnitchLogGUI.java
+++ b/src/main/java/com/untamedears/jukealert/gui/SnitchLogGUI.java
@@ -22,14 +22,14 @@
import org.bukkit.inventory.meta.ItemMeta;
import vg.civcraft.mc.civmodcore.chat.Componentify;
import vg.civcraft.mc.civmodcore.chat.dialog.Dialog;
+import vg.civcraft.mc.civmodcore.inventory.gui.Clickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.ClickableInventory;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.MultiPageView;
import vg.civcraft.mc.civmodcore.inventory.items.ItemUtils;
import vg.civcraft.mc.civmodcore.inventory.items.MetaUtils;
-import vg.civcraft.mc.civmodcore.inventorygui.Clickable;
-import vg.civcraft.mc.civmodcore.inventorygui.ClickableInventory;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
-import vg.civcraft.mc.civmodcore.inventorygui.MultiPageView;
-import vg.civcraft.mc.civmodcore.util.MoreCollectionUtils;
+import vg.civcraft.mc.civmodcore.utilities.MoreCollectionUtils;
import vg.civcraft.mc.namelayer.permission.PermissionType;
public class SnitchLogGUI {
diff --git a/src/main/java/com/untamedears/jukealert/gui/SnitchOverviewGUI.java b/src/main/java/com/untamedears/jukealert/gui/SnitchOverviewGUI.java
index d0ab6684..c8e68240 100644
--- a/src/main/java/com/untamedears/jukealert/gui/SnitchOverviewGUI.java
+++ b/src/main/java/com/untamedears/jukealert/gui/SnitchOverviewGUI.java
@@ -7,12 +7,12 @@
import net.md_5.bungee.api.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.inventory.meta.ItemMeta;
+import vg.civcraft.mc.civmodcore.inventory.gui.Clickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.MultiPageView;
import vg.civcraft.mc.civmodcore.inventory.items.ItemUtils;
import vg.civcraft.mc.civmodcore.inventory.items.MetaUtils;
-import vg.civcraft.mc.civmodcore.inventorygui.Clickable;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
-import vg.civcraft.mc.civmodcore.inventorygui.MultiPageView;
-import vg.civcraft.mc.civmodcore.util.TextUtil;
+import vg.civcraft.mc.civmodcore.utilities.TextUtil;
import vg.civcraft.mc.civmodcore.world.WorldUtils;
public class SnitchOverviewGUI {
diff --git a/src/main/java/com/untamedears/jukealert/model/Snitch.java b/src/main/java/com/untamedears/jukealert/model/Snitch.java
index c39729fb..c2dce3a2 100644
--- a/src/main/java/com/untamedears/jukealert/model/Snitch.java
+++ b/src/main/java/com/untamedears/jukealert/model/Snitch.java
@@ -18,9 +18,9 @@
import org.bukkit.entity.Player;
import vg.civcraft.mc.citadel.ReinforcementLogic;
import vg.civcraft.mc.citadel.model.Reinforcement;
-import vg.civcraft.mc.civmodcore.locations.chunkmeta.CacheState;
-import vg.civcraft.mc.civmodcore.locations.global.LocationTrackable;
-import vg.civcraft.mc.civmodcore.util.CivLogger;
+import vg.civcraft.mc.civmodcore.utilities.CivLogger;
+import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.CacheState;
+import vg.civcraft.mc.civmodcore.world.locations.global.LocationTrackable;
import vg.civcraft.mc.namelayer.GroupManager;
import vg.civcraft.mc.namelayer.NameAPI;
import vg.civcraft.mc.namelayer.group.Group;
diff --git a/src/main/java/com/untamedears/jukealert/model/SnitchQTEntry.java b/src/main/java/com/untamedears/jukealert/model/SnitchQTEntry.java
index 3609ef1d..fe58a844 100644
--- a/src/main/java/com/untamedears/jukealert/model/SnitchQTEntry.java
+++ b/src/main/java/com/untamedears/jukealert/model/SnitchQTEntry.java
@@ -1,7 +1,7 @@
package com.untamedears.jukealert.model;
import org.bukkit.Location;
-import vg.civcraft.mc.civmodcore.locations.QTBoxImpl;
+import vg.civcraft.mc.civmodcore.world.locations.QTBoxImpl;
public class SnitchQTEntry extends QTBoxImpl {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggableAction.java b/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggableAction.java
index ac63c53f..cdee570e 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggableAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggableAction.java
@@ -4,7 +4,7 @@
import com.untamedears.jukealert.model.actions.LoggedActionPersistence;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Location;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public interface LoggableAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggableBlockAction.java b/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggableBlockAction.java
index 3ed84a7f..9bf22e37 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggableBlockAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggableBlockAction.java
@@ -8,9 +8,9 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
import vg.civcraft.mc.civmodcore.inventory.items.ItemUtils;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
public abstract class LoggableBlockAction extends LoggablePlayerAction {
@@ -33,7 +33,21 @@ public Location getLocation() {
/**
* @return Material of the block this action is about
*/
+
+ /*
+ Some items cannot be held in the inventory, such as FIRE or POWDER_SNOW, therefore we have a check here to return
+ the correct inventory item to represent.
+ */
public Material getMaterial() {
+ if (material == Material.POWDER_SNOW) {
+ return Material.POWDER_SNOW_BUCKET;
+ }
+ if (material == Material.FIRE) {
+ return Material.FLINT_AND_STEEL;
+ }
+ if (material == Material.SWEET_BERRY_BUSH) {
+ return Material.SWEET_BERRIES;
+ }
return material;
}
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggablePlayerAction.java b/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggablePlayerAction.java
index 16d21c80..1b20d8c9 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggablePlayerAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/abstr/LoggablePlayerAction.java
@@ -5,21 +5,20 @@
import com.untamedears.jukealert.model.actions.ActionCacheState;
import com.untamedears.jukealert.model.actions.LoggedActionPersistence;
import com.untamedears.jukealert.util.JAUtility;
+import java.util.UUID;
+import java.util.concurrent.CompletableFuture;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import vg.civcraft.mc.civmodcore.CivModCorePlugin;
+import vg.civcraft.mc.civmodcore.inventory.gui.ClickableInventory;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
import vg.civcraft.mc.civmodcore.inventory.items.ItemUtils;
-import vg.civcraft.mc.civmodcore.inventorygui.ClickableInventory;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
import vg.civcraft.mc.namelayer.NameAPI;
-import java.util.UUID;
-import java.util.concurrent.CompletableFuture;
-
public abstract class LoggablePlayerAction extends PlayerAction implements LoggableAction {
private ActionCacheState state;
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/DestroyVehicleAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/DestroyVehicleAction.java
index 20cea4c4..879a14e3 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/DestroyVehicleAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/DestroyVehicleAction.java
@@ -7,9 +7,9 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
import vg.civcraft.mc.civmodcore.inventory.items.ItemUtils;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
public class DestroyVehicleAction extends LoggablePlayerVictimAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/DismountEntityAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/DismountEntityAction.java
index 83055727..8a8e057b 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/DismountEntityAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/DismountEntityAction.java
@@ -6,8 +6,8 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public class DismountEntityAction extends LoggablePlayerVictimAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/EnterFieldAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/EnterFieldAction.java
index 2d9668af..23a065ba 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/EnterFieldAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/EnterFieldAction.java
@@ -3,10 +3,9 @@
import com.untamedears.jukealert.events.PlayerHitSnitchEvent;
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.model.actions.abstr.LoggablePlayerAction;
-import org.bukkit.Bukkit;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
-
import java.util.UUID;
+import org.bukkit.Bukkit;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public class EnterFieldAction extends LoggablePlayerAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/EnterVehicleAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/EnterVehicleAction.java
index de223bee..45039814 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/EnterVehicleAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/EnterVehicleAction.java
@@ -7,9 +7,9 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
import vg.civcraft.mc.civmodcore.inventory.items.ItemUtils;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
public class EnterVehicleAction extends LoggablePlayerVictimAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/ExitVehicleAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/ExitVehicleAction.java
index 25b6ce81..8a1f6eae 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/ExitVehicleAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/ExitVehicleAction.java
@@ -7,9 +7,9 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
import vg.civcraft.mc.civmodcore.inventory.items.ItemUtils;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
public class ExitVehicleAction extends LoggablePlayerVictimAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/IgniteBlockAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/IgniteBlockAction.java
index 856029e8..74b0b08d 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/IgniteBlockAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/IgniteBlockAction.java
@@ -7,8 +7,8 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public class IgniteBlockAction extends LoggablePlayerAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/KillLivingEntityAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/KillLivingEntityAction.java
index bb4f5f49..f3d65e27 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/KillLivingEntityAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/KillLivingEntityAction.java
@@ -6,8 +6,8 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public class KillLivingEntityAction extends LoggablePlayerVictimAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/KillPlayerAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/KillPlayerAction.java
index 6a2ba279..a96cdea2 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/KillPlayerAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/KillPlayerAction.java
@@ -6,9 +6,9 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
import vg.civcraft.mc.civmodcore.inventory.items.ItemUtils;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
import vg.civcraft.mc.namelayer.NameAPI;
public class KillPlayerAction extends LoggablePlayerVictimAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/LeaveFieldAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/LeaveFieldAction.java
index 544ccb7d..ab75fc07 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/LeaveFieldAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/LeaveFieldAction.java
@@ -2,9 +2,8 @@
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.model.actions.abstr.LoggablePlayerAction;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
-
import java.util.UUID;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public class LeaveFieldAction extends LoggablePlayerAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/LoginAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/LoginAction.java
index 649b8156..7296d208 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/LoginAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/LoginAction.java
@@ -3,11 +3,10 @@
import com.untamedears.jukealert.events.PlayerLoginSnitchEvent;
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.model.actions.abstr.LoggablePlayerAction;
+import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
-
-import java.util.UUID;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public class LoginAction extends LoggablePlayerAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/LogoutAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/LogoutAction.java
index 3309a77e..db5c8113 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/LogoutAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/LogoutAction.java
@@ -3,11 +3,10 @@
import com.untamedears.jukealert.events.PlayerLogoutSnitchEvent;
import com.untamedears.jukealert.model.Snitch;
import com.untamedears.jukealert.model.actions.abstr.LoggablePlayerAction;
+import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
-
-import java.util.UUID;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public class LogoutAction extends LoggablePlayerAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/actions/impl/MountEntityAction.java b/src/main/java/com/untamedears/jukealert/model/actions/impl/MountEntityAction.java
index dfc79248..17780163 100644
--- a/src/main/java/com/untamedears/jukealert/model/actions/impl/MountEntityAction.java
+++ b/src/main/java/com/untamedears/jukealert/model/actions/impl/MountEntityAction.java
@@ -6,8 +6,8 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
-import vg.civcraft.mc.civmodcore.inventorygui.DecorationStack;
-import vg.civcraft.mc.civmodcore.inventorygui.IClickable;
+import vg.civcraft.mc.civmodcore.inventory.gui.DecorationStack;
+import vg.civcraft.mc.civmodcore.inventory.gui.IClickable;
public class MountEntityAction extends LoggablePlayerVictimAction {
diff --git a/src/main/java/com/untamedears/jukealert/model/appender/DormantCullingAppender.java b/src/main/java/com/untamedears/jukealert/model/appender/DormantCullingAppender.java
index 73f7b0b1..cc7cbb6d 100644
--- a/src/main/java/com/untamedears/jukealert/model/appender/DormantCullingAppender.java
+++ b/src/main/java/com/untamedears/jukealert/model/appender/DormantCullingAppender.java
@@ -10,9 +10,9 @@
import com.untamedears.jukealert.util.JukeAlertPermissionHandler;
import javax.annotation.Nonnull;
import org.bukkit.configuration.ConfigurationSection;
-import vg.civcraft.mc.civmodcore.util.BukkitComparators;
-import vg.civcraft.mc.civmodcore.util.CivLogger;
-import vg.civcraft.mc.civmodcore.util.progress.ProgressTrackable;
+import vg.civcraft.mc.civmodcore.utilities.BukkitComparators;
+import vg.civcraft.mc.civmodcore.utilities.CivLogger;
+import vg.civcraft.mc.civmodcore.utilities.progress.ProgressTrackable;
public class DormantCullingAppender
extends ConfigurableSnitchAppender
diff --git a/src/main/java/com/untamedears/jukealert/model/appender/SnitchLogAppender.java b/src/main/java/com/untamedears/jukealert/model/appender/SnitchLogAppender.java
index bc8feb17..5aa27984 100644
--- a/src/main/java/com/untamedears/jukealert/model/appender/SnitchLogAppender.java
+++ b/src/main/java/com/untamedears/jukealert/model/appender/SnitchLogAppender.java
@@ -15,7 +15,7 @@
import java.util.List;
import javax.annotation.Nonnull;
import org.bukkit.configuration.ConfigurationSection;
-import vg.civcraft.mc.civmodcore.util.CivLogger;
+import vg.civcraft.mc.civmodcore.utilities.CivLogger;
public class SnitchLogAppender extends ConfigurableSnitchAppender {
diff --git a/src/main/java/com/untamedears/jukealert/model/appender/config/DormantCullingConfig.java b/src/main/java/com/untamedears/jukealert/model/appender/config/DormantCullingConfig.java
index 49e71883..d283f4ea 100644
--- a/src/main/java/com/untamedears/jukealert/model/appender/config/DormantCullingConfig.java
+++ b/src/main/java/com/untamedears/jukealert/model/appender/config/DormantCullingConfig.java
@@ -2,7 +2,7 @@
import java.util.concurrent.TimeUnit;
import org.bukkit.configuration.ConfigurationSection;
-import vg.civcraft.mc.civmodcore.util.ConfigParsing;
+import vg.civcraft.mc.civmodcore.config.ConfigHelper;
public class DormantCullingConfig implements AppenderConfig {
@@ -10,8 +10,8 @@ public class DormantCullingConfig implements AppenderConfig {
private long dormantLifeTime;
public DormantCullingConfig(ConfigurationSection config) {
- lifeTime = ConfigParsing.parseTime(config.getString("lifeTime", "2 weeks"), TimeUnit.MILLISECONDS);
- dormantLifeTime = ConfigParsing.parseTime(config.getString("dormantTime", "2 weeks"), TimeUnit.MILLISECONDS);
+ lifeTime = ConfigHelper.parseTime(config.getString("lifeTime", "2 weeks"), TimeUnit.MILLISECONDS);
+ dormantLifeTime = ConfigHelper.parseTime(config.getString("dormantTime", "2 weeks"), TimeUnit.MILLISECONDS);
}
/**
diff --git a/src/main/java/com/untamedears/jukealert/model/appender/config/LeverToggleConfig.java b/src/main/java/com/untamedears/jukealert/model/appender/config/LeverToggleConfig.java
index 6404c25c..a2dfe98f 100644
--- a/src/main/java/com/untamedears/jukealert/model/appender/config/LeverToggleConfig.java
+++ b/src/main/java/com/untamedears/jukealert/model/appender/config/LeverToggleConfig.java
@@ -10,7 +10,7 @@
import java.util.logging.Logger;
import org.bukkit.block.BlockFace;
import org.bukkit.configuration.ConfigurationSection;
-import vg.civcraft.mc.civmodcore.util.ConfigParsing;
+import vg.civcraft.mc.civmodcore.config.ConfigHelper;
public class LeverToggleConfig implements AppenderConfig {
@@ -33,7 +33,7 @@ public LeverToggleConfig(ConfigurationSection config) {
logger.warning(key + " at " + config.getCurrentPath() + " is not a valid BlockFace, entry was ignored");
continue;
}
- long delay = ConfigParsing.parseTime(current.getString("disableDelay", "1 second"));
+ long delay = ConfigHelper.parseTime(current.getString("disableDelay", "1 second"));
if (!current.isList("trigger")) {
logger.warning("No trigger actions specified for lever at " + current.getCurrentPath());
continue;
diff --git a/src/main/java/com/untamedears/jukealert/model/appender/config/LimitedActionTriggerConfig.java b/src/main/java/com/untamedears/jukealert/model/appender/config/LimitedActionTriggerConfig.java
index f96cdc43..2d5837f7 100644
--- a/src/main/java/com/untamedears/jukealert/model/appender/config/LimitedActionTriggerConfig.java
+++ b/src/main/java/com/untamedears/jukealert/model/appender/config/LimitedActionTriggerConfig.java
@@ -8,7 +8,6 @@
import java.util.concurrent.TimeUnit;
import org.bukkit.configuration.ConfigurationSection;
import vg.civcraft.mc.civmodcore.config.ConfigHelper;
-import vg.civcraft.mc.civmodcore.util.ConfigParsing;
public class LimitedActionTriggerConfig implements AppenderConfig {
@@ -30,7 +29,7 @@ public LimitedActionTriggerConfig(final ConfigurationSection config) {
}
}
this.acceptAll = config.getBoolean("acceptAll", false);
- this.actionLifespan = ConfigParsing.parseTime(config.getString("lifeTime", "4 weeks"), TimeUnit.MILLISECONDS);
+ this.actionLifespan = ConfigHelper.parseTime(config.getString("lifeTime", "4 weeks"), TimeUnit.MILLISECONDS);
this.hardCap = config.getInt("hardCap", 100_000);
}
diff --git a/src/main/java/com/untamedears/jukealert/util/JASettingsManager.java b/src/main/java/com/untamedears/jukealert/util/JASettingsManager.java
index 7cc90963..1beab79f 100644
--- a/src/main/java/com/untamedears/jukealert/util/JASettingsManager.java
+++ b/src/main/java/com/untamedears/jukealert/util/JASettingsManager.java
@@ -4,13 +4,12 @@
import java.util.UUID;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
-import vg.civcraft.mc.civmodcore.playersettings.PlayerSettingAPI;
-import vg.civcraft.mc.civmodcore.playersettings.gui.MenuSection;
-import vg.civcraft.mc.civmodcore.playersettings.impl.BooleanSetting;
-import vg.civcraft.mc.civmodcore.playersettings.impl.BoundedIntegerSetting;
-import vg.civcraft.mc.civmodcore.playersettings.impl.DisplayLocationSetting;
-import vg.civcraft.mc.civmodcore.playersettings.impl.DisplayLocationSetting.DisplayLocation;
-import vg.civcraft.mc.civmodcore.playersettings.impl.collection.SetSetting;
+import vg.civcraft.mc.civmodcore.players.settings.PlayerSettingAPI;
+import vg.civcraft.mc.civmodcore.players.settings.gui.MenuSection;
+import vg.civcraft.mc.civmodcore.players.settings.impl.BooleanSetting;
+import vg.civcraft.mc.civmodcore.players.settings.impl.BoundedIntegerSetting;
+import vg.civcraft.mc.civmodcore.players.settings.impl.DisplayLocationSetting;
+import vg.civcraft.mc.civmodcore.players.settings.impl.collection.SetSetting;
public class JASettingsManager {
@@ -42,7 +41,7 @@ private void initSettings() {
"jaIgnoreAllSnitchAlerts", "Mutes all snitch notifications if enabled");
PlayerSettingAPI.registerSetting(ignoreAllAlerts, menu);
- showNearbySnitchCount = new DisplayLocationSetting(JukeAlert.getInstance(), DisplayLocation.SIDEBAR, "Show nearby snitch count",
+ showNearbySnitchCount = new DisplayLocationSetting(JukeAlert.getInstance(), DisplayLocationSetting.DisplayLocation.SIDEBAR, "Show nearby snitch count",
"jaShowNearbySnitchCount", new ItemStack(Material.JUKEBOX),"Nearby snitch count");
PlayerSettingAPI.registerSetting(showNearbySnitchCount, menu);
diff --git a/src/main/java/com/untamedears/jukealert/util/OverlayManager.java b/src/main/java/com/untamedears/jukealert/util/OverlayManager.java
index bb3d80b5..62bffcb6 100644
--- a/src/main/java/com/untamedears/jukealert/util/OverlayManager.java
+++ b/src/main/java/com/untamedears/jukealert/util/OverlayManager.java
@@ -1,9 +1,10 @@
package com.untamedears.jukealert.util;
-import vg.civcraft.mc.civmodcore.scoreboard.bottom.BottomLine;
-import vg.civcraft.mc.civmodcore.scoreboard.bottom.BottomLineAPI;
-import vg.civcraft.mc.civmodcore.scoreboard.side.CivScoreBoard;
-import vg.civcraft.mc.civmodcore.scoreboard.side.ScoreBoardAPI;
+
+import vg.civcraft.mc.civmodcore.players.scoreboard.bottom.BottomLine;
+import vg.civcraft.mc.civmodcore.players.scoreboard.bottom.BottomLineAPI;
+import vg.civcraft.mc.civmodcore.players.scoreboard.side.CivScoreBoard;
+import vg.civcraft.mc.civmodcore.players.scoreboard.side.ScoreBoardAPI;
public class OverlayManager {
diff --git a/src/main/java/com/untamedears/jukealert/util/TimeZoneSetting.java b/src/main/java/com/untamedears/jukealert/util/TimeZoneSetting.java
index eb8df858..bca09bbd 100644
--- a/src/main/java/com/untamedears/jukealert/util/TimeZoneSetting.java
+++ b/src/main/java/com/untamedears/jukealert/util/TimeZoneSetting.java
@@ -2,7 +2,7 @@
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
-import vg.civcraft.mc.civmodcore.playersettings.impl.StringSetting;
+import vg.civcraft.mc.civmodcore.players.settings.impl.StringSetting;
public class TimeZoneSetting extends StringSetting {
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index e20c8942..83cce883 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -1,15 +1,15 @@
-#database:
-# ==: vg.civcraft.mc.civmodcore.dao.ManagedDatasource
-# plugin: JukeAlert
-# user: username
-# password: squidLover69
-# host: localhost
-# port: 3306
-# database: snitches
-# poolsize: 5
-# connection_timeout: 10000
-# idle_timeout: 600000
-# max_lifetime: 7200000
+database:
+ ==: vg.civcraft.mc.civmodcore.dao.DatabaseCredentials
+ plugin: JukeAlert
+ user: username
+ password: squidLover69
+ host: localhost
+ port: 3306
+ database: snitches
+ poolsize: 5
+ connection_timeout: 10000
+ idle_timeout: 600000
+ max_lifetime: 7200000
snitchConfigs:
note:
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 80cceee7..cf63ea1a 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -8,47 +8,6 @@ api-version: 1.16
description: JukeAlert provides an easy-to-use means by which one can record player activity within an 11 block radius. Anything
someone does while within eleven blocks of a jukebox you've reinforced will be logged on it, and can be read by looking
at the jukebox and typing '/jainfo'.
-commands:
- ja:
- description: Opens snitch log GUI
- usage: /ja
- min-args: 0
- max-args: 0
- player-only: true
- jainfo:
- description: Display information from a snitch
- usage: /jainfo [ or 'next'] [censor] [action=] [player=]
- min-args: 0
- max-args: 6
- player-only: true
- jalist:
- description: Lists all snitches you have access to if given no arguments or the ones on the given groups
- usage: /jalist [group1] [group2] [group3]
- min-args: 0
- max-args: 20
- player-only: true
- jaclear:
- description: Deletes all logs a snitch has
- usage: /jaclear
- min-args: 0
- max-args: 0
- player-only: true
- janame:
- description: Name a snitch
- usage: /janame
- min-args: 1
- max-args: 1
- player-only: true
- jalookup:
- description: Look up a snitch by its coordinates
- usage: /jalookup [world]
- permission: jukealert.jalookup
- jamute:
- description: Adds or removes from a snitch notification ignore list.
- usage: /jamute
- jatogglelevers:
- description: Toggles flag that indicates if a juke should trigger a lever.
- usage: /jatogglelevers
permissions:
jukealert.admin.jagroup:
description: Use /jagroup even when not the owner