mmhct.
如题,目前想把一段剧情按照一句话一个命令方块的格式输入。大体效果如下


红石中继器的作用是让剧情的每一句话隔一小段时间放出。

输入命令方块的指令是:tellraw @a [{"text":"(剧情内容)"}]

想问一下有没有什么办法,在写好剧情之后(word文档里面写的),快速地按照这种格式转移到MC游戏当中。

如果加mod能做到,可以使用mod,版本是1.7.10

另外不知道mcedit能不能实现,如果能,麻烦细说一下使用方法



psjs
低版本没有

CAT_REALMS
连续执行的多条指令 我建议是用数据包来干这个活
稍等我找条合适的教程

薛定谔的钱10086
使用自定义npc中的脚本功能可以做到

CAT_REALMS
以下是我与chatgpt的聊天记录
请使用Java语言编写一段程序,实现以下功能。
运行时弹出一个控制台窗口。
输入一行字符,以换行为结束标识。将输入的字符串插入“tellraw @a [{"text":"”与“"}]”二个字符串之间。将这一操作后所得的字符串放入剪贴板,使这符串可以使用ctrl+v快捷键粘贴在其他地方。
一次输入后不停止程序,允许连续输入。
以下是实现要求的Java程序代码:

```
import java.awt.*;
import java.awt.datatransfer.*;
import java.util.Scanner;

public class Main {
  public static void main(String[] args) throws Exception {
    Scanner scanner = new Scanner(System.in);

    while (true) {
      System.out.print("请输入字符串:");
      String inputStr = scanner.nextLine();

      String outputStr = "tellraw @a [{\"text\":\"" + inputStr + "\"}]";

      StringSelection selection = new StringSelection(outputStr);
      Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
      clipboard.setContents(selection, selection);
      System.out.println("已将字符串复制到剪贴板");
    }
  }
}
```

实现过程如下:
1. 导入必要的类库,包括 `java.awt.*`、`java.awt.datatransfer.*` 和 `java.util.Scanner`。
2. 在 `main` 函数中,创建一个 `Scanner` 对象来读取用户输入。
3. `while` 循环不停止程序的运行,允许用户连续输入字符串。
4. 在用户输入字符串后,将输入的字符串拼接到符合格式的字符串中,并存储在变量 `outputStr` 中。
5. 使用 `StringSelection` 和 `Clipboard` 这两个类库将 `outputStr` 复制到剪贴板中。
6. 输出提示信息,提示用户已将字符串复制到剪贴板中。

注意事项:
- 程序无法在命令行中显示提示信息例如 "已将字符串复制到剪贴板"。
复制到.java文件里面 简单编译一下 应该就能用了 能更方便

新星123很6
似乎没有简便方案
可以先在文档里把剧情文本复制到tellraw里面
然后把tellraw一个个复制过去

名副其实
低版本不支持此类内容。只有高版本才支持命令方块放置后内含命令。
但是你说要写个程序还是可以写的,不过我这技术力不行。

mmhct.
CAT_REALMS 发表于 2023-5-28 18:23
以下是我与chatgpt的聊天记录
复制到.java文件里面 简单编译一下 应该就能用了 能更方便
...

我又不是没学过java,你这段代码跟我的问题完全无关

CAT_REALMS
mmhct. 发表于 2023-5-29 13:07
我又不是没学过java,你这段代码跟我的问题完全无关

这是一段小程序
复制一行剧情进这个程序的窗口
再直接切到我的世界窗口的指令方块那儿粘贴
会比较方便
这是我能想出的最优解了

SHEEP_REALMS
CAT_REALMS 发表于 2023-5-29 18:10
这是一段小程序
复制一行剧情进这个程序的窗口
再直接切到我的世界窗口的指令方块那儿粘贴

既然你都问GPT了,你还不如问问JavaScript怎么写,然后直接做一个网页出来,或者问问批处理怎么写。不是所有人都会编译,你是来解决问题的,不是来制造问题的。没有金刚钻,别揽瓷器活。

SHEEP_REALMS
我有一个操作比较简单的提议,但是命令导入到游戏的步骤还得你自己来。
首先你需要一款支持匹配换行符的文本编辑器(例如Notepad--
创建一个文本文件,将剧情文本粘贴进去,一行一句。
Ctrl + H 打开替换窗口,查找模式选择 “扩展”,将:
  1. \r\n
复制代码

替换为:
  1. "}]\r\n/tellraw @a [{"text":"
复制代码

效果如图所示:

最后补充一下首尾,代码格式化就完成了,接下来就可以把这些命令粘贴进游戏中了。
由于1.7尚未出现数据包且不支持Ctrl+中键复制命令方块,因此暂时没有更好的解决办法。

CAT_REALMS
SHEEP_REALMS 发表于 2023-5-31 13:47
我有一个操作比较简单的提议,但是命令导入到游戏的步骤还得你自己来。
首先你需要一款支持匹配换行符的文 ...

真没制造问题XD我也不是没学过java
只是没电脑没法编译实验 怕出错就用gpt了

java编译不也难啊 就javac+文件名一行命令就行了








ed333
没什么很好的办法,在1.12及以上或许你可以使用function函数来实现(可以通过修改游戏规则来实现间隔发送消息)但是在这之下只能一点点的弄了,

如果你是一个编程大佬的话可以自己写个P(i)y(an)t(ong)hon(g)(bushi)来解决(但显然你不是)

924274007
鼠标中键?