Skip to content

Commit f08af5c

Browse files
authored
Merge pull request #224 from farpo/patch-scoreboard-writing
Patch scoreboard not getting written
2 parents 1e15ba8 + c3f9308 commit f08af5c

3 files changed

Lines changed: 16 additions & 1 deletion

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
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ elmendorf_version=0.16.0
1515
immersive_portals_version=v6.0.3-mc1.21.1
1616

1717
#Publishing
18-
mod_version = 7.3.0
18+
mod_version = 7.3.1
1919
curseforge_id = 318449
2020
modrinth_id = K01OU20C
2121
curseforge_versions = 1.21.11

src/testmod/java/org/ladysnake/componenttest/content/VitaCommand.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ public static void register(CommandDispatcher<ServerCommandSource> dispatcher) {
5050
return 1;
5151
})
5252
)
53+
.then(CommandManager.literal("serverwide")
54+
.executes(commandContext -> {
55+
Vita.get(commandContext.getSource().getServer().getScoreboard()).setVitality(IntegerArgumentType.getInteger(commandContext, "amount"));
56+
commandContext.getSource().sendFeedback(() -> Text.of("success!"), false);
57+
return 1;
58+
}))
5359
)
5460
)
5561
.then(CommandManager.literal("get")

0 commit comments

Comments
 (0)