Skip to content

Commit

Permalink
Port to 1.21.1
Browse files Browse the repository at this point in the history
  • Loading branch information
hammy275 committed Sep 13, 2024
1 parent 7e47cdd commit 4c1a416
Show file tree
Hide file tree
Showing 9 changed files with 50 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.blf02.vrapi.common.network.Network;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.network.DisconnectionDetails;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Player;

Expand All @@ -18,8 +19,8 @@ public static void msg(String message) {
public static void versionMismatchDisconnect(String serverVersion) {
ClientPacketListener packetListener = Minecraft.getInstance().getConnection();
if (packetListener != null) {
packetListener.onDisconnect(Component.translatable("message.vrapi.version_mismatch",
serverVersion, Network.PROTOCOL_VERSION));
packetListener.onDisconnect(new DisconnectionDetails(Component.translatable("message.vrapi.version_mismatch",
serverVersion, Network.PROTOCOL_VERSION)));
}
}
}
2 changes: 1 addition & 1 deletion fabric/src/main/java/net/blf02/fabric/BufferPacket.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

public record BufferPacket(RegistryFriendlyByteBuf buffer) implements CustomPacketPayload {

public static final Type<BufferPacket> ID = new Type<>(new ResourceLocation(VRAPIMod.MOD_ID, "network"));
public static final Type<BufferPacket> ID = new Type<>(ResourceLocation.fromNamespaceAndPath(VRAPIMod.MOD_ID, "network"));
public static final StreamCodec<RegistryFriendlyByteBuf, BufferPacket> CODEC =
CustomPacketPayload.codec(BufferPacket::write, BufferPacket::read);

Expand Down
24 changes: 20 additions & 4 deletions fabric/src/main/java/net/blf02/fabric/VRAPIFabric.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,27 @@ public void onInitialize() {
Plat.INSTANCE = new PlatformImpl();
PayloadTypeRegistry.playS2C().register(BufferPacket.ID, BufferPacket.CODEC);
PayloadTypeRegistry.playC2S().register(BufferPacket.ID, BufferPacket.CODEC);
ServerPlayNetworking.registerGlobalReceiver(BufferPacket.ID, ((payload, context) ->
context.server().execute(() -> Network.CHANNEL.doReceive(context.player(), payload.buffer()))));
ServerPlayNetworking.registerGlobalReceiver(BufferPacket.ID, ((payload, context) -> {
payload.buffer().retain();
context.server().execute(() -> {
try {
Network.CHANNEL.doReceive(context.player(), payload.buffer());
} finally {
payload.buffer().release();
}
});
}));
if (Plat.INSTANCE.isClient()) {
ClientPlayNetworking.registerGlobalReceiver(BufferPacket.ID, (payload, context) ->
context.client().execute(() -> Network.CHANNEL.doReceive(null, payload.buffer())));
ClientPlayNetworking.registerGlobalReceiver(BufferPacket.ID, (payload, context) -> {
payload.buffer().retain();
context.client().execute(() -> {
try {
Network.CHANNEL.doReceive(null, payload.buffer());
} finally {
payload.buffer().release();
}
});
});
}
VRAPIMod.init();
}
Expand Down
2 changes: 1 addition & 1 deletion forge/src/main/java/net/blf02/forge/BufferPacket.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

public record BufferPacket(RegistryFriendlyByteBuf buffer) implements CustomPacketPayload {

public static final Type<BufferPacket> ID = new Type<>(new ResourceLocation(VRAPIMod.MOD_ID, "network"));
public static final Type<BufferPacket> ID = new Type<>(ResourceLocation.fromNamespaceAndPath(VRAPIMod.MOD_ID, "network"));
public static final StreamCodec<RegistryFriendlyByteBuf, BufferPacket> CODEC =
CustomPacketPayload.codec(BufferPacket::write, BufferPacket::read);

Expand Down
9 changes: 6 additions & 3 deletions forge/src/main/java/net/blf02/forge/PlatformImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,13 @@
public class PlatformImpl implements Platform {

public static final List<Object> keyMappingsToRegister = new ArrayList<>();
public static final SimpleChannel NETWORK = ChannelBuilder.named(new ResourceLocation(VRAPIMod.MOD_ID, "network"))
public static final SimpleChannel NETWORK = ChannelBuilder.named(ResourceLocation.fromNamespaceAndPath(VRAPIMod.MOD_ID, "network"))
.optional()
.simpleChannel()
.play().bidirectional().add(BufferPacket.class, BufferPacket.CODEC, (bufferPacket, context) ->
context.enqueueWork(() -> Network.CHANNEL.doReceive(context.getSender(), bufferPacket.buffer())))
.play().bidirectional().add(BufferPacket.class, BufferPacket.CODEC, (bufferPacket, context) -> {
context.enqueueWork(() -> Network.CHANNEL.doReceive(context.getSender(), bufferPacket.buffer()));
context.setPacketHandled(true);
})
.build();

@Override
Expand Down
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
org.gradle.jvmargs=-Xmx4G

minecraft_version=1.20.6
minecraft_version=1.21.1
enabled_platforms=fabric,forge,neoforge

archives_base_name=vrapi
mod_version=3.0.10
maven_group=net.blf02.vrapi

fabric_loader_version=0.16.5
fabric_api_version=0.100.8+1.20.6
fabric_api_version=0.104.0+1.21.1

forge_version=1.20.6-50.1.0
forge_version=1.21.1-52.0.15

neoforge_version=20.6.115
neoforge_version=21.1.51
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

public record BufferPacket(RegistryFriendlyByteBuf buffer) implements CustomPacketPayload {

public static final Type<BufferPacket> ID = new Type<>(new ResourceLocation(VRAPIMod.MOD_ID, "network"));
public static final Type<BufferPacket> ID = new Type<>(ResourceLocation.fromNamespaceAndPath(VRAPIMod.MOD_ID, "network"));
public static final StreamCodec<RegistryFriendlyByteBuf, BufferPacket> CODEC =
CustomPacketPayload.codec(BufferPacket::write, BufferPacket::read);

Expand Down
21 changes: 13 additions & 8 deletions neoforge/src/main/java/net/blf02/neoforge/PlatformImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,18 +42,23 @@ public void registerKeyBinding(Object keyMapping) {

@Override
public <T> void sendToServer(T message, NetworkChannel.NetworkRegistrationData<T> data) {
RegistryFriendlyByteBuf buffer = new RegistryFriendlyByteBuf(Unpooled.buffer(), ClientRegistryAccess.get(), ConnectionType.NEOFORGE);
buffer.writeInt(data.id());
data.encoder().accept(message, buffer);
PacketDistributor.sendToServer(new BufferPacket(buffer));
try {
RegistryFriendlyByteBuf buffer = new RegistryFriendlyByteBuf(Unpooled.buffer(), ClientRegistryAccess.get(), ConnectionType.NEOFORGE);
buffer.writeInt(data.id());
data.encoder().accept(message, buffer);
PacketDistributor.sendToServer(new BufferPacket(buffer));
} catch (UnsupportedOperationException ignored) {} // Ignore errors from sending packets when the other side can't receive
}

@Override
public <T> void sendToPlayer(ServerPlayer player, T message, NetworkChannel.NetworkRegistrationData<T> data) {
RegistryFriendlyByteBuf buffer = new RegistryFriendlyByteBuf(Unpooled.buffer(), player.registryAccess(), ConnectionType.NEOFORGE);
buffer.writeInt(data.id());
data.encoder().accept(message, buffer);
PacketDistributor.sendToPlayer(player, new BufferPacket(buffer));
try {
RegistryFriendlyByteBuf buffer = new RegistryFriendlyByteBuf(Unpooled.buffer(), player.registryAccess(), ConnectionType.NEOFORGE);
buffer.writeInt(data.id());
data.encoder().accept(message, buffer);
PacketDistributor.sendToPlayer(player, new BufferPacket(buffer));
} catch (UnsupportedOperationException ignored) {} // Ignore errors from sending packets when the other side can't receive

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public VRAPINeoForge(IEventBus modBus) {
}
modBus.addListener((RegisterPayloadHandlersEvent event) -> {
PayloadRegistrar registrar = event.registrar(VRAPIMod.MOD_ID);
registrar.playBidirectional(BufferPacket.ID, BufferPacket.CODEC,
registrar.optional().playBidirectional(BufferPacket.ID, BufferPacket.CODEC,
new DirectionalPayloadHandler<>(
(packet, ctx) -> ctx.enqueueWork(() -> Network.CHANNEL.doReceive(null, packet.buffer())),
(packet, ctx) -> ctx.enqueueWork(() -> Network.CHANNEL.doReceive((ServerPlayer) ctx.player(), packet.buffer()))
Expand Down

0 comments on commit 4c1a416

Please sign in to comment.