Craft Custom + box loot complet
-
Excuse moi des fautes

Donc j’en ai mis
[00:41:52] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.BlockAnvilDragon:onBlockActivated:21]: Test onBlockActivated [00:41:52] [Server thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.BlockAnvilDragon:onBlockActivated:21]: Test onBlockActivated [00:41:52] [Server thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.BlockAnvilDragon:onBlockActivated:24]: je suis dans la condition world.IsRemote [00:41:52] [Server thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.ContainerDragonAnvil:<init>:39]: Test container [00:41:52] [Server thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.DragonSlotCrafting:<init>:35]: Test slot [00:41:52] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.ContainerDragonAnvil:<init>:39]: Test container [00:41:52] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.DragonSlotCrafting:<init>:35]: Test slot [00:41:52] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:<init>:27]: Test gui [00:41:52] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.TutorielCraftingManager:<init>:32]: Test manager [00:41:52] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.TutorielShapelessRecipe:<init>:27]: Test shapeless [00:41:52] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.TutorielShapedRecipes:<init>:45]: Test shaped [00:41:52] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.TutorielShapedRecipes:<init>:45]: Test shapedMerci de ton aide ;)</init></init></init></init></init></init></init></init></init>
-
Petite question : le problème est bien que tu n’arrives pas à ouvrir le Gui ?
-
@‘leo01418’:
j’été bloqué sur ma table de craft qui ne marché pas cette à dire
que quand je fais clique droit sur celle si cela ne fait rien (cela fait toutes les classes que j’ai fait sauf la méthode draw dans la classe gui)Oui il ne se passe rien au moment du clique droit, comme je n’en sais rien, au table de craft car c’est l’un de mes prochain tuto, je regarde déjà les problème

