99import dev .latvian .mods .kubejs .ingredient .KubeJSIngredients ;
1010import dev .latvian .mods .kubejs .item .creativetab .KubeJSCreativeTabs ;
1111import dev .latvian .mods .kubejs .level .ruletest .KubeJSRuleTests ;
12+ import dev .latvian .mods .kubejs .net .KubeJSNet ;
1213import dev .latvian .mods .kubejs .plugin .KubeJSPlugin ;
1314import dev .latvian .mods .kubejs .plugin .KubeJSPlugins ;
1415import dev .latvian .mods .kubejs .plugin .builtin .event .StartupEvents ;
2021import dev .latvian .mods .kubejs .script .ScriptType ;
2122import dev .latvian .mods .kubejs .script .data .KubeFileResourcePack ;
2223import dev .latvian .mods .kubejs .util .RecordDefaults ;
24+ import net .fabricmc .api .EnvType ;
25+ import net .fabricmc .loader .api .FabricLoader ;
26+ import net .fabricmc .loader .api .ModContainer ;
2327import net .minecraft .resources .ResourceLocation ;
24- import net .neoforged .api .distmarker .Dist ;
25- import net .neoforged .bus .api .IEventBus ;
26- import net .neoforged .fml .ModContainer ;
27- import net .neoforged .fml .ModList ;
28- import net .neoforged .fml .common .Mod ;
29- import net .neoforged .neoforge .common .NeoForgeMod ;
30- import net .neoforged .neoforgespi .language .IModFileInfo ;
31- import net .neoforged .neoforgespi .language .IModInfo ;
3228import org .slf4j .Logger ;
3329import org .slf4j .LoggerFactory ;
3430
3733import java .nio .file .Files ;
3834import java .util .ArrayList ;
3935
40- @ Mod (KubeJS .MOD_ID )
4136public class KubeJS {
4237 public static final String MOD_ID = "kubejs" ;
4338 public static final String MOD_NAME = "KubeJS" ;
@@ -48,11 +43,12 @@ public class KubeJS {
4843 public static String VERSION = "0" ;
4944 public static String DISPLAY_NAME = "KubeJS" ;
5045
46+ public static KubeJS instance ;
47+
5148 public static ResourceLocation id (String path ) {
5249 return ResourceLocation .fromNamespaceAndPath (MOD_ID , path );
5350 }
5451
55- public static IEventBus modEventBus ;
5652 public static ModContainer thisMod ;
5753
5854 public static KubeJSCommon PROXY = new KubeJSCommon ();
@@ -67,12 +63,12 @@ public static ScriptManager getClientScriptManager() {
6763 return clientScriptManager ;
6864 }
6965
70- public KubeJS (IEventBus bus , Dist dist , ModContainer mod ) throws Throwable {
71- modEventBus = bus ;
72- thisMod = mod ;
73- VERSION = mod . getModInfo ().getVersion ().toString ();
66+ public KubeJS () throws Throwable {
67+ instance = this ;
68+ thisMod = FabricLoader . getInstance (). getModContainer ( MOD_ID ). orElseThrow () ;
69+ VERSION = thisMod . getMetadata ().getVersion ().getFriendlyString ();
7470 DISPLAY_NAME = "KubeJS " + VERSION ;
75- QUERY = "source=kubejs&mc=" + MC_VERSION_NUMBER + "&loader=neoforge &v=" + URLEncoder .encode (mod . getModInfo ().getVersion ().toString (), StandardCharsets .UTF_8 );
71+ QUERY = "source=kubejs&mc=" + MC_VERSION_NUMBER + "&loader=fabric &v=" + URLEncoder .encode (thisMod . getMetadata ().getVersion ().getFriendlyString (), StandardCharsets .UTF_8 );
7672
7773 if (Files .notExists (KubeJSPaths .README )) {
7874 try {
@@ -115,11 +111,11 @@ public KubeJS(IEventBus bus, Dist dist, ModContainer mod) throws Throwable {
115111
116112 var pluginTimer = Stopwatch .createStarted ();
117113 LOGGER .info ("Looking for KubeJS plugins..." );
118- var allMods = new ArrayList <>(ModList . get ().getMods (). stream (). map ( IModInfo :: getOwningFile ). map ( IModFileInfo :: getFile ). toList ());
119- var thisModFile = mod .getModInfo ().getOwningFile ().getFile ();
120- allMods .remove (thisModFile );
121- allMods .addFirst (thisModFile );
122- KubeJSPlugins .load (allMods , dist == Dist .CLIENT );
114+ var allMods = new ArrayList <>(FabricLoader . getInstance ().getAllMods ());
115+ // var thisModFile = mod.getModInfo().getOwningFile().getFile();
116+ allMods .remove (thisMod );
117+ allMods .addFirst (thisMod );
118+ KubeJSPlugins .load (allMods , FabricLoader . getInstance (). getEnvironmentType () == EnvType .CLIENT );
123119 LOGGER .info ("Done in " + pluginTimer .stop ());
124120
125121 KubeJSPlugins .forEachPlugin (KubeJSPlugin ::init );
@@ -130,7 +126,7 @@ public KubeJS(IEventBus bus, Dist dist, ModContainer mod) throws Throwable {
130126 startupScriptManager .reload ();
131127 }
132128
133- if (dist . isClient () ) {
129+ if (FabricLoader . getInstance (). getEnvironmentType () == EnvType . CLIENT ) {
134130 clientScriptManager = new ClientScriptManager ();
135131
136132 if (!datagen ) {
@@ -140,26 +136,27 @@ public KubeJS(IEventBus bus, Dist dist, ModContainer mod) throws Throwable {
140136
141137 KubeJSPlugins .forEachPlugin (KubeJSPlugin ::initStartup );
142138
143- if (dist . isClient () ) {
139+ if (FabricLoader . getInstance (). getEnvironmentType () == EnvType . CLIENT ) {
144140 KubeFileResourcePack .scanForInvalidFiles ("kubejs/assets/" , KubeJSPaths .ASSETS );
145141 }
146142
147143 KubeFileResourcePack .scanForInvalidFiles ("kubejs/data/" , KubeJSPaths .DATA );
148144
149- if (dist .isClient () || !CommonProperties .get ().serverOnly ) {
150- // See NeoForgeRegistriesSetup.VANILLA_SYNC_REGISTRIES
151- NeoForgeMod .enableMilkFluid ();
145+ if (FabricLoader .getInstance ().getEnvironmentType () == EnvType .CLIENT || !CommonProperties .get ().serverOnly ) {
152146 // KubeJSComponents.REGISTRY.register(bus);
153- KubeJSRecipeSerializers .REGISTRY . register ( bus );
154- KubeJSMenus .REGISTRY . register ( bus );
147+ KubeJSRecipeSerializers .init ( );
148+ KubeJSMenus .init ( );
155149 }
156150
157- KubeJSIngredients .REGISTRY .register (bus );
158- KubeJSFluidIngredients .REGISTRY .register (bus );
159- KubeJSCreativeTabs .REGISTRY .register (bus );
160- KubeJSRuleTests .REGISTRY .register (bus );
161- KubeJSHolderSets .REGISTRY .register (bus );
151+ KubeJSIngredients .init ();
152+ KubeJSFluidIngredients .init ();
153+ KubeJSCreativeTabs .init ();
154+ KubeJSRuleTests .init ();
155+ KubeJSHolderSets .init ();
156+ }
162157
158+ public void setup () {
159+ KubeJSNet .register ();
163160 StartupEvents .INIT .post (ScriptType .STARTUP , KubeStartupEvent .BASIC );
164161 // KubeJSRegistries.chunkGenerators().register(new ResourceLocation(KubeJS.MOD_ID, "flat"), () -> KJSFlatLevelSource.CODEC);
165162 }
0 commit comments