如何才能向游戏文件夹中写入文件

dbydd


版本信息
你使用的系统:<windows 10 x64>
你用的JDK是: <Orancle jdk 1.8.0_221 x64>
你使用的IDE:
你使用的IDE版本:<2020.2 Community Edition>
Forge版本: <31.2.27>
Minecraft版本: <1.15.2>
Mapping 文件版本: <snapshot 20200514-1.15.1>

出错图



(这是我自己尝试写的,因为权限不足而失败.)
错误情况简述
想要把自定义的多方块结构序列化到硬盘中,然后找不到方法。

相关代码

https://github.com/dbydd/micro_machinery/blob/1.15.2/src/main/java/mfrf/dbydd/micro_machinery/command/ReadMultiBlockCommand.java

FledgeXu


直接用用原版的结构方块,或者早操原版的结构方块不行吗?
而且你这个路径的写法也有问题,只支持Windows…… Minecraft 可是个跨平台的游戏。


dbydd


并不是为了自定义多方块…只是单纯的为了导出结构而已,而原版的结构方块那套系统又不好用.


FledgeXu


我觉得只是你的代码写错了……
而且你也不用写的这么麻烦,Minecraft的依赖里有 Apache Common IO的。
试试这么写,下面的是个例子:

    public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) {
        if (!worldIn.isRemote) {
            File file = new File("test" + File.separator + "test.txt");
            try {
                FileUtils.writeStringToFile(file, "test", Charset.defaultCharset());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return super.onItemRightClick(worldIn, playerIn, handIn);
    }

system


该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。