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 = {
def changes = new StringBuilder()
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 ->
def processedLine = line.toString()
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.List;
import static net.minecraft.client.MinecraftClient.IS_SYSTEM_MAC;
public class MidnightLib {
public static List<String> hiddenMods = new ArrayList<>();
public static final String MOD_ID = "midnightlib";
@@ -20,12 +22,12 @@ public class MidnightLib {
@Environment(EnvType.CLIENT)
public static void onInitializeClient() {
System.setProperty("java.awt.headless", "false");
try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
try { System.setProperty("java.awt.headless", "false");
if (!IS_SYSTEM_MAC) UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) { LOGGER.error("Error setting system look and feel", e); }
MidnightLibConfig.init(MOD_ID, MidnightLibConfig.class);
}
public static void onInitialize() {
public static void registerAutoCommand() {
MidnightConfig.configClass.forEach((modid, config) -> {
for (Field field : config.getFields()) {
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;
import eu.midnightdust.core.MidnightLib;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.api.*;
public class MidnightLibFabric implements ModInitializer, ClientModInitializer {
public class MidnightLibFabric implements DedicatedServerModInitializer, ClientModInitializer {
@Override @Environment(EnvType.CLIENT)
public void onInitializeClient() {MidnightLib.onInitializeClient();}
public void onInitializeClient() {
MidnightLib.onInitializeClient();
MidnightLib.registerAutoCommand();
}
@Override
public void onInitialize() {MidnightLib.onInitialize();}
public void onInitializeServer() {MidnightLib.registerAutoCommand();}
}

View File

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

View File

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

View File

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