MFF

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

    Communiquer des informations entre les blocs

    Planifier Épinglé Verrouillé Déplacé Non résolu Support pour les moddeurs
    1.16.x
    2 Messages 1 Publieurs 324 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.
    • Applespace30A Hors-ligne
      Applespace30
      dernière édition par

      Bonjour, je me permet de demander de l’aide car cela fait plusieurs jours que je cherche une solution mais sans succès. Je souhaite faire un système e tuyaux qui transmettent du carburant d’un gestionnaire de carburant à un moteur. Pour cela je dois détecter si un un tuyau est en contact avec un autre tuyaux ou le gestionnaire de carburant, et transmettre les informations (carburant en L) au tube en question. J’ai pensé utiliser des structure multi-bloc comme avec l’iron golem mais il n’y aurai alors qu’un nombre finit de structure possible. Je ne sais donc pas par où commencer.
      Voici le bout de code qui gère la quantité de carburant dans le fuel block si besoin.

         public ItemStack onItemRightClick(ItemStack stack, World worldIn, PlayerEntity player, BlockPos pos) {
             if (!worldIn.isRemote && player.inventory.hasItemStack(new ItemStack(ModItems.HYDROGEN_BUCKET.get()))) {
                 TileEntityFuelBlock tileEntity = (TileEntityFuelBlock) worldIn.getTileEntity(pos);
                 tileEntity.setCounter((tileEntity.getCounter()+1));
                 int is_supp = 0;
                 int count = 0;
                  for(int i = 0; i < player.inventory.getSizeInventory(); i++) {
                      if(player.inventory.getStackInSlot(i) != null && player.inventory.getStackInSlot(i).getItem() == ModItems.HYDROGEN_BUCKET.get()) {
                          player.inventory.removeStackFromSlot(i);
                          is_supp = 1;
                      }
                      if(is_supp > 0) break;
                  }
             }
             return stack;
         }
      
          @Override
          public ActionResultType onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) {
              if(worldIn.getTileEntity(pos) instanceof TileEntityFuelBlock){
                  TileEntityFuelBlock tileEntity = (TileEntityFuelBlock) worldIn.getTileEntity(pos);
                  onItemRightClick(null, worldIn, player, pos);
                  player.sendStatusMessage(new StringTextComponent("Fuel : " + tileEntity.getCounter() + " Litres."), true);
                  return ActionResultType.SUCCESS;
              }
      
              return ActionResultType.PASS;
          }
      }
      

      Merci d’avance aux personnes qui m’aideront.

      Applespace30A 1 réponse Dernière réponse Répondre Citer 0
      • Applespace30A Hors-ligne
        Applespace30 @Applespace30
        dernière édition par

        Petit up svp j’ai besoin d’aide.

        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