diff --git a/CHANGELOG.MD b/CHANGELOG.MD new file mode 100644 index 0000000..4aa6499 --- /dev/null +++ b/CHANGELOG.MD @@ -0,0 +1,32 @@ +- [0.2.5](https://github.com/DavixDevelop/terracustomtreerepo/releases/tag/0.2.5) + - Compatibility bump to TerraPlusPlus 1.1.0.627+ (Because of update to PorkLib) + - Changed versioning to `0.2.5.[GitHub commit count]` + - Fixed issue with the addon making the server unresponsive, blocking terrain generation or both. The issue lied within the `SegmentsBaker:requestData` method, which is a non-blocking method.
To be more precise the `requestData` method was first making a request to get the tree cover data. After requesting the data, it tried to read the data withing the same method (via `CompletableFuture:join`), therefore blocking the thread, and sequentially blocking new chunks from generating. + + `Release note:` + > Use this version for post TerraPlusPlus 1.1.0.627 releases +- [0.2.4](https://github.com/DavixDevelop/terracustomtreerepo/releases/tag/0.2.4) + - Removed builtin datasets and switched to a [common library mod](https://github.com/DavixDevelop/terracommondatasets) + - Fixed issue with a dependency of ForgeGradle being compiled against JDK 11 (and not JDK 8), by switching to the https://maven.daporkchop.net repository + - Fixed wrong index (227-> 127) to tree in tree_meta csv file + - Version number now includes commit count for easier management + - Removed jcenter + + `Release note:` + > Use this version for pre TerraPlusPlus 1.1.0.627 releases +- [0.2.3](https://github.com/DavixDevelop/terracustomtreerepo/releases/tag/0.2.3) + - Fixed an error in the Custom Tree Repository that caused crashes + - Removed old precompiled low-resolution CSV based treemap + - Implemented higher resolution Koppen climate dataset + Implemented moderate resolution continents dataset + - Implemented an on-the-fly treemap with a custom tree baker, based on the two aforementioned dataset + + `Release note:` + > It's not recommended using this version combined with the new Terra++ Improved Biomes addon as of right now, due to the new biomes (ex. Dark Forest). +- [0.2.2](https://github.com/DavixDevelop/terracustomtreerepo/releases/tag/0.2.2) + - Compatibility patch for TerraPlusPlus 0.1.522+ +- [0.2](https://github.com/DavixDevelop/terracustomtreerepo/releases/tag/0.2) + - Beta release + - Updated to reflect recent merge from fast-osm branch + - Increased tree density and further fixes + - Further, increased density, further randomized trees and changed limit for small and large trees \ No newline at end of file diff --git a/build.gradle b/build.gradle index c7b2d53..b9954ce 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle.forge' -version = "0.2.4-" + ('git rev-list --count HEAD'.execute().text.trim()) +version = "0.2.5." + ('git rev-list --count HEAD'.execute().text.trim()) group = "com.davixdevelop.terracustomtreerepo" archivesBaseName = "terracustomtreerepo" diff --git a/src/main/java/com/davixdevelop/terracustomtreegen/TerraTreeRepoMod.java b/src/main/java/com/davixdevelop/terracustomtreegen/TerraTreeRepoMod.java index 01b0b92..5edd791 100644 --- a/src/main/java/com/davixdevelop/terracustomtreegen/TerraTreeRepoMod.java +++ b/src/main/java/com/davixdevelop/terracustomtreegen/TerraTreeRepoMod.java @@ -8,7 +8,7 @@ import org.apache.logging.log4j.Logger; @Mod(modid = TerraTreeRepoMod.MODID, - dependencies = "after:terracommondatasets@[0.2,);required-after:terraplusplus@[0.1.627,)", + dependencies = "required-after:terracommondatasets@[0.3,);required-after:terraplusplus@[0.1.627,)", acceptableRemoteVersions = "*", useMetadata = true) public class TerraTreeRepoMod diff --git a/src/main/java/com/davixdevelop/terracustomtreegen/baker/SegmentsBaker.java b/src/main/java/com/davixdevelop/terracustomtreegen/baker/SegmentsBaker.java index 1bc0da4..78fee36 100644 --- a/src/main/java/com/davixdevelop/terracustomtreegen/baker/SegmentsBaker.java +++ b/src/main/java/com/davixdevelop/terracustomtreegen/baker/SegmentsBaker.java @@ -7,6 +7,7 @@ import net.buildtheearth.terraplusplus.dataset.IScalarDataset; import net.buildtheearth.terraplusplus.dataset.geojson.GeoJsonObject; import net.buildtheearth.terraplusplus.dataset.geojson.Geometry; +import net.buildtheearth.terraplusplus.dataset.geojson.dataset.TiledGeoJsonDataset; import net.buildtheearth.terraplusplus.dataset.geojson.geometry.*; import net.buildtheearth.terraplusplus.dataset.geojson.object.Feature; import net.buildtheearth.terraplusplus.dataset.geojson.object.FeatureCollection; @@ -44,8 +45,8 @@ public class SegmentsBaker implements IEarthDataBaker{ public static final Set> FALLBACK_CUSTOM_TREE_REPO_POLYGONS = new HashSet<>(); @Override - public void bake(ChunkPos pos, Builder builder, GeoJsonObject[][] rawGsonObjects) { - if(rawGsonObjects == null) + public void bake(ChunkPos pos, Builder builder, GeoJsonObject[][] data) { + if(data == null) return; List buildings = new ArrayList<>(); @@ -61,7 +62,7 @@ public void bake(ChunkPos pos, Builder builder, GeoJsonObject[][] rawGsonObjects chunkBounds = chunkBounds.expand(16.0d); try { - for(GeoJsonObject[] objects : rawGsonObjects) { + for(GeoJsonObject[] objects : data) { for(GeoJsonObject object : objects) { if(object instanceof Feature) { Feature feature = (Feature) object; @@ -104,23 +105,7 @@ public CompletableFuture requestData(ChunkPos pos, GeneratorD if(PROJECTION == null) PROJECTION = datasets.projection(); - CompletableFuture treeCoverF = datasets.getCustom(EarthGeneratorPipelines.KEY_DATASET_TREE_COVER).getAsync(boundsGeo, 16, 16); - boolean hasTrees = false; - - double[] treeCover = treeCoverF.join(); - if(treeCover != null){ - for (double v : treeCover) - if (v > 0.0d) { - hasTrees = true; - break; - } - } - - - if(!hasTrees) - return null; - - return datasets.>getCustom(EarthGeneratorPipelines.KEY_DATASET_OSM_RAW) + return datasets.getCustom(EarthGeneratorPipelines.KEY_DATASET_OSM_RAW) .getAsync(bounds.expand(16.0d).toCornerBB(datasets.projection(), false).toGeo()); }