• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Problèmes avec un bloc de circuit redstone

    1.8.x
    1.8
    2
    12
    1522
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Snowy_1803
      Snowy_1803 last edited by

      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 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

        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 Reply Last reply Reply Quote 0
        • Snowy_1803
          Snowy_1803 last edited by

          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 Reply Last reply Reply Quote 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

            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 Reply Last reply Reply Quote 0
            • Snowy_1803
              Snowy_1803 last edited by

              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 Reply Last reply Reply Quote 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                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 Reply Last reply Reply Quote 0
                • Snowy_1803
                  Snowy_1803 last edited by

                  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 Reply Last reply Reply Quote 0
                  • robin4002
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • Snowy_1803
                      Snowy_1803 last edited by

                      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 Reply Last reply Reply Quote 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                        [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 Reply Last reply Reply Quote 0
                        • Snowy_1803
                          Snowy_1803 last edited by

                          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 Reply Last reply Reply Quote 0
                          • robin4002
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • 1 / 1
                            • First post
                              Last post
                            Design by Woryk
                            Contact / Mentions Légales

                            MINECRAFT FORGE FRANCE © 2018

                            Powered by NodeBB