diff --git a/scripts/server/item.js b/scripts/server/item.js index bbe78598..0b04b90c 100644 --- a/scripts/server/item.js +++ b/scripts/server/item.js @@ -1384,8 +1384,11 @@ function setAllItemTypeDataIndexes() { function cacheAllGroundItems() { clearArray(getServerData().groundItemCache); - getServerData().groundItemCache = getServerData().items.filter(item => item.ownerType == VRR_ITEM_OWNER_GROUND); - //getServerData().groundPlantCache = getServerData().items.filter(item => item.ownerType == VRR_ITEM_OWNER_PLANT); + for(let i in getServerData().items) { + if(getServerData().items[i].ownerType == VRR_ITEM_OWNER_GROUND) { + getServerData().groundItemCache.push(i); + } + } } // =========================================================================== @@ -1421,11 +1424,19 @@ function cachePlayerHotBarItems(client) { return false; } - clearArray(getPlayerData(client).hotBarItems); - getPlayerData(client).hotBarItems = getServerData().items.filter(item => item.ownerType == VRR_ITEM_OWNER_PLAYER && item.ownerId == getPlayerCurrentSubAccount(client).databaseId); + for(let i = 0 ; i < 9 ; i++) { + getPlayerData(client).hotBarItems[i] = -1; + } - if(getPlayerData(client).hotBarItems.length < getGlobalConfig().maxPlayerItemSlots) { - getPlayerData(client).hotBarItems.concat(Array(getGlobalConfig().maxPlayerItemSlots-getPlayerData(client).hotBarItems.length).fill(-1)); + for(let i in getServerData().items) { + if(getItemData(i).ownerType == VRR_ITEM_OWNER_PLAYER) { + if(getItemData(i).ownerId == getPlayerCurrentSubAccount(client).databaseId) { + let firstSlot = getPlayerFirstEmptyHotBarSlot(client); + if(firstSlot != -1) { + getPlayerData(client).hotBarItems[firstSlot] = i; + } + } + } } }