Update for 1.20.2 (#6)

* Update for 1.20.2

* Fix recipes weirdly being rotated.
This commit is contained in:
William Gaylord
2023-12-17 19:10:28 +01:00
committed by GitHub
parent b7af1a264f
commit 5441b07c50
2 changed files with 22 additions and 20 deletions
+4 -4
View File
@@ -2,13 +2,13 @@
org.gradle.jvmargs=-Xmx1G org.gradle.jvmargs=-Xmx1G
# Fabric Properties # Fabric Properties
# check these on https://modmuss50.me/fabric.html # check these on https://modmuss50.me/fabric.html
minecraft_version=1.20.1 minecraft_version=1.20.2
yarn_mappings=1.20.1+build.10 yarn_mappings=1.20.2+build.4
loader_version=0.14.22 loader_version=0.14.24
# Mod Properties # Mod Properties
mod_version=1.0-SNAPSHOT mod_version=1.0-SNAPSHOT
maven_group=dev.u9g maven_group=dev.u9g
archives_base_name=minecraft-data-generator-server archives_base_name=minecraft-data-generator-server
# Dependencies # Dependencies
# check this on https://modmuss50.me/fabric.html # check this on https://modmuss50.me/fabric.html
fabric_version=0.87.0+1.20.1 fabric_version=0.90.4+1.20.2
@@ -8,8 +8,10 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import dev.u9g.minecraftdatagenerator.util.DGU; import dev.u9g.minecraftdatagenerator.util.DGU;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.Items;
import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.Ingredient;
import net.minecraft.recipe.Recipe; import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.RecipeEntry;
import net.minecraft.recipe.ShapedRecipe; import net.minecraft.recipe.ShapedRecipe;
import net.minecraft.recipe.ShapelessRecipe; import net.minecraft.recipe.ShapelessRecipe;
import net.minecraft.registry.DynamicRegistryManager; import net.minecraft.registry.DynamicRegistryManager;
@@ -26,12 +28,15 @@ public class RecipeDataGenerator implements IDataGenerator {
return "recipes"; return "recipes";
} }
@Override @Override
public JsonElement generateDataJson() { public JsonElement generateDataJson() {
DynamicRegistryManager registryManager = DGU.getWorld().getRegistryManager(); DynamicRegistryManager registryManager = DGU.getWorld().getRegistryManager();
JsonObject finalObj = new JsonObject(); JsonObject finalObj = new JsonObject();
Multimap<Integer, JsonObject> recipes = ArrayListMultimap.create(); Multimap<Integer, JsonObject> 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) { if (recipe instanceof ShapedRecipe sr) {
var ingredients = sr.getIngredients(); var ingredients = sr.getIngredients();
List<Integer> ingr = new ArrayList<>(); List<Integer> ingr = new ArrayList<>();
@@ -48,20 +53,17 @@ public class RecipeDataGenerator implements IDataGenerator {
ingr.add(getRawIdFor(matching[0].getItem())); ingr.add(getRawIdFor(matching[0].getItem()));
} }
} }
Lists.reverse(ingr); //Lists.reverse(ingr);
JsonArray inShape = new JsonArray(); JsonArray inShape = new JsonArray();
var iter = ingr.iterator(); var iter = ingr.iterator();
for (int y = 0; y < 3; y++) { for (int y = 0; y < sr.getHeight(); y++) {
var jsonRow = new JsonArray(); var jsonRow = new JsonArray();
int one = iter.next(); for (int z = 0; z < sr.getWidth();z++) {
int two = iter.next(); jsonRow.add(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);
inShape.add(jsonRow); inShape.add(jsonRow);
} }
@@ -69,11 +71,11 @@ public class RecipeDataGenerator implements IDataGenerator {
finalRecipe.add("inShape", inShape); finalRecipe.add("inShape", inShape);
var resultObject = new JsonObject(); var resultObject = new JsonObject();
resultObject.addProperty("id", getRawIdFor(sr.getOutput(registryManager).getItem())); resultObject.addProperty("id", getRawIdFor(sr.getResult(registryManager).getItem()));
resultObject.addProperty("count", sr.getOutput(registryManager).getCount()); resultObject.addProperty("count", sr.getResult(registryManager).getCount());
finalRecipe.add("result", resultObject); 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)) { if (!finalObj.has(id)) {
finalObj.add(id, new JsonArray()); finalObj.add(id, new JsonArray());
@@ -113,10 +115,10 @@ public class RecipeDataGenerator implements IDataGenerator {
var rootRecipeObject = new JsonObject(); var rootRecipeObject = new JsonObject();
rootRecipeObject.add("ingredients", ingredients); rootRecipeObject.add("ingredients", ingredients);
var resultObject = new JsonObject(); var resultObject = new JsonObject();
resultObject.addProperty("id", getRawIdFor(sl.getOutput(registryManager).getItem())); resultObject.addProperty("id", getRawIdFor(sl.getResult(registryManager).getItem()));
resultObject.addProperty("count", sl.getOutput(registryManager).getCount()); resultObject.addProperty("count", sl.getResult(registryManager).getCount());
rootRecipeObject.add("result", resultObject); rootRecipeObject.add("result", resultObject);
recipes.put(getRawIdFor(sl.getOutput(registryManager).getItem()), rootRecipeObject); recipes.put(getRawIdFor(sl.getResult(registryManager).getItem()), rootRecipeObject);
} }
} }
recipes.forEach((a, b) -> { recipes.forEach((a, b) -> {