diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6628e214d..60d1dd326 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ runpaper = { id = "xyz.jpenilla.run-paper", version = "2.3.1" } [libraries] paper-api = { group = "io.papermc.paper", name = "paper-api", version.ref = "paper" } -aikar-acf = { group = "co.aikar", name = "acf-bukkit", version = "0.5.1-SNAPSHOT" } +aikar-acf = { group = "co.aikar", name = "acf-paper", version = "0.5.1-SNAPSHOT" } aikar-taskchain = { group = "co.aikar", name = "taskchain-bukkit", version = "3.7.2" } commons-lang3 = { group = "org.apache.commons", name = "commons-lang3", version = "3.12.0" } diff --git a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/DonumCommandHandler.java b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/DonumCommandHandler.java index 7bab25d4b..90ae2e848 100644 --- a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/DonumCommandHandler.java +++ b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/DonumCommandHandler.java @@ -3,6 +3,7 @@ package com.github.civcraft.donum.commands; import com.github.civcraft.donum.commands.commands.Deliver; import com.github.civcraft.donum.commands.commands.DeliverDeath; import com.github.civcraft.donum.commands.commands.OpenDeliveries; +import com.github.civcraft.donum.commands.commands.PendingDeliveries; import org.bukkit.plugin.Plugin; import org.jetbrains.annotations.NotNull; import vg.civcraft.mc.civmodcore.commands.CommandManager; @@ -24,5 +25,6 @@ public class DonumCommandHandler extends CommandManager { registerCommand(new OpenDeliveries()); registerCommand(new Deliver()); registerCommand(new DeliverDeath()); + registerCommand(new PendingDeliveries()); } } diff --git a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/Deliver.java b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/Deliver.java index 0a307f6af..5f0d3dbac 100644 --- a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/Deliver.java +++ b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/Deliver.java @@ -2,6 +2,7 @@ package com.github.civcraft.donum.commands.commands; import co.aikar.commands.BaseCommand; import co.aikar.commands.annotation.CommandAlias; +import co.aikar.commands.annotation.CommandCompletion; import co.aikar.commands.annotation.CommandPermission; import co.aikar.commands.annotation.Description; import co.aikar.commands.annotation.Syntax; @@ -16,6 +17,7 @@ public class Deliver extends BaseCommand { @CommandAlias("deliver") @Description("Opens an inventory to which you can add items to forward them to the players delivery inventory") @Syntax("") + @CommandCompletion("@players") @CommandPermission("donum.op") public void execute(Player player, String targetPlayer) { //TODO make namelayer soft dependency diff --git a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/DeliverDeath.java b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/DeliverDeath.java index cdbb304b2..121a385c2 100644 --- a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/DeliverDeath.java +++ b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/DeliverDeath.java @@ -2,6 +2,7 @@ package com.github.civcraft.donum.commands.commands; import co.aikar.commands.BaseCommand; import co.aikar.commands.annotation.CommandAlias; +import co.aikar.commands.annotation.CommandCompletion; import co.aikar.commands.annotation.CommandPermission; import co.aikar.commands.annotation.Description; import co.aikar.commands.annotation.Optional; @@ -20,6 +21,7 @@ public class DeliverDeath extends BaseCommand { @CommandAlias("deliverdeath") @Syntax(" [inventoriesToGet]") @Description("Shows death inventories for a player, by default the last 25") + @CommandCompletion("@players") @CommandPermission("donum.op") public void execute(Player player, String targetPlayer, @Optional String inventoriesToGet) { UUID delUUID = NameAPI.getUUID(targetPlayer); diff --git a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/PendingDeliveries.java b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/PendingDeliveries.java new file mode 100644 index 000000000..31dd926c5 --- /dev/null +++ b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/commands/commands/PendingDeliveries.java @@ -0,0 +1,44 @@ +package com.github.civcraft.donum.commands.commands; + +import co.aikar.commands.BaseCommand; +import co.aikar.commands.annotation.CommandAlias; +import co.aikar.commands.annotation.CommandCompletion; +import co.aikar.commands.annotation.CommandPermission; +import co.aikar.commands.annotation.Description; +import co.aikar.commands.annotation.Syntax; +import com.github.civcraft.donum.Donum; +import com.github.civcraft.donum.gui.AdminDeliveryGUI; +import com.github.civcraft.donum.inventories.DeliveryInventory; +import java.util.UUID; +import net.md_5.bungee.api.ChatColor; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import vg.civcraft.mc.namelayer.NameAPI; + +public class PendingDeliveries extends BaseCommand { + + @CommandAlias("pendingdeliveries|opendeliveries") + @Description("Opens an inventory to show which items have been sent to the player's delivery inventory") + @Syntax("") + @CommandCompletion("@players") + @CommandPermission("donum.op") + public void execute(Player player, String targetPlayer) { + UUID delUUID = NameAPI.getUUID(targetPlayer); + if (delUUID == null) { + player.sendMessage(ChatColor.RED + "This player has never logged into the server"); + return; + } + + DeliveryInventory delInv = Donum.getManager().getDeliveryInventory(delUUID); + if (delInv == null) { + player.sendMessage(ChatColor.RED + "Player inventory isn't loaded yet, try again in a few seconds"); + return; + } + + Inventory inventory = Bukkit.createInventory(null, 54, NameAPI.getCurrentName(delUUID)); + // add items to ui + delInv.getInventory().getItemStackRepresentation().forEach(inventory::addItem); + player.openInventory(inventory); + } +} diff --git a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/gui/DeathInventoryGUI.java b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/gui/DeathInventoryGUI.java index aee8425c5..a81994e96 100644 --- a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/gui/DeathInventoryGUI.java +++ b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/gui/DeathInventoryGUI.java @@ -133,7 +133,7 @@ public class DeathInventoryGUI { @Override public void clicked(Player p) { Donum.getManager().returnDeathInventory(i); - Donum.getInstance().info(p.getName() + " returned inventory " + i.getID()); + Donum.getInstance().info(p.getName() + " returned inventory " + i.getID() + " to delivery inventory of " + NameAPI.getCurrentName(viewer)); p.sendMessage(ChatColor.GREEN + "Successfully returned inventory with id " + i.getID() + " with a total of " + i.getInventory().getTotalItemAmount() + " items"); showScreen(); diff --git a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/listeners/AdminDeliveryListener.java b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/listeners/AdminDeliveryListener.java index fded21f83..0630790bb 100644 --- a/plugins/donum-paper/src/main/java/com/github/civcraft/donum/listeners/AdminDeliveryListener.java +++ b/plugins/donum-paper/src/main/java/com/github/civcraft/donum/listeners/AdminDeliveryListener.java @@ -19,16 +19,16 @@ public class AdminDeliveryListener implements Listener { public void closeInventory(InventoryCloseEvent e) { if (AdminDeliveryGUI.isEditingPlayerDeliveryInventory(e.getPlayer().getUniqueId())) { ItemMap im = new ItemMap(); + UUID beingViewed = AdminDeliveryGUI.getPlayerBeingViewed(e.getPlayer().getUniqueId()); for (ItemStack is : e.getInventory().getContents()) { if (is == null || is.getType() == Material.AIR) { continue; } im.addItemStack(is); + Donum.getInstance().info(e.getPlayer().getName() + " added " + is + " to delivery inventory of " + NameAPI.getCurrentName(beingViewed)); } - UUID beingViewed = AdminDeliveryGUI.getPlayerBeingViewed(e.getPlayer().getUniqueId()); AdminDeliveryGUI.closedInventory(e.getPlayer().getUniqueId()); DonumAPI.deliverItem(beingViewed, im); - Donum.getInstance().info(e.getPlayer().getName() + " added " + im.getTotalItemAmount() + " items to delivery inventory of " + NameAPI.getCurrentName(beingViewed)); e.getPlayer().sendMessage(ChatColor.GREEN + "Successfully added " + im.getTotalItemAmount() + " items to delivery inventory of " + NameAPI.getCurrentName(beingViewed)); } }