MFF

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

    Problème Rendu EntityThrowable

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    14 Messages 3 Publieurs 2.4k Vues 1 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.
    • KingSlimeK Hors-ligne
      KingSlime
      dernière édition par

      Oui elle est appelé, lorsque je modifie en “registerModEntity” ça crash, je vais voir si je ne peux pas régler ce problème en attendant voici les logs du crash :

      ​[16:03:18] [Client thread/ERROR] [FML]: Fatal errors were detected during the transition from PREINITIALIZATION to INITIALIZATION. Loading cannot continue
      [16:03:18] [Client thread/ERROR] [FML]: 
      mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
      FML{8.0.37.1334} [Forge Mod Loader] (forgeSrc-1.8-11.14.1.1334.jar) Unloaded->Constructed->Pre-initialized
      Forge{11.14.1.1334} [Minecraft Forge] (forgeSrc-1.8-11.14.1.1334.jar) Unloaded->Constructed->Pre-initialized
      pirateslife{0.1} [Pirate's Life Mod] (bin) Unloaded->Constructed->Errored
      Baubles{1.1.1.0} [Baubles] (Baubles-1.8-1.1.1.0-deobf.jar) Unloaded->Constructed->Pre-initialized
      [16:03:18] [Client thread/ERROR] [FML]: The following problems were captured during this phase
      [16:03:18] [Client thread/ERROR] [FML]: Caught exception from pirateslife
      java.lang.NullPointerException
      at net.minecraftforge.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:163) ~[forgeSrc-1.8-11.14.1.1334.jar:?]
      at net.minecraftforge.fml.common.registry.EntityRegistry.registerModEntity(EntityRegistry.java:149) ~[forgeSrc-1.8-11.14.1.1334.jar:?]
      at fr.slimgma.pirateslife.common.entity.ModEntity.registerEntity(ModEntity.java:23) ~[bin/:?]
      at fr.slimgma.pirateslife.common.entity.ModEntity.createEntities(ModEntity.java:16) ~[bin/:?]
      at fr.slimgma.pirateslife.Main.preInit(Main.java:35) ~[bin/:?]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
      at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
      at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:518) ~[forgeSrc-1.8-11.14.1.1334.jar:?]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
      at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
      at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
      at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
      at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
      at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) ~[forgeSrc-1.8-11.14.1.1334.jar:?]
      at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:187) ~[forgeSrc-1.8-11.14.1.1334.jar:?]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
      at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
      at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
      at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
      at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
      at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?]
      at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:514) [Loader.class:?]
      at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243) [FMLClientHandler.class:?]
      at net.minecraft.client.Minecraft.startGame(Minecraft.java:446) [Minecraft.class:?]
      at net.minecraft.client.Minecraft.run(Minecraft.java:356) [Minecraft.class:?]
      at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
      at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
      at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
      at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
      at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
      at GradleStart.main(Unknown Source) [start/:?]
      [16:03:18] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:660]: –-- Minecraft Crash Report ----
      // Would you like a cupcake?
      
      Time: 24/07/15 16:03
      Description: Initializing game
      
      java.lang.NullPointerException: Initializing game
      at net.minecraftforge.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:163)
      at net.minecraftforge.fml.common.registry.EntityRegistry.registerModEntity(EntityRegistry.java:149)
      at fr.slimgma.pirateslife.common.entity.ModEntity.registerEntity(ModEntity.java:23)
      at fr.slimgma.pirateslife.common.entity.ModEntity.createEntities(ModEntity.java:16)
      at fr.slimgma.pirateslife.Main.preInit(Main.java:35)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:518)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
      at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
      at com.google.common.eventbus.EventBus.post(EventBus.java:275)
      at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
      at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
      at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
      at com.google.common.eventbus.EventBus.post(EventBus.java:275)
      at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
      at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:514)
      at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
      at net.minecraft.client.Minecraft.startGame(Minecraft.java:446)
      at net.minecraft.client.Minecraft.run(Minecraft.java:356)
      at net.minecraft.client.main.Main.main(Main.java:117)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
      at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
      at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
      at GradleStart.main(Unknown Source)
      
      A detailed walkthrough of the error, its code path and all known details is as follows:
      ---------------------------------------------------------------------------------------
      
      -- Head --
      Stacktrace:
      at net.minecraftforge.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:163)
      at net.minecraftforge.fml.common.registry.EntityRegistry.registerModEntity(EntityRegistry.java:149)
      at fr.slimgma.pirateslife.common.entity.ModEntity.registerEntity(ModEntity.java:23)
      at fr.slimgma.pirateslife.common.entity.ModEntity.createEntities(ModEntity.java:16)
      at fr.slimgma.pirateslife.Main.preInit(Main.java:35)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:518)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
      at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
      at com.google.common.eventbus.EventBus.post(EventBus.java:275)
      at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
      at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
      at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
      at com.google.common.eventbus.EventBus.post(EventBus.java:275)
      at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
      at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:514)
      at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
      at net.minecraft.client.Minecraft.startGame(Minecraft.java:446)
      
      -- Initialization --
      Details:
      Stacktrace:
      at net.minecraft.client.Minecraft.run(Minecraft.java:356)
      at net.minecraft.client.main.Main.main(Main.java:117)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
      at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
      at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
      at GradleStart.main(Unknown Source)
      
      -- System Details --
      Details:
      Minecraft Version: 1.8
      Operating System: Windows 8.1 (amd64) version 6.3
      Java Version: 1.8.0_45, Oracle Corporation
      Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
      Memory: 836984336 bytes (798 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
      JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
      IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
      FML: MCP v9.10 FML v8.0.37.1334 Minecraft Forge 11.14.1.1334 5 mods loaded, 5 mods active
      mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
      FML{8.0.37.1334} [Forge Mod Loader] (forgeSrc-1.8-11.14.1.1334.jar) Unloaded->Constructed->Pre-initialized
      Forge{11.14.1.1334} [Minecraft Forge] (forgeSrc-1.8-11.14.1.1334.jar) Unloaded->Constructed->Pre-initialized
      pirateslife{0.1} [Pirate's Life Mod] (bin) Unloaded->Constructed->Errored
      Baubles{1.1.1.0} [Baubles] (Baubles-1.8-1.1.1.0-deobf.jar) Unloaded->Constructed->Pre-initialized
      Loaded coremods (and transformers): 
      Launched Version: 1.8
      LWJGL: 2.9.1
      OpenGL: Intel(R) HD Graphics GL version 4.0.0 - Build 10.18.10.3366, Intel
      GL Caps: Using GL 1.3 multitexturing.
      Using GL 1.3 texture combiners.
      Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
      Shaders are available because OpenGL 2.1 is supported.
      VBOs are available because OpenGL 1.5 is supported.
      
      Using VBOs: No
      Is Modded: Definitely; Client brand changed to 'fml,forge'
      Type: Client (map_client.txt)
      Resource Packs: []
      Current Language: English (US)
      Profiler Position: N/A (disabled)
      [16:03:19] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:660]: #@!@# Game crashed! Crash report saved to: #@!@# D:\Users\Llulu\Downloads\Modding\1.8\forge-src\eclipse\.\crash-reports\crash-2015-07-24_16.03.18-client.txt
      Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
      
      
      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

        java.lang.NullPointerException
        at net.minecraftforge.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:163) ~[forgeSrc-1.8-11.14.1.1334.jar:?]
        Il y a un NPE, envoie ton code.

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

          public class ModEntity
          {
          public static Entity EntityChestProjectile;
          
          public static void createEntities() {
          registerEntity(EntityChestProjectile.class, "ChestProjectile", 0, 0);
          
             }
          
          public static void registerEntity(Class entityClass, String string, int bg, int fg)
          {
                 EntityRegistry.registerModEntity(entityClass, string, fg, fg, fg, fg, false);
          }
          }
          
          1 réponse Dernière réponse Répondre Citer 0
          • SCAREXS Hors-ligne
            SCAREX
            dernière édition par

            Comment ta fonction est-elle appelée ?

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

            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 utilises les mauvais arguments. Les bons arguments sont :
              https://github.com/MinecraftForge/MinecraftForge/blob/master/fml/src/main/java/net/minecraftforge/fml/common/registry/EntityRegistry.java#L141-L150

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

                En changeant les arguments j’ai ça par défaut:

                ​public class ModEntity
                {
                public static Entity EntityChestProjectile;
                
                public static void createEntities() {
                registerModEntity(EntityChestProjectile.class, null, 0, EntityChestProjectile, 0, 0, false);
                
                    }
                
                public static void registerModEntity(Class entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates)
                   {
                        EntityRegistry.registerModEntity(entityClass, entityName, updateFrequency, mod, updateFrequency, updateFrequency, sendsVelocityUpdates);
                }
                }
                

                Et en modifiant j’ai ça:

                ​public class ModEntity
                {
                public static Entity EntityChestProjectile;
                
                public static void createEntities() {
                registerModEntity(EntityChestProjectile.class, "EntityChestProjectile", 0, EntityChestProjectile, 0, 0, false);
                
                    }
                
                public static void registerModEntity(Class entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates)
                   {
                        EntityRegistry.registerModEntity(entityClass, entityName, updateFrequency, mod, updateFrequency, updateFrequency, sendsVelocityUpdates);
                }
                }
                

                Dans les deux cas toujours un crash. Et ma fonction est “createEntities”.

                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

                  Object mod -> tu es sensé mettre l’instance du mod ici. Et pour trackingRange et updateFrequency ce n’est pas une bonne idée de mettre 0.

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

                    C’est bon tout marche correctement, le rendu aussi, merci beaucoup, je met la balise résolu !

                    PS: Pour tous ceux qui veulent des explications plus détaillé pour chaque paramètre du registerModEntity et du globalEntity allez sur ce lien : http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/1437990-mod-entity-problem-updated-with-forge?page=8  (C’est en anglais et en version 1.4.7 mais les explications des paramètres sont toujours valide je pense. (voir le post de [size=smalllockNload147)]

                    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

                      C’est étrange ça.
                      Sur NHG on a :

                      EntityRegistry.registerModEntity(EntitySlimeBall.class, "SlimeBall", 225, instance, 120, 2, true);
                      
                      package fr.mcnanotech.nhg.common.entity;
                      
                      import net.minecraft.entity.EntityLivingBase;
                      import net.minecraft.entity.player.EntityPlayer;
                      import net.minecraft.entity.projectile.EntityThrowable;
                      import net.minecraft.potion.Potion;
                      import net.minecraft.potion.PotionEffect;
                      import net.minecraft.util.DamageSource;
                      import net.minecraft.util.EnumParticleTypes;
                      import net.minecraft.util.MovingObjectPosition;
                      import net.minecraft.world.World;
                      import fr.mcnanotech.nhg.common.CustomPlayerProperties;
                      import fr.mcnanotech.nhg.common.kit.Kit;
                      
                      public class EntitySlimeBall extends EntityThrowable
                      {
                      public EntitySlimeBall(World par1World)
                      {
                      super(par1World);
                      }
                      
                      public EntitySlimeBall(World par1World, EntityLivingBase par2EntityLivingBase)
                      {
                      super(par1World, par2EntityLivingBase);
                      }
                      
                      public EntitySlimeBall(World par1World, double par2, double par4, double par6)
                      {
                      super(par1World, par2, par4, par6);
                      }
                      
                      @Override
                      protected void onImpact(MovingObjectPosition movingObject)
                      {
                      if(movingObject.entityHit != null && !movingObject.entityHit.worldObj.isRemote)
                      {
                      movingObject.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), 0.0F);
                      if(movingObject.entityHit instanceof EntityLivingBase)
                      {
                      EntityLivingBase entity = (EntityLivingBase)movingObject.entityHit;
                      if(entity instanceof EntityPlayer)
                      {
                      EntityPlayer player = (EntityPlayer)entity;
                      CustomPlayerProperties prop = CustomPlayerProperties.get(player);
                      Kit kit = Kit.getKit(prop.getKitIndex());
                      if(kit != null && kit == Kit.slime)
                      {
                      player.heal((player.worldObj.rand.nextFloat() / 2));
                      }
                      else
                      {
                      player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200));
                      }
                      }
                      else
                      {
                      entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200));
                      }
                      }
                      }
                      
                      for(int i = 0; i < 8; ++i)
                      {
                      this.worldObj.spawnParticle(EnumParticleTypes.SLIME, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D);
                      }
                      
                      if(!this.worldObj.isRemote)
                      {
                      this.setDead();
                      }
                      }
                      }
                      
                      RenderingRegistry.registerEntityRenderingHandler(EntitySlimeBall.class, new RenderItemThrowable(Items.slime_ball, Minecraft.getMinecraft()));
                      
                      package fr.mcnanotech.nhg.client.render;
                      
                      import net.minecraft.client.Minecraft;
                      import net.minecraft.client.renderer.GlStateManager;
                      import net.minecraft.client.renderer.entity.Render;
                      import net.minecraft.client.renderer.entity.RenderItem;
                      import net.minecraft.client.renderer.entity.RenderManager;
                      import net.minecraft.client.renderer.texture.TextureMap;
                      import net.minecraft.entity.Entity;
                      import net.minecraft.item.Item;
                      import net.minecraft.item.ItemStack;
                      import net.minecraft.util.ResourceLocation;
                      import net.minecraftforge.fml.relauncher.Side;
                      import net.minecraftforge.fml.relauncher.SideOnly;
                      
                      @SideOnly(Side.CLIENT)
                      public class RenderItemThrowable extends Render
                      {
                      private Item item;
                      private int metadata;
                      private final RenderItem itemRenderer;
                      
                      public RenderItemThrowable(RenderManager rendermgr, Item item, int metadata, RenderItem renderItem)
                      {
                      super(rendermgr);
                      this.item = item;
                      this.metadata = metadata;
                      this.itemRenderer = renderItem;
                      }
                      
                      public RenderItemThrowable(Item item, Minecraft mc)
                      {
                      this(mc.getRenderManager(), item, 0, mc.getRenderItem());
                      }
                      
                      @Override
                      public void doRender(Entity entity, double x, double y, double z, float yaw, float partialTicks)
                      {
                      GlStateManager.pushMatrix();
                      GlStateManager.translate((float)x, (float)y, (float)z);
                      GlStateManager.enableRescaleNormal();
                      GlStateManager.scale(0.5F, 0.5F, 0.5F);
                      GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
                      GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
                      this.bindTexture(TextureMap.locationBlocksTexture);
                      this.itemRenderer.renderItemModel(new ItemStack(this.item, 1, this.metadata));
                      GlStateManager.disableRescaleNormal();
                      GlStateManager.popMatrix();
                      super.doRender(entity, x, y, z, yaw, partialTicks);
                      }
                      
                      @Override
                      protected ResourceLocation getEntityTexture(Entity entity)
                      {
                      return TextureMap.locationBlocksTexture;
                      }
                      }
                      

                      Et cela fonctionne très bien. (d’ailleurs il me semble que RenderItemThrowable n’est même pas nécessaire, on peut directement utilisé le rendu de la boule de neige).

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

                        @‘robin4002’:

                        C’est étrange ça.
                        Sur NHG on a :

                               EntityRegistry.registerModEntity(EntitySlimeBall.class, "SlimeBall", 225, instance, 120, 2, true);
                        
                        package fr.mcnanotech.nhg.common.entity;
                        
                        import net.minecraft.entity.EntityLivingBase;
                        import net.minecraft.entity.player.EntityPlayer;
                        import net.minecraft.entity.projectile.EntityThrowable;
                        import net.minecraft.potion.Potion;
                        import net.minecraft.potion.PotionEffect;
                        import net.minecraft.util.DamageSource;
                        import net.minecraft.util.EnumParticleTypes;
                        import net.minecraft.util.MovingObjectPosition;
                        import net.minecraft.world.World;
                        import fr.mcnanotech.nhg.common.CustomPlayerProperties;
                        import fr.mcnanotech.nhg.common.kit.Kit;
                        
                        public class EntitySlimeBall extends EntityThrowable
                        {
                           public EntitySlimeBall(World par1World)
                           {
                               super(par1World);
                           }
                        
                           public EntitySlimeBall(World par1World, EntityLivingBase par2EntityLivingBase)
                           {
                               super(par1World, par2EntityLivingBase);
                           }
                        
                           public EntitySlimeBall(World par1World, double par2, double par4, double par6)
                           {
                               super(par1World, par2, par4, par6);
                           }
                        
                           @Override
                           protected void onImpact(MovingObjectPosition movingObject)
                           {
                               if(movingObject.entityHit != null && !movingObject.entityHit.worldObj.isRemote)
                               {
                                   movingObject.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), 0.0F);
                                   if(movingObject.entityHit instanceof EntityLivingBase)
                                   {
                                       EntityLivingBase entity = (EntityLivingBase)movingObject.entityHit;
                                       if(entity instanceof EntityPlayer)
                                       {
                                           EntityPlayer player = (EntityPlayer)entity;
                                           CustomPlayerProperties prop = CustomPlayerProperties.get(player);
                                           Kit kit = Kit.getKit(prop.getKitIndex());
                                           if(kit != null && kit == Kit.slime)
                                           {
                                               player.heal((player.worldObj.rand.nextFloat() / 2));
                                           }
                                           else
                                           {
                                               player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200));
                                           }
                                       }
                                       else
                                       {
                                           entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 200));
                                       }
                                   }
                               }
                        
                               for(int i = 0; i < 8; ++i)
                               {
                                   this.worldObj.spawnParticle(EnumParticleTypes.SLIME, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D);
                               }
                        
                               if(!this.worldObj.isRemote)
                               {
                                   this.setDead();
                               }
                           }
                        }
                        
                               RenderingRegistry.registerEntityRenderingHandler(EntitySlimeBall.class, new RenderItemThrowable(Items.slime_ball, Minecraft.getMinecraft()));
                        
                        package fr.mcnanotech.nhg.client.render;
                        
                        import net.minecraft.client.Minecraft;
                        import net.minecraft.client.renderer.GlStateManager;
                        import net.minecraft.client.renderer.entity.Render;
                        import net.minecraft.client.renderer.entity.RenderItem;
                        import net.minecraft.client.renderer.entity.RenderManager;
                        import net.minecraft.client.renderer.texture.TextureMap;
                        import net.minecraft.entity.Entity;
                        import net.minecraft.item.Item;
                        import net.minecraft.item.ItemStack;
                        import net.minecraft.util.ResourceLocation;
                        import net.minecraftforge.fml.relauncher.Side;
                        import net.minecraftforge.fml.relauncher.SideOnly;
                        
                        @SideOnly(Side.CLIENT)
                        public class RenderItemThrowable extends Render
                        {
                           private Item item;
                           private int metadata;
                           private final RenderItem itemRenderer;
                        
                           public RenderItemThrowable(RenderManager rendermgr, Item item, int metadata, RenderItem renderItem)
                           {
                               super(rendermgr);
                               this.item = item;
                               this.metadata = metadata;
                               this.itemRenderer = renderItem;
                           }
                        
                           public RenderItemThrowable(Item item, Minecraft mc)
                           {
                               this(mc.getRenderManager(), item, 0, mc.getRenderItem());
                           }
                        
                           @Override
                           public void doRender(Entity entity, double x, double y, double z, float yaw, float partialTicks)
                           {
                               GlStateManager.pushMatrix();
                               GlStateManager.translate((float)x, (float)y, (float)z);
                               GlStateManager.enableRescaleNormal();
                               GlStateManager.scale(0.5F, 0.5F, 0.5F);
                               GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
                               GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
                               this.bindTexture(TextureMap.locationBlocksTexture);
                               this.itemRenderer.renderItemModel(new ItemStack(this.item, 1, this.metadata));
                               GlStateManager.disableRescaleNormal();
                               GlStateManager.popMatrix();
                               super.doRender(entity, x, y, z, yaw, partialTicks);
                           }
                        
                           @Override
                           protected ResourceLocation getEntityTexture(Entity entity)
                           {
                               return TextureMap.locationBlocksTexture;
                           }
                        }
                        

                        Et cela fonctionne très bien. (d’ailleurs il me semble que RenderItemThrowable n’est même pas nécessaire, on peut directement utilisé le rendu de la boule de neige).

                        J’ai édit mon post sans voir ton message désolée, tout marche il fallait juste que je mette sur true (c’était encore sur false). Merci encore 😄
                        PS: Oui on peut directement utilisé le rendu de la boule de neige je confirme (c’est ce que j’ai fais).

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB