• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Problèmes avec un bloc de circuit redstone

    1.8.x
    1.8
    2
    12
    1710
    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.
    • Snowy_1803
      Snowy_1803 dernière édition par

      Bonjour,
      L’éditeur est bugué, j’ai dû tout réécrire.
      Alors, j’ai créé des bottes qui, quand on marche sur de la redstone, l’active. Pour cela, j’ai créé un bloc qui extends BlockRedstoneWire, et qui override isProvidingWeakPower pour retourner 15. Mais j’ai plusieurs problèmes :
      1. Le modèle ne fonctionne pas, j’ai pris celui de la redstone où j’ai modifier le nom.
      2. Je veux que il  n’y est pas d’item associé au bloc, comme pour le feu et l’eau.
      3. Le bloc n’est pas enlevé après que je sois sorti du bloc :

      
      private static ArrayList <blockpos>boltwires = new ArrayList<blockpos>();
      private static Object boltwiresLock = new Object();
      
      @SubscribeEvent
       public void onWorldTick(WorldTickEvent e) {
        if(!e.world.isRemote && e.phase == Phase.START) {
         synchronized (boltwiresLock) {
          ArrayList <blockpos>toRemove = new ArrayList<blockpos>();
          for(BlockPos pos : boltwires) {
      
           if(e.world.getBlockState(pos).getBlock() == ModElemental.blockBoltWire) {
            ((BoltWireBlock) ModElemental.blockBoltWire).updateBlock(e.world, pos, e.world.getBlockState(pos));
           } else {
            toRemove.add(pos);
            System.out.println("Block at " + pos + " deleted");
           }
          }
          for(BlockPos pos : toRemove) {
           boltwires.remove(pos);
          }
         }
        }
      

      la position des blocs est enregistré après que j’en pose un dans l’arraylist “boltwires”.
      Mais à chaque fois que je marche sur de la redstone, dans le log il y a “Block at […] deleted”. Le if n’est jamais valide.</blockpos></blockpos></blockpos></blockpos>

      Moddeur 1.8

      Développeur Java

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Salut,

        1. car c’est géré dans le json
        2. les blocs cachés sont hardcodé, je ne suis pas sûr qu’on puisse cacher le bloc d’un mod
        3. Normal, tu le retires de la liste mais tu ne fais jamais de world.setBlockToAir(pos);
        1 réponse Dernière réponse Répondre Citer 0
        • Snowy_1803
          Snowy_1803 dernière édition par

          1)J’ai pris le blockstates/redstone_wire.json (du minecraft.jar), copié dans le blockstates/boltwire.json (du mod), modifié les “redstone” en “elementalmod:blotwire” avec CTRL+F dans npp, et copié tous les modèles utilisés dans mon mod en modifiant leur nom. Ducoup il est censé avoir la même texture que la redstone de base. Mais c’est un carré noir et violet.
          2) Il fallait juste mettre le paramètre itemBlock à null dans le GameRegistry.registerBlock
          3) En fait, à chaque tick, je vérifie si le bloc est toujours un boltWire si oui, dans la fonction updateBlock, je vérifie si il y a un joueur avec mes bottes dessus, si non, je le remplace par de la redstone. Cette fonction fonctionne bien. Si le bloc n’est pas un boltwire, je ne ferais plus de vérifications dessus. Je n’ai pas besoin de faire un World.setBlockToAir(pos)…

          Moddeur 1.8

          Développeur Java

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            1. Regardes s’il y a quelque chose dans les logs ?
            2. ok
            3. Je ne comprends pas l’intérêt de l’event alors.
            1 réponse Dernière réponse Répondre Citer 0
            • Snowy_1803
              Snowy_1803 dernière édition par

              1. Il y a écrit qu’il ne trouve pas les modèles avec des différentes “power”
              2. L’event est la base de tout : Je vérifie à chaque tick.

              Moddeur 1.8

              Développeur Java

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                Il y a déjà une fonction dans la classe bloc appelé régulièrement.
                Tu peux envoyer les logs complet et ton fichier json ?

                1 réponse Dernière réponse Répondre Citer 0
                • Snowy_1803
                  Snowy_1803 dernière édition par

                  Il y en a une qui ne fonctionne pas et l’autre n’est pas appelée assez souvent.
                  J’enverrais les logs et le JSON demain matin.

                  Moddeur 1.8

                  Développeur Java

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                    tile entity -> implements IUpdatePlayerList -> fonction updateTick dans ce cas.

                    1 réponse Dernière réponse Répondre Citer 0
                    • Snowy_1803
                      Snowy_1803 dernière édition par

                      1. Alors, d’abord mon log : http://pastebin.com/mR2RwEbW (C’est celui du dossier log, le tout ne rentrait pas dans la console et puis du coup il y a tous les debug)
                        Et mon JSON (blockstates) :
                      {
                          "variants": {
                              "east=none,north=none,south=none,west=none": { "model": "elementalmod:boltwire_none" },
                      
                              "east=none,north=side,south=none,west=none": { "model": "elementalmod:boltwire_n" },
                              "east=none,north=none,south=side,west=none": { "model": "elementalmod:boltwire_n" },
                              "east=side,north=none,south=none,west=none": { "model": "elementalmod:boltwire_n", "y": 90 },
                              "east=none,north=none,south=none,west=side": { "model": "elementalmod:boltwire_n", "y": 90 },
                      
                              "east=none,north=up,south=none,west=none": { "model": "elementalmod:boltwire_uns" },
                              "east=none,north=none,south=up,west=none": { "model": "elementalmod:boltwire_uns", "y": 180, "uvlock": true },
                              "east=up,north=none,south=none,west=none": { "model": "elementalmod:boltwire_uew" },
                              "east=none,north=none,south=none,west=up": { "model": "elementalmod:boltwire_uew", "y": 180, "uvlock": true },
                      
                              "east=side,north=side,south=none,west=none":   { "model": "elementalmod:boltwire_ne", "uvlock": true },
                              "east=side,north=up,south=none,west=none":  { "model": "elementalmod:boltwire_une", "uvlock": true },
                              "east=up,north=side,south=none,west=none":  { "model": "elementalmod:boltwire_nue", "uvlock": true },
                              "east=up,north=up,south=none,west=none": { "model": "elementalmod:boltwire_unue", "uvlock": true },
                      
                              "east=side,north=none,south=side,west=none":   { "model": "elementalmod:boltwire_ne", "y": 90, "uvlock": true },
                              "east=up,north=none,south=side,west=none":  { "model": "elementalmod:boltwire_une", "y": 90, "uvlock": true },
                              "east=side,north=none,south=up,west=none":  { "model": "elementalmod:boltwire_nue", "y": 90, "uvlock": true },
                              "east=up,north=none,south=up,west=none": { "model": "elementalmod:boltwire_unue", "y": 90, "uvlock": true },
                      
                              "east=none,north=none,south=side,west=side":   { "model": "elementalmod:boltwire_ne", "y": 180, "uvlock": true },
                              "east=none,north=none,south=up,west=side":  { "model": "elementalmod:boltwire_une", "y": 180, "uvlock": true },
                              "east=none,north=none,south=side,west=up":  { "model": "elementalmod:boltwire_nue", "y": 180, "uvlock": true },
                              "east=none,north=none,south=up,west=up": { "model": "elementalmod:boltwire_unue", "y": 180, "uvlock": true },
                      
                              "east=none,north=side,south=none,west=side":   { "model": "elementalmod:boltwire_ne", "y": 270, "uvlock": true },
                              "east=none,north=side,south=none,west=up":  { "model": "elementalmod:boltwire_une", "y": 270, "uvlock": true },
                              "east=none,north=up,south=none,west=side":  { "model": "elementalmod:boltwire_nue", "y": 270, "uvlock": true },
                              "east=none,north=up,south=none,west=up": { "model": "elementalmod:boltwire_unue", "y": 270, "uvlock": true },
                      
                              "east=none,north=side,south=side,west=none":  { "model": "elementalmod:boltwire_n" },
                              "east=none,north=up,south=side,west=none": { "model": "elementalmod:boltwire_uns" },
                              "east=none,north=side,south=up,west=none": { "model": "elementalmod:boltwire_uns", "y": 180 },
                              "east=none,north=up,south=up,west=none": { "model": "elementalmod:boltwire_unus" },
                      
                              "east=side,north=none,south=none,west=side":  { "model": "elementalmod:boltwire_n", "y": 90 },
                              "east=up,north=none,south=none,west=side": { "model": "elementalmod:boltwire_uns", "y": 90 },
                              "east=side,north=none,south=none,west=up": { "model": "elementalmod:boltwire_uns", "y": 270 },
                              "east=up,north=none,south=none,west=up": { "model": "elementalmod:boltwire_ueuw" },
                      
                              "east=side,north=side,south=side,west=none":    { "model": "elementalmod:boltwire_nse", "uvlock": true },
                              "east=side,north=up,south=side,west=none":   { "model": "elementalmod:boltwire_unse", "uvlock": true },
                              "east=side,north=side,south=up,west=none":   { "model": "elementalmod:boltwire_nuse", "uvlock": true },
                              "east=up,north=side,south=side,west=none":   { "model": "elementalmod:boltwire_nsue", "uvlock": true },
                              "east=up,north=side,south=up,west=none":  { "model": "elementalmod:boltwire_nusue", "uvlock": true },
                              "east=side,north=up,south=up,west=none":  { "model": "elementalmod:boltwire_unuse", "uvlock": true },
                              "east=up,north=up,south=side,west=none":  { "model": "elementalmod:boltwire_unsue", "uvlock": true },
                              "east=up,north=up,south=up,west=none": { "model": "elementalmod:boltwire_unusue", "uvlock": true },
                      
                              "east=side,north=none,south=side,west=side":    { "model": "elementalmod:boltwire_nse", "y": 90, "uvlock": true },
                              "east=up,north=none,south=side,west=side":   { "model": "elementalmod:boltwire_unse", "y": 90, "uvlock": true },
                              "east=side,north=none,south=side,west=up":   { "model": "elementalmod:boltwire_nuse", "y": 90, "uvlock": true },
                              "east=side,north=none,south=up,west=side":   { "model": "elementalmod:boltwire_nsue", "y": 90, "uvlock": true },
                              "east=side,north=none,south=up,west=up":  { "model": "elementalmod:boltwire_nusue", "y": 90, "uvlock": true },
                              "east=up,north=none,south=side,west=up":  { "model": "elementalmod:boltwire_unuse", "y": 90, "uvlock": true },
                              "east=up,north=none,south=up,west=side":  { "model": "elementalmod:boltwire_unsue", "y": 90, "uvlock": true },
                              "east=up,north=none,south=up,west=up": { "model": "elementalmod:boltwire_unusue", "y": 90, "uvlock": true },
                      
                              "east=none,north=side,south=side,west=side":    { "model": "elementalmod:boltwire_nse", "y": 180, "uvlock": true },
                              "east=none,north=side,south=up,west=side":   { "model": "elementalmod:boltwire_unse", "y": 180, "uvlock": true },
                              "east=none,north=up,south=side,west=side":   { "model": "elementalmod:boltwire_nuse", "y": 180, "uvlock": true },
                              "east=none,north=side,south=side,west=up":   { "model": "elementalmod:boltwire_nsue", "y": 180, "uvlock": true },
                              "east=none,north=up,south=side,west=up":  { "model": "elementalmod:boltwire_nusue", "y": 180, "uvlock": true },
                              "east=none,north=up,south=up,west=side":  { "model": "elementalmod:boltwire_unuse", "y": 180, "uvlock": true },
                              "east=none,north=side,south=up,west=up":  { "model": "elementalmod:boltwire_unsue", "y": 180, "uvlock": true },
                              "east=none,north=up,south=up,west=up": { "model": "elementalmod:boltwire_unusue", "y": 180, "uvlock": true },
                      
                              "east=side,north=side,south=none,west=side":    { "model": "elementalmod:boltwire_nse", "y": 270, "uvlock": true },
                              "east=side,north=side,south=none,west=up":   { "model": "elementalmod:boltwire_unse", "y": 270, "uvlock": true },
                              "east=up,north=side,south=none,west=side":   { "model": "elementalmod:boltwire_nuse", "y": 270, "uvlock": true },
                              "east=side,north=up,south=none,west=side":   { "model": "elementalmod:boltwire_nsue", "y": 270, "uvlock": true },
                              "east=up,north=up,south=none,west=side":  { "model": "elementalmod:boltwire_nusue", "y": 270, "uvlock": true },
                              "east=up,north=side,south=none,west=up":  { "model": "elementalmod:boltwire_unuse", "y": 270, "uvlock": true },
                              "east=side,north=up,south=none,west=up":  { "model": "elementalmod:boltwire_unsue", "y": 270, "uvlock": true },
                              "east=up,north=up,south=none,west=up": { "model": "elementalmod:boltwire_unusue", "y": 270, "uvlock": true },
                      
                              "east=side,north=side,south=side,west=side": { "model": "elementalmod:boltwire_nsew", "uvlock": true },
                      
                              "east=side,north=up,south=side,west=side": { "model": "elementalmod:boltwire_unsew", "uvlock": true },
                              "east=side,north=side,south=up,west=side": { "model": "elementalmod:boltwire_unsew", "y": 180, "uvlock": true },
                              "east=up,north=side,south=side,west=side": { "model": "elementalmod:boltwire_unsew", "y": 90, "uvlock": true },
                              "east=side,north=side,south=side,west=up": { "model": "elementalmod:boltwire_unsew", "y": 270, "uvlock": true },
                      
                              "east=side,north=up,south=up,west=side": { "model": "elementalmod:boltwire_unusew", "uvlock": true },
                              "east=up,north=side,south=side,west=up": { "model": "elementalmod:boltwire_unusew", "y": 90, "uvlock": true },
                      
                              "east=up,north=up,south=side,west=side": { "model": "elementalmod:boltwire_unsuew", "uvlock": true },
                              "east=up,north=side,south=up,west=side": { "model": "elementalmod:boltwire_unsuew", "y": 90, "uvlock": true },
                              "east=side,north=side,south=up,west=up": { "model": "elementalmod:boltwire_unsuew", "y": 180, "uvlock": true },
                              "east=side,north=up,south=side,west=up": { "model": "elementalmod:boltwire_unsuew", "y": 270, "uvlock": true },
                      
                              "east=up,north=up,south=up,west=side": { "model": "elementalmod:boltwire_unusuew", "uvlock": true },
                              "east=up,north=side,south=up,west=up": { "model": "elementalmod:boltwire_unusuew", "y": 90, "uvlock": true },
                              "east=side,north=up,south=up,west=up": { "model": "elementalmod:boltwire_unusuew", "y": 180, "uvlock": true },
                              "east=up,north=up,south=side,west=up": { "model": "elementalmod:boltwire_unusuew", "y": 270, "uvlock": true },
                      
                              "east=up,north=up,south=up,west=up": { "model": "elementalmod:boltwire_unusueuw", "uvlock": true }
                          }
                      }
                      
                      1. Je vais donc faire un tile entity
                        EDIT : c’est bon, çafonctionne avec le Tile Entity 🙂

                      Moddeur 1.8

                      Développeur Java

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                        [10:34:37] [Client thread/ERROR] [FML/]: Model definition for location elementalmod:boltwire#east=up,north=side,power=8,south=up,west=up not found
                        Il cherche chaque variante pour les différentes valeurs de power.
                        Il faut ajouter quelque chose pour lui dire d’ignorer ça. Je cherches

                        Retrouvé :
                                this.registerBlockWithStateMapper(Blocks.redstone_wire, (new StateMap.Builder()).ignore(new IProperty[] {BlockRedstoneWire.POWER}).build());
                        C’est dans la classe BlockModelShapes. Maintenant pour l’utiliser avec Forge, c’est :
                        ModelLoader.setCustomStateMapper(tonBlock, (new StateMap.Builder()).ignore(new IProperty[] {ClasseDeTonTonBlock.POWER}).build());
                        À mettre dans preInit après l’initialisation (et enregistrement) du bloc !

                        1 réponse Dernière réponse Répondre Citer 0
                        • Snowy_1803
                          Snowy_1803 dernière édition par

                          Merci, je teste ça tout de suite !
                          EDIT : The method ignore(IProperty[]) is undefined for The type StateMap.Builder
                          EDIT2 : Ok, c’est addPropertiesToIgnore()

                          Moddeur 1.8

                          Développeur Java

                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                            Ah tu as sûrement des mapping plus recentes que moi ^^

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

                            MINECRAFT FORGE FRANCE © 2018

                            Powered by NodeBB