MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Modifier l'overlay (HUD) du jeu

    Planifier Épinglé Verrouillé Déplacé Les interfaces (GUI) et les container
    1.11.x
    64 Messages 13 Publieurs 17.0k Vues 6 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par robin4002

      Tu as enregistré la classe EventHUD en tant que classe d’event avec MinecraftForge.EVENT_BUS.register(new EventHUD()); dans ta classe principale ou dans ton client proxy ?

      L 1 réponse Dernière réponse Répondre Citer 0
      • L Hors-ligne
        Le_Vrai_GG @robin4002
        dernière édition par Le_Vrai_GG

        @robin4002 classe principale

        ma classe principale:

        /**
         * 
         */
        package ch.gonin.guillaume.zombiecubefree.common;
        
        
        import ch.gonin.guillaume.zombiecubefree.proxy.CommonProxy;
        import ch.gonin.guillaume.zombiecubefree.proxy.ClientProxy;
        import ch.gonin.guillaume.zombiecubefree.common.TilesEntity.TileEntityBlockTutorielTiles;
        import ch.gonin.guillaume.zombiecubefree.common.TilesEntity.TileEntityTele;
        import ch.gonin.guillaume.zombiecubefree.common.blocks.BlockMetadata;
        import ch.gonin.guillaume.zombiecubefree.common.blocks.BlockTutoriel;
        import ch.gonin.guillaume.zombiecubefree.common.blocks.BlockTutorielTiles;
        import ch.gonin.guillaume.zombiecubefree.common.blocks.Cuisiniere;
        import ch.gonin.guillaume.zombiecubefree.common.blocks.Tele;
        import ch.gonin.guillaume.zombiecubefree.common.gui.ZombieCubeFreeCreativeTabs;
        import ch.gonin.guillaume.zombiecubefree.common.items.CocktailMolotov;
        import ch.gonin.guillaume.zombiecubefree.common.items.ItemFireStick;
        import ch.gonin.guillaume.zombiecubefree.common.items.ItemGaz;
        import ch.gonin.guillaume.zombiecubefree.common.items.ItemShowInfo;
        import ch.gonin.guillaume.zombiecubefree.common.items.ItemShowMoney;
        import ch.gonin.guillaume.zombiecubefree.common.items.ItemTutoriel;
        import ch.gonin.guillaume.zombiecubefree.common.items.ItemblockMetadata;
        import ch.gonin.guillaume.zombiecubefree.common.packet.Handler;
        import ch.gonin.guillaume.zombiecubefree.common.packet.PacketMoney;
        import ch.gonin.guillaume.zombiecubefree.even.EventHUD;
        import cpw.mods.fml.common.FMLCommonHandler;
        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.network.NetworkRegistry;
        import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
        import cpw.mods.fml.common.registry.GameRegistry;
        import cpw.mods.fml.relauncher.Side;
        import net.minecraft.block.Block;
        import net.minecraft.block.material.Material;
        import net.minecraft.creativetab.CreativeTabs;
        import net.minecraft.item.Item;
        import net.minecraftforge.common.MinecraftForge;
        
        @Mod(modid = "zombiecubefree", name = "Zombie Cube Free", version = "1.0.0")
        /**
         * @author Guillaume
         *
         */
        public class Main {
        
        	@Instance("zombiecubefree")
        	public static Main instance;
        	public static final String MODID = "zombiecubefree";
        
        	public static SimpleNetworkWrapper network;
        
        	@EventHandler
        
        	public void preInit(FMLPreInitializationEvent event)
        
        	{
        		blockTutoriel = new BlockTutoriel(Material.rock).setBlockName("blockTutoriel")
        				.setBlockTextureName(MODID + ":block_tutoriel").setCreativeTab(CreativeTabs.tabBlock)
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerBlock(blockTutoriel, "block_tutoriel");
        		blockTutorielTiles = new BlockTutorielTiles(Material.rock).setCreativeTab(CreativeTabs.tabBlock)
        				.setBlockName("tutorielTiles").setBlockTextureName(MODID + ":block_tutoriel_tiles")
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerBlock(blockTutorielTiles, "block_tutoriel_tiles");
        		blockMetadata = new BlockMetadata().setBlockName("blockMetadata").setHardness(1.5F).setResistance(10.0F)
        				.setCreativeTab(CreativeTabs.tabBlock).setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerBlock(blockMetadata, ItemblockMetadata.class, "block_metadata");
        
        		itemTutoriel = new ItemTutoriel().setUnlocalizedName("itemTutoriel")
        				.setTextureName(Main.MODID + ":item_tutoriel").setCreativeTab(CreativeTabs.tabBlock)
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerItem(itemTutoriel, "item_tutoriel");
        
        		cuisiniere = new Cuisiniere(Material.rock).setBlockName("cuisiniere").setCreativeTab(CreativeTabs.tabBlock)
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerBlock(cuisiniere, "cuisiniere");
        		tele = new Tele(Material.rock).setBlockName("tele").setCreativeTab(CreativeTabs.tabBlock)
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerBlock(tele, "tele");
        
        		itemShowInfo = new ItemShowInfo().setUnlocalizedName("itemShowInfo")
        				.setTextureName(Main.MODID + ":item_show_info").setCreativeTab(CreativeTabs.tabBlock)
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerItem(itemShowInfo, "item_show_info");
        		gaz = new ItemGaz().setUnlocalizedName("gaz").setTextureName(Main.MODID + ":gaz")
        				.setCreativeTab(CreativeTabs.tabBlock).setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerItem(gaz, "gaz");
        		itemShowMoney = new ItemShowMoney().setUnlocalizedName("itemShowMoney")
        				.setTextureName(Main.MODID + ":item_show_money").setCreativeTab(CreativeTabs.tabBlock)
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerItem(itemShowMoney, "item_show_money");
        		fireStick = new ItemFireStick().setUnlocalizedName("fireStick")
        				.setTextureName(Main.MODID + ":fire_stick").setCreativeTab(CreativeTabs.tabBlock)
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerItem(fireStick, "fire_stick");
        		cocktailMolotov = new CocktailMolotov().setUnlocalizedName("cocktailMolotov")
        				.setTextureName(Main.MODID + ":cocktail_molotov").setCreativeTab(CreativeTabs.tabBlock)
        				.setCreativeTab(ZombieCubeFreeCreativeTabs);
        		GameRegistry.registerItem(cocktailMolotov, "cocktail_molotov");
        
        		network = NetworkRegistry.INSTANCE.newSimpleChannel(MODID);
        		network.registerMessage(Handler.class, PacketMoney.class, 1, Side.CLIENT);
        	}
        
        	@SidedProxy(clientSide = "ch.gonin.guillaume.zombiecubefree.proxy.ClientProxy", serverSide = "ch.gonin.guillaume.zombiecubefree.proxy.CommonProxy")
        
        	public static CommonProxy proxy;
        
        	@EventHandler
        
        	public void init(FMLInitializationEvent event)
        
        	{
        		proxy.registerRender();
        		GameRegistry.registerTileEntity(TileEntityBlockTutorielTiles.class, MODID + ":blockTutorielTiles");
        		GameRegistry.registerTileEntity(TileEntityTele.class, MODID + ":tele");
        
        		FMLCommonHandler.instance().bus().register(new ch.gonin.guillaume.zombiecubefree.even.EventHandler());
        		MinecraftForge.EVENT_BUS.register(new ch.gonin.guillaume.zombiecubefree.even.EventHandler());
        		MinecraftForge.EVENT_BUS.register(new EventHUD());
        	}
        
        	@EventHandler
        
        	public void postInit(FMLPostInitializationEvent event)
        
        	{
        	}
        
        	public static Block blockTutoriel;
        	public static Block blockTutorielTiles;
        	public static Block blockMetadata;
        
        	public static Item itemTutoriel;
        
        	public static Block cuisiniere;
        	public static Block tele;
        
        	public static Item itemShowInfo;
        	public static Item gaz;
        	public static Item itemShowMoney;
        	public static Item fireStick;
        	public static Item cocktailMolotov;
        
        	public static CreativeTabs ZombieCubeFreeCreativeTabs = new ZombieCubeFreeCreativeTabs("Zombie Cube Free");
        
        }
        

        mon HUD:

        package ch.gonin.guillaume.zombiecubefree.even;
        
        import org.lwjgl.util.Color;
        
        import ch.gonin.guillaume.zombiecubefree.common.Main;
        import ch.gonin.guillaume.zombiecubefree.common.autres.ExtendedProperties;
        import cpw.mods.fml.common.eventhandler.SubscribeEvent;
        import cpw.mods.fml.relauncher.Side;
        import cpw.mods.fml.relauncher.SideOnly;
        import net.minecraft.client.Minecraft;
        import net.minecraft.client.gui.Gui;
        import net.minecraft.client.gui.ScaledResolution;
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.util.ResourceLocation;
        import net.minecraftforge.client.event.RenderGameOverlayEvent;
        import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
        
        @SideOnly(Side.CLIENT)
        public class EventHUD {
        
        	public static final Minecraft MC = Minecraft.getMinecraft();
        
        	@SubscribeEvent
        	public static void renderGameOverlayPre(RenderGameOverlayEvent.Pre event)
        
        	{
        
        	}
        
        	@SubscribeEvent
        
        	public static void renderGameOverlayPost(RenderGameOverlayEvent.Post event)
        
        	{
        		if (event.getPhase().equals(ElementType.ALL)) {
        
        			ExtendedProperties props = ExtendedProperties.get(MC.thePlayer);
        			String s = "Argent :" + props.money + "$";
        			
        			int width = event.resolution.getScaledWidth();
        
        			Gui.drawRect(width - 5 - MC.fontRenderer.getStringWidth(s), 2, width - 2,
        					4 + MC.fontRenderer.FONT_HEIGHT, Integer.MIN_VALUE);
        
        		
        			
        			MC.fontRenderer.drawString(s, 10 - 3 - MC.fontRenderer.getStringWidth(s), 4,
        					255);
        		
        		}
        		// drawHealth(event.(), MC.player);
        
        		/*
        		 * String s = MC.getConnection().getPlayerInfoMap().size() + "/" +
        		 * MC.getConnection().currentServerMaxPlayers + " joueurs";
        		 * 
        		 * Gui.drawRect(width - 5 - MC.fontRendererObj.getStringWidth(s), 2, width - 2,
        		 * 4 + MC.fontRendererObj.FONT_HEIGHT, Integer.MIN_VALUE);
        		 * 
        		 * MC.fontRendererObj.drawString(s, width - 3 -
        		 * MC.fontRendererObj.getStringWidth(s), 4, Color.WHITE.getRGB());
        		 */
        
        	}
        
        }
        
        1 réponse Dernière réponse Répondre Citer 0
        • robin4002R Hors-ligne
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
          dernière édition par robin4002

          Ah j’ai trouvé le problème, si tu as bien enregistré la classe avec la méthode que je t’ai donné, il faut enlever les static aux fonctions renderGameOverlayPost et renderGameOverlayPre

          Ou alors si tu veux garder les static, il faut enregistrer la classe comme ceci : MinecraftForge.EVENT_BUS.register(EventHUD.class);

          L 1 réponse Dernière réponse Répondre Citer 0
          • L Hors-ligne
            Le_Vrai_GG @robin4002
            dernière édition par

            @robin4002 sa ne s’affiche toujours pas

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              Là je ne vais pas pouvoir t’aider plus, c’est à toi de prendre les choses en main.
              Lances le jeu en debug, mets des points d’arrêt aux différents endroits de la fonction pour vérifier que le code est bien appelé. Ou alors met des System.out.println, c’est comme tu veux.

              L 2 réponses Dernière réponse Répondre Citer 0
              • L Hors-ligne
                Le_Vrai_GG @robin4002
                dernière édition par

                @robin4002 ok merci

                1 réponse Dernière réponse Répondre Citer 0
                • L Hors-ligne
                  Le_Vrai_GG @robin4002
                  dernière édition par

                  @robin4002 j’ai une erreur pour l’inisialisation de la class d’event:

                  AL lib: (EE) MMDevApiProc: WaitForSingleObjectEx error: 0x102
                  AL lib: (EE) MMDevApiProc: WaitForSingleObjectEx error: 0x102
                  AL lib: (EE) MMDevApiProc: WaitForSingleObjectEx error: 0x102
                  AL lib: (EE) MMDevApiProc: WaitForSingleObjectEx error: 0x102
                  AL lib: (EE) MMDevApiProc: WaitForSingleObjectEx error: 0x102
                  AL lib: (EE) MMDevApiProc: WaitForSingleObjectEx error: 0x102
                  AL lib: (EE) MMDevApiProc: WaitForSingleObjectEx error: 0x102
                  AL lib: (EE) MMDevApiProc: WaitForSingleObjectEx error: 0x102
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    AL lib est une bibliothèque OpenAL pour le son, je ne crois pas que cela ait un rapport avec ta modification de l’overlay.

                    L 1 réponse Dernière réponse Répondre Citer 0
                    • L Hors-ligne
                      Le_Vrai_GG @robin4002
                      dernière édition par Le_Vrai_GG

                      @robin4002 alors je voit pas pourquoi l’overlay ne s’affiche pas
                      si qqn à une classe d’overlay déjà faite avec la déclaration dans le main et tous en 1.7.10 est-ce qu’il pourrait me la montre que je compare avec la mienne?

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002R Hors-ligne
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                        dernière édition par

                        Tu as vérifié que ta fonction renderGameOverlayPost est appelé ? Si oui, elle l’est ou pas ?

                        L 1 réponse Dernière réponse Répondre Citer 0
                        • L Hors-ligne
                          Le_Vrai_GG @robin4002
                          dernière édition par

                          @robin4002 comment sa je dois l’appelée dans le main?

                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002R Hors-ligne
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                            dernière édition par

                            Non, je te demande si tu as fais ça :
                            @robin4002 a dit dans Modifier l'overlay (HUD) du jeu :

                            Lances le jeu en debug, mets des points d’arrêt aux différents endroits de la fonction pour vérifier que le code est bien appelé. Ou alors met des System.out.println, c’est comme tu veux.

                            L 1 réponse Dernière réponse Répondre Citer 0
                            • L Hors-ligne
                              Le_Vrai_GG @robin4002
                              dernière édition par

                              @robin4002 bah je t’ai dit il y l’erreur si dans mon dernier message

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002R Hors-ligne
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                dernière édition par

                                Cette erreur empêche le jeu se lancer ? Elle apparait quand tu lances le jeu en debug ?

                                L 1 réponse Dernière réponse Répondre Citer 0
                                • L Hors-ligne
                                  Le_Vrai_GG @robin4002
                                  dernière édition par

                                  @robin4002 elle apparait que en debugge mais empêche pas le jeu de tourner il y a aussi sa:
                                  7857fdf9-021e-4b46-8352-84c6b803e6c3-image.png

                                  Wind_BladeW L 2 réponses Dernière réponse Répondre Citer 0
                                  • robin4002R Hors-ligne
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                    dernière édition par

                                    Tu es sur un point d’arrêt, il faut cliquer sur le bouton reprendre (en haut à gauche du bouton pause et du bouton pour rouge pour stopper).

                                    Et du-coup la fonction de ton event est appelé ou pas ?

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • Wind_BladeW Hors-ligne
                                      Wind_Blade @Le_Vrai_GG
                                      dernière édition par

                                      @Le_Vrai_GG a dit dans Modifier l'overlay (HUD) du jeu :

                                      @robin4002 elle apparait que en debugge mais empêche pas le jeu de tourner il y a aussi sa:

                                      https://www.minecraftforgefrance.fr/topic/4125/les-bases-du-débug

                                      1 réponse Dernière réponse Répondre Citer 1
                                      • L Hors-ligne
                                        Le_Vrai_GG @Le_Vrai_GG
                                        dernière édition par

                                        @Le_Vrai_GG quand je disais “sa” je voulais dire le source not found dans le NativeMethod… de la capture
                                        c’est vraiment normal qui trouve pas la source?

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • robin4002R Hors-ligne
                                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                          dernière édition par

                                          Pas étonnant vu que ça semble être sur du code de java, ce qui est plus étonnait c’est qu’il s’arrête à cet endroit, alors que tu n’as surement pas mis de point d’arrêt ici.

                                          L 1 réponse Dernière réponse Répondre Citer 0
                                          • L Hors-ligne
                                            Le_Vrai_GG @robin4002
                                            dernière édition par

                                            @robin4002 non c’est avec le step into que je suis été ici

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB