Regarding the item slot display of equipped gear

In MZ’s default settings

I believe that when an item is equipped, it disappears from the inventory and moves to the equipment screen.

For example, if you have one [Short Sword] in your possession, it appears under the weapons category in your inventory when unequipped. However, if you equip it to any actor, the [Short Sword] disappears from the weapons category in the inventory.

I am looking for a way to keep the equipped [Short Sword] visible in the weapons category even while an actor is wearing it (similar to how existing games display it as [E:Short Sword] or similar).

I apologize if this is possible with the default settings or an existing plugin, but I would appreciate it if you could share the method, including any existing solutions. Thank you.

From what I’ve found, MZ builds the item list only from what the party is holding, so once a weapon is equipped it isn’t in that list anymore. I couldn’t find a plugin that does exactly this, so I put together a small one. Save it as ShowEquippedItems.js in your js/plugins folder and turn it on in the Plugin Manager:

/*:
 * @target MZ
 * @plugindesc Shows equipped weapons and armor in the Item menu with an E: mark.
 */
(() => {
    const mark = "E:";

    const _createItemWindow = Scene_Item.prototype.createItemWindow;
    Scene_Item.prototype.createItemWindow = function() {
        _createItemWindow.call(this);
        this._itemWindow._showEquips = true;
        this._itemWindow.refresh();
    };

    const _makeItemList = Window_ItemList.prototype.makeItemList;
    Window_ItemList.prototype.makeItemList = function() {
        _makeItemList.call(this);
        this._equipCount = 0;
        if (this._showEquips) {
            const equips = $gameParty.members()
                .flatMap(actor => actor.equips())
                .filter(item => item && this.includes(item));
            this._equipCount = equips.length;
            this._data = equips.concat(this._data);
        }
    };

    const _drawItem = Window_ItemList.prototype.drawItem;
    Window_ItemList.prototype.drawItem = function(index) {
        if (index < this._equipCount) {
            const item = this.itemAt(index);
            const rect = this.itemLineRect(index);
            const markWidth = this.textWidth(mark);
            this.changePaintOpacity(this.isEnabled(item));
            this.resetTextColor();
            this.drawText(mark, rect.x, rect.y, markWidth);
            this.drawItemName(item, rect.x + markWidth, rect.y, rect.width - markWidth);
            this.changePaintOpacity(1);
        } else {
            _drawItem.call(this, index);
        }
    };
})();

Equipped gear shows at the top of the Weapons and Armor tabs as E:ショートソード with no count, and anything not equipped still shows below it with its count like normal. It only touches the Item menu, so the shop’s sell list and the Equip screen stay the same. If you want a different mark, just change the “E:” on the mark line.

If you already use a plugin that changes the item menu, like VisuStella’s Items and Equips Core, I’m not sure these will play nice together, so maybe try it in a fresh project first.

Thank you for your reply.
I tried the plugin you created, and it worked perfectly.
When wearing equipment, both weapons and armor are now displayed in the item equipment slots while being worn.

I couldn’t find a solution no matter how much I researched, so your help was truly appreciated.
Thank you very much.