Skip to content

Commit c3f9308

Browse files
committed
Replace ScoreboardState injection with Packed#equals patch
1 parent 2ac4749 commit c3f9308

3 files changed

Lines changed: 9 additions & 22 deletions

File tree

cardinal-components-scoreboard/src/main/java/org/ladysnake/cca/mixin/scoreboard/MixinPackedScoreboardState.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
*/
2323
package org.ladysnake.cca.mixin.scoreboard;
2424

25+
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
2526
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
2627
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
2728
import com.mojang.datafixers.kinds.App;
@@ -37,6 +38,7 @@
3738
import org.spongepowered.asm.mixin.Unique;
3839
import org.spongepowered.asm.mixin.injection.At;
3940

41+
import java.util.Objects;
4042
import java.util.Optional;
4143
import java.util.function.Function;
4244

@@ -69,4 +71,11 @@ private static Codec<ScoreboardState.Packed> wrapCodec(Function<RecordCodecBuild
6971
return packed;
7072
}));
7173
}
74+
75+
@WrapMethod(method = "equals")
76+
private boolean patchEquals(Object object, Operation<Boolean> original) {
77+
return original.call(object)
78+
&& object instanceof CcaPackedState otherState
79+
&& Objects.equals(cca$getSerializedComponents(), otherState.cca$getSerializedComponents());
80+
}
7281
}

cardinal-components-scoreboard/src/main/java/org/ladysnake/cca/mixin/scoreboard/MixinScoreboardState.java

Lines changed: 0 additions & 21 deletions
This file was deleted.

cardinal-components-scoreboard/src/main/resources/mixins.cardinal_components_scoreboard.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"MixinPersistentState",
1111
"MixinPlayerManager",
1212
"MixinScoreboard",
13-
"MixinScoreboardState",
1413
"MixinServerScoreboard",
1514
"MixinTeam",
1615
"ServerScoreboardAccessor",

0 commit comments

Comments
 (0)