node package manager


cascading texture/sound artwork pack loader


Cascading texture/sounds artwork pack loader

var createArtpacks = require('artpacks');

var artpacks = createArtpacks([url1, url2, url3, ...]);

blob = artpacks.getTexture('name');
blob = artpacks.getTexture('category/name');
blob = artpacks.getTexture('namespace:category/name');
blob = artpacks.getTexture('namespace:name');
blob = artpacks.getSound('name');

The given URLs are loaded using binary XHR. A loadedAll event is emitted in case you want to do something after all of the packs are loaded.

getTexture and getSound both return Blob objects per the W3C File API. You can use URL.createObjectURL(blob) in the browser to get a blob: URL usable for img or audio src, etc.

Texture and sound names are accepted with or without a "namespace" prefix; if omitted, any namespace is accepted. The loaded packs are searched until a match is found (cascading similar to Cascading Style Sheets), so you can load multiple packs and they will be logically combined together.

ResourcePack: a hierarchical zip archive format supporting textures, sounds, and other resources, developed by Mojang for Minecraft 1.6+. Many resource packs developed for Minecraft therefore should be compatible with this module. If you're looking for a free artwork pack for voxel-related games, check out ProgrammerArt, specifically the ResourcePack distribution.

(Minecraft is property of Mojang specifications)

Other formats:

Visit the online demo, or download some packs (not included) and then run npm start