Craft Custom + box loot complet
-
@‘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)
-
@‘leo01418’:
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)
D’accord dis moi quand c’est fait
-
Bon tient

https://github.com/DinoDevelloper/EnderDeathMod/tree/master
je ne suis pas fier du résultat au début je voulais mettre tout mon mod sur git hub donc j’ai suivie des tuto et je n’ai pas vraiment compris
comment l’utilisé donc Excuse que c’est en désordre mais je ne savais même pas crée un fichier xD
Merci de ton aide

-
Ce carnage …
http://dl.mcnanotech.fr/robin4002/videos/git.mp4