1.12.2 Overlay afficher les entités



  • Bonjour,
    J'essaie en vain de rajouter sur le jeu, en haut a gauche, le nombre d'entitées qui se situe dans une zone de 64 blocs autours du joueur, j'ai regardé le tutoriel disponible, et des sujets, je pense avoir une base, mais je suis pas sûr que ce soit ça.

    public ItemUnclaimFinder(String name)
    	{
    		setUnlocalizedName(name);
    		setRegistryName(name);
    		setCreativeTab(Galaxia.galaxiatab);
    	}
    		
    		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.getType().equals(ElementType.ALL)) {
    	    		
    	    	}
    	    }
    	}
    

    Normalement, c'est bien dedans que l'ont dois mettre ça (si j'ai bien compris). Mais je ne trouve pas comment on affiche les entitées et uniquement ça (et quand on a l'item en main bien sûr ^^). Si quelqu'un peut m'indiquer comment procéder... 😞

    Merci



  • Bonjour, histoire de mettre le problème au clair, tu essais d'afficher le nombre ? ou une liste d'entités avec leur nombre par entités ?

    Quoi qu'il en soit, je pense que le plus simple est de récupérer toutes tes entité et de les enregistrer dans une liste ( map ou autre ) et pour le rendu Minecraft.ingameGUI

    De mon côté j'utilise Post au lieu de Pre ( il te faudra également mettre une exception : event.getType() != ElementType.EXPERIENCE si tu ne veux pas avoir de bug graphique ).



  • @Kporal a dit dans Overlay afficher les entités :

    , tu essais d'afficher le nombre ?

    oui



  • Donc un truc comme ça ?

    @SubscribeEvent
        public static void renderGameOverlayPost(RenderGameOverlayEvent.Post event)
        {
        
        	EntityPlayer player = Minecraft.getMinecraft().player;
        	ItemStack itemInHand = player.inventory.getItemStack();
        	
        	if(event.getType().equals(ElementType.ALL)) {
            	if( itemInHand.getItem() == ItemMod.unclaim_finder )
        		{
        			
        		}
        	}
        		
        }
    




  • J'ai fais ça (sans parler de mettre les entitées juste un texte pour voir si sa marche), et ça marche pas, j'ai aucune erreur pourtant dans la console, ni rien.

    @SubscribeEvent
        public static void renderGameOverlayPost(RenderGameOverlayEvent.Post event)
        {
    		
        	EntityPlayer player = Minecraft.getMinecraft().player;
        	ItemStack itemInHand = player.inventory.getItemStack();
        	
        	if(event.getType().equals(ElementType.ALL)) {
            	if( itemInHand.getItem() == ItemMod.unclaim_finder )
        		{
            		int posX = 0;
            		int posY = 0;
    				Minecraft.getMinecraft().fontRenderer.drawString("TEST", posX + 15, posY + 15, 0xffff00);
        		}
        	}
        		
        }
    


  • ElementType.EXPERIENCE Remplace déjà ça et sa devrais être bon


Log in to reply