diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-08-09 16:45:41 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-08-09 16:45:41 +0800 |
| commit | dd680c2cd41f11eccd294ca30c38b82565cd1633 (patch) | |
| tree | e873496059cb33d45bbd72ca058e5e9e65de30ab /src/main/java/me/shedaniel/rei/server/RecipeGridAligner.java | |
| parent | 10fa4cea1da644efe5b3045d3159a3eebdb8c0a8 (diff) | |
| download | RoughlyEnoughItems-dd680c2cd41f11eccd294ca30c38b82565cd1633.tar.gz RoughlyEnoughItems-dd680c2cd41f11eccd294ca30c38b82565cd1633.tar.bz2 RoughlyEnoughItems-dd680c2cd41f11eccd294ca30c38b82565cd1633.zip | |
Auto Crafting should work perfectly on vanilla stuff now
Diffstat (limited to 'src/main/java/me/shedaniel/rei/server/RecipeGridAligner.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/server/RecipeGridAligner.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/server/RecipeGridAligner.java b/src/main/java/me/shedaniel/rei/server/RecipeGridAligner.java new file mode 100644 index 000000000..314292e77 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/server/RecipeGridAligner.java @@ -0,0 +1,61 @@ +package me.shedaniel.rei.server; + +import net.minecraft.recipe.Ingredient; +import net.minecraft.util.DefaultedList; +import net.minecraft.util.math.MathHelper; + +import java.util.Iterator; + +public interface RecipeGridAligner<T> { + default void alignRecipeToGrid(int int_1, int int_2, int int_3, DefaultedList<Ingredient> recipe_1, Iterator<T> iterator_1, int int_4) { + int int_5 = int_1; + int int_6 = int_2; + // if (recipe_1 instanceof ShapedRecipe) { + // ShapedRecipe shapedRecipe_1 = (ShapedRecipe)recipe_1; + // int_5 = shapedRecipe_1.getWidth(); + // int_6 = shapedRecipe_1.getHeight(); + // } + + int int_7 = 0; + + for (int int_8 = 0; int_8 < int_2; ++int_8) { + if (int_7 == int_3) { + ++int_7; + } + + boolean boolean_1 = (float) int_6 < (float) int_2 / 2.0F; + int int_9 = MathHelper.floor((float) int_2 / 2.0F - (float) int_6 / 2.0F); + if (boolean_1 && int_9 > int_8) { + int_7 += int_1; + ++int_8; + } + + for (int int_10 = 0; int_10 < int_1; ++int_10) { + if (!iterator_1.hasNext()) { + return; + } + + boolean_1 = (float) int_5 < (float) int_1 / 2.0F; + int_9 = MathHelper.floor((float) int_1 / 2.0F - (float) int_5 / 2.0F); + int int_11 = int_5; + boolean boolean_2 = int_10 < int_5; + if (boolean_1) { + int_11 = int_9 + int_5; + boolean_2 = int_9 <= int_10 && int_10 < int_9 + int_5; + } + + if (boolean_2) { + this.acceptAlignedInput(iterator_1, int_7, int_4, int_8, int_10); + } else if (int_11 == int_10) { + int_7 += int_1 - int_10; + break; + } + + ++int_7; + } + } + + } + + void acceptAlignedInput(Iterator<T> var1, int var2, int var3, int var4, int var5); +}
\ No newline at end of file |
