Files
node-minecraft-data/lib/loader.js
T
extremeheat 4fc73beae0 Update bedrock item and version handling (#110)
* add bedrock item handling

* use getters in data.js, return URL for non-JSON

* export protocol yaml

* add version methods to docs

* fix typo

* Update api.md

* allow version comparing majorVersions

* deprecated prepublish script -> prepare which runs on git install

* update submodule dir

* fix ci

* require non-relative path

* revert

* merge master

* Merge branch 'master' into bedrock

* add version checking alias

* remove bedrock data provider

* disable bedrock item tests
2021-09-24 17:02:44 +02:00

93 lines
2.4 KiB
JavaScript

module.exports = mcDataToNode
function mcDataToNode (mcData) {
const indexes = require('./indexes.js')(mcData)
return {
blocks: indexes.blocksById,
blocksByName: indexes.blocksByName,
blocksArray: mcData.blocks,
blocksByStateId: indexes.blocksByStateId,
blockStates: mcData.blockStates, // bedrock
blockCollisionShapes: mcData.blockCollisionShapes,
biomes: indexes.biomesById,
biomesByName: indexes.biomesByName,
biomesArray: mcData.biomes,
items: indexes.itemsById,
itemsByName: indexes.itemsByName,
itemsArray: mcData.items,
foods: indexes.foodsById,
foodsByName: indexes.foodsByName,
foodsByFoodPoints: indexes.foodsByFoodPoints,
foodsBySaturation: indexes.foodsBySaturation,
foodsArray: mcData.foods,
recipes: mcData.recipes,
instruments: indexes.instrumentsById,
instrumentsArray: mcData.instruments,
materials: mcData.materials,
enchantments: indexes.enchantmentsById,
enchantmentsByName: indexes.enchantmentsByName,
enchantmentsArray: mcData.enchantments,
mobs: indexes.mobsById,
objects: indexes.objectsById,
entitiesByName: indexes.entitiesByName,
entitiesArray: mcData.entities,
windows: indexes.windowsById,
windowsByName: indexes.windowsByName,
windowsArray: mcData.windows,
protocol: mcData.protocol,
protocolComments: mcData.protocolComments,
protocolYaml: [mcData.proto, mcData.types], // bedrock
version: mcData.version,
effects: indexes.effectsById,
effectsByName: indexes.effectsByName,
effectsArray: mcData.effects,
particles: indexes.particlesById,
particlesByName: indexes.particlesByName,
particlesArray: mcData.particles,
language: mcData.language,
blockLoot: indexes.blockLootByName,
blockLootArray: mcData.blockLoot,
entityLoot: indexes.entityLootByName,
entityLootArray: mcData.entityLoot,
commands: mcData.commands,
loginPacket: mcData.loginPacket,
mapIcons: indexes.mapIconsById,
mapIconsByName: indexes.mapIconsByName,
mapIconsArray: mcData.mapIcons,
tints: mcData.tints,
findItemOrBlockById: function (id) {
const item = indexes.itemsById[id]
if (item !== undefined) return item
return indexes.blocksById[id]
},
findItemOrBlockByName: function (name) {
const item = indexes.itemsByName[name]
if (item !== undefined) return item
return indexes.blocksByName[name]
}
}
}