This depends on #618This will be done for 2.3 as this needs rewritten code from "class optimization" pull request
There are 2 places for the places of game version, in build.gradle and Game.java. This can lead to a chance of missing change when updating the game version. This adds a global profile config file for the whole project game_profile.conf. The in-game metadata file is generated by Gradle build directly. Eventually, only 1 place is needed to be updated. Also, furthermore profile meta data can be added into the config file in the future, in case needed.
TODO:
Incremental world version (purely numeric) mainly for save file version checking (Would depend on #618)
Mapping to build numbers with old versions (by JSON; key: version; value: world version)
Changing all usages of Version to world versions in Save/Load
Setting the first version with Minicraft+ Save/Load system as 100 as the world version
Configuring world version in game_profile.conf
For every change (even minor and patch) to the world save file content formats, the world version should be incremented once and maximally only once for each pull request (for ideal pull request).
stable check directly in game_profile.conf
isDev is no longer needed for Version
Controllability will be increased
Check for IDE can be used by use_editor in game_profile.conf
If the value is false, the code should not check for IDE; otherwise, IDE environment should always be considered.
Making version.json in jar on build
With id, world_version, stable, use_editor, build_time, series_id
A new class (with instance) saving the values in game_profile.conf in code on initialization.
(Edited on 2024/01/11)
Old summary
> Currently, the auto build increments the version in 2 places, so this integrate this setting at this point. If there are more configurations can be added in the future, such can also be added. The in-game metadata file is generated by Gradle build directly.
For the change to the auto build, it now only increments the version within the config file, and it would handle for non-development build situations. When the version is detected as not "dev" (in version number), "dev1" is generated; when the build is not a development build by modifying the config file, neither a new nightly release nor version increment would be eventually pushed.
This depends on #618 This will be done for 2.3 as this needs rewritten code from "class optimization" pull request There are 2 places for the places of game version, in
build.gradle
andGame.java
. This can lead to a chance of missing change when updating the game version. This adds a global profile config file for the whole projectgame_profile.conf
. The in-game metadata file is generated by Gradle build directly. Eventually, only 1 place is needed to be updated. Also, furthermore profile meta data can be added into the config file in the future, in case needed.TODO:
Version
to world versions in Save/Loadgame_profile.conf
stable
check directly ingame_profile.conf
isDev
is no longer needed forVersion
use_editor
ingame_profile.conf
version.json
in jar on buildid
,world_version
,stable
,use_editor
,build_time
,series_id
game_profile.conf
in code on initialization.(Edited on 2024/01/11)
Old summary
> Currently, the auto build increments the version in 2 places, so this integrate this setting at this point. If there are more configurations can be added in the future, such can also be added. The in-game metadata file is generated by Gradle build directly. For the change to the auto build, it now only increments the version within the config file, and it would handle for non-development build situations. When the version is detected as not "dev" (in version number), "dev1" is generated; when the build is not a development build by modifying the config file, neither a new nightly release nor version increment would be eventually pushed.