差别
这里会显示出您选择的修订版和当前版本之间的差别。
javamodding:4_modpackcontent [2022/03/27 13:59] – 创建 硫缺铅 | javamodding:4_modpackcontent [未知日期] (当前版本) – 外部编辑 (未知日期) 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== 包内部结构 ====== | ||
+ | |||
+ | Jar本质是一个zip压缩文件,所以其内部就是一个目录,和json模组一样,jar模组也有结构。 | ||
+ | ===== mod.json ===== | ||
+ | 此文件位于根目录下,且和json模组的同名文件大部分相同。 | ||
+ | 作为java模组,首先需要添加一句"" | ||
+ | |||
+ | 例如在示例模组中,包名即为" | ||
+ | ,所以全限定名即为" | ||
+ | |||
+ | 如果您对此文件还有任何疑问,可以参考[[modding: | ||
+ | |||
+ | ===== src/ ===== | ||
+ | |||
+ | src是source < | ||
+ | |||
+ | 位于 example 包中的 ExampleJavaMod.java 文件是此模板提供的默认主类。具体内容如下: | ||
+ | < | ||
+ | package example; | ||
+ | |||
+ | import arc.Core; | ||
+ | import arc.Events; | ||
+ | import arc.util.Log; | ||
+ | import arc.util.Time; | ||
+ | import mindustry.game.EventType.ClientLoadEvent; | ||
+ | import mindustry.mod.Mod; | ||
+ | import mindustry.ui.dialogs.BaseDialog; | ||
+ | |||
+ | public class ExampleJavaMod extends Mod { | ||
+ | |||
+ | public ExampleJavaMod() { | ||
+ | Log.info(" | ||
+ | |||
+ | //listen for game load event | ||
+ | Events.on(ClientLoadEvent.class, | ||
+ | //show dialog upon startup | ||
+ | Time.runTask(10f, | ||
+ | BaseDialog dialog = new BaseDialog(" | ||
+ | dialog.cont.add(" | ||
+ | //mod sprites are prefixed with the mod name (this mod is called ' | ||
+ | dialog.cont.image(Core.atlas.find(" | ||
+ | dialog.cont.button(" | ||
+ | dialog.show(); | ||
+ | }); | ||
+ | }); | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public void loadContent() { | ||
+ | Log.info(" | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | 因为其为Java主类,所以我们需要按照上面的内容,在mod.json内填写所需信息。**如果你的模组自定义了主类,请务必填写好全限定名,并且保证其继承了Mod 类** | ||
+ | |||
+ | ===== assets/ ===== | ||
+ | 此文件夹放置的是资源文件(即不是源码的文件) | ||
+ | ==== assets/ | ||
+ | **此文件夹必须存在,否则你的模组将不会有贴图** | ||
+ | 在此文件夹的**png文件(其他格式不行)**将会加载到游戏中去,可以按照如下方式使用: | ||
+ | TextureRegion texture = Core.atlas.find(" | ||
+ | ==== assets/ | ||
+ | 此文件夹用于存放语言文件,如果只打算支持一种语言可以不写。可以按照如下方式使用: | ||
+ | | ||
+ | | ||
+ | __< | ||
+ | |||
+ | ===== build.gradle ===== | ||
+ | 这个文件包含了项目与库的依赖关系,用于自动化编译。在之后的章节我们会对其进行必要的修改。 | ||