Skip to content

Commit 00a36b5

Browse files
committed
fix
1 parent 9a42b17 commit 00a36b5

2 files changed

Lines changed: 29 additions & 4 deletions

File tree

gradle/scripts/dependencies.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ dependencies {
2727
// Example - CurseMaven dependencies:
2828
// 'curse.maven:had-enough-items-557549:4543375' << had-enough-items = project slug, 557549 = project id, 4543375 = file id
2929
// Full documentation: https://cursemaven.com/
30-
implementation 'curse.maven:advanced-backups-876284:6148212'
30+
compileOnly 'curse.maven:mixin-booter-419286:7049694'
31+
compileOnly 'curse.maven:advanced-backups-876284:6148212'
3132

3233
// Example - Modrinth dependencies:
3334
// 'maven.modrinth:jei:4.16.1.1000' << jei = project name, 4.16.1.1000 = file version

src/main/java/com/github/gtexpert/advancedbackupspatch/mixin/AdvancedBackupsMixin.java

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,34 @@
11
package com.github.gtexpert.advancedbackupspatch.mixin;
22

3+
import java.util.function.Consumer;
4+
5+
import computer.heather.advancedbackups.AdvancedBackups;
6+
import computer.heather.advancedbackups.core.ABCore;
37
import computer.heather.advancedbackups.network.NetworkHandler;
48

59
import net.minecraftforge.common.MinecraftForge;
610
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
711
import net.minecraftforge.fml.common.eventhandler.EventBus;
812

913
import org.spongepowered.asm.mixin.Mixin;
14+
import org.spongepowered.asm.mixin.Shadow;
1015
import org.spongepowered.asm.mixin.injection.At;
1116
import org.spongepowered.asm.mixin.injection.Inject;
1217
import org.spongepowered.asm.mixin.injection.Redirect;
1318
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1419

15-
import computer.heather.advancedbackups.AdvancedBackups;
16-
1720
@Mixin(value = AdvancedBackups.class, remap = false)
1821
public abstract class AdvancedBackupsMixin {
1922

23+
@Shadow
24+
public static Consumer<String> infoLogger;
25+
26+
@Shadow
27+
public static Consumer<String> warningLogger;
28+
29+
@Shadow
30+
public static Consumer<String> errorLogger;
31+
2032
/**
2133
* Disable EVENT_BUS.register(this) in the constructor.
2234
* The mod container is not yet established at construction time, so defer to preInit.
@@ -48,4 +60,16 @@ private void onPreInit(FMLPreInitializationEvent event, CallbackInfo ci) {
4860
MinecraftForge.EVENT_BUS.register(this);
4961
NetworkHandler.registerMessages();
5062
}
51-
}
63+
64+
/**
65+
* Set ABCore loggers after preInit sets them on AdvancedBackups.
66+
* Without this, ABCore.infoLogger is null on the client side (only set in onServerStarting),
67+
* causing NPE in ClientConfigManager when receiving PacketToastTest.
68+
*/
69+
@Inject(method = "preInit", at = @At("TAIL"))
70+
private void onPreInitTail(FMLPreInitializationEvent event, CallbackInfo ci) {
71+
ABCore.infoLogger = infoLogger;
72+
ABCore.warningLogger = warningLogger;
73+
ABCore.errorLogger = errorLogger;
74+
}
75+
}

0 commit comments

Comments
 (0)