Skip to content

Commit

Permalink
Integrations init fix
Browse files Browse the repository at this point in the history
  • Loading branch information
paulevsGitch committed Jun 17, 2021
1 parent b53d513 commit 42feb6d
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 4 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ yarn_mappings=6
loader_version=0.11.3

# Mod Properties
mod_version = 0.1.36
mod_version = 0.1.37
maven_group = ru.bclib
archives_base_name = bclib

Expand Down
14 changes: 11 additions & 3 deletions src/main/java/ru/bclib/api/ModIntegrationAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@ public class ModIntegrationAPI {
*/
public static ModIntegration register(ModIntegration integration) {
INTEGRATIONS.add(integration);
if (integration.modIsInstalled()) {
integration.init();
}
return integration;
}

Expand All @@ -29,4 +26,15 @@ public static ModIntegration register(ModIntegration integration) {
public static List<ModIntegration> getIntegrations() {
return INTEGRATIONS;
}

/**
* Initialize all integrations, only for internal usage.
*/
public static void registerAll() {
INTEGRATIONS.forEach(integration -> {
if (integration.modIsInstalled()) {
integration.init();
}
});
}
}
19 changes: 19 additions & 0 deletions src/main/java/ru/bclib/mixin/common/EntrypointServerMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package ru.bclib.mixin.common;

import java.io.File;

import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointServer;
import ru.bclib.api.ModIntegrationAPI;

@Mixin(value = EntrypointServer.class, remap = false)
public class EntrypointServerMixin {
@Inject(method = "start", at = @At(value = "TAIL"))
private static void start(File runDir, Object gameInstance, CallbackInfo info) {
ModIntegrationAPI.registerAll();
}
}
1 change: 1 addition & 0 deletions src/main/resources/bclib.mixins.common.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"compatibilityLevel": "JAVA_8",
"mixins": [
"ComposterBlockAccessor",
"EntrypointServerMixin",
"PotionBrewingAccessor",
"RecipeManagerAccessor",
"EnchantmentMenuMixin",
Expand Down

0 comments on commit 42feb6d

Please sign in to comment.