• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Problème de recette furnace

    1.7.x
    1.7.10
    4
    14
    1320
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • blixow14
      blixow14 dernière édition par

      Bonjours à tous, je poste encore car j’ai deux problèmes que je n’arrive pas à résoudre.

      Dans un premier cas je veux créer une recette composé d’un slot input et un slotout, mais lorsque je met mon block dans le slot input rien ne se passe.
      le code : https://pastebin.com/XhRrFxcJ

      Et dans un deuxièmes cas la recette se lance mais je peux mettre n’importe quel objet dans le slot et la recette se lance quand même, et je souhaiterai qu’elle puisse se lancer uniquement avec 3 Item et Block définie avec une seule manière de les placer.
      le code : https://pastebin.com/Yg1T2K9P

      Merci de vouloir bien m’aider x)

      J'aime les pâtes

      1 réponse Dernière réponse Répondre Citer 0
      • blixow14
        blixow14 dernière édition par

        C’est bon j’ai réussi à régler le problème (enfin)

        J'aime les pâtes

        1 réponse Dernière réponse Répondre Citer 0
        • AymericRed
          AymericRed dernière édition par AymericRed

          Salut’

          Pour le premier cas, il suffisait de lire une fois le code et tu aurais dû tout de suite voir le problème : la fonction “addRecipe” est vide x)
          Et pour le second problème, la fonction “isSameKey” n’est pas correcte, tu vérifie la taille des tableaux mais tu ne vérifies pas leur contenu (même problème dans la 1e classe également).

          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

          1 réponse Dernière réponse Répondre Citer 0
          • blixow14
            blixow14 dernière édition par

            Merci de ta réponse, je testerai ça plus tard je suis pas chez moi.

            J'aime les pâtes

            1 réponse Dernière réponse Répondre Citer 0
            • blixow14
              blixow14 dernière édition par

              J’ai réussi à régler le problème du fonctionnement de la recette, en revanche je n’arrive pas encore à faire fonctionner une seule et unique " recipe ", c’est à dire que je peux mettre n’importe quoi dans le input, et j’obtiens quand même l’item définie dans l’output.

              J'aime les pâtes

              1 réponse Dernière réponse Répondre Citer 0
              • SpyMan
                SpyMan dernière édition par SpyMan

                Yo, c’est un peut le bordel dans tes class de recipe :

                1 - il te faut une Map<ItemStack, ItemStack> qui vas permettre de stocker t’es recipes donc un input qui est la clé et l’output qui sera la valeur

                Map : Permet de stocké des valeurs en leur associant une clé, cette dernière permet de récupéré la valeur qui lui est attaché

                2- un fonction pour vérifié si dans la Map il ya une correspondance avec ton item en entré (slot input), soit la clé

                3- une fonction qui vas permettre de récupéré la valeur associé a la clé (item en entré, soit ton slot input), cette fonction prendra en paramètre l’itemstack qui se situe dans ton slot input.

                Voila un exemple de la class de recipe
                tu peut creer d’autre class de recipe en les extends a cette class

                import java.util.Map;
                import java.util.HashMap;
                
                public class Recipe
                {
                	public static final Recipe INSTANCE = new Recipe();
                
                	private Map<ItemStack, ItemStack> recipes = new HashMap<ItemStack, ItemStack>();
                
                	public Recipe()
                	{
                                // Exemple
                		this.addRecipe(new ItemStack(Items.apple), new ItemStack(Items.diamond));
                	}
                
                	public void addRecipe(ItemStack in, ItemStack out)
                	{
                		if (!this.isKeyExist(in))
                		{
                			this.recipes.put(in, out);
                		}
                	}
                
                	public ItemStack getResult(ItemStack input)
                	{
                		if (this.isKeyExist(input))
                		{
                			for (ItemStack stack : this.recipes.keySet())
                			{
                				if (stack.isItemEqual(input))
                				{
                					return this.recipes.get(stack);
                				}
                			}
                		}
                	}
                
                	public boolean isKeyExist(ItemStack stack)
                	{
                		if (stack != null)
                		{
                			for (ItemStack stack : this.recipes.keySet())
                			{
                				if (stack.isItemEqual(input))
                				{
                					return true;
                				}
                			}
                		}
                
                		return false;
                	}
                }
                

                Ensuite il te faudrat verifié dans le TileEntity de ta machine si la fonction getResult ne retourne pas null pour demarré le craft, sinon tu fait rien

                1 réponse Dernière réponse Répondre Citer 0
                • blixow14
                  blixow14 dernière édition par

                  Merci de ta réponse.
                  J’ai essayé ton code en l’adaptant (logique), sauf que ça ne marche pas. Je crash dès que j’essaie de me connecter.

                  J'aime les pâtes

                  1 réponse Dernière réponse Répondre Citer 0
                  • AymericRed
                    AymericRed dernière édition par

                    Salut,
                    Il faudrait peut-être envoyer le log pour qu’on voie l’erreur.

                    Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                    AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                    Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                    1 réponse Dernière réponse Répondre Citer 0
                    • blixow14
                      blixow14 dernière édition par robin4002

                      Le crash report montre que l’erreur vient de ma classe TileEntity mais je sais pas quoi modifier 😕

                      ---- Minecraft Crash Report ----
                      // Shall we play a game?
                      
                      Time: 18/08/18 20:21
                      Description: Ticking block entity
                      
                      java.lang.NullPointerException: Ticking block entity
                      	at com.lezink.lezinkmod.common.TileEntityCompactor.canSmelt(TileEntityCompactor.java:191)
                      	at com.lezink.lezinkmod.common.TileEntityCompactor.updateEntity(TileEntityCompactor.java:207)
                      	at net.minecraft.world.World.updateEntities(World.java:2160)
                      	at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:515)
                      	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:703)
                      	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                      	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                      	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                      	at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                      
                      
                      A detailed walkthrough of the error, its code path and all known details is as follows:
                      ---------------------------------------------------------------------------------------
                      
                      -- Head --
                      Stacktrace:
                      	at com.lezink.lezinkmod.common.TileEntityCompactor.canSmelt(TileEntityCompactor.java:191)
                      	at com.lezink.lezinkmod.common.TileEntityCompactor.updateEntity(TileEntityCompactor.java:207)
                      
                      -- Block entity being ticked --
                      Details:
                      	Name: TileEntityCompactor // com.lezink.lezinkmod.common.TileEntityCompactor
                      	Block type: ID #183 (tile.Copactor // com.lezink.lezinkmod.common.Comapactor)
                      	Block data value: 0 / 0x0 / 0b0000
                      	Block location: World: (-663,4,-391), Chunk: (at 9,0,9 in -42,-25; contains blocks -672,0,-400 to -657,255,-385), Region: (-2,-1; contains chunks -64,-32 to -33,-1, blocks -1024,0,-512 to -513,255,-1)
                      	Actual block type: ID #183 (tile.Copactor // com.lezink.lezinkmod.common.Comapactor)
                      	Actual block data value: 0 / 0x0 / 0b0000
                      Stacktrace:
                      	at net.minecraft.world.World.updateEntities(World.java:2160)
                      	at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:515)
                      
                      -- Affected level --
                      Details:
                      	Level name: Plat
                      	All players: 0 total; []
                      	Chunk stats: ServerChunkCache: 625 Drop: 0
                      	Level seed: -2996494463208639930
                      	Level generator: ID 01 - flat, ver 0. Features enabled: true
                      	Level generator options: 
                      	Level spawn location: World: (-656,4,-400), Chunk: (at 0,0,0 in -41,-25; contains blocks -656,0,-400 to -641,255,-385), Region: (-2,-1; contains chunks -64,-32 to -33,-1, blocks -1024,0,-512 to -513,255,-1)
                      	Level time: 579415 game time, 434101 day time
                      	Level dimension: 0
                      	Level storage version: 0x04ABD - Anvil
                      	Level weather: Rain time: 8075 (now: false), thunder time: 85346 (now: false)
                      	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
                      Stacktrace:
                      	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:703)
                      	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                      	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                      	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                      	at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                      
                      -- System Details --
                      Details:
                      	Minecraft Version: 1.7.10
                      	Operating System: Windows 10 (x86) version 10.0
                      	Java Version: 1.8.0_181, Oracle Corporation
                      	Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
                      	Memory: 806150952 bytes (768 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
                      	JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                      	AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                      	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                      	FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1614 4 mods loaded, 4 mods active
                      	States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
                      	UCHIJAAAA	mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
                      	UCHIJAAAA	FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) 
                      	UCHIJAAAA	Forge{10.13.4.1614} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) 
                      	UCHIJAAAA	lezinkmod{1.0.0} [lezinkmod] (bin) 
                      	GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
                      	Profiler Position: N/A (disabled)
                      	Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                      	Player Count: 0 / 8; []
                      	Type: Integrated Server (map_client.txt)
                      	Is Modded: Definitely; Client brand changed to 'fml,forge'
                      

                      J'aime les pâtes

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                        @lezinkdu07 a dit dans Problème de recette furnace :

                        at com.lezink.lezinkmod.common.TileEntityCompactor.canSmelt(TileEntityCompactor.java:191)

                        Le problème se trouve à la ligne 191 de la classe TileEntityCompactor, tu as un objet null.

                        1 réponse Dernière réponse Répondre Citer 0
                        • blixow14
                          blixow14 dernière édition par blixow14

                          Bon mon jeu veut bien se lancer maintenant, mais je suis revenu aux problèmes du début :/, j’ai remis le code que j’ai mis dans le pastbin…

                          J'aime les pâtes

                          1 réponse Dernière réponse Répondre Citer 0
                          • blixow14
                            blixow14 dernière édition par blixow14

                            Bon j’ai toujours les mêmes problèmes qu’auparavant mais je pense que cela peut venir du TileEntity, et j’ai aussi modifié mes codes par rapport au début du coup je les remets
                            TileEntityCompactor : https://pastebin.com/Cui9VgFt
                            CompactorRecipes : https://pastebin.com/skSdaYYM
                            Ici le craft ne se lance pas ( la j’ai 1 slot input et 1 slot output )

                            TransformatorRecipes : https://pastebin.com/8pFbER5H
                            Ici le craft se lance avec n’importe quel Item. ( la j’ai 3 slot input et 1 slot output
                            Je sais que je suis chiant, et que vous avez pas que ça à faire mais ça fait 1j que je cherche les solutions mais j’y arrive pas alors bon 😕

                            J'aime les pâtes

                            1 réponse Dernière réponse Répondre Citer 0
                            • AymericRed
                              AymericRed dernière édition par AymericRed

                              Pourtant ce ne sont pas des problèmes compliqués ^^

                              private boolean canSmelt()
                                     {
                                         if (this.contents[0] == null || this.contents[1] == null)
                                         {
                                             return false;
                                         }
                              [...]
                              

                              Ici, pour le compactor, la recette ne peut pas se lancer si le slot du résultat est vide.

                              Et pour le transformator, c’est toujours le même problème depuis le début :

                              @aymericred a dit dans Problème de recette furnace :

                              Et pour le second problème, la fonction “isSameKey” n’est pas correcte, tu vérifie la taille des tableaux mais tu ne vérifies pas leur contenu (même problème dans la 1e classe également).

                              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                              1 réponse Dernière réponse Répondre Citer 0
                              • blixow14
                                blixow14 dernière édition par

                                J’ai changé ça mais dès que je mets une recette dans le RecipeCompactor ça crash et ça me met dans le rapport que cette ligne n’est pas bonne. Donc je la retire et la je crash plus mais du coup je peux pas faire fonctionner la recette.

                                J'aime les pâtes

                                1 réponse Dernière réponse Répondre Citer 0
                                • blixow14
                                  blixow14 dernière édition par

                                  C’est bon j’ai réussi à régler le problème (enfin)

                                  J'aime les pâtes

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • 1 / 1
                                  • Premier message
                                    Dernier message
                                  Design by Woryk
                                  Contact / Mentions Légales

                                  MINECRAFT FORGE FRANCE © 2018

                                  Powered by NodeBB