Minecraft Fabric Client 教程 #2 修改文件和目录名添加run和stop
首发于Enaium的个人博客
修改 包名、json文件、添加run stop
首先先修改包名
将ExampleMod.java
改为ExcelInitializer.java
修改json文件modid.mixins.json
和fabric.mod.json
将modid.mixins.json
改为excel.mixins.json
excel.mixins.json
内容:
{ "required": true, "package": "cn.enaium.excel.mixin", "compatibilityLevel": "JAVA_8", "mixins": [ ], "client": [ "ExampleMixin", "MinecraftClientMixin" ], "injectors": { "defaultRequire": 1 } }
package
mixin的包名
client
mixin的类名
compatibilityLevel
java版本
fabric.mod.json
内容:
{ "schemaVersion": 1, "id": "excel", "version": "1.0", "name": "Excel", "description": "!", "authors": [ "Enaium!" ], "contact": { "homepage": "https://fabricmc.net/", "sources": "https://github.com/FabricMC/fabric-example-mod" }, "license": "CC0-1.0", "icon": "assets/excel/icon.png", "environment": "*", "entrypoints": { "main": [ "cn.enaium.excel.ExcelInitializer" ] }, "mixins": [ "excel.mixins.json" ], "depends": { "fabricloader": ">=0.7.2", "fabric": "*", "minecraft": "1.15.x" }, "suggests": { "flamingo": "*" } }
id
就是modidname
mod名字description
说明authors
作者mixins
mixinjson的文件名license
如果有开源开源协议main
ModInitializer的文件名
然后在cn.enaium.excel
新建一个枚举Excel.java
内容
package cn.enaium.excel; /** * @Author Enaium * @Date 2020/1/4 20:23 */ public enum Excel { INSTANCE; public final String NMAE = "Excel"; public final String VERSION = "1"; public final String MINECRAFT_VERSION = "1.15.1"; public void onEnable() { } public void onDisable() { } }
注入run和stop
再mixin这个包里面新建一个MinecraftClientMixin
类
内容
package cn.enaium.excel.mixin; import cn.enaium.excel.Excel; import net.minecraft.client.MinecraftClient; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; /** * @Author Enaium * @Date 2020/1/4 20:25 */ @Mixin(MinecraftClient.class) public class MinecraftClientMixin { @Inject(at = @At("HEAD"), method = "run()V") private void onEnable(CallbackInfo info) { Excel.INSTANCE.onEnable(); } @Inject(at = @At("HEAD"), method = "stop()V") private void onDisable(CallbackInfo info) { Excel.INSTANCE.onDisable(); } }
然后再mixin json 里面添加这个mixin
{ "required": true, "package": "cn.enaium.excel.mixin", "compatibilityLevel": "JAVA_8", "mixins": [ ], "client": [ "ExampleMixin", "MinecraftClientMixin" ], "injectors": { "defaultRequire": 1 } }
完成
相关推荐
pxy 2020-08-15
dahege 2020-06-06
杨友山 2020-06-03
JAVA入门中 2020-05-09
StupidBird00 2020-05-09
JustHaveTry 2020-04-30
JustHaveTry 2020-03-06
Walter的学习笔记 2020-03-04
Aggressivesnail 2020-03-03
技术积累LZ 2020-02-27
风起于青萍之末 2020-02-22
hhahaa 2020-02-22
非攻 2020-02-19
Laozizuiku 2020-01-14
JEECG开源社区 2020-01-01
xzkjgw 2020-01-10
baixiaoshi 2020-01-09