From b8f3c4b240060cd5466211792be4c5fd9ecc9caf Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Tue, 30 Sep 2025 12:01:52 -0500 Subject: [PATCH] stack resources command --- src/engine/gameManager/ChatManager.java | 33 ++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/engine/gameManager/ChatManager.java b/src/engine/gameManager/ChatManager.java index 5f0f66ec..984f9c8d 100644 --- a/src/engine/gameManager/ChatManager.java +++ b/src/engine/gameManager/ChatManager.java @@ -29,10 +29,7 @@ import engine.server.world.WorldServer; import engine.session.Session; import org.pmw.tinylog.Logger; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; +import java.util.*; public enum ChatManager { @@ -208,6 +205,34 @@ public enum ChatManager { } pc.getCharItemManager().updateInventory(); } + + if(text.startsWith("./stackresources")){ + HashMap resources = new HashMap<>(); + PlayerCharacter pc = (PlayerCharacter)player; + for(Item i : pc.getCharItemManager().getInventory()){ + ItemBase ib = i.getItemBase(); + if(ib.getType().equals(Enum.ItemType.RESOURCE)){ + if(resources.containsKey(ib.getUUID())){ + //already logged this resource, add to count + int count = resources.get(ib.getUUID()); + count += i.getNumOfItems(); + resources.put(ib.getUUID(),count); + }else{ + //have not logged this resource yet + resources.put(ib.getUUID(),i.getNumOfItems()); + } + pc.getCharItemManager().junk(i); + } + } + for(int id : resources.keySet()){ + ItemBase ib = ItemBase.getItemBase(id); + MobLoot ml = new MobLoot(pc,ib,resources.get(id),false); + Item i = ml.promoteToItem(pc); + pc.getCharItemManager().addItemToInventory(i); + } + pc.getCharItemManager().updateInventory(); + } + if (ChatManager.isDevCommand(text) == true) { ChatManager.processDevCommand(player, text); return;