MFF

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

    Problèmes compatibilité ? avec 2 TileEntities [1.12.2]

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    4 Messages 2 Publieurs 272 Vues 2 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.
    • Flow ArgF Hors-ligne
      Flow Arg Moddeurs confirmés
      dernière édition par

      Bonjour à tous et à toutes,

      J’ai un soucis assez embêtant :
      Quand j’essaye d’ouvrir mon coffre custom, tout se passe bien, mais quand je veux ouvrir mon four custom, j’ai le droit à une jolie erreur :

      [19:48:41] [Server thread/FATAL] [minecraft/MinecraftServer]: Error executing task
      java.util.concurrent.ExecutionException: java.lang.ClassCastException: fr.flowarg.gunsofchickens.blocks.tileentities.TileEntityChickenFurnace cannot be cast to fr.flowarg.gunsofchickens.blocks.tileentities.TileEntityChickenChest
      	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_221]
      	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_221]
      	at net.minecraft.util.Util.runTask(Util.java:54) [Util.class:?]
      	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:798) [MinecraftServer.class:?]
      	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:743) [MinecraftServer.class:?]
      	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?]
      	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592) [MinecraftServer.class:?]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_221]
      Caused by: java.lang.ClassCastException: fr.flowarg.gunsofchickens.blocks.tileentities.TileEntityChickenFurnace cannot be cast to fr.flowarg.gunsofchickens.blocks.tileentities.TileEntityChickenChest
      	at fr.flowarg.gunsofchickens.utils.handlers.GUIHandler.getServerGuiElement(GUIHandler.java:20) ~[GUIHandler.class:?]
      	at net.minecraftforge.fml.common.network.NetworkRegistry.getRemoteGuiContainer(NetworkRegistry.java:253) ~[NetworkRegistry.class:?]
      	at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:88) ~[FMLNetworkHandler.class:?]
      	at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2809) ~[EntityPlayer.class:?]
      	at fr.flowarg.gunsofchickens.blocks.machines.chickenfurnace.ChickenFurnace.onBlockActivated(ChickenFurnace.java:59) ~[ChickenFurnace.class:?]
      	at net.minecraft.server.management.PlayerInteractionManager.processRightClickBlock(PlayerInteractionManager.java:475) ~[PlayerInteractionManager.class:?]
      	at net.minecraft.network.NetHandlerPlayServer.processTryUseItemOnBlock(NetHandlerPlayServer.java:769) ~[NetHandlerPlayServer.class:?]
      	at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:68) ~[CPacketPlayerTryUseItemOnBlock.class:?]
      	at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:13) ~[CPacketPlayerTryUseItemOnBlock.class:?]
      	at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:21) ~[PacketThreadUtil$1.class:?]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_221]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_221]
      	at net.minecraft.util.Util.runTask(Util.java:53) ~[Util.class:?]
      	... 5 more
      

      (j’avais regardé un topic sur ce forum mais le soucis ne venait pas de la et était un peu différent).

      Mais, quand j’échange je passe de :

      public class GUIHandler implements IGuiHandler
      {
          @Override
          public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
          {
              if (ID == ConfigHandler.GUI_CHICKEN_CHEST) return new ContainerChickenChest(player.inventory, (TileEntityChickenChest)world.getTileEntity(new BlockPos(x, y, z)));
              if (ID == ConfigHandler.GUI_CHICKEN_FURNACE) return new ContainerChickenFurnace(player.inventory, (TileEntityChickenFurnace)world.getTileEntity(new BlockPos(x, y, z)));
              return null;
          }
      
          @Override
          public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
          {
              if (ID == ConfigHandler.GUI_CHICKEN_CHEST) return new GUIChickenChest(player.inventory, (TileEntityChickenChest)world.getTileEntity(new BlockPos(x, y, z)));
              if (ID == ConfigHandler.GUI_CHICKEN_FURNACE) return new GUIChickenFurnace(player.inventory, (TileEntityChickenFurnace)world.getTileEntity(new BlockPos(x, y, z)));
              return null;
          }
      }
      

      à :

      public class GUIHandler implements IGuiHandler
      {
          @Override
          public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
          {
              if (ID == ConfigHandler.GUI_CHICKEN_FURNACE) return new ContainerChickenFurnace(player.inventory, (TileEntityChickenFurnace)world.getTileEntity(new BlockPos(x, y, z)));
              if (ID == ConfigHandler.GUI_CHICKEN_CHEST) return new ContainerChickenChest(player.inventory, (TileEntityChickenChest)world.getTileEntity(new BlockPos(x, y, z)));
              return null;
          }
      
          @Override
          public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
          {
              if (ID == ConfigHandler.GUI_CHICKEN_FURNACE) return new GUIChickenFurnace(player.inventory, (TileEntityChickenFurnace)world.getTileEntity(new BlockPos(x, y, z)));
              if (ID == ConfigHandler.GUI_CHICKEN_CHEST) return new GUIChickenChest(player.inventory, (TileEntityChickenChest)world.getTileEntity(new BlockPos(x, y, z)));
              return null;
          }
      }
      

      L’erreur s’inverse, c’est maintenant le coffre qui ne fonctionne plus et le four qui fonctionne !!! Je ne sais que penser, voici tout de même les classes des 2 te.
      https://pastebin.com/CJZr2Zbm
      https://pastebin.com/gEiwsXsF

      En espérant qu’il y est une solution, merci d’avance 🙂 !

      Flow

      Mon GitHub
      Mon repo Maven
      Mon Updater
      Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

      1 réponse Dernière réponse Répondre Citer 0
      • Flow ArgF Hors-ligne
        Flow Arg Moddeurs confirmés
        dernière édition par

        En fait, je suis un gros débile, dans mon fichier de configuration, les ids sont modifibales, et les id par défauts… étaient les mêmes 🤦 !

        Merci tout de même pour tes réponses ! A l’avenir, je ferais plus attention 😉 !

        Flow

        Mon GitHub
        Mon repo Maven
        Mon Updater
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points 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

          Bonsoir,

          Tu as surement mis le même id dans les fonctions openGui des blocs.
          Après l’idéal c’est de vérifier par rapport au tile entity.

          Flow ArgF 1 réponse Dernière réponse Répondre Citer 0
          • Flow ArgF Hors-ligne
            Flow Arg Moddeurs confirmés @robin4002
            dernière édition par

            @robin4002 Salut, merci pour cette réponse rapide 😉

            Tu parles de ceci :

                @Override
                public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
                {
                    if (!worldIn.isRemote)
                    {
                        playerIn.openGui(Main.instance, ConfigHandler.GUI_CHICKEN_FURNACE, worldIn, pos.getX(), pos.getY(), pos.getZ());
                    }
            
                    return true;
                }
            

            ?
            Si c’est ça, elles sont bien différentes et les ID sont de 1 et 2.

            Flow 🙂

            Mon GitHub
            Mon repo Maven
            Mon Updater
            Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

            1 réponse Dernière réponse Répondre Citer 0
            • Flow ArgF Hors-ligne
              Flow Arg Moddeurs confirmés
              dernière édition par

              En fait, je suis un gros débile, dans mon fichier de configuration, les ids sont modifibales, et les id par défauts… étaient les mêmes 🤦 !

              Merci tout de même pour tes réponses ! A l’avenir, je ferais plus attention 😉 !

              Flow

              Mon GitHub
              Mon repo Maven
              Mon Updater
              Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

              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