Skip to content

Commit

Permalink
Version bump: 2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
piegamesde committed Jun 24, 2020
1 parent 12013bb commit bcb339f
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ public class VersionProvider implements IVersionProvider {

/* This part of the code gets generated automatically through `gradle generateSources`. Do not modify! */
// $REPLACE_START
public static final String VERSION = "2.0.0-snapshot";
public static final String VERSION = "2.0.0";
// $REPLACE_END

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
public class VersionProvider {
/* This part of the code gets generated automatically through `gradle generateSources`. Do not modify! */
// $REPLACE_START
public static final String VERSION = "2.0.0-snapshot";
public static final String VERSION = "2.0.0";
// $REPLACE_END
}
20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ BlockMap hasn't been packaged for other distros yet (looking for maintainers).

The GUI version should just run by (double)clicking it. Otherwise run it through:

java -jar BlockMap-gui-1.6.2.jar
java -jar BlockMap-gui-2.0.0.jar

to start. If you installed BlockMap through a package manager, search for it in your launcher or menu.

Expand All @@ -68,22 +68,17 @@ to start. If you installed BlockMap through a package manager, search for it in
If you want to use BlockMap through the command line without,

# For general usage help
java -jar BlockMap-cli-1.6.2.jar help
java -jar BlockMap-cli-2.0.0.jar help
# For help about rendering worlds to a folder
java -jar BlockMap-cli-1.6.2.jar help render
java -jar BlockMap-cli-2.0.0.jar help render

will get you started. On Linux even with colors!

If your world has been created before the Minecraft 1.13 release, please optimize it. To do this, start Minecraft, select your world, go to "Edit" and then "Optimize World".

### Server usage:

The bash script [server.sh](server.sh) is an example of how this could be used in a server environment. Simply set the paths at the top of the file and call this script regularly on the server. It has a few different render settings pre-configured, but they are easy to adapt to your needs.


### 2.0 server usage:

*This is experimental and may change at any time! Please try it out and take the time to provide feedback if you run into issues.*
*This feature is not stailized yet. Backwards-incompatible changes may occur even on minor releases. Any feedback welcome.*

The new server mode is based around the following concept:

Expand All @@ -93,6 +88,13 @@ The new server mode is based around the following concept:
- Host that folder using the web server of your choice (e.g. [`miniserve`](https://github.com/svenstaro/miniserve)). Clients will now be able to view your worlds across the Internet.
- Call this on a scheduled basis. Subsequent runs will update the folder without re-rendering everything.

### Old server usage:

*The "old" way of doing server support: a simple shell script that calls the CLI.*

The bash script [server.sh](server.sh) is an example of how this could be used in a server environment. Simply set the paths at the top of the file and call this script regularly on the server. It has a few different render settings pre-configured, but they are easy to adapt to your needs.


## Build it:

Due to technical, legal and performance reasons, some resources required to run and test BlockMap are not included in this repository, but generated locally. The Gradle task `regenerate` will download all required files (you only need an internet connection the first time and after a `clean`) and generate and compile a bunch of stuff. Without this, nothing will work. On a freshly cloned repository, use `initEclipse` or `initIdea` to transform the repository into a project you can simply open in your favorite IDE. (Warning: The `eclipse` and `idea` tasks have to be called each time some dependencies changed. Furthermore, they link to some folders in the build directory. This means that they won't work as intended until `regenerate` has been called.)
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ buildscript {
apply plugin: "com.github.ben-manes.versions"

allprojects {
version = '2.0.0-snapshot'
version = '2.0.0'

repositories {
jcenter()
Expand Down
37 changes: 37 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# Changelog

## Version 2.0.0

***breaking*** news for ***breaking*** changes! Long overdue, a rewrite/overhaul of quite a few components. No Minecraft 1.16 support yet.

### Changes

- GUI redesign:
- **Autocomplete!**
- Better support for viewing worlds on servers.
- Rewrite of the map rendering engine
- Much cleaner code, probably removed a lot of bugs
- Removed caching (may increase memory usage in large worlds)
- Removed saving support. Use the CLI instead.
- ***breaking*** World representation has been changed. Previously, every folder containing region files would count as world. Now, a world always is a folder containing a `level.dat` together with a dimension (defaulting to the overworld).
- For the CLI, a few paths will have to be changed. `--dimension` is now always used, but defaults to `OVERWORLD`.
- For the GUI, nothing much will change except you cannot open a single region folder anymore (which probably nobody did anyways)
- New server mode using `render-many`:
- **It is not declared stable yet, to allow breaking changes even on minor version bumps.**
- Declare a configuration file with all your worlds and how you want to render them. An example configuration can be found [here](server-settings.json).
- Call `blockmap render-many` and pass the configuration file as argument. You can add dynamic server information like online plyers etc. via more command line options.
- An output directory will be created with all the rendered files. You can view them in BlockMap.
- Host that folder using the web server of your choice (e.g. [`miniserve`](https://github.com/svenstaro/miniserve)). Clients will now be able to view your worlds across the Internet.
- Call this on a scheduled basis. Subsequent runs will update the folder without re-rendering everything.
- Other CLI changes:
- ***breaking*** The `--lazy` option has been removed and is no enabled by default. Use `--force` to disable it manually.
- Proper exit code handling. When using BlockMap in scripts, you'll know when it fails.
- Java 13 support

### Bug fixes

- Color map selection in the GUI has gone wrong a few times
- Some bounds checks when rendering part of the world are notoriously wrong

### Backwards-compatibility

All changes that potentially require manual intervention are marked with "***breaking***" in the changelog above.

## Version 1.6.2
### Changes

Expand Down
Binary file modified screenshots/screenshot-0.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/screenshot-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/screenshot-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified screenshots/screenshot-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit bcb339f

Please sign in to comment.