MFF

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

    Uncmlaim finder en 1.12.2

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    40 Messages 5 Publieurs 2.2k Vues 5 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.
    • DailyCraftD Hors-ligne
      DailyCraft
      dernière édition par

      En gros faut oublier == et mettre que des .equals() ?

      Mes créations :

      Mod en cours de développement : Personal Robot (1.15.2)

      Datapacks : DailyCraft's Craft (beta)

      Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

      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

        Je pense que tu n’as pas bien lu mon message.
        J’ai dit que cela dépend de ce qu’on veut faire.

        1 réponse Dernière réponse Répondre Citer 0
        • D Hors-ligne
          Drastic
          dernière édition par

          @robin4002 a dit dans Uncmlaim finder en 1.12.2 :

          Pour ce cas (et la majorité d

          Merci ! Ca marche !
          Dernier soucis : je veux ajouter une durabilité mais il se casse instantanément…

          package com.avonia.mod.init.objects;
          
          import com.avonia.mod.Main;
          import com.avonia.mod.init.ItemInit;
          import com.avonia.mod.util.IHasModel;
          
          import net.minecraft.creativetab.CreativeTabs;
          import net.minecraft.entity.Entity;
          import net.minecraft.entity.EntityLivingBase;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.item.Item;
          import net.minecraft.item.ItemStack;
          import net.minecraft.util.ActionResult;
          import net.minecraft.util.EnumActionResult;
          import net.minecraft.util.EnumHand;
          import net.minecraft.world.World;
          import net.minecraftforge.fml.relauncher.Side;
          import net.minecraftforge.fml.relauncher.SideOnly;
          
          public class ItemRadar extends Item implements IHasModel
          {
              private static EntityPlayer player;
              public static int durabilité = 90*20*60*60;
              public ItemRadar(String name)
              {
                  setUnlocalizedName(name);
                  setRegistryName(name);
                  setCreativeTab(CreativeTabs.COMBAT);
                  setMaxDamage(durabilité);
                  setMaxStackSize(1);       
                  ItemInit.ITEMS.add(this);
              }
              
              @Override
              public void registerModels()
              {
                  Main.proxy.registerItemRederer(this, 0);
              }
              
              @Override
              public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected)
              {
                  player = (EntityPlayer)entityIn;
                  
                  if(player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemRadar)
                  {
                      for(int dura = 90*20*60*60; dura >= 0; dura--)
                      {
                          stack.damageItem(1, player);
                      }
                  }
                  super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected);
              }
          }
          
          

          Encore merci et désolé du dérangement.

          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

            Retires la double for à la ligne 47, elle n’a rien à faire là.
            Si tu bocule sur toute la durabilité c’est normal de tomber à 0.

            D 1 réponse Dernière réponse Répondre Citer 1
            • D Hors-ligne
              Drastic @robin4002
              dernière édition par

              @robin4002 merci je vais tester. En plus c’est bête car onUpdate fais deja une update par tick

              1 réponse Dernière réponse Répondre Citer 0
              • DailyCraftD Hors-ligne
                DailyCraft
                dernière édition par

                pas le temps de répondre, trop rapide @robin4002 …

                Mes créations :

                Mod en cours de développement : Personal Robot (1.15.2)

                Datapacks : DailyCraft's Craft (beta)

                Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

                1 réponse Dernière réponse Répondre Citer 1
                • D Hors-ligne
                  Drastic
                  dernière édition par robin4002

                  @robin4002 désolé de te déranger encore mais j’ai un dernier soucis :
                  je veux créer une durabilité (ce qui est fait ) et l’afficher sous format h:m:s mais je ne sais pas exactement comment.

                  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

                    https://www.google.com/search?q=java+duration+format

                    D 1 réponse Dernière réponse Répondre Citer 1
                    • D Hors-ligne
                      Drastic @robin4002
                      dernière édition par

                      @robin4002 merci. Mais juste, je sais pas si c’est moi qui suis bête mais je n’arrive pas à récupérer la durabilité…

                      Mon code:

                      package com.avonia.mod.util.handlers;
                      
                      import java.time.Duration;
                      import java.time.LocalTime;
                      
                      import org.jline.utils.PumpReader;
                      import org.lwjgl.opengl.GL11;
                      
                      import com.avonia.mod.init.ItemInit;
                      import com.avonia.mod.init.objects.ItemRadar;
                      import com.avonia.mod.util.Reference;
                      
                      import net.minecraft.block.BlockDoublePlant.EnumPlantType;
                      import net.minecraft.client.Minecraft;
                      import net.minecraft.client.gui.FontRenderer;
                      import net.minecraft.client.gui.Gui;
                      import net.minecraft.client.renderer.ItemRenderer;
                      import net.minecraft.client.renderer.RenderItem;
                      import net.minecraft.client.renderer.block.model.ModelManager;
                      import net.minecraft.client.renderer.color.ItemColors;
                      import net.minecraft.client.renderer.texture.TextureManager;
                      import net.minecraft.client.resources.IResourceManager;
                      import net.minecraft.entity.player.EntityPlayer;
                      import net.minecraft.init.Blocks;
                      import net.minecraft.item.ItemStack;
                      import net.minecraft.util.EnumHand;
                      import net.minecraft.util.ResourceLocation;
                      import net.minecraftforge.client.event.RenderGameOverlayEvent;
                      import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
                      import net.minecraftforge.fml.relauncher.Side;
                      import net.minecraftforge.fml.relauncher.SideOnly;
                      
                      public class RadarHandler extends Gui
                      {
                          private static Minecraft mc;
                              
                          public static int amountTiles = 0;
                              
                          public static int damage = ItemRadar.maxD - (ItemRadar.maxD - ItemRadar.itemD);
                          
                          ItemRenderer itemRenderer = Minecraft.getMinecraft().getItemRenderer();
                          
                          FontRenderer fontRender;
                          
                          final ResourceLocation bg = new ResourceLocation(Reference.MODID + ":textures/items/radar.png");
                      
                          public RadarHandler()
                          {
                              this.mc = Minecraft.getMinecraft();
                              this.fontRender = this.mc.fontRenderer;
                          }
                          
                          @SideOnly(Side.CLIENT)
                          @SubscribeEvent
                          public void onRenderPre(RenderGameOverlayEvent.Pre event)
                          {
                            
                              if(event.getType() == RenderGameOverlayEvent.ElementType.HELMET && mc.player.getHeldItem(EnumHand.MAIN_HAND).getItem() == ItemInit.radar /*&& ItemRadar.isUsed == 1*/)
                              {
                                   mc.getTextureManager().bindTexture(this.bg);
                                      
                                   drawModalRectWithCustomSizedTexture(5,5,0,0,32,32,32,32);        
                                      
                                   amountTiles = mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                              mc.player.chunkCoordZ + 0).getTileEntityMap().values().size();
                                      
                                   amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                              mc.player.chunkCoordZ + 1).getTileEntityMap().values().size();
                                      
                                   amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                              mc.player.chunkCoordZ - 1).getTileEntityMap().values().size();
                                      
                                   amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 1,
                                              mc.player.chunkCoordZ).getTileEntityMap().values().size();
                                      
                                   amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX - 1,
                                              mc.player.chunkCoordZ).getTileEntityMap().values().size();   
                      
                                   drawCenteredString(this.mc.fontRenderer, this.amountTiles + "%", 23, 50, -1);
                                   drawCenteredString(this.mc.fontRenderer, this.formatDuration(), 23, 58, -1);
                      
                                   
                                   event.setCanceled(true);
                              }
                          }
                          
                          public static String formatDuration()
                          {
                              Duration duration = Duration.ofSeconds(damage / 20);
                              long seconds = duration.getSeconds();
                              long absSeconds = Math.abs(seconds);
                              String positive = String.format(
                                  "%d:%02d:%02d",
                                  absSeconds / 3600,
                                  (absSeconds % 3600) / 60,
                                  absSeconds % 60);
                              return seconds < 0 ? "-" + positive : positive;
                          }
                           
                      }
                      
                      
                      package com.avonia.mod.init.objects;
                      
                      import com.avonia.mod.Main;
                      import com.avonia.mod.init.ItemInit;
                      import com.avonia.mod.util.IHasModel;
                      
                      import net.minecraft.client.Minecraft;
                      import net.minecraft.creativetab.CreativeTabs;
                      import net.minecraft.entity.Entity;
                      import net.minecraft.entity.EntityLivingBase;
                      import net.minecraft.entity.player.EntityPlayer;
                      import net.minecraft.item.Item;
                      import net.minecraft.item.ItemStack;
                      import net.minecraft.util.ActionResult;
                      import net.minecraft.util.EnumActionResult;
                      import net.minecraft.util.EnumHand;
                      import net.minecraft.world.World;
                      import net.minecraftforge.fml.relauncher.Side;
                      import net.minecraftforge.fml.relauncher.SideOnly;
                      import scala.deprecated;
                      
                      public class ItemRadar extends Item implements IHasModel
                      {
                         private static EntityPlayer player;
                         
                         public static int durabilité = 90*20*60;
                      
                         public static int maxD = 0;
                         public static int itemD = 0;
                         
                         public ItemRadar(String name)
                          {
                              setUnlocalizedName(name);
                              setRegistryName(name);
                              setCreativeTab(CreativeTabs.COMBAT);
                              setMaxDamage(durabilité);
                              setMaxStackSize(1);      
                              ItemInit.ITEMS.add(this);
                          }
                          
                          @Override
                          public void registerModels()
                          {
                              Main.proxy.registerItemRederer(this, 0);
                          }
                          
                          @Override
                          public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected)
                          {
                              player = (EntityPlayer)entityIn;
                              
                              stack = player.getHeldItem(EnumHand.MAIN_HAND);
                              
                              if(player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemRadar)
                              {
                                      if(durabilité >= 0)
                                      {
                                          durabilité --;
                                          stack.damageItem(1, player);
                                          itemD = stack.getItemDamage();
                                          maxD = stack.getMaxDamage();
                                      }
                                          
                              }
                              super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected);
                          }
                          
                      }
                      
                      
                      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

                        en utilisant la fonction getItemDamage() de ton itemstack.

                        1 réponse Dernière réponse Répondre Citer 0
                        • D Hors-ligne
                          Drastic
                          dernière édition par

                          Quand je fais ca :

                          package com.avonia.mod.util.handlers;
                          
                          import java.time.Duration;
                          import java.time.LocalTime;
                          
                          import org.jline.utils.PumpReader;
                          import org.lwjgl.opengl.GL11;
                          
                          import com.avonia.mod.init.ItemInit;
                          import com.avonia.mod.init.objects.ItemRadar;
                          import com.avonia.mod.util.Reference;
                          
                          import net.minecraft.block.BlockDoublePlant.EnumPlantType;
                          import net.minecraft.client.Minecraft;
                          import net.minecraft.client.gui.FontRenderer;
                          import net.minecraft.client.gui.Gui;
                          import net.minecraft.client.renderer.ItemRenderer;
                          import net.minecraft.client.renderer.RenderItem;
                          import net.minecraft.client.renderer.block.model.ModelManager;
                          import net.minecraft.client.renderer.color.ItemColors;
                          import net.minecraft.client.renderer.texture.TextureManager;
                          import net.minecraft.client.resources.IResourceManager;
                          import net.minecraft.entity.player.EntityPlayer;
                          import net.minecraft.init.Blocks;
                          import net.minecraft.item.ItemStack;
                          import net.minecraft.util.EnumHand;
                          import net.minecraft.util.ResourceLocation;
                          import net.minecraftforge.client.event.RenderGameOverlayEvent;
                          import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
                          import net.minecraftforge.fml.relauncher.Side;
                          import net.minecraftforge.fml.relauncher.SideOnly;
                          
                          public class RadarHandler extends Gui
                          {
                              private static Minecraft mc;
                                  
                              public static int amountTiles = 0;
                                  
                              public static ItemStack stack = mc.player.getHeldItem(EnumHand.MAIN_HAND);
                              
                              public static int maxD = stack.getMaxDamage(), itemD = stack.getItemDamage();
                              
                              public static int damage = maxD - (maxD - itemD);
                              
                              ItemRenderer itemRenderer = Minecraft.getMinecraft().getItemRenderer();
                              
                              FontRenderer fontRender;
                              
                              final ResourceLocation bg = new ResourceLocation(Reference.MODID + ":textures/items/radar.png");
                          
                              public RadarHandler()
                              {
                                  this.mc = Minecraft.getMinecraft();
                                  this.fontRender = this.mc.fontRenderer;
                              }
                              
                              @SideOnly(Side.CLIENT)
                              @SubscribeEvent
                              public void onRenderPre(RenderGameOverlayEvent.Pre event)
                              {
                                
                                  if(event.getType() == RenderGameOverlayEvent.ElementType.HELMET && mc.player.getHeldItem(EnumHand.MAIN_HAND).getItem() == ItemInit.radar /*&& ItemRadar.isUsed == 1*/)
                                  {
                                       mc.getTextureManager().bindTexture(this.bg);
                                          
                                       drawModalRectWithCustomSizedTexture(5,5,0,0,32,32,32,32);        
                                          
                                       amountTiles = mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                                  mc.player.chunkCoordZ + 0).getTileEntityMap().values().size();
                                          
                                       amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                                  mc.player.chunkCoordZ + 1).getTileEntityMap().values().size();
                                          
                                       amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                                  mc.player.chunkCoordZ - 1).getTileEntityMap().values().size();
                                          
                                       amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 1,
                                                  mc.player.chunkCoordZ).getTileEntityMap().values().size();
                                          
                                       amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX - 1,
                                                  mc.player.chunkCoordZ).getTileEntityMap().values().size();   
                          
                                       drawCenteredString(this.mc.fontRenderer, this.amountTiles + "%", 23, 50, -1);
                                       drawCenteredString(this.mc.fontRenderer, this.formatDuration(), 23, 58, -1);
                          
                                       
                                       event.setCanceled(true);
                                  }
                              }
                              
                              public static String formatDuration()
                              {
                                  Duration duration = Duration.ofSeconds(damage / 20);
                                  long seconds = duration.getSeconds();
                                  long absSeconds = Math.abs(seconds);
                                  String positive = String.format(
                                      "%d:%02d:%02d",
                                      absSeconds / 3600,
                                      (absSeconds % 3600) / 60,
                                      absSeconds % 60);
                                  return seconds < 0 ? "-" + positive : positive;
                              }
                               
                          }
                          
                          

                          Ca crash… 😕

                          1 réponse Dernière réponse Répondre Citer 0
                          • D Hors-ligne
                            Drastic
                            dernière édition par

                            Bon, après de lonnnngues recherches voici le code de l’unclaim finder en 1.12.2 avec 1h30 de durabilité :
                            Classe de l’item :

                            public class ItemRadar extends Item implements IHasModel
                            {
                               private static EntityPlayer player;
                               
                               public static int durabilité = 90*20*60;
                               
                               public ItemRadar(String name)
                                {
                                    setUnlocalizedName(name);
                                    setRegistryName(name);
                                    setCreativeTab(CreativeTabs.COMBAT);
                                    setMaxDamage(durabilité);
                                    setMaxStackSize(1);      
                                    ItemInit.ITEMS.add(this);
                                }
                                
                                @Override
                                public void registerModels()
                                {
                                    Main.proxy.registerItemRederer(this, 0);
                                }
                                
                                @Override
                                public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected)
                                {
                                    player = (EntityPlayer)entityIn;
                                    
                                    stack = player.getHeldItem(EnumHand.MAIN_HAND);
                                    
                                    if(player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemRadar)
                                    {
                                            if(durabilité >= 0)
                                            {
                                                durabilité --;
                                                stack.damageItem(1, player);
                                            }
                                                
                                    }
                                    super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected);
                                }
                                
                            }
                            

                            Classe du GUI :

                            public class RadarHandler extends Gui
                            {
                                private static Minecraft mc;
                                    
                                public static int amountTiles = 0;
                                              
                                ItemRenderer itemRenderer = Minecraft.getMinecraft().getItemRenderer();
                                
                                FontRenderer fontRender;
                                
                                final ResourceLocation bg = new ResourceLocation(Reference.MODID + ":textures/items/radar.png");
                            
                                public RadarHandler()
                                {
                                    this.mc = Minecraft.getMinecraft();
                                    this.fontRender = this.mc.fontRenderer;
                                }
                                
                                @SideOnly(Side.CLIENT)
                                @SubscribeEvent
                                public void onRenderPre(RenderGameOverlayEvent.Pre event)
                                {
                                  
                                    if(event.getType() == RenderGameOverlayEvent.ElementType.HELMET && mc.player.getHeldItem(EnumHand.MAIN_HAND).getItem() == ItemInit.radar /*&& ItemRadar.isUsed == 1*/)
                                    {
                                         mc.getTextureManager().bindTexture(this.bg);
                                            
                                         drawModalRectWithCustomSizedTexture(5,5,0,0,32,32,32,32);        
                                            
                                         amountTiles = mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                                    mc.player.chunkCoordZ + 0).getTileEntityMap().values().size();
                                            
                                         amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                                    mc.player.chunkCoordZ + 1).getTileEntityMap().values().size();
                                            
                                         amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 0,
                                                    mc.player.chunkCoordZ - 1).getTileEntityMap().values().size();
                                            
                                         amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX + 1,
                                                    mc.player.chunkCoordZ).getTileEntityMap().values().size();
                                            
                                         amountTiles = amountTiles + mc.world.getChunkFromChunkCoords(mc.player.chunkCoordX - 1,
                                                    mc.player.chunkCoordZ).getTileEntityMap().values().size();   
                            
                                         drawCenteredString(this.mc.fontRenderer, this.amountTiles + "%", 23, 39, -1);
                                         drawCenteredString(this.mc.fontRenderer, this.formatDuration(), 23, 48, -1);
                            
                                         
                                         event.setCanceled(true);
                                    }
                                }
                                
                                public static String formatDuration()
                                {
                                    ItemStack stack = mc.player.getHeldItem(EnumHand.MAIN_HAND);
                                    
                                    int maxD = stack.getMaxDamage();
                                    int itemD = stack.getItemDamage();                
                                    
                                    int damage = maxD - itemD;
                                    
                                    Duration duration = Duration.ofSeconds(damage / 20);
                                    long seconds = duration.getSeconds();
                                    long absSeconds = Math.abs(seconds);
                                    String positive = String.format(
                                        "%d:%02d:%02d",
                                        absSeconds / 3600,
                                        (absSeconds % 3600) / 60,
                                        absSeconds % 60);
                                    return seconds < 0 ? "-" + positive : positive;
                                }
                                 
                            }
                            

                            Client proxy :

                            public class ClientProxy extends CommonProxy
                            {
                                @Override
                                public void registerItemRederer(Item item, int meta)
                                {
                                    ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), "inventory"));
                                    MinecraftForge.EVENT_BUS.register(new RadarHandler());
                                }
                            }
                            

                            Bonne journée et merci à @DailyCraft et @robin4002 pour leur aide !

                            1 réponse Dernière réponse Répondre Citer 0
                            • T Hors-ligne
                              TheThunderP
                              dernière édition par

                              A tu fait un mod que je peux telecharger avec ? car j’en aurai besoin pour 1 PvP fac

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

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB