• Genre j'avais une machine j'en fait une deuxiéme et la les bug commence Ma premiere machine marche bien mais des que je met sa :         NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandlerCraft()); on peux ouvrire la deuxiéme mais plus la premiére

  • Moddeurs confirmés Rédacteurs Administrateurs

    Salut,
    Un mod = un gui handler.
    Tu dois mettre différente condition dans le gui handler en fonction du bloc.


  • je fait sa comment sans créer une machine par mods

  • Moddeurs confirmés Rédacteurs Administrateurs


  • Sa marche pas voici mon guihandler :

    
    package com.adamitemod.mod;
    
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.world.World;
    import cpw.mods.fml.common.network.IGuiHandler;
    
    public class GuiHandler implements IGuiHandler
    {
    
        public GuiHandler()
        {
        }
    
        public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
        {
            TileEntity tile = world.getTileEntity(x, y, z);
            if(tile instanceof TileEntityMachine)
                return new ContainerMachine((TileEntityMachine)tile, player.inventory);
            else
                return null;
        }
    
        public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
        {
            TileEntity tile = world.getTileEntity(x, y, z);
            if(tile instanceof TileEntityMachine)
                return new GuiMachine((TileEntityMachine)tile, player.inventory);
            else
                return null;
        }
    
        public Object getServerGuiElement1(int ID, EntityPlayer player, World world, int x, int y, int z)
        {
            TileEntity tile = world.getTileEntity(x, y, z);
            if(tile instanceof TileEntityMachineCraft)
                return new ContainerMachineCraft((TileEntityMachineCraft)tile, player.inventory);
            else
                return null;
        }
    
        public Object getClientGuiElement1(int ID, EntityPlayer player, World world, int x, int y, int z)
        {
            TileEntity tile = world.getTileEntity(x, y, z);
            if(tile instanceof TileEntityMachineCraft)
                return new GuiMachineCraft((TileEntityMachineCraft)tile, player.inventory);
            else
                return null;
        }
    }
    
    

    ma class principale

    
    package com.adamitemod.mod;
    
    import java.awt.Color;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.gui.GuiMainMenu;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.potion.Potion;
    import net.minecraft.util.WeightedRandomChestContent;
    import net.minecraftforge.common.ChestGenHooks;
    import net.minecraftforge.common.MinecraftForge;
    
    import com.adamitemod.mod.Dynamite.EntityDynamite;
    import com.adamitemod.mod.blocks.BlockElevator;
    import com.adamitemod.mod.blocks.ElevatorEvent;
    import com.adamitemod.mod.blocks.GuiCustomMainMenu;
    import com.adamitemod.mod.init.BlocksMod;
    import com.adamitemod.mod.init.CraftsMod;
    import com.adamitemod.mod.init.ItemsMod;
    import com.adamitemod.mod.items.ItemDynamite;
    import com.adamitemod.mod.proxy.CommonProxy;
    import com.adamitemod.mod.world.WorldRegister;
    
    import cpw.mods.fml.client.FMLClientHandler;
    import cpw.mods.fml.common.FMLCommonHandler;
    import cpw.mods.fml.common.Loader;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.eventhandler.SubscribeEvent;
    import cpw.mods.fml.common.gameevent.TickEvent;
    import cpw.mods.fml.common.network.NetworkRegistry;
    import cpw.mods.fml.common.registry.EntityRegistry;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    @Mod(modid = References.MOD_ID, name = References.MOD_NAME, version = References.VERSION)
    
    public class AdamiteMod
    {
    @Instance(References.MOD_ID)
    public static AdamiteMod instance;
        public static Item Dynamite;
        public static Block Machine;
        public static Block MachineCraft;
    
        @SidedProxy(clientSide = References.CLIENT_PROXY, serverSide = References.SERVER_PROXY)
        public static CommonProxy proxy;
    
    public static Block Elevator;
    
        public static CreativeTabs Ada = new CreativeTabs("Ada")
        {
            @SideOnly(Side.CLIENT)
            public Item getTabIconItem()
            {
                return ItemsMod.adamiteChestplate;
            }
        };
    
        @EventHandler
        public void preInit(FMLPreInitializationEvent event)
        {
            BlocksMod.init();
    
    Elevator = new BlockElevator().setBlockTextureName(References.MOD_ID + ":elevator").setHardness(3.5F).setBlockName("Elevator").setCreativeTab(AdamiteMod.Ada);
    
    GameRegistry.registerBlock(Elevator, "Elevator");
    
            BlocksMod.register();
            ItemsMod.init();
            Machine = new Machine().setBlockName("machine");
            MachineCraft = new MachineCraft().setBlockName("machineCraft");
            ItemsMod.register();
            Dynamite = new ItemDynamite(Dynamite).setUnlocalizedName("Dynamite").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":dynamite");
            GameRegistry.registerItem(Dynamite, "Dynamite");
            GameRegistry.registerBlock(Machine, "Machine");
            GameRegistry.registerBlock(MachineCraft, "MachineCraft");
            CraftsMod.init();
            WorldRegister.mainRegsitry();
            proxy.registerRenders();
       EntityRegistry.registerModEntity(EntityDynamite.class, "Dynamite", 7, this, 64, 20, true);
        }    
    
        @EventHandler
        public void init(FMLInitializationEvent event)
        {
            proxy.registerRenders();
    
            ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.adamite), 1, 2, 1));
            ChestGenHooks.getInfo(ChestGenHooks.VILLAGE_BLACKSMITH).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.adamite), 1, 2, 1));
            ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_CORRIDOR).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.adamite), 1, 3, 1));
            ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_CROSSING).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.adamite), 1, 3, 1));
            ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_LIBRARY).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.adamite), 1, 3, 1));
    
            ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.fission), 1, 1, 1));
            ChestGenHooks.getInfo(ChestGenHooks.VILLAGE_BLACKSMITH).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.fission), 1, 1, 1));
            ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_CORRIDOR).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.fission), 1, 2, 1));
            ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_CROSSING).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.fission), 1, 2, 1));
            ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_LIBRARY).addItem(new WeightedRandomChestContent(new ItemStack(ItemsMod.fission), 1, 2, 1));
    
    MinecraftForge.EVENT_BUS.register(new ElevatorEvent());
    FMLCommonHandler.instance().bus().register(new ElevatorEvent());
    
            NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
    
       EntityRegistry.registerModEntity(EntityDynamite.class, "Dynamite", 7, this, 64, 20, true);
    
       GameRegistry.registerTileEntity(TileEntityMachine.class, References.MOD_ID + ":MachineTileEntity");
    
       GameRegistry.registerTileEntity(TileEntityMachineCraft.class, References.MOD_ID + ":MachineTileEntityCraft");
    
       }
        @EventHandler
        public void postInit(FMLPostInitializationEvent event)
        {
    
          if(Loader.instance().getModList().size() != 4) // à changer
               {
                   FMLCommonHandler.instance().exitJava(1, true);
               }
    
        EntityRegistry.registerModEntity(EntityDynamite.class, "Dynamite", 7, this, 64, 20, true);
     }
    @SubscribeEvent
    
    @SideOnly(Side.CLIENT)
        public void onTick(TickEvent.ClientTickEvent event)
        {
            Minecraft mc = FMLClientHandler.instance().getClient();
            if(mc.currentScreen != null && mc.currentScreen.getClass().equals(GuiMainMenu.class))
            {
                mc.displayGuiScreen(new GuiCustomMainMenu());
    }
        }
    }
    
    

  • voici mon GuiHandler

    
    package com.adamitemod.mod;
    
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.world.World;
    import cpw.mods.fml.common.network.IGuiHandler;
    
    public class GuiHandler implements IGuiHandler
    {
        @Override
        public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
        {
            TileEntity te = world.getTileEntity(x, y, z);
            if(ID == 0 && te instanceof TileEntityMachine)
            {
                return new ContainerMachine((TileEntityMachine)te, player.inventory);
            }
            else if(ID == 2 && te instanceof TileEntityMachineCraft)
            {
                return new ContainerMachineCraft((TileEntityMachineCraft)te, player.inventory);
                }
            return null;
        }
    
        @Override
        public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
        {
            TileEntity te = world.getTileEntity(x, y, z);
            if(ID == 0 && te instanceof TileEntityMachine)
            {
                return new GuiMachine((TileEntityMachine)te, player.inventory);
            }
            else if(ID == 2 && te instanceof TileEntityMachineCraft)
            {
                return new GuiMachineCraft((TileEntityMachineCraft)te, player.inventory);
            }
            return null;
        }
    }
    
    

    Sa ne fonctionne toujour pas !___UP up up up !


  • @'amigo127':

    UP up up up !

    Je reguarde sa dés que je suis sur le pc


  • Voici toutes les class de ma deuxiéme machine


  • alors j'ai fait sa

    public class GuiHandler implements IGuiHandler
    {
    @Override
    public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
    {
    TileEntity tile = world.getTileEntity(x, y, z);
    if(tile instanceof tonTileEntity)
    {
    return new TonContainer((tonTileEntity)tile, player.inventory);
    }
    
    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(tile instanceof tonTileEntity)
    {
    return new TonGui((tonTileEntity)tile, player.inventory);
    }
    
    return null;
    }
    
    }
    

    mais je suis pas sur que sa marche


  • ok je teste___Je vais me suicider 😢


  • Quel est le problème ? Montre ton code.
    Et si tu veux te suicider, pour éviter de le faire, tu peux faire un pause (mais assez longue), après tu reprends la tête reposée et tu peux mieux regarder ce qui ne va pas.


  • Mon probléme genre je veux créer une deuxiéme machine mais j'en ai déja une je peux ouvrire le premiére mais pas le deuxieme voici les class de la deuxiéme :

    http://download1594.mediafire.com/5mgct6nps2fg/2llw3daw4vsae1l/Src+deuxiéme+machine.rar


  • "player.openGui(AdamiteMod.instance, 0, world, x, y, z);" dans le onBlockActivated de ton MachineCraft, tu mets 0 en id, et dans ton GuiHandler, tu veux que l'id soit 2 ("if(ID == 2 && […])" donc si tu ne veux pas de mélanger, retire juste tous les "ID == quelquechose" de ton GuiHandler pour appliquer la méthode de leo avec les "instanceof", ça suffit largement comme vérification.


  • conversion noob stp 😑


  • Dans ton GuiHandler, retire tous "les ID == unchiffre" et ça marchera. Le pb que t'a c'est que l'id que tu as mis ne correspond pas à ce que tu as mis dans ton Block.

  • Moddeurs confirmés Rédacteurs Administrateurs

    Attention aux doubles posts. Et c'est 24h avant de up …
    Il y en a qui dorment la nuit ...


  • merci je t'aime [size=smallAymericRed ❤ :p]___Ah ba non pk mon gui est en bas de mon écran ?


    1. De rien ^^ 2) En bas de l'écran ? Et attention aux double-post.

  • oui genre comme sa

    http://www.mediafire.com/view/v0g9ure5f89yj35/2016-05-06.png

    ne dites pas ses ton image qui est mal placer car si je centre avec le font l'in n'est plus dans le case du font

  • Moddeurs confirmés Rédacteurs Administrateurs

    Tu peux envoyer le code de ton gui ?