MFF

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

    Crash lié à un TileEntity

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    15 Messages 3 Publieurs 2.0k 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.
    • FolganskyF Hors-ligne
      Folgansky Correcteurs
      dernière édition par

      Une nouvelle sorte de crash apparemment

      –-- Minecraft Crash Report ----
      // Don't be sad. I'll do better next time, I promise!
      
      Time: 19/04/16 13:59
      Description: Ticking Particle
      
      java.lang.ClassCastException: fr.folgansky.powerdeco.client.TileEntityFauteuil cannot be cast to com.mia.props.common.TileProps
         at com.mia.props.common.TileFake.getMaster(TileFake.java:42)
         at com.mia.props.common.BlockFake.func_149743_a(BlockFake.java:76)
         at net.minecraft.world.World.func_72945_a(World.java:1437)
         at net.minecraft.entity.Entity.func_70091_d(Entity.java:596)
         at net.minecraft.client.particle.EntityFX.func_70071_h_(SourceFile:117)
         at net.minecraft.client.particle.EffectRenderer.func_78868_a(EffectRenderer.java:77)
         at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2055)
         at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973)
         at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
         at net.minecraft.client.main.Main.main(SourceFile:148)
         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)
      
      A detailed walkthrough of the error, its code path and all known details is as follows:
      ---------------------------------------------------------------------------------------
      
      -- Head --
      Stacktrace:
         at com.mia.props.common.TileFake.getMaster(TileFake.java:42)
         at com.mia.props.common.BlockFake.func_149743_a(BlockFake.java:76)
         at net.minecraft.world.World.func_72945_a(World.java:1437)
         at net.minecraft.entity.Entity.func_70091_d(Entity.java:596)
         at net.minecraft.client.particle.EntityFX.func_70071_h_(SourceFile:117)
      
      -- Particle being ticked --
      Details:
         Particle: EntityDiggingFX, Pos (289.125,75.875,1130.125), RGBA (0.6,0.6,0.6,1.0), Age 1
         Particle Type: TERRAIN_TEXTURE
      Stacktrace:
         at net.minecraft.client.particle.EffectRenderer.func_78868_a(EffectRenderer.java:77)
      
      -- Affected level --
      Details:
         Level name: MpServer
         All players: 1 total; [EntityClientPlayerMP['_Bart'/32705, l='MpServer', x=289,70, y=76,62, z=1128,09]]
         Chunk stats: MultiplayerChunkCache: 380, 380
         Level seed: 0
         Level generator: ID 01 - flat, ver 0\. Features enabled: false
         Level generator options:
         Level spawn location: World: (431,75,1124), Chunk: (at 15,4,4 in 26,70; contains blocks 416,0,1120 to 431,255,1135), Region: (0,2; contains chunks 0,64 to 31,95, blocks 0,0,1024 to 511,255,1535)
         Level time: 284162084 game time, 285800112 day time
         Level dimension: 0
         Level storage version: 0x00000 - Unknown?
         Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
         Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
         Forced entities: 27 total; [EntityClientPlayerMP['_Bart'/32705, l='MpServer', x=289,70, y=76,62, z=1128,09], EntityMobGangster['Gangster à  batte cloutée'/32768, l='MpServer', x=280,31, y=23,00, z=1146,69], EntityCustomNpc['Miguel'/32769, l='MpServer', x=283,53, y=75,00, z=1124,03], EntityCustomNpc['Dr. Cametouche'/32770, l='MpServer', x=270,50, y=75,00, z=1124,50], EntityCustomNpc['Dr. Ray'/32706, l='MpServer', x=298,50, y=82,00, z=1126,50], EntityMobGangster3['Costard'/32771, l='MpServer', x=290,59, y=82,00, z=1157,34], EntityMobGangster3['Costard'/32772, l='MpServer', x=291,31, y=82,00, z=1160,69], EntityMobGangster3['Costard'/32773, l='MpServer', x=288,09, y=82,00, z=1157,96], EntityMobGangster3['Costard'/32774, l='MpServer', x=281,53, y=82,00, z=1160,66], EntityCustomNpc['Dr. Chang'/32775, l='MpServer', x=283,50, y=75,00, z=1092,50], EntityCustomNpc['Cpt. Kineth'/32776, l='MpServer', x=282,50, y=75,50, z=1098,47], EntityCustomNpc['Alka''/32777, l='MpServer', x=279,50, y=82,00, z=1102,50], EntityMobGangster['Gangster à  batte cloutée'/32778, l='MpServer', x=255,50, y=46,00, z=1129,31], EntityCustomNpc['Lily'/32780, l='MpServer', x=280,50, y=75,50, z=1085,50], EntityCustomNpc['Agnès'/32784, l='MpServer', x=284,53, y=82,00, z=1119,72], EntityCustomNpc['Dr. Bill'/32786, l='MpServer', x=290,50, y=82,00, z=1063,50], EntityCustomNpc['Jimmy'/32758, l='MpServer', x=273,50, y=76,00, z=1120,50], EntityMobGangster3['Costard'/32310, l='MpServer', x=305,25, y=22,00, z=1147,31], EntityMobGangster['Gangster à  batte cloutée'/32759, l='MpServer', x=275,22, y=127,00, z=1129,22], EntityMobGangster['Gangster à  batte cloutée'/32760, l='MpServer', x=284,09, y=127,00, z=1126,16], EntityMobGangster['Gangster à  batte cloutée'/32761, l='MpServer', x=276,28, y=127,00, z=1126,63], EntityMobGangster2['Gangster fou'/32762, l='MpServer', x=278,84, y=122,00, z=1129,72], EntityMobGangster2['Gangster fou'/32763, l='MpServer', x=276,78, y=122,00, z=1123,91], EntityMobGangster2['Gangster fou'/32764, l='MpServer', x=280,16, y=122,00, z=1125,72], EntityMobGangster['Gangster à  batte cloutée'/32765, l='MpServer', x=281,09, y=127,00, z=1123,16], EntityCustomNpc['Jimmy'/32766, l='MpServer', x=296,50, y=76,00, z=1116,50], EntityCustomNpc['Dr. Willis'/32767, l='MpServer', x=296,50, y=75,00, z=1118,50]]
         Retry entities: 0 total; []
         Server brand: cauldron,craftbukkit,mcpc,fml,forge
         Server type: Non-integrated multiplayer server
      Stacktrace:
         at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:373)
         at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2444)
         at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:919)
         at net.minecraft.client.main.Main.main(SourceFile:148)
         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)
      
      – System Details --
      Details:
         Minecraft Version: 1.7.10
         Operating System: Windows 10 (amd64) version 10.0
         Java Version: 1.8.0_77, Oracle Corporation
         Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
         Memory: 556921784 bytes (531 MB) / 1208287232 bytes (1152 MB) up to 2112618496 bytes (2014 MB)
         JVM Flags: 6 total; -Xms512M -Xmx2048M -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy
         AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
         IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
         FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1614 Optifine OptiFine_1.7.10_HD_U_C1 20 mods loaded, 20 mods active
         States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
         UCHIJA  mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
         UCHIJA  FML{7.10.99.99} [Forge Mod Loader] (forge-1.7.10-10.13.4.1614-1.7.10.jar)
         UCHIJA  Forge{10.13.4.1614} [Minecraft Forge] (forge-1.7.10-10.13.4.1614-1.7.10.jar)
         UCHIJA  malisiscore{1.7.10-0.10.5+unknown-b0.git-unknown} [Malisis Core] (malisiscore-1.7.10-0.10.5.jar)
         UCHIJA  CustomMainMenu{1.9.2} [Custom Main Menu] (CustomMainMenu-MC1.7.10-1.9.2.jar)
         UCHIJA  customnpcs{1.7.10d} [CustomNpcs] (CustomNPCs_1.7.10d(21feb16).jar)
         UCHIJA  PTRModelLib{1.0.0} [PTRModelLib] (Decocraft-2.1.1_1.7.10.jar)
         UCHIJA  props{2.1.1} [Decocraft] (Decocraft-2.1.1_1.7.10.jar)
         UCHIJA  DragonsRadioMod{1.7.1} [Dragon's Radio Mod] (Dragon's Radio Mod-MC1.7.10-1.7.1.jar)
         UCHIJA  erc{1.10} [Ex Roller Coaster] (exRollerCoaster-1.10t.zip)
         UCHIJA  flansmod{4.10.0} [Flan's Mod] (Flans Mod-1.7.10-4.10.0.jar)
         UCHIJA  malisisdoors{1.7.10-1.4.3} [Malisis' Doors] (malisisdoors-1.7.10-1.4.3.jar)
         UCHIJA  modpg{2.5.6} [Mod Power Game] (ModPg-2.5.6.jar)
         UCHIJA  pda{1.7.10} [Plus d'aliments] (Plus daliments-1.7.10 v7.jar)
         UCHIJA  modonepiece{1.0.0} [Mod One Piece] (PowerDeco 1.0.0.jar)
         UCHIJA  modpowerdeco{1.0.0} [Mod Power Deco] (PowerDeco 1.0.0.jar)
         UCHIJA  modpg2{1.2.8} [Mod Power Game 2] (PowerGame 1.2.8.jar)
         UCHIJA  ReiMinimap{1.7.10} [Rei's Minimap] (Reis-Minimap-Mod-1.7.10.jar)
         UCHIJA  ResourceLoader{1.2} [Resource Loader] (ResourceLoader-1.2.jar)
         UCHIJA  tts{0.6} [Tube Transport System] (TubeTransportSystem_1.7.10-0.6.jar)
         GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 364.72' Renderer: 'GeForce GT 740/PCIe/SSE2'
         Launched Version: 1.7.10
         LWJGL: 2.9.1
         OpenGL: GeForce GT 740/PCIe/SSE2 GL version 4.5.0 NVIDIA 364.72, NVIDIA Corporation
         GL Caps: Using GL 1.3 multitexturing.
      Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
      Anisotropic filtering is supported and maximum anisotropy is 16.
      Shaders are available because OpenGL 2.1 is supported.
      
         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)
         Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
         Anisotropic Filtering: Off (1)
      
      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’origine du problème est identique.

        1 réponse Dernière réponse Répondre Citer 0
        • FolganskyF Hors-ligne
          Folgansky Correcteurs
          dernière édition par

          D’acc, j’étais pris d’un doute.

          Du coup si je change certains noms de classes ça peut aider à résoudre le problème?

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

            Si tu parles des classes dans TON mod et non dans celui qui cause le crash, alors oui essaie, ça résoudra sûrement le prob. Sinon peut-être qu’avec l’accord de l’auteur du mod causant ton crash, tu pourras avoir les sources, UNIQUEMENT dans le but de modifier le nom des classes, ou alors peut-être qu’avec la reflexion tu peux faire quelque chose. Je sais 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

              Non.
              Tu ne peux pas résoudre le problème.
              Le problème vient de l’autre mod qui tente de cast ce qu’il ne devrait pas cast.

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

                Ok j’ai compris 🙂

                Bon bah à moins de demander les sources au créateur, je ne vois pas d’autres solutions (peut-être la reflexion, me faudrait un avis là dessus ?)…

                Héé psst, ici… Sinon décompile le mod et sers toi des mappings pour modsifier ce que tu veux du mod 😃 Pas sûr que ce soit très légal légal étant donné que ton serveur n’est sûrement pas privé mais disponible au grand public …

                1 réponse Dernière réponse Répondre Citer 0
                • FolganskyF Hors-ligne
                  Folgansky Correcteurs
                  dernière édition par

                  Ouki, bah le dév du mod en question est en relation avec un serveur avec qui j’entretiens de bonnes relations, ça sert à ça les réseaux

                  Je ferai remonter l’info.

                  (Comme je ne comprend pas tous les mécanismes des cast, j’oublie l’idée de changer le nom de mes tileEntity si on me dit que cela n’aura aucun effet, ça m’épargne le fait de replacer tous les blocs)

                  En vous remerciant les gars.

                  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

                    Le cast sert à excéder aux fonctions d’une classe fille.

                    Par exemple tu as une fonction avec Entity en argument or toi tu as besoin de la fonction getCurrentEquipedItem de EntityPlayer.
                    Dans ce cas tu cast :

                    EntityPlayer player = (EntityPlayer)entity.

                    Le problème c’est que entity peut être n’importe quel entité. Ça peut être un joueur tout comme ça peut être un zombie ou une flèche.
                    Si c’est un joueur ça va passer sans problème, dans les autres cas cela va causer un ClassCastException.

                    D’où l’importance de faire un if(entity instanceof EntityPlayer) avant de cast pour exclure les cas où l’entité n’est pas un joueur.

                    1 réponse Dernière réponse Répondre Citer 0
                    • FolganskyF Hors-ligne
                      Folgansky Correcteurs
                      dernière édition par

                      Waow, quelle pédagogie Robin merci, j’ai reçu deux leçons de java aujourd’hui, mon quota est remplis pour la semaine x]

                      Il s’avère que le mod qui pose problème est decocraft et non pas CustomNpc, elle est au courant depuis normalement.
                      Et c’est un peu un comble car si je me remet à faire des rendus 3D c’est justement pour retirer ce mod (trop gourmand pour ce qu’on en fait)

                      Du coup, merci pour ce sujet qui a fais plus jouer des contacts que du modding x] (et la parenthèse sur le cast)

                      Edit:

                      D’ailleurs pour savoir si j’ai bien compris, cast sans faire l’instanceof c’est comme scier la branche sur laquelle on est assis?
                      (Ouais je m’imagine l’arborescence des classes comme étant un arbre, on fait comme on peut pour associer les concepts)

                      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 forcement. Dans certaines situations on est sûr que le cast fonctionnera à chaque fois.

                        Justement avec les blocs et les tile entity. Si ton bloc à un tile entity associer, en général le tile entity qui se trouve aux coordonnées de ton bloc sera toujours celui-ci. Or la fonction getTileEntity de world renvoie un TileEntity et non TileEntityQuelqueChose qui correspond au tile entity de ton bloc. Donc cast sans check l’instance est utile et normalement sans risque.

                        Le cas ici présent est plus délicat car decocraft semble get les tile entity voisin (x + 1 ou - 1, z + 1 ou - 1).

                        Enfin, même dans le cas où on get le tile entity qui se trouve sur le bloc, j’ai déjà vu des ClassCastException alors que ce n’est pas sensé arriver (sûrement car le tile entity ne s’était pas retiré quand le bloc a été cassé et l’ajout d’un autre bloc à la place a causé l’erreur). Donc dans cette situation on n’est pas à l’abri d’un problème, c’est bien pour ça que dans les tutoriels j’utilise toujours un instanceof.

                        Mais il existe réellement des situations où on peut cast sans instanceof.

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB