Skip to content

Commit 4b8d344

Browse files
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
1 parent 80ce09d commit 4b8d344

10 files changed

Lines changed: 50 additions & 10 deletions

File tree

mc/1.20.5/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21.10/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21.11/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21.3/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21.5/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21.6/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21.7/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21.8/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21.9/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

mc/1.21/src/main/java/dev/u9g/minecraftdatagenerator/generators/BlocksDataGenerator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ private static String findMatchingBlockMaterial(BlockState blockState, List<Mate
115115
if (matchingMaterials.isEmpty()) {
116116
return "default";
117117
}
118-
return matchingMaterials.getFirst().getMaterialName();
118+
return matchingMaterials.stream()
119+
.filter(m -> m.getMaterialName().startsWith("mineable/"))
120+
.findFirst()
121+
.map(MaterialsDataGenerator.MaterialInfo::getMaterialName)
122+
.orElseGet(() -> matchingMaterials.getFirst().getMaterialName());
119123
}
120124

121125
public static JsonObject generateBlock(List<MaterialsDataGenerator.MaterialInfo> materials, Block block) {

0 commit comments

Comments
 (0)