feat(informer): ✨ add more detail to item info
Gives detail of traversing the item's nbt data
This commit is contained in:
parent
cc18ac5c2e
commit
e5faa6f022
|
@ -16,18 +16,38 @@ function block(pos) {
|
|||
}
|
||||
|
||||
function item(
|
||||
// hand
|
||||
loc = bot.quickBarSlot
|
||||
slot,
|
||||
entity = bot.entity
|
||||
) {
|
||||
const item = bot.inventory.slots[loc + bot.QUICK_BAR_START]
|
||||
const item = slot ?
|
||||
bot.inventory.slots[parseInt(slot) + bot.QUICK_BAR_START] :
|
||||
entity.heldItem
|
||||
console.log(item)
|
||||
if (!item) {
|
||||
cfg.quiet || bot.chat("no item")
|
||||
return item
|
||||
}
|
||||
let info = [item.type, item.name]
|
||||
if (item.metadata) info.push(item.metadata)
|
||||
cfg.quiet || bot.chat(info.join(": "))
|
||||
if (item.metadata) info.push("meta: " + item.metadata.length)
|
||||
if (item.nbt) {
|
||||
info.push(compound_value(item.nbt))
|
||||
}
|
||||
cfg.quiet || bot.chat(info.join("; "))
|
||||
function compound_value(obj) {
|
||||
if (typeof obj.value == "object") {
|
||||
return compound_value(obj.value)
|
||||
} else if (obj.value) {
|
||||
return obj.value
|
||||
} else if (typeof obj == "object") {
|
||||
const keys = Object.keys(obj)
|
||||
return keys.map(key => {
|
||||
return `${key}: ${compound_value(obj[key])}`
|
||||
});
|
||||
} else {
|
||||
return obj
|
||||
}
|
||||
}
|
||||
return item
|
||||
}
|
||||
|
||||
function entity(name) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user