mirror of
https://github.com/TeamMidnightDust/MidnightLib.git
synced 2025-12-16 09:15:10 +01:00
stonecutter: fix crash on fabric server startup
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
package eu.midnightdust.core;
|
package eu.midnightdust.core;
|
||||||
|
|
||||||
import eu.midnightdust.core.config.MidnightLibConfig;
|
import eu.midnightdust.core.config.MidnightLibConfig;
|
||||||
import eu.midnightdust.lib.config.AutoCommand;
|
|
||||||
import eu.midnightdust.lib.config.MidnightConfig;
|
import eu.midnightdust.lib.config.MidnightConfig;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -9,14 +8,12 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
import javax.swing.UIManager;
|
import javax.swing.UIManager;
|
||||||
import net.minecraft.Util;
|
import net.minecraft.Util;
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
//? if fabric {
|
//? if fabric {
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.api.DedicatedServerModInitializer;
|
|
||||||
|
|
||||||
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
|
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
|
||||||
import com.terraformersmc.modmenu.api.ModMenuApi;
|
import com.terraformersmc.modmenu.api.ModMenuApi;
|
||||||
@@ -24,9 +21,10 @@ import com.terraformersmc.modmenu.api.ModMenuApi;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class MidnightLib implements DedicatedServerModInitializer, ClientModInitializer, ModMenuApi {
|
public class MidnightLib implements ClientModInitializer, ModMenuApi {
|
||||||
//?} else if neoforge {
|
//?} else if neoforge {
|
||||||
/*import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
/*import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||||
|
import eu.midnightdust.lib.config.AutoCommand;
|
||||||
import eu.midnightdust.lib.util.PlatformFunctions;
|
import eu.midnightdust.lib.util.PlatformFunctions;
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
|
|
||||||
@@ -45,6 +43,7 @@ import java.util.ConcurrentModificationException;
|
|||||||
public class MidnightLib {
|
public class MidnightLib {
|
||||||
*///?} else if forge {
|
*///?} else if forge {
|
||||||
/*import java.util.ConcurrentModificationException;
|
/*import java.util.ConcurrentModificationException;
|
||||||
|
import eu.midnightdust.lib.config.AutoCommand;
|
||||||
import eu.midnightdust.lib.util.PlatformFunctions;
|
import eu.midnightdust.lib.util.PlatformFunctions;
|
||||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
@@ -54,7 +53,6 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|||||||
import net.minecraftforge.fml.ModList;
|
import net.minecraftforge.fml.ModList;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.fml.DistExecutor;
|
|
||||||
import net.minecraftforge.fml.IExtensionPoint;
|
import net.minecraftforge.fml.IExtensionPoint;
|
||||||
import net.minecraftforge.fml.ModLoadingContext;
|
import net.minecraftforge.fml.ModLoadingContext;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
@@ -77,25 +75,10 @@ public class MidnightLib {
|
|||||||
MidnightLibConfig.init(MOD_ID, MidnightLibConfig.class);
|
MidnightLibConfig.init(MOD_ID, MidnightLibConfig.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerAutoCommand() {
|
|
||||||
MidnightConfig.configInstances.forEach((modid, config) -> {
|
|
||||||
for (Field field : config.configClass.getFields()) {
|
|
||||||
if (field.isAnnotationPresent(MidnightConfig.Entry.class)
|
|
||||||
&& !field.isAnnotationPresent(MidnightConfig.Client.class)
|
|
||||||
&& !field.isAnnotationPresent(MidnightConfig.Hidden.class))
|
|
||||||
new AutoCommand(field, modid);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//? if fabric {
|
//? if fabric {
|
||||||
public void onInitializeServer() {
|
|
||||||
registerAutoCommand();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConfigScreenFactory<?> getModConfigScreenFactory() {
|
public ConfigScreenFactory<?> getModConfigScreenFactory() {
|
||||||
return parent -> MidnightLibConfig.getScreen(parent,"midnightlib");
|
return parent -> MidnightLibConfig.getScreen(parent,MOD_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -109,8 +92,6 @@ public class MidnightLib {
|
|||||||
}
|
}
|
||||||
//?}
|
//?}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*? if neoforge {*/
|
/*? if neoforge {*/
|
||||||
/*public static List<LiteralArgumentBuilder<CommandSourceStack>> commands = new ArrayList<>();
|
/*public static List<LiteralArgumentBuilder<CommandSourceStack>> commands = new ArrayList<>();
|
||||||
|
|
||||||
@@ -119,9 +100,9 @@ public class MidnightLib {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//? if >= 1.21.6 {
|
//? if >= 1.21.6 {
|
||||||
@EventBusSubscriber(modid = "midnightlib", value = Dist.CLIENT)
|
@EventBusSubscriber(modid = MOD_ID, value = Dist.CLIENT)
|
||||||
//?} else {
|
//?} else {
|
||||||
/^@EventBusSubscriber(modid = "midnightlib", bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
/^@EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
||||||
^///?}
|
^///?}
|
||||||
public static class MidnightLibBusEvents {
|
public static class MidnightLibBusEvents {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
@@ -131,11 +112,11 @@ public class MidnightLib {
|
|||||||
modContainer.registerExtensionPoint(IConfigScreenFactory.class, (minecraftClient, screen) -> MidnightConfig.getScreen(screen, modid));
|
modContainer.registerExtensionPoint(IConfigScreenFactory.class, (minecraftClient, screen) -> MidnightConfig.getScreen(screen, modid));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MidnightLib.registerAutoCommand();
|
new AutoCommand().onInitializeServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventBusSubscriber(modid = "midnightlib")
|
@EventBusSubscriber(modid = MOD_ID)
|
||||||
public static class MidnightLibEvents {
|
public static class MidnightLibEvents {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void registerCommands(RegisterCommandsEvent event) {
|
public static void registerCommands(RegisterCommandsEvent event) {
|
||||||
@@ -155,7 +136,7 @@ public class MidnightLib {
|
|||||||
|
|
||||||
public static List<LiteralArgumentBuilder<CommandSourceStack>> commands = new ArrayList<>();
|
public static List<LiteralArgumentBuilder<CommandSourceStack>> commands = new ArrayList<>();
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = "midnightlib", bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
@Mod.EventBusSubscriber(modid = MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
||||||
public static class MidnightLibBusEvents {
|
public static class MidnightLibBusEvents {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onPostInit(FMLClientSetupEvent event) {
|
public static void onPostInit(FMLClientSetupEvent event) {
|
||||||
@@ -164,11 +145,11 @@ public class MidnightLib {
|
|||||||
modContainer.registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> new ConfigScreenHandler.ConfigScreenFactory((minecraftClient, screen) -> MidnightConfig.getScreen(screen, modid)));
|
modContainer.registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () -> new ConfigScreenHandler.ConfigScreenFactory((minecraftClient, screen) -> MidnightConfig.getScreen(screen, modid)));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MidnightLib.registerAutoCommand();
|
new AutoCommand().onInitializeServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = "midnightlib")
|
@Mod.EventBusSubscriber(modid = MOD_ID)
|
||||||
public static class MidnightLibEvents {
|
public static class MidnightLibEvents {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void registerCommands(RegisterCommandsEvent event) {
|
public static void registerCommands(RegisterCommandsEvent event) {
|
||||||
|
|||||||
@@ -7,16 +7,22 @@ import eu.midnightdust.lib.util.PlatformFunctions;
|
|||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
import net.minecraft.commands.Commands;
|
import net.minecraft.commands.Commands;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
|
|
||||||
public class AutoCommand {
|
//? fabric
|
||||||
|
import net.fabricmc.api.DedicatedServerModInitializer;
|
||||||
|
|
||||||
|
public class AutoCommand /*? fabric {*/ implements DedicatedServerModInitializer /*?}*/ {
|
||||||
final static String VALUE = "value";
|
final static String VALUE = "value";
|
||||||
final Field field;
|
Field field;
|
||||||
final Class<?> type;
|
Class<?> type;
|
||||||
final String modid;
|
String modid;
|
||||||
final boolean isList;
|
boolean isList;
|
||||||
|
|
||||||
|
public AutoCommand() {}
|
||||||
|
|
||||||
public AutoCommand(Field field, String modid) {
|
public AutoCommand(Field field, String modid) {
|
||||||
this.field = field; this.modid = modid;
|
this.field = field; this.modid = modid;
|
||||||
@@ -81,4 +87,15 @@ public class AutoCommand {
|
|||||||
}, true);
|
}, true);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onInitializeServer() {
|
||||||
|
MidnightConfig.configInstances.forEach((modid, config) -> {
|
||||||
|
for (Field field : config.configClass.getFields()) {
|
||||||
|
if (field.isAnnotationPresent(MidnightConfig.Entry.class)
|
||||||
|
&& !field.isAnnotationPresent(MidnightConfig.Client.class)
|
||||||
|
&& !field.isAnnotationPresent(MidnightConfig.Hidden.class))
|
||||||
|
new AutoCommand(field, modid);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"environment": "*",
|
"environment": "*",
|
||||||
"entrypoints": {
|
"entrypoints": {
|
||||||
"server": [
|
"server": [
|
||||||
"eu.midnightdust.core.MidnightLib"
|
"eu.midnightdust.lib.config.AutoCommand"
|
||||||
],
|
],
|
||||||
"client": [
|
"client": [
|
||||||
"eu.midnightdust.core.MidnightLib"
|
"eu.midnightdust.core.MidnightLib"
|
||||||
|
|||||||
Reference in New Issue
Block a user