From 83110b74a5442f3ab3fa9c9dde25961e2249b631 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 3 Jan 2022 15:57:00 +0100 Subject: [PATCH] Pass through Player from Network Messages --- .../bclib/api/dataexchange/DataHandler.java | 29 ++++++++++++++----- .../handler/autosync/HelloServer.java | 5 ++-- .../handler/autosync/RequestFiles.java | 5 ++-- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/main/java/ru/bclib/api/dataexchange/DataHandler.java b/src/main/java/ru/bclib/api/dataexchange/DataHandler.java index b1043fc3..9f47278c 100644 --- a/src/main/java/ru/bclib/api/dataexchange/DataHandler.java +++ b/src/main/java/ru/bclib/api/dataexchange/DataHandler.java @@ -14,6 +14,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.network.ServerGamePacketListenerImpl; +import net.minecraft.world.entity.player.Player; import ru.bclib.BCLib; import ru.bclib.api.dataexchange.handler.autosync.Chunker; import ru.bclib.api.dataexchange.handler.autosync.Chunker.PacketChunkSender; @@ -132,7 +133,7 @@ public abstract class DataHandler extends BaseDataHandler { } @Override - protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, PacketSender responseSender) { + protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, Player player, PacketSender responseSender) { } } @@ -145,10 +146,24 @@ public abstract class DataHandler extends BaseDataHandler { @Environment(EnvType.CLIENT) abstract protected void serializeDataOnClient(FriendlyByteBuf buf); - - abstract protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, PacketSender responseSender); - - abstract protected void runOnServerGameThread(MinecraftServer server); + + @Deprecated(forRemoval = true) + protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, PacketSender responseSender){ } + + //TODO: should be abstract once deserializeIncomingDataOnServer(FriendlyByteBuf buf, PacketSender responseSender) was removed + + protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, Player player, PacketSender responseSender) { + deserializeIncomingDataOnServer(buf, responseSender); + } + + @Deprecated(forRemoval = true) + protected void runOnServerGameThread(MinecraftServer server){ } + + + //TODO: should be abstract once runOnServerGameThread(MinecraftServer server) was removed + protected void runOnServerGameThread(MinecraftServer server, Player player){ + runOnServerGameThread(server); + } @Environment(EnvType.CLIENT) @@ -161,8 +176,8 @@ public abstract class DataHandler extends BaseDataHandler { void receiveFromClient(MinecraftServer server, ServerPlayer player, ServerGamePacketListenerImpl handler, FriendlyByteBuf buf, PacketSender responseSender) { super.receiveFromClient(server, player, handler, buf, responseSender); - deserializeIncomingDataOnServer(buf, responseSender); - final Runnable runner = () -> runOnServerGameThread(server); + deserializeIncomingDataOnServer(buf, player, responseSender); + final Runnable runner = () -> runOnServerGameThread(server, player); if (isBlocking()) server.executeBlocking(runner); else server.execute(runner); diff --git a/src/main/java/ru/bclib/api/dataexchange/handler/autosync/HelloServer.java b/src/main/java/ru/bclib/api/dataexchange/handler/autosync/HelloServer.java index bf58db93..4852c5c2 100644 --- a/src/main/java/ru/bclib/api/dataexchange/handler/autosync/HelloServer.java +++ b/src/main/java/ru/bclib/api/dataexchange/handler/autosync/HelloServer.java @@ -6,6 +6,7 @@ import net.fabricmc.fabric.api.networking.v1.PacketSender; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; +import net.minecraft.world.entity.player.Player; import ru.bclib.BCLib; import ru.bclib.api.dataexchange.DataExchangeAPI; import ru.bclib.api.dataexchange.DataHandler; @@ -84,12 +85,12 @@ public class HelloServer extends DataHandler.FromClient { } @Override - protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, PacketSender responseSender) { + protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, Player player, PacketSender responseSender) { bclibVersion = ModUtil.convertModVersion(buf.readInt()); } @Override - protected void runOnServerGameThread(MinecraftServer server) { + protected void runOnServerGameThread(MinecraftServer server, Player player) { if (!Configs.SERVER_CONFIG.isAllowingAutoSync()) { BCLib.LOGGER.info("Auto-Sync was disabled on the server."); return; diff --git a/src/main/java/ru/bclib/api/dataexchange/handler/autosync/RequestFiles.java b/src/main/java/ru/bclib/api/dataexchange/handler/autosync/RequestFiles.java index 089a6372..43b840fd 100644 --- a/src/main/java/ru/bclib/api/dataexchange/handler/autosync/RequestFiles.java +++ b/src/main/java/ru/bclib/api/dataexchange/handler/autosync/RequestFiles.java @@ -6,6 +6,7 @@ import net.fabricmc.fabric.api.networking.v1.PacketSender; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; +import net.minecraft.world.entity.player.Player; import ru.bclib.BCLib; import ru.bclib.api.dataexchange.DataHandler; import ru.bclib.api.dataexchange.DataHandlerDescriptor; @@ -57,7 +58,7 @@ public class RequestFiles extends DataHandler.FromClient { String receivedToken = ""; @Override - protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, PacketSender responseSender) { + protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, Player player, PacketSender responseSender) { receivedToken = readString(buf); int size = buf.readInt(); files = new ArrayList<>(size); @@ -73,7 +74,7 @@ public class RequestFiles extends DataHandler.FromClient { } @Override - protected void runOnServerGameThread(MinecraftServer server) { + protected void runOnServerGameThread(MinecraftServer server, Player player) { if (!Configs.SERVER_CONFIG.isAllowingAutoSync()) { BCLib.LOGGER.info("Auto-Sync was disabled on the server."); return;