【问题标题】:JDA edit EmbedBuilder field: HP counterJDA 编辑 EmbedBuilder 字段:HP 计数器
【发布时间】:2020-10-03 15:11:07
【问题描述】:

我想编辑我的 EmbedBuilder:我正在尝试创建一个健康点计数器,但我不知道如何编辑同一个字段。现在它只是创建了新的字段,所以 EmbedBuilder 充满了 HP 计数器......

            EmbedBuilder fight = new EmbedBuilder();
            fight.setTitle("Battle");

            MessageEmbed embed = fight.build();

event.getChannel().sendMessage(embed).queue(message -> {

                int user1HP = 100;
                int user2HP = 100;
                int i = 1;

                while (user2HP > 0 && user1HP > 0) {
                    Random randomValue = new Random();
                    int dmg = randomValue.nextInt((25 - 1) + 1) + 1;
                    String damage;
                    fight.addField("HP1: ", ""+user1HP, true); //How can I edit this and not create other fields?
                    fight.addField("HP2: ", ""+user2HP, true);
                    message.editMessage(fight.build()).queue();


                    if ((i%2)==0) {

                        i=i+1;
                        System.out.println(i);

                        damage = "A inflicted " + dmg + " to B";

                        System.out.println(damage);

                        user2HP = user2HP - dmg;




                    } else {

                        i=i+1;
                        System.out.println(i);

                        damage = "B inflicted " + dmg + " to A";

                        System.out.println(damage);

                        user1HP = user1HP - dmg;

                    }
                }
            });

【问题讨论】:

    标签: java discord chatbot discord-jda


    【解决方案1】:

    您可以使用getFields()获取字段列表并使用set(index, Field)进行修改:

    List<Field> fields = figet.getFields();
    
    if (fields.size() > 0) {
      fight.addField("HP1:", String.valueOf(user1HP), true);
      fight.addField("HP1:", String.valueOf(user1HP), true);
    } else {
      // update fields
      fields.set(0, new Field("HP1:", String.valueOf(user1HP), true));
      fields.set(1, new Field("HP2:", String.valueOf(user2HP), true));
    }
    

    【讨论】:

      猜你喜欢
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多