Anvil Storage Provider implementation. Support minecraft pc 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20 and 1.21
See examples
Run single test with npm run mochaTest -- -g "saving and loading works 1.8.9 in sequence"
All tests with npm test
Build an anvil : provide loading and saving of chunks in all regions in path
Take a prismarine chunk and save it. Returns a promise.
Take a nbt object and save it. Returns a promise.
Returns a promise containing the prismarine chunk at x,z or null if that chunk isn't saved.
Returns a promise containing the nbt at x,z or null if that nbt isn't saved.
Returns an promise of an array of all chunks in the region
Reads a level.dat file
Writes a level.dat file
- Support 1.18.2, 1.19.4, 1.20.6, 1.21.1 (#81) (thanks @rom1504)
- Fix test versions. (#80) (thanks @rom1504)
- Default to biome minecraft:void (#76) (thanks @AnotherPillow)
- Handle optional palette in 1.14 chunk.js (#74) (thanks @rom1504)
- require lazily (#70) (thanks @zardoy)
- Make created level.dat loadable in singleplayer (#71) (thanks @zardoy)
- Add command gh workflow allowing to use release command in comments (#69) (thanks @rom1504)
- Update to node 18.0.0 (#68) (thanks @rom1504)
- Initial support for loading Add data to a block (#64) (thanks @BluSpring)
- Fix world height on 1.18+ chunks (#66) (thanks @extremeheat)
- Bump mocha from 9.2.2 to 10.0.0 (#62) (thanks @dependabot[bot])
- Bump standard from 16.0.4 to 17.0.0 (#61) (thanks @dependabot[bot])
- Bump mcdata
- 1.18 support
- Ensure chunk status and data version are written for v1.13 (@Paulomart)
- Adds 1.17 support (thanks @Saiv46)
- Write the chunk x and z position like vanilla does (@Paulomart)
- adds getAllChunksInRegion function (@U9G)
- used exposed section instead of using internals of pchunk (@rom1504)
- Fix 1.16 palette issue
- Only store sections between 0 and 16 (block containing sections) (thanks @IdanHo)
- remove node-promise-es6, and use fs.promises + util.promisify (thanks @IdanHo)
- 1.14, 1.15 and 1.16 support (thanks @IdanHo)
- 1.13 support (thanks @Karang)
- standardjs
- cross version support
- update dependencies, fix #10 (prismarine-nbt nbt.simplify was broken)
- update to babel6
- bump dependencies
- fix small bug with regionFileName call
- update prismarine-chunk
- use nbt.simplify
- add level.dat loading/saving
- completely reimplement to provide full functionality : loading and saving, and all the data in chunks
- use up to date dependencies in minecraft-region
- catch the error if the region file doesn't exist and return null in getRegion
- first version, basic functionality using minecraft-chunk, minecraft-region, prismarine-chunk and vec3