Résolu Craft Custom + box loot complet
-
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 gui
et 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 pasJe 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 -
@‘robin4002’:
Ce carnage …
http://dl.mcnanotech.fr/robin4002/videos/git.mp4Ha ok merci robin je vais le faire de suite
-
C’est bon merci beaucoup robin
tient
https://github.com/DinoDevelloper/BetaEnderModBon je tient à précisé que ce mod est mon premier mod et est mal développer (il à des choses pas du tout belle dedans x) )
-
Alors, j’ai jeté un coup d’oeil : c’était l’horreur ! Il faut que tu fasses du rangement dans ton code :
1- tu ne respectes pas la convention java -> tu peux faire Alt + shift + r sur un nom pour changer son nom partout, ça t’aidera
2- tes classes ne sont pas rangées : tu as des blocks dans ed.enderdeath.mod.Block et dans ed.enderdeath.mod.AnvilDragon (au passage je vois pas pourquoi y’a un package mod, c’est pas logique) -> pareil tu peux utiliser le refactor pour changer tes classes place
3- ton mcmod.info n’est pas correcte -> le nom c’est le nom du mod, pas de l’auteur
4- ton gui principal est totalement bugué : y’a pas de bouton pour le singlepayer (c’est peut être fait exprès mais ça m’empêche de tester le mod), sauf que j’ai remarqué que ton bouton quit game renvoi vers le singleplayer donc je pouvais pas fermer le jeu normalement.
5- en fait tout fonctionne c’est juste ça qui pose problème :@Override public boolean canInteractWith(EntityPlayer player) { return this.worldObj.getBlock(x, y, z) == enderdeath.AnvilDragon; }
Le block enderdeath.AnvilDragon n’est pas celui qui a été enregistré. Et d’ailleurs dans cette fonction il devrait y avoir une comparaison de distance.
6- ton repo git n’est toujours pas correcte -
@‘SCAREX’:
Alors, j’ai jeté un coup d’oeil : c’était l’horreur ! Il faut que tu fasses du rangement dans ton code :
1- tu ne respectes pas la convention java -> tu peux faire Alt + shift + r sur un nom pour changer son nom partout, ça t’aidera
2- tes classes ne sont pas rangées : tu as des blocks dans ed.enderdeath.mod.Block et dans ed.enderdeath.mod.AnvilDragon (au passage je vois pas pourquoi y’a un package mod, c’est pas logique) -> pareil tu peux utiliser le refactor pour changer tes classes place
3- ton mcmod.info n’est pas correcte -> le nom c’est le nom du mod, pas de l’auteur
4- ton gui principal est totalement bugué : y’a pas de bouton pour le singlepayer (c’est peut être fait exprès mais ça m’empêche de tester le mod), sauf que j’ai remarqué que ton bouton quit game renvoi vers le singleplayer donc je pouvais pas fermer le jeu normalement.
5- en fait tout fonctionne c’est juste ça qui pose problème :@Override public boolean canInteractWith(EntityPlayer player) { return this.worldObj.getBlock(x, y, z) == enderdeath.AnvilDragon; }
Le block enderdeath.AnvilDragon n’est pas celui qui a été enregistré. Et d’ailleurs dans cette fonction il devrait y avoir une comparaison de distance.
6- ton repo git n’est toujours pas correcteJe vais m’expliqué x)
Pour le 1 sa j’ai aucune excuse car je suis au courant et il faut que le réglé cela ^^Pour le 2 sa aussi je sais et je compte les rangé car quand je crée une classe des fois je la met pas dans le bon package
Pour le 3 le mcmod.info sa je compte le réglé avant la décompilation du mod
Pour le 4 je compte rajouté le boutons solo un peu plus tard et c’est pour sa que j’ai fais que quand tu va dans qui game sa te met dans le sélectionneur du monde x) (pour tester je l’enverrais après que j’aurais fini)
et pour le 5 quand tu fais ceci sa fonctionne j’ai fait ce que tu ma dis de faire et sa ne marche toujours pas O_o
@Override public boolean canInteractWith(EntityPlayer player) { return this.worldObj.getBlock(x, y, z) == enderdeath.BlockAnvilDragon; }
-
du coup résolu ?