Day4 寻找合适的 Lua 开发工具

[CC: Tweaked / Lua] 寻找合适的开发工具

在上一回,我学会了自订 CC: Tweaked Computer 的开机讯息
然而整个修改的过程有点笨拙
今天来看看,如何用更好的工具来 Coding Lua for CC: Tweaked Computer

取得电脑的 id

在第二回的介绍中,有列出 CC: Tweaked Computer 指令集
其中有一道指令是 id,是为取得每一台电脑的唯一识别编号,回传一个数字
这组编号有什麽用途呢?!
找到编号後,请找到这个路径
{minecraft主目录}/saves/{世界名称}/computercraft/computer/{id}
以我的 MacOS 为例,我的路径是
/Users/egghsu/Library/Application Support/minecraft/saves/新的世界/computercraft/computer/10
会发现,稍早前新增的 mymotd.txt 就在这个路径底下!!
这代表的是,这个路径就是那台电脑的使用者家目录,之後你可以直接在这里编辑你的 Lua 程序码,用你擅长的工具即可,不需要在麦块里面用那阳春的编辑器罗~

此外,这里还有一个隐藏档 .settings,内容如下

{
  [ "motd.path" ] = "/mymotd.txt",
}

突然间懂了些什麽,以後改电脑设定也可以直接改啦!

那 rom 里面的程序码在哪呢

rom 的程序码是不能被修改的
我试着解压缩模组 jar 档案之後,在里头找到这个路径 data/computercraft/lua
就会再次看到熟悉的东西!
除了多出来一个 bios.lua 之外
还有一个 rom 资料夹,并且里头的档案结构和 CC: Tweaked Computer 几乎一样,Bingo!
也就是说,之後要继续深入,就可以来这里挖矿了~

写到这里,我不禁想着,那是不是我改了 rom 里面的程序码,再重新包装成 jar 让麦块载入
理论上我就可以很大弹性的更改这个电脑世界了呢 XD(嘴角邪恶的上扬...

此外在 bios.lua #972 也看到这一段,看来就是载入上述的使用者设定档

-- Load user settings
if fs.exists(".settings") then
    settings.load(".settings")
end

上装备了

既然我已经从 CC: Tweaked 的虚拟电脑世界,暂时转换到实体的电脑
那就可以开始找更多工具啦!
我目前用的是 VSCode + Lua extension (by sumneko)
但是这 extension 的文件竟然是简体中文,还在摸索怎麽改英文
有没有人要救我一下 XD
另一个看起来也很威的 ZeroBraneStudio
就完全是 Lua IDE 了,我也还在学习中
也可以直接参考铁人lagagain 撰写的 Lua 开发环境配置
以及 Lua 的下载与安装

互动式环境学习 Lua

如果只是想要先试试 Lua 的语言特性,以下提供几种选择
第一种是直接上官网测试
https://www.lua.org/demo.html
第二种是在你自己本机上、或是回到 CC: Tweaked Computer 里面打

lua

开发工具的部分,简介到这里
工欲善其事,必先利其器
有了适当的工具後,下一回我将继续以 CC: Tweaked 程序码为范例,重新学习 Lua!


<<:  老天不会亏待努力的人,但更不会同情假勤奋的人。让自己没有退路,才有成功的可能。

>>:  Day04-管理 Docker 的各种组合(Docker Compose)

JS 42 - 新增或删除表格式表单的资料列

大家好! 今天要实作新增和删除资料列。 我们进入今天的主题吧! 样式 .table { displa...

Professional Writer

I am professional blogger and has keen interest in...

ASP.NET MVC 从入门到放弃(Day2) -Visual Studio 2019 专案建立

接下来讲讲後续说明会用到的专案建立方式 主控台建立 (Framework4.7.2) 1.开启Vis...

【没钱买ps,PyQt自己写】Day 10 - 以 QFileDialog 读取系统的档案、资料夹

看完这篇文章你会得到的成果图 前言 我们接下来的讨论,会基於读者已经先读过我 day5 文章 的架构...

Rust-Match控制流运算子

Match是使用枚举的基本工具,类似Golang的Switch语法 Match取值後对每个条件进行比...