From 529ff4ab155f8bd38f922547c221a7ce264f7bbf Mon Sep 17 00:00:00 2001 From: Big Bad Waffle Date: Sun, 16 Feb 2020 10:10:44 +0200 Subject: [PATCH] fixes edge case for #1367 and provides better fix for #790 --- src/client/js/components/inventory.js | 1 - src/server/components/inventory.js | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/js/components/inventory.js b/src/client/js/components/inventory.js index 052065dd..df681310 100644 --- a/src/client/js/components/inventory.js +++ b/src/client/js/components/inventory.js @@ -22,7 +22,6 @@ define([ if (blueprint.getItems) { let items = this.items; let newItems = blueprint.getItems || []; - newItems.spliceWhere(n => (blueprint.destroyItems || []).includes(n.id)); let nLen = newItems.length; for (let i = 0; i < nLen; i++) { diff --git a/src/server/components/inventory.js b/src/server/components/inventory.js index 4dbd9745..491dd8e8 100644 --- a/src/server/components/inventory.js +++ b/src/server/components/inventory.js @@ -389,7 +389,7 @@ module.exports = { destroyItem: function (id, amount, force) { let item = this.findItem(id); - if ((!item) || ((item.noDestroy) && (!force))) + if (!item || (item.noDestroy && !force)) return; amount = amount || item.quantity; @@ -407,6 +407,7 @@ module.exports = { } else { this.items.spliceWhere(i => i.id === id); this.obj.syncer.setArray(true, 'inventory', 'destroyItems', id); + this.obj.syncer.deleteFromArray(true, 'inventory', 'getItems', i => i.id === id); } this.obj.fireEvent('afterDestroyItem', item, amount);