cleanup itemdb for ever changing nbt hashes for turtles
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
local Map = require('map')
|
||||
local nameDB = require('core.nameDB')
|
||||
local TableDB = require('core.tableDB')
|
||||
local Util = require('util')
|
||||
@@ -158,17 +159,22 @@ function itemDB:add(baseItem)
|
||||
nItem.displayName = nItem.displayName .. v.fullName
|
||||
end
|
||||
|
||||
-- disks
|
||||
-- turtles / computers / etc
|
||||
elseif baseItem.computer then
|
||||
-- a turtle's NBT is updated constantly
|
||||
-- update the cache with the new NBT
|
||||
if baseItem.computer.id then
|
||||
Map.removeMatches(self.data, { name = nItem.name, displayName = nItem.displayName })
|
||||
end
|
||||
nItem.displayName = baseItem.computer.label or baseItem.displayName
|
||||
|
||||
-- disks
|
||||
elseif baseItem.media then
|
||||
-- don't ignore nbt... as disks can be labeled
|
||||
if baseItem.media.recordTitle then
|
||||
nItem.displayName = nItem.displayName .. ': ' .. baseItem.media.recordTitle
|
||||
end
|
||||
|
||||
-- turtles / computers / etc
|
||||
elseif baseItem.computer then
|
||||
nItem.displayName = baseItem.computer.label or baseItem.displayName
|
||||
|
||||
-- potions
|
||||
elseif nItem.name == 'minecraft:potion' or nItem.name == 'minecraft:lingering_potion' then
|
||||
if baseItem.effects then
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
local Event = require('event')
|
||||
local itemDB = require('core.itemDB')
|
||||
local Map = require('map')
|
||||
local Milo = require('milo')
|
||||
local UI = require('ui')
|
||||
local Util = require('util')
|
||||
@@ -201,7 +202,7 @@ nodeWizard = UI.Page {
|
||||
[1] = UI.TextEntry {
|
||||
formLabel = 'Name', formKey = 'displayName',
|
||||
help = 'Set a friendly name',
|
||||
limit = 64, pruneEmpty = true,
|
||||
limit = 64,
|
||||
},
|
||||
[2] = UI.Chooser {
|
||||
width = 25,
|
||||
@@ -474,7 +475,7 @@ function nodeWizard:eventHandler(event)
|
||||
local adapter = self.node.adapter
|
||||
self.node.adapter = nil
|
||||
|
||||
Util.prune(self.node, function(v)
|
||||
Map.prune(self.node, function(v)
|
||||
if type(v) == 'boolean' then
|
||||
return v
|
||||
elseif type(v) == 'string' then
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
local itemDB = require('core.itemDB')
|
||||
local Map = require('map')
|
||||
local Milo = require('milo')
|
||||
local UI = require('ui')
|
||||
local Util = require('util')
|
||||
@@ -64,7 +65,7 @@ function manageTab:eventHandler(event)
|
||||
end
|
||||
|
||||
self.res.displayName = nil
|
||||
Util.prune(self.res, function(v)
|
||||
Map.prune(self.res, function(v)
|
||||
if type(v) == 'boolean' then
|
||||
return v
|
||||
elseif type(v) == 'string' then
|
||||
|
||||
Reference in New Issue
Block a user