Skip to content

Commit f1fa3a4

Browse files
committed
Merge 1.19.2 into 1.19.4
2 parents 4da012c + dabf9fc commit f1fa3a4

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/cofh_core_crash/FlagManagerMixin.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22

33
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
44
import org.embeddedt.modernfix.annotation.RequiresMod;
5-
import org.spongepowered.asm.mixin.*;
5+
import org.spongepowered.asm.mixin.Final;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.Pseudo;
8+
import org.spongepowered.asm.mixin.Shadow;
69
import org.spongepowered.asm.mixin.injection.At;
710
import org.spongepowered.asm.mixin.injection.Coerce;
811
import org.spongepowered.asm.mixin.injection.Redirect;
912

10-
import java.util.function.BooleanSupplier;
13+
import java.util.function.Supplier;
1114

1215
/**
1316
* Fix getOrCreateFlag accessing the FLAGS map without synchronization by wrapping all calls to it
@@ -18,15 +21,15 @@
1821
@RequiresMod("cofh_core")
1922
public class FlagManagerMixin {
2023
@Shadow @Final
21-
private static Object2ObjectOpenHashMap<String, BooleanSupplier> FLAGS;
24+
private static Object2ObjectOpenHashMap<String, Supplier<Boolean>> FLAGS;
2225

2326
@Shadow
24-
private BooleanSupplier getOrCreateFlag(String flag) {
27+
private Supplier<Boolean> getOrCreateFlag(String flag) {
2528
throw new AssertionError();
2629
}
2730

2831
@Redirect(method = "*", at = @At(value = "INVOKE", target = "getOrCreateFlag"), require = 0)
29-
private BooleanSupplier getFlag(@Coerce Object flagHandler, String flag) {
32+
private Supplier<Boolean> getFlag(@Coerce Object flagHandler, String flag) {
3033
if(flagHandler != this)
3134
throw new AssertionError("Redirect targeted bad getOrCreateFlag invocation");
3235
synchronized (FLAGS) {

0 commit comments

Comments
 (0)