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