Skip to content

Commit eba7465

Browse files
committed
Port to MC 1.20.2
1 parent 9119041 commit eba7465

File tree

8 files changed

+68
-53
lines changed

8 files changed

+68
-53
lines changed

.gitignore

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
1-
# Gradle
2-
.gradle/
3-
bin/
4-
build/
5-
6-
#Eclipse
7-
*.classpath
8-
*.project
9-
*.prefs
1+
# eclipse
2+
bin
103
*.launch
11-
.idea/
4+
.settings
5+
.metadata
6+
.classpath
7+
.project
8+
9+
# idea
10+
out
11+
*.ipr
12+
*.iws
13+
*.iml
14+
.idea
1215

13-
# General
14-
run/
16+
# gradle
17+
build
18+
.gradle
1519

16-
# Annotation Processing
17-
/.apt_generated_tests/
18-
/Users/
19-
.factorypath
20+
# other
21+
eclipse
22+
run
23+
runs
24+
.DS_Store

gradle.properties

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
group=net.darkhax.gamestages
2-
version=15.0
2+
version=16.0
33

44
mod_name=GameStages
55
mod_author=Darkhax
@@ -10,12 +10,12 @@ mod_issues=https://github.com/Darkhax-Minecraft/Game-Stages/issues
1010
mod_description=A framework for creating custom progression systems.
1111

1212
# Minecraft Forge properties (gradle/forge.gradle)
13-
minecraft_version=1.20.1
14-
forge_version=47.1.28
13+
minecraft_version=1.20.2
14+
forge_version=48.1.0
1515

1616
# Dependencies (gradle/dependencies.gradle)
17-
bookshelf_version=20.0.1
18-
crafttweaker_version=14.0.9
17+
bookshelf_version=21.0.14
18+
crafttweaker_version=15.0.6
1919

2020
# CurseForge properties (gradle/curseforge.gradle)
2121
curse_project=268655

src/main/java/net/darkhax/gamestages/GameStageHelper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import net.minecraft.server.level.ServerPlayer;
88
import net.minecraft.world.entity.player.Player;
99
import net.minecraftforge.common.MinecraftForge;
10-
import net.minecraftforge.common.util.FakePlayer;
1110
import net.minecraftforge.fml.util.thread.EffectiveSide;
1211

