Skip to content

Commit 2d4c4cd

Browse files
committed
使用kt重实现Config类
1 parent 94129d5 commit 2d4c4cd

File tree

3 files changed

+58
-40
lines changed

3 files changed

+58
-40
lines changed

src/main/java/github/kasuminova/novaeng/common/CommonProxy.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import github.kasuminova.novaeng.common.handler.HyperNetEventHandler;
2626
import github.kasuminova.novaeng.common.handler.HyperNetMachineEventHandler;
2727
import github.kasuminova.novaeng.common.handler.IEHandler;
28+
import github.kasuminova.novaeng.common.handler.MachineAssemblyHandler;
2829
import github.kasuminova.novaeng.common.handler.OreHandler;
2930
import github.kasuminova.novaeng.common.handler.WorldLoadedHandler;
3031
import github.kasuminova.novaeng.common.hypernet.old.HyperNetTerminal;
@@ -111,11 +112,12 @@ public void preInit() {
111112
MinecraftForge.EVENT_BUS.register(WorldLoadedHandler.INSTANCE);
112113
MinecraftForge.EVENT_BUS.register(EnchantmentHandler.INSTANCE);
113114
MinecraftForge.EVENT_BUS.register(OreHandler.INSTANCE);
115+
MinecraftForge.EVENT_BUS.register(MachineAssemblyHandler.INSTANCE);
114116

115117
if (Loader.isModLoaded("ftbquests"))
116118
MinecraftForge.EVENT_BUS.register(FTBHandler.INSTANCE);
117119

118-
if (NovaEngCoreConfig.SERVER.SpecialMachine)
120+
if (NovaEngCoreConfig.SERVER.specialMachine)
119121
MinecraftForge.EVENT_BUS.register(IEHandler.INSTANCE);
120122

121123
if (Loader.isModLoaded("ic2")) {
@@ -134,7 +136,7 @@ public void init() {
134136
RecipeAdapterExtended.registerAdapter();
135137
AssemblyLine.registerNetNode();
136138
HyperNetRecipeManager.registerRecipes();
137-
if (NovaEngCoreConfig.SERVER.SpecialMachine) {
139+
if (NovaEngCoreConfig.SERVER.specialMachine) {
138140
if (Mods.ASTRAL_SORCERY.isPresent() && Mods.BOTANIA.isPresent()) {
139141
RegistryMachineSpecial.registrySpecialMachine(IllumPool.INSTANCE);
140142
}
Lines changed: 53 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,82 @@
1-
package github.kasuminova.novaeng.common.config;
1+
package github.kasuminova.novaeng.common.config
22

3-
import com.cleanroommc.configanytime.ConfigAnytime;
4-
import github.kasuminova.novaeng.NovaEngineeringCore;
5-
import net.minecraftforge.common.config.Config;
6-
import net.minecraftforge.common.config.ConfigManager;
7-
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
8-
import net.minecraftforge.fml.common.Mod;
9-
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
3+
import com.cleanroommc.configanytime.ConfigAnytime
4+
import github.kasuminova.novaeng.NovaEngineeringCore
5+
import net.minecraftforge.common.config.Config
6+
import net.minecraftforge.common.config.ConfigManager
7+
import net.minecraftforge.fml.client.event.ConfigChangedEvent
8+
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
109

11-
@Mod.EventBusSubscriber(modid = NovaEngineeringCore.MOD_ID)
12-
@Config(modid = NovaEngineeringCore.MOD_ID, name = NovaEngineeringCore.MOD_ID)
13-
public class NovaEngCoreConfig {
14-
15-
@Config.Name("Client")
16-
public static final Client CLIENT = new Client();
17-
@Config.Name("Server")
18-
public static final Server SERVER = new Server();
19-
@Config.RequiresMcRestart
20-
@Config.Name("javaCheck")
21-
public static boolean javaCheck = true;
10+
class NovaEngCoreConfig {
2211

2312
/*
2413
必须在最后加载。
2514
*/
26-
static {
27-
ConfigAnytime.register(NovaEngCoreConfig.class);
15+
companion object {
16+
@JvmField
17+
@Config.Name("Client")
18+
val CLIENT = Client()
19+
@JvmField
20+
@Config.Name("Server")
21+
val SERVER = Server()
22+
@JvmField
23+
@Config.Name("MachineAssemblyTool")
24+
val MACHINE_ASSEMBLY_TOOL = MachineAssemblyTool()
25+
@JvmField
26+
@Config.RequiresMcRestart
27+
@Config.Name("javaCheck")
28+
var javaCheck = true
29+
30+
init {
31+
ConfigAnytime.register(Companion::class.java)
32+
}
2833
}
2934

3035
@SubscribeEvent
31-
public static void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) {
32-
if (event.getModID().equals(NovaEngineeringCore.MOD_ID)) {
33-
ConfigManager.sync(NovaEngineeringCore.MOD_ID, Config.Type.INSTANCE);
36+
fun onConfigChanged(event: ConfigChangedEvent.OnConfigChangedEvent) {
37+
if (event.modID == NovaEngineeringCore.MOD_ID) {
38+
ConfigManager.sync(NovaEngineeringCore.MOD_ID, Config.Type.INSTANCE)
3439
}
3540
}
3641

37-
public static class Client {
38-
42+
class Client {
43+
@JvmField
3944
@Config.RequiresMcRestart
4045
@Config.Name("EnableNovaEngTitle")
41-
public boolean enableNovaEngTitle = true;
46+
var enableNovaEngTitle = true
4247

48+
@JvmField
4349
@Config.RequiresMcRestart
4450
@Config.Name("爆炸")
45-
public boolean piece = false;
46-
51+
var piece = false
4752
}
4853

49-
public static class Server {
50-
54+
class Server {
55+
@JvmField
5156
@Config.RequiresMcRestart
5257
@Config.Name("ForceChunkHandler")
53-
public boolean ForceChunkHandler = true;
54-
58+
var forceChunkHandler = true
5559

60+
@JvmField
5661
@Config.RequiresMcRestart
5762
@Config.Name("SpecialMachine")
58-
public boolean SpecialMachine = true;
63+
var specialMachine = true
5964

65+
@JvmField
6066
@Config.RequiresMcRestart
6167
@Config.Name("bot")
62-
public boolean bot = true;
63-
68+
var bot = true
6469
}
6570

66-
}
71+
class MachineAssemblyTool {
72+
@JvmField
73+
@Config.Name("BuildQuantity")
74+
@Config.RangeInt(min = 1, max = 1000)
75+
var buildQuantity = 60
76+
77+
@JvmField
78+
@Config.Name("BuildSpeed")
79+
@Config.RangeInt(min = 1, max = 1000)
80+
var buildSpeed = 20
81+
}
82+
}

src/main/java/github/kasuminova/novaeng/common/handler/WorldLoadedHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ private void request(MinecraftServer server) {
7171
public void onServerTick(TickEvent.ServerTickEvent event) {
7272
switch (event.phase) {
7373
case START -> {
74-
if (SERVER.ForceChunkHandler) {
74+
if (SERVER.forceChunkHandler) {
7575
if (time % 100 == 0) {
7676
request(Universe.get().server);
7777
}

0 commit comments

Comments
 (0)