Ok Zoomer 项目使用教程
1. 项目的目录结构及介绍
Ok Zoomer 项目的目录结构如下:
ok-zoomer/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── io/github/jbirms/okzoomer/
│ │ │ ├── config/
│ │ │ ├── keybinds/
│ │ │ ├── mod/
│ │ │ └── zoom/
│ │ └── resources/
│ │ └── assets/
│ │ └── okzoomer/
│ │ ├── lang/
│ │ └── textures/
│ │ └── misc/
├── gradle/
├── build.gradle
├── gradlew
├── gradlew.bat
├── settings.gradle
└── README.md
目录结构介绍
src/main/java/io/github/jbirms/okzoomer/
: 包含项目的核心代码。config/
: 配置文件相关的代码。keybinds/
: 按键绑定相关的代码。mod/
: 模组初始化和加载相关的代码。zoom/
: 缩放功能的核心实现代码。
src/main/resources/assets/okzoomer/
: 包含模组的资源文件,如语言文件和纹理文件。lang/
: 语言文件。textures/misc/
: 纹理文件。
gradle/
: Gradle 构建工具的配置文件。build.gradle
: 项目的构建脚本。gradlew
和gradlew.bat
: Gradle 包装器脚本。settings.gradle
: 项目的设置文件。README.md
: 项目的说明文档。
2. 项目的启动文件介绍
项目的启动文件位于 src/main/java/io/github/jbirms/okzoomer/OkZoomerMod.java
。这个文件是模组的主类,负责初始化和加载模组。
package io.github.jbirms.okzoomer;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
@Mod("okzoomer")
public class OkZoomerMod {
public OkZoomerMod() {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
}
private void doClientStuff(final FMLClientSetupEvent event) {
// 客户端初始化代码
}
}
启动文件介绍
@Mod("okzoomer")
: 声明这是一个 Minecraft Forge 模组,并指定模组的 ID。OkZoomerMod()
: 构造函数,注册事件监听器。doClientStuff(final FMLClientSetupEvent event)
: 客户端初始化方法,处理模组的初始化逻辑。
3. 项目的配置文件介绍
项目的配置文件位于 src/main/java/io/github/jbirms/okzoomer/config/OkZoomerConfig.java
。这个文件负责管理模组的配置选项。
package io.github.jbirms.okzoomer.config;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.config.ModConfig;
@Mod.EventBusSubscriber(modid = "okzoomer", bus = Mod.EventBusSubscriber.Bus.MOD)
public class OkZoomerConfig {
public static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder();
public static final ForgeConfigSpec SPEC;
public static final ForgeConfigSpec.ConfigValue<Boolean> ENABLED;
public static final ForgeConfigSpec.ConfigValue<String> ZOOM_KEY;
static {
BUILDER.push("Ok Zoomer Config");
ENABLED = BUILDER.define("enabled", true);
ZOOM_KEY = BUILDER.define("zoom_key", "key.zoom