1312
import javax.annotation.Nullable;
@@ -273,7 +272,7 @@ public static IStageData getPlayerData (Player player) {
273272

274273
if (player instanceof ServerPlayer) {
275274

276-
if (player instanceof FakePlayer) {
275+
if (player.getClass() != ServerPlayer.class) {
277276

278277
return GameStageSaveHandler.getFakeData(player.getName().getString());
279278
}

src/main/java/net/darkhax/gamestages/GameStages.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import net.darkhax.gamestages.packet.GameStagesPacketHandler;
77
import net.minecraft.ChatFormatting;
88
import net.minecraft.client.Minecraft;
9+
import net.minecraft.client.gui.screens.controls.KeyBindsScreen;
910
import net.minecraftforge.api.distmarker.Dist;
1011
import net.minecraftforge.api.distmarker.OnlyIn;
1112
import net.minecraftforge.client.event.CustomizeGuiOverlayEvent;
@@ -46,8 +47,8 @@ private void registerReloadListeners(AddReloadListenerEvent event) {
4647
private void onF3Text (CustomizeGuiOverlayEvent.DebugText event) {
4748

4849
final Minecraft mc = Minecraft.getInstance();
49-
50-
if (mc.options.renderDebug) {
50+
51+
if (mc.gui != null && mc.gui.getDebugOverlay() != null && mc.gui.getDebugOverlay().showDebugScreen()) {
5152

5253
if (mc.player.isShiftKeyDown()) {
5354

src/main/java/net/darkhax/gamestages/addons/crt/StageHelper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,11 +259,11 @@ public static void grantStageOnAdvancement(Predicate<ResourceLocation> predicate
259259

260260
ZenEventManager.EVENTS.register(AdvancementEvent.AdvancementEarnEvent.class, event -> {
261261

262-
if (event.getEntity() instanceof ServerPlayer player && predicate.test(event.getAdvancement().getId())) {
262+
if (event.getEntity() instanceof ServerPlayer player && predicate.test(event.getAdvancement().id())) {
263263

264264
if (grantStages(player, stages) && hook != null) {
265265

266-
hook.accept(player, event.getAdvancement().getId());
266+
hook.accept(player, event.getAdvancement().id());
267267
}
268268
}
269269
});

src/main/java/net/darkhax/gamestages/command/StageArgumentType.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package net.darkhax.gamestages.command;
22

3+
import com.google.gson.JsonArray;
34
import com.google.gson.JsonObject;
45
import com.mojang.brigadier.StringReader;
56
import com.mojang.brigadier.arguments.ArgumentType;
67
import com.mojang.brigadier.context.CommandContext;
78
import com.mojang.brigadier.exceptions.CommandSyntaxException;
89
import com.mojang.brigadier.suggestion.Suggestions;
910
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
10-
import net.darkhax.bookshelf.api.serialization.Serializers;
11+
import net.darkhax.bookshelf.api.data.bytebuf.BookshelfByteBufs;
1112
import net.darkhax.gamestages.GameStageHelper;
1213
import net.minecraft.commands.CommandBuildContext;
1314
import net.minecraft.commands.SharedSuggestionProvider;
@@ -113,19 +114,22 @@ static class Serializer implements ArgumentTypeInfo<StageArgumentType, Template>
113114
@Override
114115
public void serializeToNetwork(StageArgumentType.Template template, FriendlyByteBuf buffer) {
115116

116-
Serializers.STRING.toByteBufList(buffer, new ArrayList<>(template.knownStages));
117+
BookshelfByteBufs.STRING.writeSet(buffer, template.knownStages);
117118
}
118119

119120
@Override
120121
public StageArgumentType.Template deserializeFromNetwork(FriendlyByteBuf buffer) {
121122

122-
return new StageArgumentType.Template(new HashSet<>(Serializers.STRING.fromByteBufList(buffer)));
123+
final Set<String> readStages = BookshelfByteBufs.STRING.readSet(buffer);
124+
return new StageArgumentType.Template(readStages);
123125
}
124126

125127
@Override
126128
public void serializeToJson(StageArgumentType.Template template, JsonObject json) {
127129

128-
json.add("known_stages", Serializers.STRING.toJSONSet(template.knownStages));
130+
final JsonArray stagesArray = new JsonArray();
131+
template.knownStages.forEach(stagesArray::add);
132+
json.add("known_stages", stagesArray);
129133
}
130134

131135
@Override
Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package net.darkhax.gamestages.packet;
22

3-
import net.darkhax.bookshelf.api.serialization.Serializers;
3+
import net.darkhax.bookshelf.api.data.bytebuf.BookshelfByteBufs;
44
import net.darkhax.gamestages.GameStages;
55
import net.darkhax.gamestages.data.GameStageSaveHandler;
66
import net.darkhax.gamestages.data.IStageData;
@@ -10,34 +10,45 @@
1010
import net.minecraft.resources.ResourceLocation;
1111
import net.minecraft.server.level.ServerPlayer;
1212
import net.minecraftforge.common.MinecraftForge;
13-
import net.minecraftforge.network.NetworkEvent;
14-
import net.minecraftforge.network.NetworkRegistry;
13+
import net.minecraftforge.event.network.CustomPayloadEvent;
14+
import net.minecraftforge.network.ChannelBuilder;
15+
import net.minecraftforge.network.NetworkDirection;
1516
import net.minecraftforge.network.PacketDistributor;
16-
import net.minecraftforge.network.simple.SimpleChannel;
17+
import net.minecraftforge.network.SimpleChannel;
1718

18-
import java.util.function.Supplier;
19+
import java.util.List;
1920

2021
public class GameStagesPacketHandler {
2122

22-
private final String PROTOCOL = "9";
23-
private final SimpleChannel channel = NetworkRegistry.newSimpleChannel(new ResourceLocation(GameStages.MOD_ID, "main"), () -> PROTOCOL, PROTOCOL::equals, PROTOCOL::equals);
23+
private final int PROTOCOL = 9;
24+
private final ResourceLocation CHANNEL_ID = new ResourceLocation(GameStages.MOD_ID, "main");
25+
private final SimpleChannel channel = ChannelBuilder.named(CHANNEL_ID).networkProtocolVersion(PROTOCOL).clientAcceptedVersions((status, version) -> true).serverAcceptedVersions((status, version) -> true).simpleChannel();
2426

2527
public GameStagesPacketHandler() {
2628

27-
channel.registerMessage(0, MessageStages.class, this::encodeStageMessage, this::decodeStageMessage, this::processSyncStagesMessage);
29+
channel.messageBuilder(MessageStages.class, 0, NetworkDirection.PLAY_TO_CLIENT).encoder(this::encodeStageMessage).decoder(this::decodeStageMessage).consumerMainThread(this::processSyncStagesMessage).add();
2830
}
2931

3032
public void syncPlayerStages(ServerPlayer player, MessageStages msg) {
3133

32-
channel.send(PacketDistributor.PLAYER.with(() -> player), msg);
34+
if (msg != null) {
35+
36+
channel.send(msg, PacketDistributor.PLAYER.with(player));
37+
}
38+
}
39+
40+
private void encodeStageMessage(MessageStages packet, FriendlyByteBuf buffer) {
41+
42+
BookshelfByteBufs.STRING.writeList(buffer, packet.getStages());
3343
}
3444

3545
private MessageStages decodeStageMessage(FriendlyByteBuf buffer) {
3646

37-
return new MessageStages(Serializers.STRING.fromByteBufList(buffer));
47+
final List<String> stages = BookshelfByteBufs.STRING.readList(buffer);
48+
return new MessageStages(stages);
3849
}
3950

40-
private void processSyncStagesMessage(MessageStages message, Supplier<NetworkEvent.Context> ctx) {
51+
private void processSyncStagesMessage(MessageStages message, CustomPayloadEvent.Context ctx) {
4152

4253
// Reset the client data to a new object.
4354
final IStageData clientData = new StageData();
@@ -52,11 +63,6 @@ private void processSyncStagesMessage(MessageStages message, Supplier<NetworkEve
5263

5364
// Alert all the listeners.
5465
MinecraftForge.EVENT_BUS.post(new StagesSyncedEvent(clientData));
55-
ctx.get().setPacketHandled(true);
56-
}
57-
58-
private void encodeStageMessage (MessageStages packet, FriendlyByteBuf buffer) {
59-
60-
Serializers.STRING.toByteBufList(buffer, packet.getStages());
66+
ctx.setPacketHandled(true);
6167
}
6268
}

src/main/resources/META-INF/mods.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
modLoader="javafml"
2-
loaderVersion="[47,]"
2+
loaderVersion="[48,]"
33
issueTrackerURL="https://github.com/Darkhax-Minecraft/Game-Stages"
44
license="LGPL v2.1"
55
logoFile="mod_logo.png"
66
logoBlur=false
77

88
[[mods]]
99
modId="gamestages"
10-
updateJSONURL="https://updates.blamejared.com/get?n=gamestages&gv=1.20.1"
10+
updateJSONURL="https://updates.blamejared.com/get?n=gamestages&gv=1.20.2"
1111
version="${file.jarVersion}"
1212
displayName="${modName}"
1313
displayURL="${modHomepage}"
@@ -21,20 +21,20 @@ itemIcon="minecraft:name_tag"
2121
[[dependencies.gamestages]]
2222
modId="forge"
2323
mandatory=true
24-
versionRange="[47,]"
24+
versionRange="[48,]"
2525
ordering="NONE"
2626
side="BOTH"
2727

2828
[[dependencies.gamestages]]
2929
modId="minecraft"
3030
mandatory=true
31-
versionRange="[1.20.1]"
31+
versionRange="[1.20.2]"
3232
ordering="NONE"
3333
side="BOTH"
3434

3535
[[dependencies.gamestages]]
3636
modId="bookshelf"
3737
mandatory=true
38-
versionRange="[20,)"
38+
versionRange="[21,)"
3939
ordering="NONE"
4040
side="BOTH"

0 commit comments

Comments
 (0)