Complete refactoring to move Recipes into Items

* Changed "version" to "dataVersion" in data format
* Changed the "modName" and "modVersion" fields on the ModVersion
  class to remove the "mod" prefix and changed the data format to
  match
* Change the Stack class to use the itemSlug instead of the item
  itself
* Update the ModVersion and ModPack classes to include methods for
  recording a correspondence between slugs and names. Update code
  which displays items from stacks to use these methods to determine
  display names.
* Add a reference from Recipe back to the item it creates
This commit is contained in:
Andrew Miner
2015-01-03 20:08:11 -08:00
parent 392c410df8
commit 0d25ac723d
24 changed files with 260 additions and 285 deletions
+20
View File
@@ -29,6 +29,16 @@ module.exports = class ModPack extends BaseModel
if modVersion.hasRecipe name
modVersion.enabled = true
findItem: (itemSlug, options={})->
options.includeDisabled ?= false
for modVersion in @modVersions
continue unless modVersion.enabled or options.includeDisabled
item = modVersion.items[itemSlug]
return item if item?
return null
findItemByName: (name, options={})->
options.includeDisabled ?= false
@@ -39,6 +49,16 @@ module.exports = class ModPack extends BaseModel
return null
findName: (slug, options={})->
options.includeDisabled ?= false
for modVersion in @modVersions
continue unless modVersion.enabled or options.includeDisabled
name = modVersion.findName slug
return name if name
return slug
gatherRecipeNames: (options={})->
options.includeDisabled ?= false