Craft Custom + box loot complet
-
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; } } -
Oui par exemple (tu peux utiliser un switch ça fera plus propre
) -
Re

Donc j’ai essaye sa ne marche pas
Je ne comprend pas pourquoi sa ne marche pas

-
Au pire envoi ton dossier src…
-
Excuse de mettre autant de temps j’essaie de me favorisé avec github
Et je préféré le mettre sur git hub car j’avait prévu de le mettre x)