diff --git a/readme.md b/readme.md index 74acb75..02f1904 100644 --- a/readme.md +++ b/readme.md @@ -2,6 +2,75 @@ Chat: [![Discord](https://img.shields.io/discord/569841820092203011.svg?logo=dis Windows: [![Build status](https://ci.appveyor.com/api/projects/status/tfspbbi72bx73qg8?svg=true)](https://ci.appveyor.com/project/mjungnickel18/papyruscs)
Linux: [![Build status](https://ci.appveyor.com/api/projects/status/xo9ew31l49hayjcm?svg=true)](https://ci.appveyor.com/project/mjungnickel18/papyruscs-ytqjm)
+## Contribute xor support +If you want to help improving Papyrus please consider forking the repository. + +Want to buy me a coffee (I love coffee)? [Donate via PayPal ♥](https://paypal.me/mjungnickelpapyrus) + +## Version 0.3 +### What's new: +#### New folder structure: +The new folder structure is: +``` +outputdir +|-map +| |-dim0 +| |-dim1 +| |-dim2 +| |-map.html +|-update +| |-dim0 +| |-dim1 +| |-dim2 +| |-map.html +|-chunks.sqlite +|-chunks-backup.sqlite +``` +#### Incremental Rendering: + +With strategy Dataflow (default) PapyrusCs creates a sqlite database with chunk CRCs to check if a update rendering is necessary. +PapyrusCs creates an update folder, which contains only the files that were updated (it will be copied to the map folder as well) +So you just have to upload the content of the update folder after an update of the map. + +With the option +``` +--deleteexistingupdatefolder +``` +the current dimension update folder to be rendered (dim0/1/2) will be deleted before the next update will be rendered. +This is useful if you don't want to upload previous updated files again. Of course you can delete this folder by hand yourself. + +#### Dimensions +PapyrusCs supports dimensions now: Overworld, Nether, The End\ +To render another dimension, add the --dim parameter (default --dim 0):\ +``` +--dim 0 (=Overworld) +--dim 1 (=Nether) +--dim 2 (=The End) +``` +To render all dimensions in one map with layers [See papyrus bedrock server](http://papyrus.gwsa.de/), you have to call PapyrusCs three times. Example:\ +``` +PapyrusCs -w -o -dim 0 +PapyrusCs -w -o -dim 1 +PapyrusCs -w -o -dim 2 +``` +This will generate all dimensions as maps.\ + +#### Outputformat +Multiple formats are now supported: jpg, png, webp\ +You now can select the output format with -f jpg or -f png or -f webp\ +For jpg and webp, you can select the quality:\ + +jpg: 0-100 (100 best)\ +webp: 0-100 (100 best but lossy. Value -1 is lossless and usually smaller than 100, -1 is also default)\ + +You can set that value with the parameter -q + +Example +``` +-f webp -q -1 +-f png +-f jpg -q 20 +``` ## papyrus.cs Papyrus is a tool to render Minecraft: Bedrock Edition (from now on referenced as "MCBE") worlds using Leaflet. It is written in C# and powered by .NET Core 2.2. @@ -47,53 +116,50 @@ For Linux: give the extracted PapyrusCs file execution rights! See installation ```papyruscs --world "My World/db" --output "C:\papyrus"``` ``` - -w, --world Required. Sets the path the Minecraft Bedrock Edition - Map - -o, --output (Default: .) Sets the output path for the generated - map tiles + -w, --world Required. Sets the path the Minecraft Bedrock Edition Map + + -o, --output (Default: generatedmap) Sets the output path for the generated map tiles + + --htmlfile (Default: map.html) Sets name of html map file + + -s, --strategy (Default: Dataflow) Sets the render strategy. Valid are Dataflow, SingleFor and ParallelFor (Multithreaded) - --htmlfile (Default: map.html) Sets name of html map file + --coords (Default: false) Render text coordinates in each chunk - -s, --strategy (Default: ParallelFor) Sets the render strategy. Valid - are SingleFor and ParallelFor (Multithreaded) + --limitx Limits the chunk rendering in the x dimension (inclusive). Provide two values with comma separated, eg: + -10,10 - --coords (Default: true) Render text coordinates in each chunk + --limitz Limits the chunk rendering in the z dimension (inclusive). Provide two values with comma separated, eg: + -10,10 - --limitx Limits the chunk rendering in the x dimension - (inclusive). Provide two values with comma separated, - eg: -10,10 + -y, --limity (Default: -1) Limits the chunk rendering in the y dimension (inclusive). For y provide just one positive + value, eg: 10. -1 means: all - --limitz Limits the chunk rendering in the z dimension - (inclusive). Provide two values with comma separated, - eg: -10,10 + --threads (Default: 16) Set maximum of used threads - -y, --limity (Default: -1) Limits the chunk rendering in the y - dimension (inclusive). For y provide just one positive - value, eg: 10. -1 means: all + -r, --rendermode (Default: Heightmap) RenderMode: Basic - Render without brightness adjustment. Heightmap - Render with + brightness adjustment based on brillouin function and height of block - --threads (Default: 16) Set maximum of used threads + --brillouin_j (Default: 10000) Sets factor j for heightmap brightness formula brillouin: brightness = 1+brillouin(height / + divider): See https://de.wikipedia.org/wiki/Brillouin-Funktion for a diagram of the function. - -r, --rendermode (Default: Heightmap) RenderMode: Basic - Render - without brightness adjustment. Heightmap - Render with - brightness adjustment based on brillouin function and - height of block + --brillouin_divider (Default: 20) Sets divider for heightmap brightness formula brillouin: brightness = 1+brillouin(height / + divider). See https://de.wikipedia.org/wiki/Brillouin-Funktion for a diagram of the function. - --brillouin_j (Default: 10000) Sets factor j for heightmap - brightness formula brillouin: brightness = - 1+brillouin(height / divider): See - https://de.wikipedia.org/wiki/Brillouin-Funktion for a - diagram of the function. + -f (Default: png) Sets the output file format - --brillouin_divider (Default: 20) Sets divider for heightmap brightness - formula brillouin: brightness = 1+brillouin(height / - divider). See - https://de.wikipedia.org/wiki/Brillouin-Funktion for a - diagram of the function. + -q (Default: -1) Sets quality for jpg or web format (0-100, -1 for lossless webp) - --help Display this help screen. + -d, --dim (Default: 0) Selects the dimension. 0: Overworld, 1: Nether, 2: End - --version Display version information. + --trimceiling (Default: false) Removes the ceiling starting from y-max. Automatically activated for nether + + --deleteexistingupdatefolder (Default: false) Delete an existing update/dimX folder right before creating a possible new update + + --help Display this help screen. + + --version Display version information. ``` The vanilla resource pack with the default textures can be downloaded from [here](https://aka.ms/resourcepacktemplate). @@ -114,11 +180,6 @@ To compile for Linux run: The source for the modified versions is included in this repository. All needed depencies are already included in this repository or automatically downloaded via NuGet. -## Contribute xor support -If you want to help improving Papyrus please consider forking the repository. - -Want to buy me a coffee (I love coffee)? [Donate via PayPal ♥](https://paypal.me/mjungnickelpapyrus) - ## Special thanks to... ... [clarkx86](https://github.com/clarkx86) for his team work and idea giving and his port in node.js.