From 5441b07c50ee397085a05816bede1bb6e1751c32 Mon Sep 17 00:00:00 2001 From: William Gaylord Date: Sun, 17 Dec 2023 12:10:28 -0600 Subject: [PATCH] Update for 1.20.2 (#6) * Update for 1.20.2 * Fix recipes weirdly being rotated. --- gradle.properties | 8 ++--- .../generators/RecipeDataGenerator.java | 34 ++++++++++--------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/gradle.properties b/gradle.properties index fa1eeee..81fa9bf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,13 +2,13 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.20.1 -yarn_mappings=1.20.1+build.10 -loader_version=0.14.22 +minecraft_version=1.20.2 +yarn_mappings=1.20.2+build.4 +loader_version=0.14.24 # Mod Properties mod_version=1.0-SNAPSHOT maven_group=dev.u9g archives_base_name=minecraft-data-generator-server # Dependencies # check this on https://modmuss50.me/fabric.html -fabric_version=0.87.0+1.20.1 +fabric_version=0.90.4+1.20.2 diff --git a/src/main/java/dev/u9g/minecraftdatagenerator/generators/RecipeDataGenerator.java b/src/main/java/dev/u9g/minecraftdatagenerator/generators/RecipeDataGenerator.java index 16265fa..e703da0 100644 --- a/src/main/java/dev/u9g/minecraftdatagenerator/generators/RecipeDataGenerator.java +++ b/src/main/java/dev/u9g/minecraftdatagenerator/generators/RecipeDataGenerator.java @@ -8,8 +8,10 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import dev.u9g.minecraftdatagenerator.util.DGU; import net.minecraft.item.Item; +import net.minecraft.item.Items; import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.Recipe; +import net.minecraft.recipe.RecipeEntry; import net.minecraft.recipe.ShapedRecipe; import net.minecraft.recipe.ShapelessRecipe; import net.minecraft.registry.DynamicRegistryManager; @@ -26,12 +28,15 @@ public class RecipeDataGenerator implements IDataGenerator { return "recipes"; } + + @Override public JsonElement generateDataJson() { DynamicRegistryManager registryManager = DGU.getWorld().getRegistryManager(); JsonObject finalObj = new JsonObject(); Multimap recipes = ArrayListMultimap.create(); - for (Recipe recipe : Objects.requireNonNull(DGU.getWorld()).getRecipeManager().values()) { + for (RecipeEntry recipeE : Objects.requireNonNull(DGU.getWorld()).getRecipeManager().values()) { + Recipe recipe = recipeE.value(); if (recipe instanceof ShapedRecipe sr) { var ingredients = sr.getIngredients(); List ingr = new ArrayList<>(); @@ -48,20 +53,17 @@ public class RecipeDataGenerator implements IDataGenerator { ingr.add(getRawIdFor(matching[0].getItem())); } } - Lists.reverse(ingr); + //Lists.reverse(ingr); JsonArray inShape = new JsonArray(); + var iter = ingr.iterator(); - for (int y = 0; y < 3; y++) { + for (int y = 0; y < sr.getHeight(); y++) { var jsonRow = new JsonArray(); - int one = iter.next(); - int two = iter.next(); - int three = iter.next(); - if (y > 0 && one == -1 && two == -1 && three == -1) continue; - jsonRow.add(one); - jsonRow.add(two); - jsonRow.add(three); + for (int z = 0; z < sr.getWidth();z++) { + jsonRow.add(iter.next()); + } inShape.add(jsonRow); } @@ -69,11 +71,11 @@ public class RecipeDataGenerator implements IDataGenerator { finalRecipe.add("inShape", inShape); var resultObject = new JsonObject(); - resultObject.addProperty("id", getRawIdFor(sr.getOutput(registryManager).getItem())); - resultObject.addProperty("count", sr.getOutput(registryManager).getCount()); + resultObject.addProperty("id", getRawIdFor(sr.getResult(registryManager).getItem())); + resultObject.addProperty("count", sr.getResult(registryManager).getCount()); finalRecipe.add("result", resultObject); - String id = ((Integer) getRawIdFor(sr.getOutput(registryManager).getItem())).toString(); + String id = ((Integer) getRawIdFor(sr.getResult(registryManager).getItem())).toString(); if (!finalObj.has(id)) { finalObj.add(id, new JsonArray()); @@ -113,10 +115,10 @@ public class RecipeDataGenerator implements IDataGenerator { var rootRecipeObject = new JsonObject(); rootRecipeObject.add("ingredients", ingredients); var resultObject = new JsonObject(); - resultObject.addProperty("id", getRawIdFor(sl.getOutput(registryManager).getItem())); - resultObject.addProperty("count", sl.getOutput(registryManager).getCount()); + resultObject.addProperty("id", getRawIdFor(sl.getResult(registryManager).getItem())); + resultObject.addProperty("count", sl.getResult(registryManager).getCount()); rootRecipeObject.add("result", resultObject); - recipes.put(getRawIdFor(sl.getOutput(registryManager).getItem()), rootRecipeObject); + recipes.put(getRawIdFor(sl.getResult(registryManager).getItem()), rootRecipeObject); } } recipes.forEach((a, b) -> {