Run command registration after main method

- Fixes commands being missing for certain mods
- Possibly fix #67
This commit is contained in:
Martin Prokoph
2024-09-02 23:47:58 +02:00
parent 48390abf8f
commit b8a54e339a
6 changed files with 18 additions and 16 deletions

View File

@@ -50,7 +50,7 @@ allprojects {
releaseChangelog = { releaseChangelog = {
def changes = new StringBuilder() def changes = new StringBuilder()
changes << "## MidnightLib v$project.version for $project.minecraft_version\n[View the changelog](https://www.github.com/TeamMidnightDust/MidnightLib/commits/)" changes << "## MidnightLib v$project.version for $project.minecraft_version\n[View the changelog](https://www.github.com/TeamMidnightDust/MidnightLib/commits/)"
def proc = "git log --max-count=10 --pretty=format:%s".execute() def proc = "git log --max-count=1 --pretty=format:%s".execute()
proc.in.eachLine { line -> proc.in.eachLine { line ->
def processedLine = line.toString() def processedLine = line.toString()
if (!processedLine.contains("New translations") && !processedLine.contains("Merge") && !processedLine.contains("branch")) { if (!processedLine.contains("New translations") && !processedLine.contains("Merge") && !processedLine.contains("branch")) {

View File

@@ -13,6 +13,8 @@ import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static net.minecraft.client.MinecraftClient.IS_SYSTEM_MAC;
public class MidnightLib { public class MidnightLib {
public static List<String> hiddenMods = new ArrayList<>(); public static List<String> hiddenMods = new ArrayList<>();
public static final String MOD_ID = "midnightlib"; public static final String MOD_ID = "midnightlib";
@@ -20,12 +22,12 @@ public class MidnightLib {
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public static void onInitializeClient() { public static void onInitializeClient() {
System.setProperty("java.awt.headless", "false"); try { System.setProperty("java.awt.headless", "false");
try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); if (!IS_SYSTEM_MAC) UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) { LOGGER.error("Error setting system look and feel", e); } } catch (Exception e) { LOGGER.error("Error setting system look and feel", e); }
MidnightLibConfig.init(MOD_ID, MidnightLibConfig.class); MidnightLibConfig.init(MOD_ID, MidnightLibConfig.class);
} }
public static void onInitialize() { public static void registerAutoCommand() {
MidnightConfig.configClass.forEach((modid, config) -> { MidnightConfig.configClass.forEach((modid, config) -> {
for (Field field : config.getFields()) { for (Field field : config.getFields()) {
if (field.isAnnotationPresent(MidnightConfig.Entry.class) && !field.isAnnotationPresent(MidnightConfig.Client.class) && !field.isAnnotationPresent(MidnightConfig.Hidden.class)) if (field.isAnnotationPresent(MidnightConfig.Entry.class) && !field.isAnnotationPresent(MidnightConfig.Client.class) && !field.isAnnotationPresent(MidnightConfig.Hidden.class))

View File

@@ -1,14 +1,14 @@
package eu.midnightdust.fabric.core; package eu.midnightdust.fabric.core;
import eu.midnightdust.core.MidnightLib; import eu.midnightdust.core.MidnightLib;
import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.*;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.api.ModInitializer;
public class MidnightLibFabric implements ModInitializer, ClientModInitializer { public class MidnightLibFabric implements DedicatedServerModInitializer, ClientModInitializer {
@Override @Environment(EnvType.CLIENT) @Override @Environment(EnvType.CLIENT)
public void onInitializeClient() {MidnightLib.onInitializeClient();} public void onInitializeClient() {
@Override MidnightLib.onInitializeClient();
public void onInitialize() {MidnightLib.onInitialize();} MidnightLib.registerAutoCommand();
}
@Override
public void onInitializeServer() {MidnightLib.registerAutoCommand();}
} }

View File

@@ -29,7 +29,7 @@
"environment": "*", "environment": "*",
"entrypoints": { "entrypoints": {
"main": [ "server": [
"eu.midnightdust.fabric.core.MidnightLibFabric" "eu.midnightdust.fabric.core.MidnightLibFabric"
], ],
"client": [ "client": [

View File

@@ -6,7 +6,7 @@ yarn_mappings=1.21+build.1
enabled_platforms=fabric,neoforge enabled_platforms=fabric,neoforge
archives_base_name=midnightlib archives_base_name=midnightlib
mod_version=1.6.1 mod_version=1.6.2
maven_group=eu.midnightdust maven_group=eu.midnightdust
release_type=release release_type=release
curseforge_id=488090 curseforge_id=488090

View File

@@ -24,7 +24,7 @@ public class MidnightLibNeoForge {
public MidnightLibNeoForge() { public MidnightLibNeoForge() {
if (FMLEnvironment.dist == Dist.CLIENT) MidnightLib.onInitializeClient(); if (FMLEnvironment.dist == Dist.CLIENT) MidnightLib.onInitializeClient();
MidnightLib.onInitialize(); MidnightLib.registerAutoCommand();
} }
@EventBusSubscriber(modid = "midnightlib", bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) @EventBusSubscriber(modid = "midnightlib", bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
@@ -39,8 +39,8 @@ public class MidnightLibNeoForge {
} }
} }
@EventBusSubscriber(modid = "midnightlib", value = Dist.DEDICATED_SERVER) @EventBusSubscriber(modid = "midnightlib")
public static class MidnightLibServerEvents { public static class MidnightLibEvents {
@SubscribeEvent @SubscribeEvent
public static void registerCommands(RegisterCommandsEvent event) { public static void registerCommands(RegisterCommandsEvent event) {
commands.forEach(command -> event.getDispatcher().register(command)); commands.forEach(command -> event.getDispatcher().register(command));