Machine Recipe Complex
-
J’ai essayé de verifier si l’item dans le slot est celui que je veut et de lancer le craft avec un random mais ce ne fonctionne poins
-
? Ai pas totalement compris
Je réexplique : pour tes recettes, au lieu de faire une map avec <ce que=“” ça=“” use,=“” ce=“” donne=“” (item)=“”>, tu fais <ce que=“” ça=“” use,=“” ce=“” peut=“” donner=“” <item[]=“”>, et ensuite dans la fonction getSmeltingResult(), tu prends un item au hasard.</ce></ce>
-
Je n’y arrive poins
J’ai essayé mais après le craft n’a pas de result
Voici ma class avant modification :%(#a9b7c6)[[font=Courier New]public class ]%(#345f99)[OreExtractorRecipes ]{ %(#0187df)[private static final ]%(#345f99)[OreExtractorRecipes ]%(#666965)[smeltingBase ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[OreExtractorRecipes]()%(#aaa9a7)[; ] %(#0187df)[private ]%(#345f99)[Map]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack]%(#aaa9a7)[> ]%(#666965)[smeltingList ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[HashMap]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack]%(#aaa9a7)[>]()%(#aaa9a7)[; ] %(#0187df)[private ]%(#345f99)[Item][] %(#666965)[resultList ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[Item][] { %(#345f99)[MechanicalCraft].%(#666965)[brokenTinOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenCopperOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenZincOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenIronOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenGoldOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenCoalOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenDiamondOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenEmeraldOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenRedstoneOre]%(#aaa9a7)[, ] %(#345f99)[MechanicalCraft].%(#666965)[brokenLapisOre ] }%(#aaa9a7)[; ] %(#345f99)[Random ]%(#666965)[itemRand ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[Random]()%(#aaa9a7)[; ] %(#345f99)[Random ]%(#666965)[quantityRand ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[Random]()%(#aaa9a7)[; ] %(#0187df)[public ]%(#afb8c5)[OreExtractorRecipes]() { %(#0187df)[this].%(#afb8c5)[addRecipe](%(#345f99)[Blocks].%(#666965)[gravel]%(#aaa9a7)[, ]%(#0187df)[new ]%(#afb8c5)[ItemStack](%(#666965)[resultList][%(#666965)[itemRand].%(#afb8c5)[nextInt](%(#feff06)[10])]%(#aaa9a7)[, ]%(#666965)[quantityRand].%(#afb8c5)[nextInt]((%(#feff06)[3]) %(#aaa9a7)[+ ]%(#feff06)[1])%(#aaa9a7)[, ]%(#feff06)[0]))%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[addRecipe](%(#345f99)[ItemStack ]%(#278c3c)[*input1*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*output1*]) { %(#345f99)[ItemStack][] %(#666965)[stackList ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][] {%(#278c3c)[*input1*]}%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[smeltingList].%(#afb8c5)[put](%(#666965)[stackList]%(#aaa9a7)[, ]%(#278c3c)[*output1*])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[addRecipe](%(#345f99)[Item ]%(#278c3c)[*input1*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*output1*]) { %(#0187df)[this].%(#afb8c5)[addRecipe](%(#0187df)[new ]%(#afb8c5)[ItemStack](%(#278c3c)[*input1*])%(#aaa9a7)[, ]%(#278c3c)[*output1*])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[addRecipe](%(#345f99)[Block ]%(#278c3c)[*input1*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*output1*]) { %(#0187df)[this].%(#afb8c5)[addRecipe](%(#0187df)[new ]%(#afb8c5)[ItemStack](%(#278c3c)[*input1*])%(#aaa9a7)[, ]%(#278c3c)[*output1*])%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getSmeltingResult](%(#345f99)[ItemStack][] %(#278c3c)[*stack*]) { %(#345f99)[Iterator]%(#aaa9a7)[<]%(#345f99)[Map.Entry]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack]%(#aaa9a7)[>> ]%(#666965)[iterator ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[smeltingList].%(#afb8c5)[entrySet]().%(#afb8c5)[iterator]()%(#aaa9a7)[; ] %(#345f99)[Map.Entry]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack]%(#aaa9a7)[> ]%(#666965)[entry]%(#aaa9a7)[; ] %(#0187df)[do ] { %(#0187df)[if](%(#aaa9a7)[!]%(#666965)[iterator].%(#afb8c5)[hasNext]()) { %(#0187df)[return null]%(#aaa9a7)[; ] } %(#666965)[entry ]%(#aaa9a7)[= ](%(#345f99)[Map.Entry]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack]%(#aaa9a7)[>])%(#666965)[iterator].%(#afb8c5)[next]()%(#aaa9a7)[; ] } %(#0187df)[while](%(#aaa9a7)[!]%(#0187df)[this].%(#afb8c5)[isSameKey](%(#278c3c)[*stack*]%(#aaa9a7)[, ](%(#345f99)[ItemStack][])%(#666965)[entry].%(#afb8c5)[getKey]()))%(#aaa9a7)[; ] %(#0187df)[return ](%(#345f99)[ItemStack])%(#666965)[entry].%(#afb8c5)[getValue]()%(#aaa9a7)[; ] } %(#0187df)[private boolean ]%(#afb8c5)[isSameKey](%(#345f99)[ItemStack][] %(#278c3c)[*stackList*]%(#aaa9a7)[, ]%(#345f99)[ItemStack][] %(#278c3c)[*stackList2*]) { %(#0187df)[boolean ]%(#666965)[isSame ]%(#aaa9a7)[= ]%(#0187df)[false]%(#aaa9a7)[; ] %(#0187df)[if](%(#278c3c)[*stackList*][%(#feff06)[0]].%(#afb8c5)[getItem]() %(#aaa9a7)[== ]%(#278c3c)[*stackList2*][%(#feff06)[0]].%(#afb8c5)[getItem]()) { %(#666965)[isSame ]%(#aaa9a7)[= ]%(#0187df)[true]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[return ]%(#666965)[isSame]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[Map]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack]%(#aaa9a7)[> ]%(#afb8c5)[getSmeltingList]() { %(#0187df)[return this].%(#666965)[smeltingList]%(#aaa9a7)[; ] } %(#0187df)[public static ]%(#345f99)[OreExtractorRecipes ]%(#afb8c5)[smelting]() { %(#0187df)[return ]%(#666965)[smeltingBase]%(#aaa9a7)[; ] } }
-
Cette liste :
%(#0187df)[[size=small]**private**] %(#345f99)[[size=small]Map]%(#aaa9a7)[[size=small]<]%(#345f99)[[size=small]ItemStack]%(#666600)[[size=small][][/font]]%(#aaa9a7)[[size=small],] %(#345f99)[[size=small]ItemStack]%(#aaa9a7)[[size=small]>] %(#666965)[[size=small]smeltingList ]%(#aaa9a7)[[size=small]=] %(#0187df)[[size=small]**new**] %(#afb8c5)[[size=small]HashMap]%(#aaa9a7)[[size=small]<]%(#345f99)[[size=small]ItemStack]%(#666600)[[size=small][][/font]]%(#aaa9a7)[[size=small],] %(#345f99)[[size=small]ItemStack]%(#aaa9a7)[[size=small]>]%(#666600)[[size=small]()]%(#aaa9a7)[[size=small];]
devient
%(#0187df)[[size=small]**private**] %(#345f99)[[size=small]Map]%(#aaa9a7)[[size=small]<]%(#345f99)[[size=small]ItemStack]%(#666600)[[size=small][][/font]]%(#aaa9a7)[[size=small],] %(#345f99)[[size=small]ItemStack[]]%(#aaa9a7)[[size=small]>] %(#666965)[[size=small]smeltingList ]%(#aaa9a7)[[size=small]=] %(#0187df)[[size=small]**new**] %(#afb8c5)[[size=small]HashMap]%(#aaa9a7)[[size=small]<]%(#345f99)[[size=small]ItemStack]%(#666600)[[size=small][][/font]]%(#aaa9a7)[[size=small],] %(#345f99)[[size=small]ItemStack[]]%(#aaa9a7)[[size=small]>]%(#666600)[[size=small]()]%(#aaa9a7)[[size=small];]
Ducoup ceci
%(#0187df)[[size=small]**this**]%(#666600)[[size=small].]%(#afb8c5)[[size=small]addRecipe]%(#666600)[[size=small](]%(#345f99)[[size=small]Blocks]%(#666600)[[size=small].]%(#666965)[[size=small]gravel]%(#aaa9a7)[[size=small],] %(#0187df)[[size=small]**new**] %(#afb8c5)[[size=small]ItemStack]%(#666600)[[size=small](]%(#666965)[[size=small]resultList]%(#666600)[[size=small][[/font]]%(#666965)[[size=small]itemRand]%(#666600)[[size=small].]%(#afb8c5)[[size=small]nextInt]%(#666600)[[size=small](]%(#feff06)[[size=small]10]%(#666600)[[size=small])]]%(#aaa9a7)[[size=small],] %(#666965)[[size=small]quantityRand]%(#666600)[[size=small].]%(#afb8c5)[[size=small]nextInt]%(#666600)[[size=small]((]%(#feff06)[[size=small]3]%(#666600)[[size=small])] %(#aaa9a7)[[size=small]+] %(#feff06)[[size=small]1]%(#666600)[[size=small])]%(#aaa9a7)[[size=small],] %(#feff06)[[size=small]0]%(#666600)[[size=small]))]%(#aaa9a7)[[size=small];]
devient ceci
%(#0187df)[[size=small]**this**]%(#666600)[[size=small].]%(#afb8c5)[[size=small]addRecipe]%(#666600)[[size=small](]%(#345f99)[[size=small]Blocks]%(#666600)[[size=small].]%(#666965)[[size=small]gravel]%(#aaa9a7)[[size=small],] %(#666965)[[size=small]resultList]%(#aaa9a7)[[size=small]; //Il faut donc que tu transformes resultList en un array d'itemstacks]
Et la fonction getSmeltingResult devient ça (après le while) :
ItemStack result = %(#666600)[[size=small]((]%(#345f99)[[size=small]ItemStack[]]%(#666600)[[size=small])]%(#666965)[[size=small]entry]%(#666600)[[size=small].]%(#afb8c5)[[size=small]getValue]%(#666600)[[size=small]())[random.nextInt(…)];] %(#666600)[[size=small]result.stackSize = random.nextInt(…);] %(#0187df)[[size=small]**return**] result%(#aaa9a7)[[size=small];] ``` Et il faut bien sur que tu changes toutes les fonctions addRecipe.
-
J’ai une erreur ici: ```java
(ItemStack[])entry.getValue()qui me dit "cannot cast ….ItemStack to .....ItemStack[]" ```java %(#a9b7c6)[[font=Courier New]public class ]%(#345f99)[OreExtractorRecipes ]{ %(#0187df)[private static final ]%(#345f99)[OreExtractorRecipes ]%(#666965)[smeltingBase ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[OreExtractorRecipes]()%(#aaa9a7)[; ] %(#0187df)[private ]%(#345f99)[Map]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack][]%(#aaa9a7)[> ]%(#666965)[smeltingList ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[HashMap]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack][]%(#aaa9a7)[>]()%(#aaa9a7)[; ] %(#0187df)[private ]%(#345f99)[ItemStack][] %(#666965)[resultList ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenTinOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenCopperOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenZincOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenIronOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenGoldOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenCoalOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenDiamondOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenEmeraldOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenRedstoneOre])%(#aaa9a7)[, ] %(#0187df)[new ]%(#afb8c5)[ItemStack](%(#345f99)[MechanicalCraft].%(#666965)[brokenLapisOre]) }%(#aaa9a7)[; ] %(#345f99)[Random ]%(#666965)[itemRand ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[Random]()%(#aaa9a7)[; ] %(#345f99)[Random ]%(#666965)[quantityRand ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[Random]()%(#aaa9a7)[; ] %(#0187df)[public ]%(#afb8c5)[OreExtractorRecipes]() { %(#0187df)[this].%(#afb8c5)[addRecipe](%(#345f99)[Blocks].%(#666965)[gravel]%(#aaa9a7)[, ]%(#666965)[resultList])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[addRecipe](%(#345f99)[ItemStack ]%(#278c3c)[*input1*]%(#aaa9a7)[, ]%(#345f99)[ItemStack][] %(#278c3c)[*output1*]) { %(#345f99)[ItemStack][] %(#666965)[stackList ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][] {%(#278c3c)[*input1*]}%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[smeltingList].%(#afb8c5)[put](%(#666965)[stackList]%(#aaa9a7)[, ]%(#278c3c)[*output1*])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[addRecipe](%(#345f99)[Item ]%(#278c3c)[*input1*]%(#aaa9a7)[, ]%(#345f99)[ItemStack][] %(#278c3c)[*output1*]) { %(#0187df)[this].%(#afb8c5)[addRecipe](%(#0187df)[new ]%(#afb8c5)[ItemStack](%(#278c3c)[*input1*])%(#aaa9a7)[, ]%(#278c3c)[*output1*])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[addRecipe](%(#345f99)[Block ]%(#278c3c)[*input1*]%(#aaa9a7)[, ]%(#345f99)[ItemStack][] %(#278c3c)[*output1*]) { %(#0187df)[this].%(#afb8c5)[addRecipe](%(#0187df)[new ]%(#afb8c5)[ItemStack](%(#278c3c)[*input1*])%(#aaa9a7)[, ]%(#278c3c)[*output1*])%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getSmeltingResult](%(#345f99)[ItemStack][] stack) { %(#345f99)[Iterator]%(#aaa9a7)[<]%(#345f99)[Map.Entry]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack][]%(#aaa9a7)[>> ]%(#666965)[iterator ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[smeltingList].%(#afb8c5)[entrySet]().%(#afb8c5)[iterator]()%(#aaa9a7)[; ] %(#345f99)[Map.Entry]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack]%(#aaa9a7)[> ]%(#666965)[entry]%(#aaa9a7)[; ] %(#0187df)[do ] { %(#0187df)[if](%(#aaa9a7)[!]%(#666965)[iterator].%(#afb8c5)[hasNext]()) { %(#0187df)[return null]%(#aaa9a7)[; ] } %(#666965)[entry ]%(#aaa9a7)[= ](%(#345f99)[Map.Entry]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack]%(#aaa9a7)[>])%(#666965)[iterator].%(#afb8c5)[next]()%(#aaa9a7)[; ] } %(#0187df)[while](%(#aaa9a7)[!]%(#0187df)[this].%(#afb8c5)[isSameKey](%(#278c3c)[*stack*]%(#aaa9a7)[, ](%(#345f99)[ItemStack][])%(#666965)[entry].%(#afb8c5)[getKey]()))%(#aaa9a7)[; ] %(#345f99)[ItemStack ]%(#666965)[result ]%(#aaa9a7)[= ]((%(#345f99)[ItemStack][])%(#666965)[entry].%(#afb8c5)[getValue]())[%(#666965)[itemRand].%(#afb8c5)[nextInt](%(#feff06)[10])]%(#aaa9a7)[; ] %(#666965)[result].%(#666965)[stackSize ]%(#aaa9a7)[= ]%(#666965)[quantityRand].%(#afb8c5)[nextInt]((%(#feff06)[3]) %(#aaa9a7)[+ ]%(#feff06)[1])%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[result]%(#aaa9a7)[; ] } %(#0187df)[private boolean ]%(#afb8c5)[isSameKey](%(#345f99)[ItemStack][] %(#278c3c)[*stackList*]%(#aaa9a7)[, ]%(#345f99)[ItemStack][] %(#278c3c)[*stackList2*]) { %(#0187df)[boolean ]%(#666965)[isSame ]%(#aaa9a7)[= ]%(#0187df)[false]%(#aaa9a7)[; ] %(#0187df)[if](%(#278c3c)[*stackList*][%(#feff06)[0]].%(#afb8c5)[getItem]() %(#aaa9a7)[== ]%(#278c3c)[*stackList2*][%(#feff06)[0]].%(#afb8c5)[getItem]()) { %(#666965)[isSame ]%(#aaa9a7)[= ]%(#0187df)[true]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[return ]%(#666965)[isSame]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[Map]%(#aaa9a7)[<]%(#345f99)[ItemStack][]%(#aaa9a7)[, ]%(#345f99)[ItemStack][]%(#aaa9a7)[> ]%(#afb8c5)[getSmeltingList]() { %(#0187df)[return this].%(#666965)[smeltingList]%(#aaa9a7)[; ] } %(#0187df)[public static ]%(#345f99)[OreExtractorRecipes ]%(#afb8c5)[smelting]() { %(#0187df)[return ]%(#666965)[smeltingBase]%(#aaa9a7)[; ] }
-
Ah oui, change ça :
java Map.Entry <itemstack[], itemstack="">entry;
par ça : ```java
Map.Entry <itemstack[], itemstack[]=“”>entry;Et également ça : ```java entry = (Map.Entry<itemstack[], itemstack="">)iterator.next(); ``` par ça : ```java entry = (Map.Entry<itemstack[], itemstack[]="">)iterator.next(); ```.</itemstack[],></itemstack[],></itemstack[],></itemstack[],>
-
Merci y a plus d’erreurs.
Mon Craft peut sortir plusieurs items différents, pour cela j’ai créer plusieurs slotresults (12 en tout). Comment faire pour qu’il soi tous utilisés si par exemple l’un est plein ou que l’item n’est pas le même et bien que le suivant se remplisse? -
Il faut que tu fasses une fonction qui vérifies si un slot est libre (item correcpondant, taille…), si le slot est libre, tu ajoutes l’item, sinon, tu fait la même chose avec le slot d’après. je sais qu’il y a une fonction comme ça dans le InventoryPlayer, essaye de regarder.
-
J’ai regardé dans la class InventoryPlayer j’ai je n’est pas trouvé la fonction en question
-
playerInventory.addItemStackToInventory
-
J’ai essayé de faire plusieurs conditions pour vérifier l’état du slot mais mon craft ne se lance plus car je n’est plus de slotresult “valide”
-
Tu fais une fonction qui, avec un slot donné en id, vérifies si ce slot est vide ou que son item correspond à celui que tu veux ajouter.
Après dans ta fonction smelt, tu fais un for() pour vérifier chaque slot avec cette fonction, quand un slot libre est trouvé, tu insères l’item dans le slot libre. Et tu fais la même chose dans la fonction canSmelt() sauf que là tu n’ajoutes pas l’item. -
Mon jeu crash
[20:47:08] [Client thread/FATAL]: Reported exception thrown! net.minecraft.util.ReportedException: Ticking block entity at net.minecraft.world.World.updateEntities(World.java:2175) ~[World.class:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:2097) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1039) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_66] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_66] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_66] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_66] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_66] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_66] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66] at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) [idea_rt.jar:?] Caused by: java.lang.ArrayIndexOutOfBoundsException: 15 at com.google.SpyMan.Mechanicalcraft.common.blockOreExtractor.TileEntityOreExtractor.smeltItem(TileEntityOreExtractor.java:258) ~[TileEntityOreExtractor.class:?] at com.google.SpyMan.Mechanicalcraft.common.blockOreExtractor.TileEntityOreExtractor.updateEntity(TileEntityOreExtractor.java:297) ~[TileEntityOreExtractor.class:?] at net.minecraft.world.World.updateEntities(World.java:2160) ~[World.class:?] … 17 more [20:47:08] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ---- // Why is it breaking :( Time: 14/03/16 20:47 Description: Ticking block entity java.lang.ArrayIndexOutOfBoundsException: 15 at com.google.SpyMan.Mechanicalcraft.common.blockOreExtractor.TileEntityOreExtractor.smeltItem(TileEntityOreExtractor.java:258) at com.google.SpyMan.Mechanicalcraft.common.blockOreExtractor.TileEntityOreExtractor.updateEntity(TileEntityOreExtractor.java:297) at net.minecraft.world.World.updateEntities(World.java:2160) at net.minecraft.client.Minecraft.runTick(Minecraft.java:2097) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1039) at net.minecraft.client.Minecraft.run(Minecraft.java:962) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
%(#a9b7c6)[[font=Courier New]public class ]%(#345f99)[TileEntityOreExtractor ]%(#0187df)[extends ]%(#345f99)[TileEntity ]%(#0187df)[implements ]%(#345f99)[IInventory ]{ %(#0187df)[private byte ]%(#666965)[direction]%(#aaa9a7)[; ] %(#8242ff)[/** Slots list */ ] %(#0187df)[private ]%(#345f99)[ItemStack][] %(#666965)[contents ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][%(#feff06)[15]]%(#aaa9a7)[; ] %(#8242ff)[/** Actual working time */ ] %(#0187df)[protected int ]%(#666965)[workingTime ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Working time for one recipes */ ] %(#0187df)[protected int ]%(#666965)[workingTimeNeeded ]%(#aaa9a7)[= ]%(#feff06)[200]%(#aaa9a7)[; ] %(#8242ff)[/** Working time default value for one recipes */ ] %(#0187df)[protected int ]%(#666965)[workingTimeNeededDefault ]%(#aaa9a7)[= ]%(#feff06)[200]%(#aaa9a7)[; ] %(#8242ff)[/** Actual burn time */ ] %(#0187df)[protected int ]%(#666965)[burnTime ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Burn time of fuel */ ] %(#0187df)[protected int ]%(#666965)[burnTimeTotal ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the result slot */ ] %(#0187df)[private int ]%(#666965)[slotResultID ]%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the upgrade slot */ ] %(#0187df)[private int ]%(#666965)[slotUpgradeID ]%(#aaa9a7)[= ]%(#feff06)[2]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the fuel slot */ ] %(#0187df)[private int ]%(#666965)[slotFuelID ]%(#aaa9a7)[= ]%(#feff06)[1]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the input slot */ ] %(#0187df)[private int ]%(#666965)[slotInputID ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#278c3c)[***@Override ***] %(#0187df)[public void ]%(#afb8c5)[readFromNBT](%(#345f99)[NBTTagCompound ]%(#278c3c)[*compound*]) { %(#0187df)[super].%(#afb8c5)[readFromNBT](%(#278c3c)[*compound*])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[direction ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getByte](%(#00b10f)["Direction"])%(#aaa9a7)[; ] %(#345f99)[NBTTagList ]%(#666965)[nbttaglist ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getTagList](%(#00b10f)["Items"]%(#aaa9a7)[, ]%(#feff06)[10])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][%(#0187df)[this].%(#afb8c5)[getSizeInventory]()]%(#aaa9a7)[; ] %(#0187df)[for](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#666965)[nbttaglist].%(#afb8c5)[tagCount]()%(#aaa9a7)[; ++]%(#666965)*) { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#666965)[nbttaglist].%(#afb8c5)[getCompoundTagAt](%(#666965)*)%(#aaa9a7)[; ] %(#0187df)[int ]%(#666965)[j ]%(#aaa9a7)[= ]%(#666965)[nbtTagCompound].%(#afb8c5)[getByte](%(#00b10f)["Slot"]) %(#aaa9a7)[& ]%(#feff06)[255]%(#aaa9a7)[; ] %(#0187df)[if](%(#666965)[j ]%(#aaa9a7)[>= ]%(#feff06)[0 ]%(#aaa9a7)[&& ]%(#666965)[j ]%(#aaa9a7)[< ]%(#0187df)[this].%(#666965)[contents].%(#666965)[length]) { %(#0187df)[this].%(#666965)[contents][%(#666965)[j]] %(#aaa9a7)[= ]%(#345f99)[ItemStack].%(#afb8c5)[loadItemStackFromNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } } %(#0187df)[this].%(#666965)[workingTime ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["workingTime"])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["burnTime"])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[burnTimeTotal ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["burnTimeTotal"])%(#aaa9a7)[; ] } %(#278c3c)[***@Override ***] %(#0187df)[public void ]%(#afb8c5)[writeToNBT](%(#345f99)[NBTTagCompound ]%(#278c3c)[*compound*]) { %(#0187df)[super].%(#afb8c5)[writeToNBT](%(#278c3c)[*compound*])%(#aaa9a7)[; ] %(#345f99)[NBTTagList ]%(#666965)[nbttaglist ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagList]()%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setByte](%(#00b10f)["Direction"]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[direction])%(#aaa9a7)[; ] %(#0187df)[for](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#0187df)[this].%(#666965)[contents].%(#666965)[length]%(#aaa9a7)[; ++]%(#666965)*) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagCompound]()%(#aaa9a7)[; ] %(#666965)[nbtTagCompound].%(#afb8c5)[setByte](%(#00b10f)["Slot"]%(#aaa9a7)[, ](%(#0187df)[byte])%(#666965)*)%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[writeToNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] %(#666965)[nbttaglist].%(#afb8c5)[appendTag](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } } %(#278c3c)[*compound*].%(#afb8c5)[setTag](%(#00b10f)["Items"]%(#aaa9a7)[, ]%(#666965)[nbttaglist])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["workingTime"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[workingTime])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["burnTime"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[burnTime])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["burnTimeTotal"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[burnTimeTotal])%(#aaa9a7)[; ] } %(#0187df)[public byte ]%(#afb8c5)[getDirection]() { %(#0187df)[return ]%(#666965)[direction]%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[setDirection](%(#0187df)[byte ]%(#278c3c)[*direction*]) { %(#0187df)[this].%(#666965)[direction ]%(#aaa9a7)[= ]%(#278c3c)[*direction*]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[worldObj].%(#afb8c5)[markBlockForUpdate](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord])%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[Packet ]%(#afb8c5)[getDescriptionPacket]() { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagCompound]()%(#aaa9a7)[; ] %(#0187df)[this].%(#afb8c5)[writeToNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] %(#0187df)[return new ]%(#afb8c5)[S35PacketUpdateTileEntity](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord]%(#aaa9a7)[, ]%(#feff06)[0]%(#aaa9a7)[, ]%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[onDataPacket](%(#345f99)[NetworkManager ]%(#278c3c)[*net*]%(#aaa9a7)[, ]%(#345f99)[S35PacketUpdateTileEntity ]%(#278c3c)[*pkt*]) { %(#0187df)[this].%(#afb8c5)[readFromNBT](%(#278c3c)[*pkt*].%(#afb8c5)[func_148857_g]())%(#aaa9a7)[; ] } %(#0187df)[public int ]%(#afb8c5)[getSizeInventory]() { %(#0187df)[return this].%(#666965)[contents].%(#666965)[length]%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[openInventory]() {} %(#0187df)[public void ]%(#afb8c5)[closeInventory]() {} %(#0187df)[public ]%(#345f99)[String ]%(#afb8c5)[getInventoryName]() { %(#0187df)[return ]%(#345f99)[MechanicalCraft].%(#666965)[oreExtractor].%(#afb8c5)[getLocalizedName]()%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[hasCustomInventoryName]() { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[public int ]%(#afb8c5)[getInventoryStackLimit]() { %(#0187df)[return ]%(#feff06)[64]%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isUseableByPlayer](%(#345f99)[EntityPlayer ]%(#278c3c)[*player*]) { %(#0187df)[return this].%(#666965)[worldObj].%(#afb8c5)[getTileEntity](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord]) %(#aaa9a7)[!= ]%(#0187df)[this ]%(#aaa9a7)[? ]%(#0187df)[false ]%(#aaa9a7)[: ]%(#278c3c)[*player*].%(#afb8c5)[getDistanceSq]((%(#0187df)[double])%(#0187df)[this].%(#666965)[xCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]%(#aaa9a7)[, ](%(#0187df)[double])%(#0187df)[this].%(#666965)[yCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]%(#aaa9a7)[, ](%(#0187df)[double])%(#0187df)[this].%(#666965)[zCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]) %(#aaa9a7)[<= ]%(#feff06)[64.0D]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getStackInSlot](%(#0187df)[int ]%(#278c3c)[*slotIndex*]) { %(#0187df)[return this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[decrStackSize](%(#0187df)[int ]%(#278c3c)[*slotIndex*]%(#aaa9a7)[, ]%(#0187df)[int ]%(#278c3c)[*amount*]) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[ItemStack ]%(#666965)[itemstack]%(#aaa9a7)[; ] %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#666965)[stackSize ]%(#aaa9a7)[<= ]%(#278c3c)[*amount*]) { %(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#afb8c5)[splitStack](%(#278c3c)[*amount*])%(#aaa9a7)[; ] %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#666965)[stackSize ]%(#aaa9a7)[== ]%(#feff06)[0]) { %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } } %(#0187df)[else ] { %(#0187df)[return null]%(#aaa9a7)[; ] } } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getStackInSlotOnClosing](%(#0187df)[int ]%(#278c3c)[*slotIndex*]) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#0187df)[return null]%(#aaa9a7)[; ] } } %(#0187df)[public void ]%(#afb8c5)[setInventorySlotContents](%(#0187df)[int ]%(#278c3c)[*slotIndex*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*stack*]) { %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#278c3c)[*stack*]%(#aaa9a7)[; ] %(#0187df)[if](%(#278c3c)[*stack *]%(#aaa9a7)[!= ]%(#0187df)[null ]%(#aaa9a7)[&& ]%(#278c3c)[*stack*].%(#666965)[stackSize ]%(#aaa9a7)[> ]%(#0187df)[this].%(#afb8c5)[getInventoryStackLimit]()) { %(#278c3c)[*stack*].%(#666965)[stackSize ]%(#aaa9a7)[= ]%(#0187df)[this].%(#afb8c5)[getInventoryStackLimit]()%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isItemValidForSlot](%(#0187df)[int ]%(#278c3c)[*slot*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*stack*]) { %(#0187df)[return ]%(#278c3c)[*slot *]%(#aaa9a7)[== ]%(#feff06)[2 ]%(#aaa9a7)[? ]%(#0187df)[false ]%(#aaa9a7)[: ]%(#0187df)[true]%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isBurning]() { %(#0187df)[return this].%(#666965)[workingTime ]%(#aaa9a7)[> ]%(#feff06)[0]%(#aaa9a7)[; ] } %(#0187df)[protected boolean ]%(#afb8c5)[canSmelt]() { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#345f99)[OreExtractorRecipes].%(#afb8c5)[smelting]().%(#afb8c5)[getSmeltingResult](%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] })%(#aaa9a7)[; ] %(#0187df)[int ]%(#666965)[j ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#0187df)[for ](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#feff06)[15]%(#aaa9a7)[; ]%(#666965)*%(#aaa9a7)[++]) { %(#666965)[j ]%(#aaa9a7)[= ]%(#666965)*%(#aaa9a7)[; ] %(#0187df)[if ](%(#666965)[itemstack ]%(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return true]%(#aaa9a7)[; ] } %(#0187df)[if ](%(#aaa9a7)[!]%(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[isItemEqual](%(#666965)[itemstack])) { %(#0187df)[return false]%(#aaa9a7)[; ] } } %(#0187df)[int ]%(#666965)[result ]%(#aaa9a7)[= ]%(#666965)[contents][%(#666965)[j]].%(#666965)[stackSize ]%(#aaa9a7)[+ ]%(#666965)[itemstack].%(#666965)[stackSize]%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[result ]%(#aaa9a7)[<= ]%(#afb8c5)[getInventoryStackLimit]() %(#aaa9a7)[&& ]%(#666965)[result ]%(#aaa9a7)[<= ]%(#0187df)[this].%(#666965)[contents][%(#666965)[j]].%(#afb8c5)[getMaxStackSize]()%(#aaa9a7)[; ] } } %(#0187df)[public void ]%(#afb8c5)[smeltItem]() { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#345f99)[OreExtractorRecipes].%(#afb8c5)[smelting]().%(#afb8c5)[getSmeltingResult](%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] })%(#aaa9a7)[; ] %(#0187df)[for ](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[<= ]%(#feff06)[15]%(#aaa9a7)[; ]%(#666965)*%(#aaa9a7)[++]) { %(#0187df)[if ](%(#0187df)[this].%(#afb8c5)[canSmelt]()) { %(#0187df)[if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[= ]%(#666965)[itemstack].%(#afb8c5)[copy]()%(#aaa9a7)[; ] } %(#0187df)[else if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[getItem]() %(#aaa9a7)[== ]%(#666965)[itemstack].%(#afb8c5)[getItem]()) { %(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#666965)[stackSize ]%(#aaa9a7)[+= ]%(#666965)[itemstack].%(#666965)[stackSize]%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[decrStackSize](%(#feff06)[0]%(#aaa9a7)[, ]%(#feff06)[1])%(#aaa9a7)[; ] } } } %(#0187df)[public void ]%(#afb8c5)[updateEntity]() { %(#0187df)[if](%(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[> ]%(#feff06)[0]) { %(#666965)[burnTime]%(#aaa9a7)[–; ] } %(#0187df)[if](%(#0187df)[this].%(#afb8c5)[canSmelt]()) { %(#0187df)[if](%(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[<= ]%(#feff06)[0]) { %(#0187df)[int ]%(#666965)________
-
Dans ton for() de ta fonction smelt, tu as mis un <= au lieu d’un<
-
Quand un craft est terminé le suivant ne se lance pas car le premier slot (3) n’est pas vide et les items du même type se dispatche sur plusieurs slots au lieu de se retrouver dans le même. Comment faire ?
%(#a9b7c6)[[font=Courier New]public class ]%(#345f99)[TileEntityOreExtractor ]%(#0187df)[extends ]%(#345f99)[TileEntity ]%(#0187df)[implements ]%(#345f99)[IInventory ]{ %(#0187df)[private byte ]%(#666965)[direction]%(#aaa9a7)[; ] %(#8242ff)[/** Slots list */ ] %(#0187df)[private ]%(#345f99)[ItemStack][] %(#666965)[contents ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][%(#feff06)[15]]%(#aaa9a7)[; ] %(#8242ff)[/** Actual working time */ ] %(#0187df)[protected int ]%(#666965)[workingTime ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Working time for one recipes */ ] %(#0187df)[protected int ]%(#666965)[workingTimeNeeded ]%(#aaa9a7)[= ]%(#feff06)[200]%(#aaa9a7)[; ] %(#8242ff)[/** Working time default value for one recipes */ ] %(#0187df)[protected int ]%(#666965)[workingTimeNeededDefault ]%(#aaa9a7)[= ]%(#feff06)[200]%(#aaa9a7)[; ] %(#8242ff)[/** Actual burn time */ ] %(#0187df)[protected int ]%(#666965)[burnTime ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Burn time of fuel */ ] %(#0187df)[protected int ]%(#666965)[burnTimeTotal ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the result slot */ ] %(#0187df)[private int ]%(#666965)[slotResultID ]%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the upgrade slot */ ] %(#0187df)[private int ]%(#666965)[slotUpgradeID ]%(#aaa9a7)[= ]%(#feff06)[2]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the fuel slot */ ] %(#0187df)[private int ]%(#666965)[slotFuelID ]%(#aaa9a7)[= ]%(#feff06)[1]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the input slot */ ] %(#0187df)[private int ]%(#666965)[slotInputID ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#278c3c)[***@Override ***] %(#0187df)[public void ]%(#afb8c5)[readFromNBT](%(#345f99)[NBTTagCompound ]%(#278c3c)[*compound*]) { %(#0187df)[super].%(#afb8c5)[readFromNBT](%(#278c3c)[*compound*])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[direction ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getByte](%(#00b10f)["Direction"])%(#aaa9a7)[; ] %(#345f99)[NBTTagList ]%(#666965)[nbttaglist ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getTagList](%(#00b10f)["Items"]%(#aaa9a7)[, ]%(#feff06)[10])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][%(#0187df)[this].%(#afb8c5)[getSizeInventory]()]%(#aaa9a7)[; ] %(#0187df)[for](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#666965)[nbttaglist].%(#afb8c5)[tagCount]()%(#aaa9a7)[; ++]%(#666965)*) { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#666965)[nbttaglist].%(#afb8c5)[getCompoundTagAt](%(#666965)*)%(#aaa9a7)[; ] %(#0187df)[int ]%(#666965)[j ]%(#aaa9a7)[= ]%(#666965)[nbtTagCompound].%(#afb8c5)[getByte](%(#00b10f)["Slot"]) %(#aaa9a7)[& ]%(#feff06)[255]%(#aaa9a7)[; ] %(#0187df)[if](%(#666965)[j ]%(#aaa9a7)[>= ]%(#feff06)[0 ]%(#aaa9a7)[&& ]%(#666965)[j ]%(#aaa9a7)[< ]%(#0187df)[this].%(#666965)[contents].%(#666965)[length]) { %(#0187df)[this].%(#666965)[contents][%(#666965)[j]] %(#aaa9a7)[= ]%(#345f99)[ItemStack].%(#afb8c5)[loadItemStackFromNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } } %(#0187df)[this].%(#666965)[workingTime ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["workingTime"])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["burnTime"])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[burnTimeTotal ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["burnTimeTotal"])%(#aaa9a7)[; ] } %(#278c3c)[***@Override ***] %(#0187df)[public void ]%(#afb8c5)[writeToNBT](%(#345f99)[NBTTagCompound ]%(#278c3c)[*compound*]) { %(#0187df)[super].%(#afb8c5)[writeToNBT](%(#278c3c)[*compound*])%(#aaa9a7)[; ] %(#345f99)[NBTTagList ]%(#666965)[nbttaglist ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagList]()%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setByte](%(#00b10f)["Direction"]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[direction])%(#aaa9a7)[; ] %(#0187df)[for](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#0187df)[this].%(#666965)[contents].%(#666965)[length]%(#aaa9a7)[; ++]%(#666965)*) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagCompound]()%(#aaa9a7)[; ] %(#666965)[nbtTagCompound].%(#afb8c5)[setByte](%(#00b10f)["Slot"]%(#aaa9a7)[, ](%(#0187df)[byte])%(#666965)*)%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[writeToNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] %(#666965)[nbttaglist].%(#afb8c5)[appendTag](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } } %(#278c3c)[*compound*].%(#afb8c5)[setTag](%(#00b10f)["Items"]%(#aaa9a7)[, ]%(#666965)[nbttaglist])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["workingTime"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[workingTime])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["burnTime"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[burnTime])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["burnTimeTotal"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[burnTimeTotal])%(#aaa9a7)[; ] } %(#0187df)[public byte ]%(#afb8c5)[getDirection]() { %(#0187df)[return ]%(#666965)[direction]%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[setDirection](%(#0187df)[byte ]%(#278c3c)[*direction*]) { %(#0187df)[this].%(#666965)[direction ]%(#aaa9a7)[= ]%(#278c3c)[*direction*]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[worldObj].%(#afb8c5)[markBlockForUpdate](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord])%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[Packet ]%(#afb8c5)[getDescriptionPacket]() { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagCompound]()%(#aaa9a7)[; ] %(#0187df)[this].%(#afb8c5)[writeToNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] %(#0187df)[return new ]%(#afb8c5)[S35PacketUpdateTileEntity](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord]%(#aaa9a7)[, ]%(#feff06)[0]%(#aaa9a7)[, ]%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[onDataPacket](%(#345f99)[NetworkManager ]%(#278c3c)[*net*]%(#aaa9a7)[, ]%(#345f99)[S35PacketUpdateTileEntity ]%(#278c3c)[*pkt*]) { %(#0187df)[this].%(#afb8c5)[readFromNBT](%(#278c3c)[*pkt*].%(#afb8c5)[func_148857_g]())%(#aaa9a7)[; ] } %(#0187df)[public int ]%(#afb8c5)[getSizeInventory]() { %(#0187df)[return this].%(#666965)[contents].%(#666965)[length]%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[openInventory]() {} %(#0187df)[public void ]%(#afb8c5)[closeInventory]() {} %(#0187df)[public ]%(#345f99)[String ]%(#afb8c5)[getInventoryName]() { %(#0187df)[return ]%(#345f99)[MechanicalCraft].%(#666965)[oreExtractor].%(#afb8c5)[getLocalizedName]()%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[hasCustomInventoryName]() { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[public int ]%(#afb8c5)[getInventoryStackLimit]() { %(#0187df)[return ]%(#feff06)[64]%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isUseableByPlayer](%(#345f99)[EntityPlayer ]%(#278c3c)[*player*]) { %(#0187df)[return this].%(#666965)[worldObj].%(#afb8c5)[getTileEntity](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord]) %(#aaa9a7)[!= ]%(#0187df)[this ]%(#aaa9a7)[? ]%(#0187df)[false ]%(#aaa9a7)[: ]%(#278c3c)[*player*].%(#afb8c5)[getDistanceSq]((%(#0187df)[double])%(#0187df)[this].%(#666965)[xCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]%(#aaa9a7)[, ](%(#0187df)[double])%(#0187df)[this].%(#666965)[yCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]%(#aaa9a7)[, ](%(#0187df)[double])%(#0187df)[this].%(#666965)[zCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]) %(#aaa9a7)[<= ]%(#feff06)[64.0D]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getStackInSlot](%(#0187df)[int ]%(#278c3c)[*slotIndex*]) { %(#0187df)[return this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[decrStackSize](%(#0187df)[int ]%(#278c3c)[*slotIndex*]%(#aaa9a7)[, ]%(#0187df)[int ]%(#278c3c)[*amount*]) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[ItemStack ]%(#666965)[itemstack]%(#aaa9a7)[; ] %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#666965)[stackSize ]%(#aaa9a7)[<= ]%(#278c3c)[*amount*]) { %(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#afb8c5)[splitStack](%(#278c3c)[*amount*])%(#aaa9a7)[; ] %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#666965)[stackSize ]%(#aaa9a7)[== ]%(#feff06)[0]) { %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } } %(#0187df)[else ] { %(#0187df)[return null]%(#aaa9a7)[; ] } } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getStackInSlotOnClosing](%(#0187df)[int ]%(#278c3c)[*slotIndex*]) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#0187df)[return null]%(#aaa9a7)[; ] } } %(#0187df)[public void ]%(#afb8c5)[setInventorySlotContents](%(#0187df)[int ]%(#278c3c)[*slotIndex*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*stack*]) { %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#278c3c)[*stack*]%(#aaa9a7)[; ] %(#0187df)[if](%(#278c3c)[*stack *]%(#aaa9a7)[!= ]%(#0187df)[null ]%(#aaa9a7)[&& ]%(#278c3c)[*stack*].%(#666965)[stackSize ]%(#aaa9a7)[> ]%(#0187df)[this].%(#afb8c5)[getInventoryStackLimit]()) { %(#278c3c)[*stack*].%(#666965)[stackSize ]%(#aaa9a7)[= ]%(#0187df)[this].%(#afb8c5)[getInventoryStackLimit]()%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isItemValidForSlot](%(#0187df)[int ]%(#278c3c)[*slot*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*stack*]) { %(#0187df)[return ]%(#278c3c)[*slot *]%(#aaa9a7)[== ]%(#feff06)[2 ]%(#aaa9a7)[? ]%(#0187df)[false ]%(#aaa9a7)[: ]%(#0187df)[true]%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isBurning]() { %(#0187df)[return this].%(#666965)[workingTime ]%(#aaa9a7)[> ]%(#feff06)[0]%(#aaa9a7)[; ] } %(#0187df)[protected boolean ]%(#afb8c5)[canSmelt]() { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#345f99)[OreExtractorRecipes].%(#afb8c5)[smelting]().%(#afb8c5)[getSmeltingResult](%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] })%(#aaa9a7)[; ] %(#0187df)[int ]%(#666965)[j ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#0187df)[for ](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#feff06)[15]%(#aaa9a7)[; ]%(#666965)*%(#aaa9a7)[++]) { %(#666965)[j ]%(#aaa9a7)[= ]%(#666965)*%(#aaa9a7)[; ] %(#0187df)[if ](%(#666965)[itemstack ]%(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return true]%(#aaa9a7)[; ] } %(#0187df)[if ](%(#aaa9a7)[!]%(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[isItemEqual](%(#666965)[itemstack])) { %(#0187df)[return false]%(#aaa9a7)[; ] } } %(#0187df)[int ]%(#666965)[result ]%(#aaa9a7)[= ]%(#666965)[contents][%(#666965)[j]].%(#666965)[stackSize ]%(#aaa9a7)[+ ]%(#666965)[itemstack].%(#666965)[stackSize]%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[result ]%(#aaa9a7)[<= ]%(#afb8c5)[getInventoryStackLimit]() %(#aaa9a7)[&& ]%(#666965)[result ]%(#aaa9a7)[<= ]%(#0187df)[this].%(#666965)[contents][%(#666965)[j]].%(#afb8c5)[getMaxStackSize]()%(#aaa9a7)[; ] } } %(#0187df)[public void ]%(#afb8c5)[smeltItem]() { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#345f99)[OreExtractorRecipes].%(#afb8c5)[smelting]().%(#afb8c5)[getSmeltingResult](%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] })%(#aaa9a7)[; ] %(#0187df)[for ](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#feff06)[15]%(#aaa9a7)[; ]%(#666965)*%(#aaa9a7)[++]) { %(#0187df)[if ](%(#0187df)[this].%(#afb8c5)[canSmelt]()) { %(#0187df)[if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[= ]%(#666965)[itemstack].%(#afb8c5)[copy]()%(#aaa9a7)[; ] } %(#0187df)[else if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[getItem]() %(#aaa9a7)[== ]%(#666965)[itemstack].%(#afb8c5)[getItem]()) { %(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#666965)[stackSize ]%(#aaa9a7)[+= ]%(#666965)[itemstack].%(#666965)[stackSize]%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[decrStackSize](%(#feff06)[0]%(#aaa9a7)[, ]%(#feff06)[1])%(#aaa9a7)[; ] } } } %(#0187df)[public void ]%(#afb8c5)[updateEntity]() { %(#0187df)[if](%(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[> ]%(#feff06)[0]) { %(#666965)[burnTime]%(#aaa9a7)[–; ] } %(#0187df)[if](%(#0187df)[this].%(#afb8c5)[canSmelt]()) { %(#0187df)[if](%(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[<= ]%(#feff06)[0]) { %(#0187df)[int ]%(#666965)________
-
" if (!this.contents*.isItemEqual(itemstack))
{
return false;
}" dans canSmelt(), si tu mets return false, le for s’arrêtera et tu ne cherche pas dans les autres slots, il faut que tu mettes un break à la place. -
Le recipes se fait mais tout les slotresults sont remplit par le même item et le stack en input se consume 10 par 10
%(#a9b7c6)[[font=Trebuchet MS]public class ]%(#345f99)[TileEntityOreExtractor ]%(#0187df)[extends ]%(#345f99)[TileEntity ]%(#0187df)[implements ]%(#345f99)[IInventory ]{ %(#0187df)[private byte ]%(#666965)[direction]%(#aaa9a7)[; ] %(#8242ff)[/** Slots list */ ] %(#0187df)[private ]%(#345f99)[ItemStack][] %(#666965)[contents ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][%(#feff06)[15]]%(#aaa9a7)[; ] %(#8242ff)[/** Actual working time */ ] %(#0187df)[protected int ]%(#666965)[workingTime ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Working time for one recipes */ ] %(#0187df)[protected int ]%(#666965)[workingTimeNeeded ]%(#aaa9a7)[= ]%(#feff06)[200]%(#aaa9a7)[; ] %(#8242ff)[/** Working time default value for one recipes */ ] %(#0187df)[protected int ]%(#666965)[workingTimeNeededDefault ]%(#aaa9a7)[= ]%(#feff06)[200]%(#aaa9a7)[; ] %(#8242ff)[/** Actual burn time */ ] %(#0187df)[protected int ]%(#666965)[burnTime ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Burn time of fuel */ ] %(#0187df)[protected int ]%(#666965)[burnTimeTotal ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the result slot */ ] %(#0187df)[private int ]%(#666965)[slotResultID ]%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the upgrade slot */ ] %(#0187df)[private int ]%(#666965)[slotUpgradeID ]%(#aaa9a7)[= ]%(#feff06)[2]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the fuel slot */ ] %(#0187df)[private int ]%(#666965)[slotFuelID ]%(#aaa9a7)[= ]%(#feff06)[1]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the input slot */ ] %(#0187df)[private int ]%(#666965)[slotInputID ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#278c3c)[***@Override ***] %(#0187df)[public void ]%(#afb8c5)[readFromNBT](%(#345f99)[NBTTagCompound ]%(#278c3c)[*compound*]) { %(#0187df)[super].%(#afb8c5)[readFromNBT](%(#278c3c)[*compound*])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[direction ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getByte](%(#00b10f)["Direction"])%(#aaa9a7)[; ] %(#345f99)[NBTTagList ]%(#666965)[nbttaglist ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getTagList](%(#00b10f)["Items"]%(#aaa9a7)[, ]%(#feff06)[10])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][%(#0187df)[this].%(#afb8c5)[getSizeInventory]()]%(#aaa9a7)[; ] %(#0187df)[for](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#666965)[nbttaglist].%(#afb8c5)[tagCount]()%(#aaa9a7)[; ++]%(#666965)*) { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#666965)[nbttaglist].%(#afb8c5)[getCompoundTagAt](%(#666965)*)%(#aaa9a7)[; ] %(#0187df)[int ]%(#666965)[j ]%(#aaa9a7)[= ]%(#666965)[nbtTagCompound].%(#afb8c5)[getByte](%(#00b10f)["Slot"]) %(#aaa9a7)[& ]%(#feff06)[255]%(#aaa9a7)[; ] %(#0187df)[if](%(#666965)[j ]%(#aaa9a7)[>= ]%(#feff06)[0 ]%(#aaa9a7)[&& ]%(#666965)[j ]%(#aaa9a7)[< ]%(#0187df)[this].%(#666965)[contents].%(#666965)[length]) { %(#0187df)[this].%(#666965)[contents][%(#666965)[j]] %(#aaa9a7)[= ]%(#345f99)[ItemStack].%(#afb8c5)[loadItemStackFromNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } } %(#0187df)[this].%(#666965)[workingTime ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["workingTime"])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["burnTime"])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[burnTimeTotal ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["burnTimeTotal"])%(#aaa9a7)[; ] } %(#278c3c)[***@Override ***] %(#0187df)[public void ]%(#afb8c5)[writeToNBT](%(#345f99)[NBTTagCompound ]%(#278c3c)[*compound*]) { %(#0187df)[super].%(#afb8c5)[writeToNBT](%(#278c3c)[*compound*])%(#aaa9a7)[; ] %(#345f99)[NBTTagList ]%(#666965)[nbttaglist ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagList]()%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setByte](%(#00b10f)["Direction"]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[direction])%(#aaa9a7)[; ] %(#0187df)[for](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#0187df)[this].%(#666965)[contents].%(#666965)[length]%(#aaa9a7)[; ++]%(#666965)*) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagCompound]()%(#aaa9a7)[; ] %(#666965)[nbtTagCompound].%(#afb8c5)[setByte](%(#00b10f)["Slot"]%(#aaa9a7)[, ](%(#0187df)[byte])%(#666965)*)%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[writeToNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] %(#666965)[nbttaglist].%(#afb8c5)[appendTag](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } } %(#278c3c)[*compound*].%(#afb8c5)[setTag](%(#00b10f)["Items"]%(#aaa9a7)[, ]%(#666965)[nbttaglist])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["workingTime"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[workingTime])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["burnTime"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[burnTime])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["burnTimeTotal"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[burnTimeTotal])%(#aaa9a7)[; ] } %(#0187df)[public byte ]%(#afb8c5)[getDirection]() { %(#0187df)[return ]%(#666965)[direction]%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[setDirection](%(#0187df)[byte ]%(#278c3c)[*direction*]) { %(#0187df)[this].%(#666965)[direction ]%(#aaa9a7)[= ]%(#278c3c)[*direction*]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[worldObj].%(#afb8c5)[markBlockForUpdate](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord])%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[Packet ]%(#afb8c5)[getDescriptionPacket]() { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagCompound]()%(#aaa9a7)[; ] %(#0187df)[this].%(#afb8c5)[writeToNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] %(#0187df)[return new ]%(#afb8c5)[S35PacketUpdateTileEntity](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord]%(#aaa9a7)[, ]%(#feff06)[0]%(#aaa9a7)[, ]%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[onDataPacket](%(#345f99)[NetworkManager ]%(#278c3c)[*net*]%(#aaa9a7)[, ]%(#345f99)[S35PacketUpdateTileEntity ]%(#278c3c)[*pkt*]) { %(#0187df)[this].%(#afb8c5)[readFromNBT](%(#278c3c)[*pkt*].%(#afb8c5)[func_148857_g]())%(#aaa9a7)[; ] } %(#0187df)[public int ]%(#afb8c5)[getSizeInventory]() { %(#0187df)[return this].%(#666965)[contents].%(#666965)[length]%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[openInventory]() {} %(#0187df)[public void ]%(#afb8c5)[closeInventory]() {} %(#0187df)[public ]%(#345f99)[String ]%(#afb8c5)[getInventoryName]() { %(#0187df)[return ]%(#345f99)[MechanicalCraft].%(#666965)[oreExtractor].%(#afb8c5)[getLocalizedName]()%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[hasCustomInventoryName]() { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[public int ]%(#afb8c5)[getInventoryStackLimit]() { %(#0187df)[return ]%(#feff06)[64]%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isUseableByPlayer](%(#345f99)[EntityPlayer ]%(#278c3c)[*player*]) { %(#0187df)[return this].%(#666965)[worldObj].%(#afb8c5)[getTileEntity](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord]) %(#aaa9a7)[!= ]%(#0187df)[this ]%(#aaa9a7)[? ]%(#0187df)[false ]%(#aaa9a7)[: ]%(#278c3c)[*player*].%(#afb8c5)[getDistanceSq]((%(#0187df)[double])%(#0187df)[this].%(#666965)[xCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]%(#aaa9a7)[, ](%(#0187df)[double])%(#0187df)[this].%(#666965)[yCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]%(#aaa9a7)[, ](%(#0187df)[double])%(#0187df)[this].%(#666965)[zCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]) %(#aaa9a7)[<= ]%(#feff06)[64.0D]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getStackInSlot](%(#0187df)[int ]%(#278c3c)[*slotIndex*]) { %(#0187df)[return this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[decrStackSize](%(#0187df)[int ]%(#278c3c)[*slotIndex*]%(#aaa9a7)[, ]%(#0187df)[int ]%(#278c3c)[*amount*]) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[ItemStack ]%(#666965)[itemstack]%(#aaa9a7)[; ] %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#666965)[stackSize ]%(#aaa9a7)[<= ]%(#278c3c)[*amount*]) { %(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#afb8c5)[splitStack](%(#278c3c)[*amount*])%(#aaa9a7)[; ] %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]].%(#666965)[stackSize ]%(#aaa9a7)[== ]%(#feff06)[0]) { %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } } %(#0187df)[else ] { %(#0187df)[return null]%(#aaa9a7)[; ] } } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getStackInSlotOnClosing](%(#0187df)[int ]%(#278c3c)[*slotIndex*]) { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#0187df)[return null]%(#aaa9a7)[; ] } } %(#0187df)[public void ]%(#afb8c5)[setInventorySlotContents](%(#0187df)[int ]%(#278c3c)[*slotIndex*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*stack*]) { %(#0187df)[this].%(#666965)[contents][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#278c3c)[*stack*]%(#aaa9a7)[; ] %(#0187df)[if](%(#278c3c)[*stack *]%(#aaa9a7)[!= ]%(#0187df)[null ]%(#aaa9a7)[&& ]%(#278c3c)[*stack*].%(#666965)[stackSize ]%(#aaa9a7)[> ]%(#0187df)[this].%(#afb8c5)[getInventoryStackLimit]()) { %(#278c3c)[*stack*].%(#666965)[stackSize ]%(#aaa9a7)[= ]%(#0187df)[this].%(#afb8c5)[getInventoryStackLimit]()%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isItemValidForSlot](%(#0187df)[int ]%(#278c3c)[*slot*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*stack*]) { %(#0187df)[return ]%(#278c3c)[*slot *]%(#aaa9a7)[== ]%(#feff06)[2 ]%(#aaa9a7)[? ]%(#0187df)[false ]%(#aaa9a7)[: ]%(#0187df)[true]%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isBurning]() { %(#0187df)[return this].%(#666965)[workingTime ]%(#aaa9a7)[> ]%(#feff06)[0]%(#aaa9a7)[; ] } %(#0187df)[protected boolean ]%(#afb8c5)[canSmelt]() { %(#0187df)[if](%(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#345f99)[OreExtractorRecipes].%(#afb8c5)[smelting]().%(#afb8c5)[getSmeltingResult](%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] })%(#aaa9a7)[; ] %(#0187df)[int ]%(#666965)[j ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#0187df)[for ](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#feff06)[15]%(#aaa9a7)[; ]%(#666965)*%(#aaa9a7)[++]) { %(#666965)[j ]%(#aaa9a7)[= ]%(#666965)*%(#aaa9a7)[; ] %(#0187df)[if ](%(#666965)[itemstack ]%(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return true]%(#aaa9a7)[; ] } %(#0187df)[if ](%(#aaa9a7)[!]%(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[isItemEqual](%(#666965)[itemstack])) { %(#0187df)[break]%(#aaa9a7)[; ] } } %(#0187df)[int ]%(#666965)[result ]%(#aaa9a7)[= ]%(#666965)[contents][%(#666965)[j]].%(#666965)[stackSize ]%(#aaa9a7)[+ ]%(#666965)[itemstack].%(#666965)[stackSize]%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[result ]%(#aaa9a7)[<= ]%(#afb8c5)[getInventoryStackLimit]() %(#aaa9a7)[&& ]%(#666965)[result ]%(#aaa9a7)[<= ]%(#0187df)[this].%(#666965)[contents][%(#666965)[j]].%(#afb8c5)[getMaxStackSize]()%(#aaa9a7)[; ] } } %(#0187df)[public void ]%(#afb8c5)[smeltItem]() { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#345f99)[OreExtractorRecipes].%(#afb8c5)[smelting]().%(#afb8c5)[getSmeltingResult](%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[this].%(#666965)[contents][%(#0187df)[this].%(#666965)[slotInputID]] })%(#aaa9a7)[; ] %(#0187df)[for ](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#feff06)[15]%(#aaa9a7)[; ]%(#666965)*%(#aaa9a7)[++]) { %(#0187df)[if ](%(#0187df)[this].%(#afb8c5)[canSmelt]()) { %(#0187df)[if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[this].%(#666965)[contents][%(#666965)*] %(#aaa9a7)[= ]%(#666965)[itemstack].%(#afb8c5)[copy]()%(#aaa9a7)[; ] } %(#0187df)[else if ](%(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#afb8c5)[getItem]() %(#aaa9a7)[== ]%(#666965)[itemstack].%(#afb8c5)[getItem]()) { %(#0187df)[this].%(#666965)[contents][%(#666965)*].%(#666965)[stackSize ]%(#aaa9a7)[+= ]%(#666965)[itemstack].%(#666965)[stackSize]%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[decrStackSize](%(#feff06)[0]%(#aaa9a7)[, ]%(#feff06)[1])%(#aaa9a7)[; ] } } } %(#0187df)[public void ]%(#afb8c5)[updateEntity]() { %(#0187df)[if](%(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[> ]%(#feff06)[0]) { %(#666965)[burnTime]%(#aaa9a7)[–; ] } %(#0187df)[if](%(#0187df)[this].%(#afb8c5)[canSmelt]()) { %(#0187df)[if](%(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[<= ]%(#feff06)[0]) { %(#0187df)[int ]%(#666965)________
-
Alors déjà dans ta fonction canSmelt() :
int result = contents[j].stackSize + itemstack.stackSize;
Il faut que tu mettes la condition du return dansun if dans ton for() et return true si la condition est réalisée. Et à la fin de la fonction, tu mets un return false.
Dans ta fonction smelt(), quand tu insères le result dans un slot, tu n’arrêtes pas ton for() et il va continue d’ajouter dans tous les slots, il faut que tu l’arrêtes quand t’a résussi à ajouter le stack.
-
Mon jeu crash
%(#a9b7c6)[[font=Courier New]public class ]%(#345f99)[TileEntityOreExtractor ]%(#0187df)[extends ]%(#345f99)[TileEntity ]%(#0187df)[implements ]%(#345f99)[IInventory ]{ %(#0187df)[private byte ]%(#666965)[direction]%(#aaa9a7)[; ] %(#8242ff)[/** Slots list */ ] %(#0187df)[private ]%(#345f99)[ItemStack][] %(#666965)[slotResult ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][%(#feff06)[15]]%(#aaa9a7)[; ] %(#8242ff)[/** Actual working time */ ] %(#0187df)[protected int ]%(#666965)[workingTime ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Working time for one recipes */ ] %(#0187df)[protected int ]%(#666965)[workingTimeNeeded ]%(#aaa9a7)[= ]%(#feff06)[200]%(#aaa9a7)[; ] %(#8242ff)[/** Working time default value for one recipes */ ] %(#0187df)[protected int ]%(#666965)[workingTimeNeededDefault ]%(#aaa9a7)[= ]%(#feff06)[200]%(#aaa9a7)[; ] %(#8242ff)[/** Actual burn time */ ] %(#0187df)[protected int ]%(#666965)[burnTime ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Burn time of fuel */ ] %(#0187df)[protected int ]%(#666965)[burnTimeTotal ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the result slot */ ] %(#0187df)[private int ]%(#666965)[slotResultID ]%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the upgrade slot */ ] %(#0187df)[private int ]%(#666965)[slotUpgradeID ]%(#aaa9a7)[= ]%(#feff06)[2]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the fuel slot */ ] %(#0187df)[private int ]%(#666965)[slotFuelID ]%(#aaa9a7)[= ]%(#feff06)[1]%(#aaa9a7)[; ] %(#8242ff)[/** Id of the input slot */ ] %(#0187df)[private int ]%(#666965)[slotInputID ]%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ] %(#278c3c)[***@Override ***] %(#0187df)[public void ]%(#afb8c5)[readFromNBT](%(#345f99)[NBTTagCompound ]%(#278c3c)[*compound*]) { %(#0187df)[super].%(#afb8c5)[readFromNBT](%(#278c3c)[*compound*])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[direction ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getByte](%(#00b10f)["Direction"])%(#aaa9a7)[; ] %(#345f99)[NBTTagList ]%(#666965)[nbttaglist ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getTagList](%(#00b10f)["Items"]%(#aaa9a7)[, ]%(#feff06)[10])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[slotResult ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#345f99)[ItemStack][%(#0187df)[this].%(#afb8c5)[getSizeInventory]()]%(#aaa9a7)[; ] %(#0187df)[for](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#666965)[nbttaglist].%(#afb8c5)[tagCount]()%(#aaa9a7)[; ++]%(#666965)*) { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#666965)[nbttaglist].%(#afb8c5)[getCompoundTagAt](%(#666965)*)%(#aaa9a7)[; ] %(#0187df)[int ]%(#666965)[j ]%(#aaa9a7)[= ]%(#666965)[nbtTagCompound].%(#afb8c5)[getByte](%(#00b10f)["Slot"]) %(#aaa9a7)[& ]%(#feff06)[255]%(#aaa9a7)[; ] %(#0187df)[if](%(#666965)[j ]%(#aaa9a7)[>= ]%(#feff06)[0 ]%(#aaa9a7)[&& ]%(#666965)[j ]%(#aaa9a7)[< ]%(#0187df)[this].%(#666965)[slotResult].%(#666965)[length]) { %(#0187df)[this].%(#666965)[slotResult][%(#666965)[j]] %(#aaa9a7)[= ]%(#345f99)[ItemStack].%(#afb8c5)[loadItemStackFromNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } } %(#0187df)[this].%(#666965)[workingTime ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["workingTime"])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["burnTime"])%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[burnTimeTotal ]%(#aaa9a7)[= ]%(#278c3c)[*compound*].%(#afb8c5)[getShort](%(#00b10f)["burnTimeTotal"])%(#aaa9a7)[; ] } %(#278c3c)[***@Override ***] %(#0187df)[public void ]%(#afb8c5)[writeToNBT](%(#345f99)[NBTTagCompound ]%(#278c3c)[*compound*]) { %(#0187df)[super].%(#afb8c5)[writeToNBT](%(#278c3c)[*compound*])%(#aaa9a7)[; ] %(#345f99)[NBTTagList ]%(#666965)[nbttaglist ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagList]()%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setByte](%(#00b10f)["Direction"]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[direction])%(#aaa9a7)[; ] %(#0187df)[for](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[0]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#0187df)[this].%(#666965)[slotResult].%(#666965)[length]%(#aaa9a7)[; ++]%(#666965)*) { %(#0187df)[if](%(#0187df)[this].%(#666965)[slotResult][%(#666965)*] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagCompound]()%(#aaa9a7)[; ] %(#666965)[nbtTagCompound].%(#afb8c5)[setByte](%(#00b10f)["Slot"]%(#aaa9a7)[, ](%(#0187df)[byte])%(#666965)*)%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[slotResult][%(#666965)*].%(#afb8c5)[writeToNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] %(#666965)[nbttaglist].%(#afb8c5)[appendTag](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } } %(#278c3c)[*compound*].%(#afb8c5)[setTag](%(#00b10f)["Items"]%(#aaa9a7)[, ]%(#666965)[nbttaglist])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["workingTime"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[workingTime])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["burnTime"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[burnTime])%(#aaa9a7)[; ] %(#278c3c)[*compound*].%(#afb8c5)[setShort](%(#00b10f)["burnTimeTotal"]%(#aaa9a7)[, ](%(#0187df)[short])%(#0187df)[this].%(#666965)[burnTimeTotal])%(#aaa9a7)[; ] } %(#0187df)[public byte ]%(#afb8c5)[getDirection]() { %(#0187df)[return ]%(#666965)[direction]%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[setDirection](%(#0187df)[byte ]%(#278c3c)[*direction*]) { %(#0187df)[this].%(#666965)[direction ]%(#aaa9a7)[= ]%(#278c3c)[*direction*]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[worldObj].%(#afb8c5)[markBlockForUpdate](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord])%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[Packet ]%(#afb8c5)[getDescriptionPacket]() { %(#345f99)[NBTTagCompound ]%(#666965)[nbtTagCompound ]%(#aaa9a7)[= ]%(#0187df)[new ]%(#afb8c5)[NBTTagCompound]()%(#aaa9a7)[; ] %(#0187df)[this].%(#afb8c5)[writeToNBT](%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] %(#0187df)[return new ]%(#afb8c5)[S35PacketUpdateTileEntity](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord]%(#aaa9a7)[, ]%(#feff06)[0]%(#aaa9a7)[, ]%(#666965)[nbtTagCompound])%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[onDataPacket](%(#345f99)[NetworkManager ]%(#278c3c)[*net*]%(#aaa9a7)[, ]%(#345f99)[S35PacketUpdateTileEntity ]%(#278c3c)[*pkt*]) { %(#0187df)[this].%(#afb8c5)[readFromNBT](%(#278c3c)[*pkt*].%(#afb8c5)[func_148857_g]())%(#aaa9a7)[; ] } %(#0187df)[public int ]%(#afb8c5)[getSizeInventory]() { %(#0187df)[return this].%(#666965)[slotResult].%(#666965)[length]%(#aaa9a7)[; ] } %(#0187df)[public void ]%(#afb8c5)[openInventory]() {} %(#0187df)[public void ]%(#afb8c5)[closeInventory]() {} %(#0187df)[public ]%(#345f99)[String ]%(#afb8c5)[getInventoryName]() { %(#0187df)[return ]%(#345f99)[MechanicalCraft].%(#666965)[oreExtractor].%(#afb8c5)[getLocalizedName]()%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[hasCustomInventoryName]() { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[public int ]%(#afb8c5)[getInventoryStackLimit]() { %(#0187df)[return ]%(#feff06)[64]%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isUseableByPlayer](%(#345f99)[EntityPlayer ]%(#278c3c)[*player*]) { %(#0187df)[return this].%(#666965)[worldObj].%(#afb8c5)[getTileEntity](%(#0187df)[this].%(#666965)[xCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[yCoord]%(#aaa9a7)[, ]%(#0187df)[this].%(#666965)[zCoord]) %(#aaa9a7)[!= ]%(#0187df)[this ]%(#aaa9a7)[? ]%(#0187df)[false ]%(#aaa9a7)[: ]%(#278c3c)[*player*].%(#afb8c5)[getDistanceSq]((%(#0187df)[double])%(#0187df)[this].%(#666965)[xCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]%(#aaa9a7)[, ](%(#0187df)[double])%(#0187df)[this].%(#666965)[yCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]%(#aaa9a7)[, ](%(#0187df)[double])%(#0187df)[this].%(#666965)[zCoord ]%(#aaa9a7)[+ ]%(#feff06)[0.5D]) %(#aaa9a7)[<= ]%(#feff06)[64.0D]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getStackInSlot](%(#0187df)[int ]%(#278c3c)[*slotIndex*]) { %(#0187df)[return this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[decrStackSize](%(#0187df)[int ]%(#278c3c)[*slotIndex*]%(#aaa9a7)[, ]%(#0187df)[int ]%(#278c3c)[*amount*]) { %(#0187df)[if](%(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[ItemStack ]%(#666965)[itemstack]%(#aaa9a7)[; ] %(#0187df)[if](%(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]].%(#666965)[stackSize ]%(#aaa9a7)[<= ]%(#278c3c)[*amount*]) { %(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]].%(#afb8c5)[splitStack](%(#278c3c)[*amount*])%(#aaa9a7)[; ] %(#0187df)[if](%(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]].%(#666965)[stackSize ]%(#aaa9a7)[== ]%(#feff06)[0]) { %(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } } %(#0187df)[else ] { %(#0187df)[return null]%(#aaa9a7)[; ] } } %(#0187df)[public ]%(#345f99)[ItemStack ]%(#afb8c5)[getStackInSlotOnClosing](%(#0187df)[int ]%(#278c3c)[*slotIndex*]) { %(#0187df)[if](%(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]]%(#aaa9a7)[; ] %(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#0187df)[null]%(#aaa9a7)[; ] %(#0187df)[return ]%(#666965)[itemstack]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#0187df)[return null]%(#aaa9a7)[; ] } } %(#0187df)[public void ]%(#afb8c5)[setInventorySlotContents](%(#0187df)[int ]%(#278c3c)[*slotIndex*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*stack*]) { %(#0187df)[this].%(#666965)[slotResult][%(#278c3c)[*slotIndex*]] %(#aaa9a7)[= ]%(#278c3c)[*stack*]%(#aaa9a7)[; ] %(#0187df)[if](%(#278c3c)[*stack *]%(#aaa9a7)[!= ]%(#0187df)[null ]%(#aaa9a7)[&& ]%(#278c3c)[*stack*].%(#666965)[stackSize ]%(#aaa9a7)[> ]%(#0187df)[this].%(#afb8c5)[getInventoryStackLimit]()) { %(#278c3c)[*stack*].%(#666965)[stackSize ]%(#aaa9a7)[= ]%(#0187df)[this].%(#afb8c5)[getInventoryStackLimit]()%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[markDirty]()%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isItemValidForSlot](%(#0187df)[int ]%(#278c3c)[*slot*]%(#aaa9a7)[, ]%(#345f99)[ItemStack ]%(#278c3c)[*stack*]) { %(#0187df)[return ]%(#278c3c)[*slot *]%(#aaa9a7)[== ]%(#feff06)[2 ]%(#aaa9a7)[? ]%(#0187df)[false ]%(#aaa9a7)[: ]%(#0187df)[true]%(#aaa9a7)[; ] } %(#0187df)[public boolean ]%(#afb8c5)[isBurning]() { %(#0187df)[return this].%(#666965)[workingTime ]%(#aaa9a7)[> ]%(#feff06)[0]%(#aaa9a7)[; ] } %(#0187df)[protected boolean ]%(#afb8c5)[canSmelt]() { %(#0187df)[if](%(#0187df)[this].%(#666965)[slotResult][%(#0187df)[this].%(#666965)[slotInputID]] %(#aaa9a7)[== ]%(#0187df)[null]) { %(#0187df)[return false]%(#aaa9a7)[; ] } %(#0187df)[else ] { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#345f99)[OreExtractorRecipes].%(#afb8c5)[smelting]().%(#afb8c5)[getSmeltingResult](%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[this].%(#666965)[slotResult][%(#0187df)[this].%(#666965)[slotInputID]] })%(#aaa9a7)[; ] %(#0187df)[for ](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#feff06)[15]%(#aaa9a7)[; ]%(#666965)*%(#aaa9a7)[++]) { %(#0187df)[int ]%(#666965)[result ]%(#aaa9a7)[= ]%(#666965)[slotResult][%(#666965)*].%(#666965)[stackSize ]%(#aaa9a7)[+ ]%(#666965)[itemstack].%(#666965)[stackSize]%(#aaa9a7)[; ] %(#0187df)[if ](%(#0187df)[this].%(#666965)[slotResult][%(#666965)*] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#0187df)[if ](%(#0187df)[this].%(#666965)[slotResult][%(#666965)*].%(#afb8c5)[isItemEqual](%(#666965)[itemstack])) { %(#0187df)[if ](%(#666965)[result ]%(#aaa9a7)[<= ]%(#afb8c5)[getInventoryStackLimit]() %(#aaa9a7)[&& ]%(#666965)[result ]%(#aaa9a7)[<= ]%(#0187df)[this].%(#666965)[slotResult][%(#666965)*].%(#afb8c5)[getMaxStackSize]()) { %(#0187df)[return true]%(#aaa9a7)[; ] } } %(#0187df)[else ] { %(#0187df)[return false]%(#aaa9a7)[; ] } } %(#0187df)[else ] { %(#0187df)[return false]%(#aaa9a7)[; ] } } %(#0187df)[return false]%(#aaa9a7)[; ] } } %(#0187df)[public void ]%(#afb8c5)[smeltItem]() { %(#345f99)[ItemStack ]%(#666965)[itemstack ]%(#aaa9a7)[= ]%(#345f99)[OreExtractorRecipes].%(#afb8c5)[smelting]().%(#afb8c5)[getSmeltingResult](%(#0187df)[new ]%(#345f99)[ItemStack][] { %(#0187df)[this].%(#666965)[slotResult][%(#0187df)[this].%(#666965)[slotInputID]] })%(#aaa9a7)[; ] %(#0187df)[for ](%(#0187df)[int ]%(#666965)_%(#aaa9a7)[= ]%(#feff06)[3]%(#aaa9a7)[; ]%(#666965)_%(#aaa9a7)[< ]%(#feff06)[15]%(#aaa9a7)[; ]%(#666965)*%(#aaa9a7)[++]) { %(#0187df)[if ](%(#0187df)[this].%(#afb8c5)[canSmelt]()) { %(#0187df)[if ](%(#0187df)[this].%(#666965)[slotResult][%(#666965)*] %(#aaa9a7)[!= ]%(#0187df)[null]) { %(#0187df)[this].%(#666965)[slotResult][%(#666965)*] %(#aaa9a7)[= ]%(#666965)[itemstack].%(#afb8c5)[copy]()%(#aaa9a7)[; ] %(#0187df)[break]%(#aaa9a7)[; ] } %(#0187df)[if ](%(#0187df)[this].%(#666965)[slotResult][%(#666965)*].%(#afb8c5)[getItem]() %(#aaa9a7)[== ]%(#666965)[itemstack].%(#afb8c5)[getItem]()) { %(#0187df)[this].%(#666965)[slotResult][%(#666965)*].%(#666965)[stackSize ]%(#aaa9a7)[+= ]%(#666965)[itemstack].%(#666965)[stackSize]%(#aaa9a7)[; ] %(#0187df)[break]%(#aaa9a7)[; ] } %(#0187df)[this].%(#afb8c5)[decrStackSize](%(#feff06)[0]%(#aaa9a7)[, ]%(#feff06)[1])%(#aaa9a7)[; ] } } } %(#0187df)[public void ]%(#afb8c5)[updateEntity]() { %(#0187df)[if](%(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[> ]%(#feff06)[0]) { %(#666965)[burnTime]%(#aaa9a7)[–; ] } %(#0187df)[if](%(#0187df)[this].%(#afb8c5)[canSmelt]()) { %(#0187df)[if](%(#0187df)[this].%(#666965)[burnTime ]%(#aaa9a7)[<= ]%(#feff06)[0]) { %(#0187df)[int ]%(#666965)________
-
Dans ta fonction canSmelt(), remplace le 1er return false par un break et dans smelt(), remplace les break par des return;, et remplace le != null par un == null.
Comme je vois que t’a pas totalement compris, les return … sortent de la fonction mais les break ne sortent que de la boucle (en gros si il te reste autre chose après le break à l’intérieur du for(), ça sera sauté mais par contre si t’a, pas exemple, i=1 et i<5, alors si tu appelle un break, le i=1 ne sera pas totalement exécuté mais le i=2, i=3, i=4 seront exécutés, contrairement au return…). J’espère que c’est assez clair ^^