Skip to content

Commit 3b2c4e8

Browse files
committed
Update to 1.20.5
1 parent c779b5a commit 3b2c4e8

File tree

9 files changed

+86
-112
lines changed

9 files changed

+86
-112
lines changed

changelog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
- Added arabic translation
1+
- Updated to 1.20.5

gradle.properties

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
org.gradle.jvmargs=-Xmx4G
22
org.gradle.daemon=false
33

4+
java_version=21
5+
46
mod_loader=fabric
5-
minecraft_version=1.20.4
6-
minecraft_dependency=1.20.4
7-
fabric_loader_version=0.14.25
8-
fabric_loader_dependency=>=0.14.25
9-
fabric_api_version=0.91.1+1.20.4
10-
fabric_api_dependency_breaks=<0.91.1+1.20.4
7+
minecraft_version=1.20.5
8+
minecraft_dependency=1.20.5
9+
fabric_loader_version=0.15.10
10+
fabric_loader_dependency=>=0.15.10
11+
fabric_api_version=0.97.5+1.20.5
12+
fabric_api_dependency_breaks=<0.97.5+1.20.5
1113

1214
mod_compatibility_version=1
1315

1416
# Mod information
15-
mod_version=1.20.4-1.0.6
17+
mod_version=1.20.5-1.0.6
1618
mod_id=status
1719
mod_display_name=Status
1820

src/main/java/de/maxhenkel/status/Status.java

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

33
import de.maxhenkel.configbuilder.ConfigBuilder;
44
import de.maxhenkel.status.config.ServerConfig;
5+
import de.maxhenkel.status.net.PlayerStatePacket;
6+
import de.maxhenkel.status.net.PlayerStatesPacket;
57
import de.maxhenkel.status.playerstate.PlayerStateManager;
68
import io.netty.buffer.Unpooled;
79
import net.fabricmc.api.ModInitializer;
810
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
11+
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
912
import net.fabricmc.fabric.api.networking.v1.ServerLoginConnectionEvents;
1013
import net.fabricmc.fabric.api.networking.v1.ServerLoginNetworking;
1114
import net.fabricmc.loader.api.FabricLoader;
@@ -38,6 +41,11 @@ public void onInitialize() {
3841
} catch (Exception e) {
3942
LOGGER.error("Failed to read compatibility version");
4043
}
44+
45+
PayloadTypeRegistry.playC2S().register(PlayerStatePacket.PLAYER_STATE, PlayerStatePacket.CODEC);
46+
PayloadTypeRegistry.playS2C().register(PlayerStatePacket.PLAYER_STATE, PlayerStatePacket.CODEC);
47+
PayloadTypeRegistry.playS2C().register(PlayerStatesPacket.PLAYER_STATES, PlayerStatesPacket.CODEC);
48+
4149
STATE_MANAGER = new PlayerStateManager();
4250

