Skip to content

Commit a107df9

Browse files
committed
refactor: Send FailureInformation instead of the failure effect itself, for more cleanliness
1 parent d1f26ec commit a107df9

5 files changed

Lines changed: 36 additions & 18 deletions

File tree

common/src/main/java/net/blay09/mods/shogi/common/effect/failure/Failure.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,10 @@ public record Failure(Component message) implements ShogiEffect<Boolean> {
1717
public static final MapCodec<Failure> MAP_CODEC = RecordCodecBuilder.mapCodec(builder -> builder.group(
1818
ComponentSerialization.CODEC.fieldOf("message").orElse(Component.empty()).forGetter(Failure::message)
1919
).apply(builder, Failure::new));
20-
public static final StreamCodec<RegistryFriendlyByteBuf, Failure> STREAM_CODEC = StreamCodec.composite(
21-
ComponentSerialization.STREAM_CODEC,
22-
Failure::message,
23-
Failure::new
24-
);
2520

2621
@Override
2722
public Either<Boolean, ?> apply(ShogiContext context) {
28-
return Either.right(this);
23+
return Either.right(new FailureInformation(message));
2924
}
3025

3126
@Override
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package net.blay09.mods.shogi.common.effect.failure;
2+
3+
import net.minecraft.network.RegistryFriendlyByteBuf;
4+
import net.minecraft.network.chat.Component;
5+
import net.minecraft.network.chat.ComponentSerialization;
6+
import net.minecraft.network.codec.StreamCodec;
7+
8+
public record FailureInformation(Component message) {
9+
public static final StreamCodec<RegistryFriendlyByteBuf, FailureInformation> STREAM_CODEC = StreamCodec.composite(
10+
ComponentSerialization.STREAM_CODEC,
11+
FailureInformation::message,
12+
FailureInformation::new
13+
);
14+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package net.blay09.mods.shogi.common.effect.failure;
2+
3+
import net.blay09.mods.shogi.effect.failure.ShogiFatalFailure;
4+
import net.minecraft.network.RegistryFriendlyByteBuf;
5+
import net.minecraft.network.chat.Component;
6+
import net.minecraft.network.chat.ComponentSerialization;
7+
import net.minecraft.network.codec.StreamCodec;
8+
9+
public record RefusalInformation(Component message) implements ShogiFatalFailure {
10+
public static final StreamCodec<RegistryFriendlyByteBuf, RefusalInformation> STREAM_CODEC = StreamCodec.composite(
11+
ComponentSerialization.STREAM_CODEC,
12+
RefusalInformation::message,
13+
RefusalInformation::new
14+
);
15+
}

common/src/main/java/net/blay09/mods/shogi/common/effect/failure/Refuse.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,22 @@
55
import com.mojang.serialization.codecs.RecordCodecBuilder;
66
import net.blay09.mods.shogi.effect.ShogiEffect;
77
import net.blay09.mods.shogi.context.ShogiContext;
8-
import net.blay09.mods.shogi.effect.failure.ShogiFatalFailure;
98
import net.minecraft.network.RegistryFriendlyByteBuf;
109
import net.minecraft.network.chat.Component;
1110
import net.minecraft.network.chat.ComponentSerialization;
1211
import net.minecraft.network.codec.StreamCodec;
1312
import net.minecraft.resources.Identifier;
1413

15-
public record Refuse(Component message) implements ShogiEffect<Boolean>, ShogiFatalFailure {
14+
public record Refuse(Component message) implements ShogiEffect<Boolean> {
1615

1716
public static final Identifier IDENTIFIER = Identifier.fromNamespaceAndPath("shogi", "refuse");
1817
public static final MapCodec<Refuse> MAP_CODEC = RecordCodecBuilder.mapCodec(builder -> builder.group(
1918
ComponentSerialization.CODEC.fieldOf("message").orElse(Component.empty()).forGetter(Refuse::message)
2019
).apply(builder, Refuse::new));
21-
public static final StreamCodec<RegistryFriendlyByteBuf, Refuse> STREAM_CODEC = StreamCodec.composite(
22-
ComponentSerialization.STREAM_CODEC,
23-
Refuse::message,
24-
Refuse::new
25-
);
2620

2721
@Override
2822
public Either<Boolean, ?> apply(ShogiContext context) {
29-
return Either.right(this);
23+
return Either.right(new RefusalInformation(message));
3024
}
3125

3226
@Override

common/src/main/java/net/blay09/mods/shogi/common/network/ShogiDefaultStreamCodecs.java

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

33
import com.google.gson.JsonElement;
44
import net.blay09.mods.shogi.common.effect.cost.*;
5-
import net.blay09.mods.shogi.common.effect.failure.Failure;
6-
import net.blay09.mods.shogi.common.effect.failure.Refuse;
5+
import net.blay09.mods.shogi.common.effect.failure.FailureInformation;
6+
import net.blay09.mods.shogi.common.effect.failure.RefusalInformation;
77
import net.blay09.mods.shogi.common.effect.server.cooldown.CooldownInformation;
88
import net.blay09.mods.shogi.common.effect.variable.MissingVariableFailure;
99
import net.blay09.mods.shogi.effect.EmptyEffect;
@@ -43,8 +43,8 @@ public static synchronized void registerDefaults() {
4343
ShogiStreamCodecs.register(id("component"), Component.class, ComponentSerialization.STREAM_CODEC);
4444
ShogiStreamCodecs.register(id("throwable"), Throwable.class, THROWABLE_CODEC);
4545
ShogiStreamCodecs.register(id("list"), List.class, ShogiStreamCodecs.LIST_STREAM_CODEC);
46-
ShogiStreamCodecs.register(id("failure"), Failure.class, Failure.STREAM_CODEC);
47-
ShogiStreamCodecs.register(id("refuse"), Refuse.class, Refuse.STREAM_CODEC);
46+
ShogiStreamCodecs.register(id("failure"), FailureInformation.class, FailureInformation.STREAM_CODEC);
47+
ShogiStreamCodecs.register(id("refusal"), RefusalInformation.class, RefusalInformation.STREAM_CODEC);
4848
ShogiStreamCodecs.register(id("missing_variable_failure"), MissingVariableFailure.class, MissingVariableFailure.STREAM_CODEC);
4949
ShogiStreamCodecs.register(id("xp_points_cost"), ExperiencePointsCostInformation.class, ExperiencePointsCostInformation.STREAM_CODEC);
5050
ShogiStreamCodecs.register(id("xp_level_cost"), ExperienceLevelCostInformation.class, ExperienceLevelCostInformation.STREAM_CODEC);

0 commit comments

Comments
 (0)