-
@‘SCAREX’:
Petite question : le problème est bien que tu n’arrives pas à ouvrir le Gui ?
Oui le gui ne s’ouvre pas
-
Alors pourquoi mettre des logs dans les recettes ?
-
Je ne sais points xD
-
@‘SCAREX’:
Fais du debug en ajoutant des System.out.println dans la fonction onBlockActivated avant l’ouverture du gui, dans le GuiHandler et dans le Gui
-
@‘SCAREX’:
@‘SCAREX’:
Fais du debug en ajoutant des System.out.println dans la fonction onBlockActivated avant l’ouverture du gui, dans le GuiHandler et dans le Gui
Ha Oui Excuse j’avais pas bien lu :-3
Donc au final je l’ai mis juste pour eux et cela me fait sa (j’en aussi mis dans la fonction draw du gui)[23:50:27] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.BlockAnvilDragon:onBlockActivated:21]: Test onBlockActivated [23:50:27] [Server thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.BlockAnvilDragon:onBlockActivated:21]: Test onBlockActivated [23:50:27] [Server thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.BlockAnvilDragon:onBlockActivated:24]: je suis dans la condition world.IsRemote [23:50:27] [Server thread/INFO] [STDOUT]: [ed.enderdeath.mod.common.GuiHandler:getServerGuiElement:36]: Test getServerGuiElement [23:50:27] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.common.GuiHandler:getClientGuiElement:57]: Test getClientGuiElement [23:50:27] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:<init>:27]: Test guiDonc au final il exécute pas c’est code la(dis le moi si je me trompe
)@Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { System.out.println("Test gui1"); fontRendererObj.drawString(I18n.format("container.crafting_table"), 100, 5, 0xFFFFFF); //On dessine le "titre" du gui, le I18n.format va traduire le texte donné, n'oubliez pas de l'ajouter dans votre fichier de langues ! } /** * Fonction pour dessiner l'arrière plan */ @Override protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { System.out.println("Test gui2"); mc.getTextureManager().bindTexture(texture); //On bind la texture drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); //Et on la dessine } ```</init> -
C’est étrange, envoi le gui complet
-
tient x)
package ed.enderdeath.mod.AnvilDragon; import java.util.HashMap; import org.lwjgl.opengl.GL11; import ed.enderdeath.mod.Extractor.ContainerAlloyer; import ed.enderdeath.mod.Extractor.GuiAlloyer; import ed.enderdeath.mod.Extractor.TileEntityAlloyer; import ed.enderdeath.mod.common.enderdeath; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; public class GuiAnvilDragon extends GuiContainer { private static final ResourceLocation texture = new ResourceLocation(enderdeath.MODID,"textures/gui/container/GuiAlloyer.png"); public GuiAnvilDragon(InventoryPlayer invPlayer, World world, int x,int y,int z) { super(new ContainerDragonAnvil(invPlayer, world,x,y,z)); this.xSize = 176; //La largeur du gui en pixels (supprimez-le pour laisser celle par défaut) this.ySize = 188; //La hauteur du gui en pixels (supprimez-le pour laisser celle par défaut) System.out.println("Test gui"); } /** * Fonction pour dessiner le premier plan */ @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { System.out.println("Test gui1"); fontRendererObj.drawString(I18n.format("container.crafting_table"), 100, 5, 0xFFFFFF); //On dessine le "titre" du gui, le I18n.format va traduire le texte donné, n'oubliez pas de l'ajouter dans votre fichier de langues ! } /** * Fonction pour dessiner l'arrière plan */ @Override protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { System.out.println("Test gui2"); mc.getTextureManager().bindTexture(texture); //On bind la texture drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); //Et on la dessine } } -
Envoi : classe du block, classe du gui handler
-
-
Ce qui est étrange c’est que chez moi tout fonctionne correctement
-
Alors la je comprend pas du tout xD
Sa peut pas être ma version de forge ?
-
Oui ça pourrait, enfin c’est quand même bizarre, tu as une version recommandée ou pas ?
-
ma version
forge-1.7.10-10.13.4.1558-1.7.10- et je crois que à l’époque que j’avais commencé mon mod j’avais pris la recommandé
-
Effectivement c’est la recommandée, essaie de mettre ton gui et container sur une autre machine (tu mets en commentaire tout ce qui dépend des recettes)
-
Bon après de l’avoir fait
logs[14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:<init>:27]: Test gui [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.TutorielCraftingManager:<init>:32]: Test TutorielCraftingManager [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.TutorielShapelessRecipe:<init>:27]: Test TutorielShapelessRecipe [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.TutorielShapedRecipes:<init>:45]: Test TutorielShapedRecipes [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.TutorielShapedRecipes:<init>:45]: Test TutorielShapedRecipes [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerBackgroundLayer:46]: Test gui2 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerForegroundLayer:36]: Test gui1 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerBackgroundLayer:46]: Test gui2 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerForegroundLayer:36]: Test gui1 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerBackgroundLayer:46]: Test gui2 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerForegroundLayer:36]: Test gui1 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerBackgroundLayer:46]: Test gui2 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerForegroundLayer:36]: Test gui1 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerBackgroundLayer:46]: Test gui2 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerForegroundLayer:36]: Test gui1 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerBackgroundLayer:46]: Test gui2 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:drawGuiContainerForegroundLayer:36]: Test gui1 [14:03:13] [Client thread/INFO] [STDOUT]: [ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon:<init>:27]: Test guiet donc cette fois le test gui 1 et test gui 2</init></init></init></init></init></init>
-
Dans ton GuiHandler il faut choisir une méthode : soit tu choisis les IDs soit tu choisis les TileEntity, je pense que le problème vient de là
-
Comme cela???
package ed.enderdeath.mod.common; import cpw.mods.fml.common.network.IGuiHandler; import ed.enderdeath.mod.AnvilDragon.ContainerDragonAnvil; import ed.enderdeath.mod.AnvilDragon.GuiAnvilDragon; import ed.enderdeath.mod.BaieMachine.ContainerMachineTuto; import ed.enderdeath.mod.BaieMachine.GuiMachineTuto; import ed.enderdeath.mod.BaieMachine.TileEntityMachineTuto; import ed.enderdeath.mod.Extractor.ContainerAlloyer; import ed.enderdeath.mod.Extractor.GuiAlloyer; import ed.enderdeath.mod.Extractor.TileEntityAlloyer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class GuiHandler implements IGuiHandler { public static final int guiCraftingTableID = 3; public static final int alloyer = 1; public static final int baie = 2; @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile = world.getTileEntity(x, y, z); if(ID == alloyer) { return new ContainerAlloyer((TileEntityAlloyer)tile, player.inventory); } if(ID == baie) { return new ContainerMachineTuto((TileEntityMachineTuto)tile, player.inventory); } if(ID == guiCraftingTableID) { System.out.println("Test getServerGuiElement"); return new ContainerDragonAnvil(player.inventory, world, x, y, z); } return null; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity tile = world.getTileEntity(x, y, z); if(ID == alloyer) { return new GuiAlloyer((TileEntityAlloyer)tile, player.inventory); } if(ID == baie) { return new GuiMachineTuto((TileEntityMachineTuto)tile, player.inventory); } if(ID == guiCraftingTableID) { System.out.println("Test getClientGuiElement"); return new GuiAnvilDragon(player.inventory, world, x,y,z); } return null; } }