Bonjour j’ai bien mis l’addrecipe au bon emplacement pourtant je n’arrive pas à faire fonctionner ma recette in-game (mon projet ne contient aucune erreur repérée par eclipse) je met ma classe recette au cas-où elle pourrait être utile
| package fr.priya.simpleores.gui; |
| |
| import java.util.HashMap; |
| import java.util.Iterator; |
| import java.util.Map.Entry; |
| |
| import net.minecraft.init.Items; |
| import net.minecraft.item.Item; |
| import net.minecraft.item.ItemStack; |
| |
| public class RecipesCustomFurnace { |
| |
| private static final HashMap <itemstack[], itemstack="">recipes = new HashMap<itemstack[], itemstack="">(); |
| static { |
| addRecipe(Items.APPLE, Items.ARROW, Items.BAKED_POTATO); |
| } |
| private static void addRecipe(Item ingredient1, Item ingredient2, Item resultat1) { |
| addRecipe(new ItemStack(ingredient1), new ItemStack(ingredient2), new ItemStack(resultat1)); |
| } |
| |
| private static void addRecipe(ItemStack ingredient1, ItemStack ingredient2, ItemStack resultat1) { |
| recipes.put(new ItemStack[]{ingredient1, ingredient2}, resultat1); |
| } |
| private static boolean areKeysEqual(ItemStack[] key1, ItemStack[] key2) { |
| if(key1.length != key2.length) return false; |
| |
| for(int i = 0; i < key1.length; i++) { |
| ItemStack s1 = key1*; |
| ItemStack s2 = key2*; |
| if(s1.isEmpty() && !s2.isEmpty()) return false; |
| if(!s1.isEmpty() && s2.isEmpty()) return false; |
| if(s1.getItem() != s2.getItem()) return false; |
| if(s1.getItemDamage() != s2.getItemDamage()) return false; |
| } |
| return true; |
| } |
| public static ItemStack getRecipeResult(ItemStack[] ingredients) { |
| Iterator<entry<itemstack[], itemstack="">> it = recipes.entrySet().iterator(); |
| while(it.hasNext()) { |
| Entry <itemstack[], itemstack="">entry = it.next(); |
| if(areKeysEqual(entry.getKey(), ingredients)) { |
| return entry.getValue(); |
| } |
| } |
| return null; |
| } |
| } |
| |
| ```</itemstack[],></entry<itemstack[],></itemstack[],></itemstack[],> |