1.20.5-1.21 - Prioritize mineable material when multiple matches are found to fix problem of wrong dig time computation (#71)

* Enhance BlocksDataGenerator to prioritize mineable material when multiple matches are found to fix problem of wrong dig time computation

* Ported the changes from the previous commit to all versions that require this fix.

* Forgot to add 1.21.9
This commit is contained in:
NoClipMonster
2026-07-09 02:19:43 -04:00
committed by GitHub
parent 80ce09d3a9
commit 4b8d344721
10 changed files with 50 additions and 10 deletions
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {
@@ -115,7 +115,11 @@ public class BlocksDataGenerator implements IDataGenerator {
if (matchingMaterials.isEmpty()) {
return "default";
}
return matchingMaterials.getFirst().getMaterialName();
return matchingMaterials.stream()
.filter(m -> m.getMaterialName().startsWith("mineable/"))
.findFirst()
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
}
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {