From 7a0fd842c9b41f02c027afea59914b3dd5e09e68 Mon Sep 17 00:00:00 2001
From: Gabriel Tofvesson <gabto095@student.liu.se>
Date: Sun, 25 Apr 2021 00:11:55 +0200
Subject: [PATCH] Add command/event feedback

---
 .../command/MagnetCommandExecutor.java        | 21 ++++++++++++++++---
 .../command/SortCommandExecutor.java          | 13 +++++++++---
 2 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/src/dev/w1zzrd/invtweaks/command/MagnetCommandExecutor.java b/src/dev/w1zzrd/invtweaks/command/MagnetCommandExecutor.java
index e482af3..ac43459 100644
--- a/src/dev/w1zzrd/invtweaks/command/MagnetCommandExecutor.java
+++ b/src/dev/w1zzrd/invtweaks/command/MagnetCommandExecutor.java
@@ -1,5 +1,6 @@
 package dev.w1zzrd.invtweaks.command;
 
+import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.Bukkit;
 import org.bukkit.Location;
 import org.bukkit.World;
@@ -11,10 +12,18 @@ import org.bukkit.entity.Player;
 import org.bukkit.plugin.Plugin;
 import org.bukkit.scheduler.BukkitTask;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.UUID;
+import java.util.logging.Logger;
+
+import static dev.w1zzrd.invtweaks.InvTweaksPlugin.LOG_PLUGIN_NAME;
 
 public class MagnetCommandExecutor implements CommandExecutor {
 
+    private static final Logger logger = Bukkit.getLogger();
+
     /**
      * List of players with magnet mode active
      */
@@ -53,7 +62,10 @@ public class MagnetCommandExecutor implements CommandExecutor {
         if (!(sender instanceof Player))
             return false;
 
-        toggleMagnet((Player) sender);
+        final boolean isMagnetActive = toggleMagnet((Player) sender);
+
+        logger.fine(LOG_PLUGIN_NAME + " Player " + sender.getName() + (isMagnetActive ? " " : " de-") + "activated magnet");
+        sender.spigot().sendMessage(new TextComponent((isMagnetActive ? "Enabled" : "Disabled") + " magnetism"));
 
         return true;
     }
@@ -180,13 +192,16 @@ public class MagnetCommandExecutor implements CommandExecutor {
      * disabled.
      */
     private void updateMagnetismTask() {
-        if (refreshTask == null && activeMagnets.size() > 0 && plugin.isEnabled())
+        if (refreshTask == null && activeMagnets.size() > 0 && plugin.isEnabled()) {
             refreshTask = Bukkit.getScheduler().runTaskTimer(plugin, this::taskApplyMagnetism, 0, interval);
+            logger.info(LOG_PLUGIN_NAME + " Activated magnetism check task");
+        }
         else if (refreshTask != null && (activeMagnets.size() == 0 || !plugin.isEnabled())) {
             Bukkit.getScheduler().cancelTask(refreshTask.getTaskId());
             refreshTask = null;
             activeMagnets.clear();
             divIndex = 0;
+            logger.info(LOG_PLUGIN_NAME + " De-activated magnetism check task");
         }
     }
 
diff --git a/src/dev/w1zzrd/invtweaks/command/SortCommandExecutor.java b/src/dev/w1zzrd/invtweaks/command/SortCommandExecutor.java
index 19c2063..ddb5577 100644
--- a/src/dev/w1zzrd/invtweaks/command/SortCommandExecutor.java
+++ b/src/dev/w1zzrd/invtweaks/command/SortCommandExecutor.java
@@ -1,5 +1,6 @@
 package dev.w1zzrd.invtweaks.command;
 
+import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.Bukkit;
 import org.bukkit.Material;
 import org.bukkit.block.*;
@@ -46,12 +47,18 @@ public class SortCommandExecutor implements CommandExecutor {
         final BlockState target = targetBlock.getState();
 
         // Sort appropriate inventory holder
-        if (target instanceof Chest)
+        if (target instanceof Chest) {
             sortChest((Chest) target);
-        else if (target instanceof ShulkerBox)
+            player.spigot().sendMessage(new TextComponent("Sorted chest"));
+        }
+        else if (target instanceof ShulkerBox) {
             sortShulkerBox((ShulkerBox) target);
-        else
+            player.spigot().sendMessage(new TextComponent("Sorted shulker box"));
+        }
+        else {
             sortPlayer(player);
+            player.spigot().sendMessage(new TextComponent("Sorted inventory"));
+        }
 
         return true;
     }