4351
ServerLifecycleEvents.SERVER_STARTING.register(server -> {

src/main/java/de/maxhenkel/status/net/NetManager.java

Lines changed: 0 additions & 70 deletions
This file was deleted.
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package de.maxhenkel.status.net;
22

3-
import net.minecraft.network.FriendlyByteBuf;
4-
import net.minecraft.resources.ResourceLocation;
3+
import net.minecraft.network.RegistryFriendlyByteBuf;
4+
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
55

6-
public interface Packet<T extends Packet> {
6+
public interface Packet<T extends Packet<T>> extends CustomPacketPayload {
77

8-
ResourceLocation getID();
8+
T fromBytes(RegistryFriendlyByteBuf buf);
99

10-
T fromBytes(FriendlyByteBuf buf);
10+
void toBytes(RegistryFriendlyByteBuf buf);
1111

12-
void toBytes(FriendlyByteBuf buf);
12+
@Override
13+
Type<T> type();
1314

1415
}

src/main/java/de/maxhenkel/status/net/PlayerStatePacket.java

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,28 @@
22

33
import de.maxhenkel.status.Status;
44
import de.maxhenkel.status.playerstate.PlayerState;
5-
import net.minecraft.network.FriendlyByteBuf;
5+
import net.minecraft.network.RegistryFriendlyByteBuf;
6+
import net.minecraft.network.codec.StreamCodec;
7+
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
68
import net.minecraft.resources.ResourceLocation;
79

810
public class PlayerStatePacket implements Packet<PlayerStatePacket> {
911

10-
public static final ResourceLocation PLAYER_STATE = new ResourceLocation(Status.MODID, "state");
12+
public static final Type<PlayerStatePacket> PLAYER_STATE = new CustomPacketPayload.Type<>(new ResourceLocation(Status.MODID, "state"));
13+
14+
public static final StreamCodec<RegistryFriendlyByteBuf, PlayerStatePacket> CODEC = new StreamCodec<>() {
15+
@Override
16+
public void encode(RegistryFriendlyByteBuf buf, PlayerStatePacket packet) {
17+
packet.toBytes(buf);
18+
}
19+
20+
@Override
21+
public PlayerStatePacket decode(RegistryFriendlyByteBuf buf) {
22+
PlayerStatePacket packet = new PlayerStatePacket();
23+
packet.fromBytes(buf);
24+
return packet;
25+
}
26+
};
1127

1228
private PlayerState playerState;
1329

@@ -24,19 +40,19 @@ public PlayerState getPlayerState() {
2440
}
2541

2642
@Override
27-
public ResourceLocation getID() {
28-
return PLAYER_STATE;
29-
}
30-
31-
@Override
32-
public PlayerStatePacket fromBytes(FriendlyByteBuf buf) {
43+
public PlayerStatePacket fromBytes(RegistryFriendlyByteBuf buf) {
3344
playerState = PlayerState.fromBytes(buf);
3445
return this;
3546
}
3647

3748
@Override
38-
public void toBytes(FriendlyByteBuf buf) {
49+
public void toBytes(RegistryFriendlyByteBuf buf) {
3950
playerState.toBytes(buf);
4051
}
4152

53+
@Override
54+
public Type<PlayerStatePacket> type() {
55+
return PLAYER_STATE;
56+
}
57+
4258
}

src/main/java/de/maxhenkel/status/net/PlayerStatesPacket.java

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import de.maxhenkel.status.Status;
44
import de.maxhenkel.status.playerstate.PlayerState;
5-
import net.minecraft.network.FriendlyByteBuf;
5+
import net.minecraft.network.RegistryFriendlyByteBuf;
6+
import net.minecraft.network.codec.StreamCodec;
7+
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
68
import net.minecraft.resources.ResourceLocation;
79

810
import java.util.HashMap;
@@ -11,9 +13,23 @@
1113

1214
public class PlayerStatesPacket implements Packet<PlayerStatesPacket> {
1315

14-
private Map<UUID, PlayerState> playerStates;
16+
public static final Type<PlayerStatesPacket> PLAYER_STATES = new CustomPacketPayload.Type<>(new ResourceLocation(Status.MODID, "states"));
17+
18+
public static final StreamCodec<RegistryFriendlyByteBuf, PlayerStatesPacket> CODEC = new StreamCodec<>() {
19+
@Override
20+
public void encode(RegistryFriendlyByteBuf buf, PlayerStatesPacket packet) {
21+
packet.toBytes(buf);
22+
}
1523

16-
public static final ResourceLocation PLAYER_STATES = new ResourceLocation(Status.MODID, "states");
24+
@Override
25+
public PlayerStatesPacket decode(RegistryFriendlyByteBuf buf) {
26+
PlayerStatesPacket packet = new PlayerStatesPacket();
27+
packet.fromBytes(buf);
28+
return packet;
29+
}
30+
};
31+
32+
private Map<UUID, PlayerState> playerStates;
1733

1834
public PlayerStatesPacket() {
1935

@@ -28,12 +44,7 @@ public Map<UUID, PlayerState> getPlayerStates() {
2844
}
2945

3046
@Override
31-
public ResourceLocation getID() {
32-
return PLAYER_STATES;
33-
}
34-
35-
@Override
36-
public PlayerStatesPacket fromBytes(FriendlyByteBuf buf) {
47+
public PlayerStatesPacket fromBytes(RegistryFriendlyByteBuf buf) {
3748
playerStates = new HashMap<>();
3849
int count = buf.readInt();
3950
for (int i = 0; i < count; i++) {
@@ -45,11 +56,16 @@ public PlayerStatesPacket fromBytes(FriendlyByteBuf buf) {
4556
}
4657

4758
@Override
48-
public void toBytes(FriendlyByteBuf buf) {
59+
public void toBytes(RegistryFriendlyByteBuf buf) {
4960
buf.writeInt(playerStates.size());
5061
for (Map.Entry<UUID, PlayerState> entry : playerStates.entrySet()) {
5162
entry.getValue().toBytes(buf);
5263
}
5364
}
5465

66+
@Override
67+
public Type<PlayerStatesPacket> type() {
68+
return PLAYER_STATES;
69+
}
70+
5571
}

src/main/java/de/maxhenkel/status/playerstate/ClientPlayerStateManager.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import de.maxhenkel.status.Status;
44
import de.maxhenkel.status.StatusClient;
55
import de.maxhenkel.status.events.ClientWorldEvents;
6-
import de.maxhenkel.status.net.NetManager;
76
import de.maxhenkel.status.net.PlayerStatePacket;
87
import de.maxhenkel.status.net.PlayerStatesPacket;
8+
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
99
import net.minecraft.ChatFormatting;
1010
import net.minecraft.client.Minecraft;
1111
import net.minecraft.network.chat.Component;
@@ -27,10 +27,10 @@ public class ClientPlayerStateManager {
2727
public ClientPlayerStateManager() {
2828
state = getDefaultState();
2929
states = new HashMap<>();
30-
NetManager.registerClientReceiver(PlayerStatePacket.class, (client, handler, responseSender, packet) -> {
30+
ClientPlayNetworking.registerGlobalReceiver(PlayerStatePacket.PLAYER_STATE, (packet, context) -> {
3131
states.put(packet.getPlayerState().getPlayer(), packet.getPlayerState());
3232
});
33-
NetManager.registerClientReceiver(PlayerStatesPacket.class, (client, handler, responseSender, packet) -> {
33+
ClientPlayNetworking.registerGlobalReceiver(PlayerStatesPacket.PLAYER_STATES, (packet, context) -> {
3434
states = packet.getPlayerStates();
3535
});
3636
ClientWorldEvents.DISCONNECT.register(this::onDisconnect);
@@ -105,7 +105,7 @@ private void showChangeStatusMessage() {
105105
}
106106

107107
public void syncOwnState() {
108-
NetManager.sendToServer(new PlayerStatePacket(state));
108+
ClientPlayNetworking.send(new PlayerStatePacket(state));
109109
}
110110

111111
@Nullable

src/main/java/de/maxhenkel/status/playerstate/PlayerStateManager.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
import de.maxhenkel.status.Status;
44
import de.maxhenkel.status.events.PlayerEvents;
5-
import de.maxhenkel.status.net.NetManager;
65
import de.maxhenkel.status.net.PlayerStatePacket;
76
import de.maxhenkel.status.net.PlayerStatesPacket;
7+
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
88
import net.minecraft.network.chat.Component;
99
import net.minecraft.network.protocol.game.ClientboundSetSubtitleTextPacket;
1010
import net.minecraft.network.protocol.game.ClientboundSetTitleTextPacket;
@@ -25,11 +25,12 @@ public PlayerStateManager() {
2525
PlayerEvents.PLAYER_LOGGED_IN.register(this::notifyPlayer);
2626
PlayerEvents.PLAYER_SLEEP.register(this::onSleep);
2727

28-
NetManager.registerServerReceiver(PlayerStatePacket.class, (server, player, handler, responseSender, packet) -> {
28+
ServerPlayNetworking.registerGlobalReceiver(PlayerStatePacket.PLAYER_STATE, (packet, context) -> {
29+
ServerPlayer player = context.player();
2930
PlayerState state = packet.getPlayerState();
3031
state.setPlayer(player.getUUID());
3132
states.put(player.getUUID(), state);
32-
broadcastState(server, state);
33+
broadcastState(player.server, state);
3334
});
3435
}
3536

@@ -64,12 +65,12 @@ private List<ServerPlayer> getNoSleepPlayers(MinecraftServer server) {
6465

6566
private void broadcastState(MinecraftServer server, PlayerState state) {
6667
PlayerStatePacket packet = new PlayerStatePacket(state);
67-
server.getPlayerList().getPlayers().forEach(p -> NetManager.sendToClient(p, packet));
68+
server.getPlayerList().getPlayers().forEach(p -> ServerPlayNetworking.send(p, packet));
6869
}
6970

7071
private void notifyPlayer(ServerPlayer player) {
7172
PlayerStatesPacket packet = new PlayerStatesPacket(states);
72-
NetManager.sendToClient(player, packet);
73+
ServerPlayNetworking.send(player, packet);
7374
broadcastState(player.server, new PlayerState(player.getUUID()));
7475
}
7576

0 commit comments

Comments
 (0)