Fix compilation
This commit is contained in:
+6
-30
@@ -1,5 +1,6 @@
|
||||
package com.seibel.distanthorizons.common.wrappers.network;
|
||||
package com.seibel.distanthorizons.common;
|
||||
|
||||
import com.seibel.distanthorizons.core.network.plugin.PluginChannelMessage;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.misc.IPluginPacketSender;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.misc.IServerPlayerWrapper;
|
||||
import com.seibel.distanthorizons.coreapi.ModInfo;
|
||||
@@ -16,39 +17,14 @@ public abstract class AbstractPluginPacketSender implements IPluginPacketSender
|
||||
public static final ResourceLocation PLUGIN_CHANNEL_RESOURCE = new ResourceLocation(ModInfo.RESOURCE_NAMESPACE, ModInfo.PLUGIN_CHANNEL_PATH);
|
||||
public static final ResourceLocation WRAPPER_PACKET_RESOURCE = new ResourceLocation(ModInfo.RESOURCE_NAMESPACE, ModInfo.WRAPPER_PACKET_PATH);
|
||||
|
||||
@Override
|
||||
public final void sendPluginPacketClient(Consumer<ByteBuf> encoder)
|
||||
{
|
||||
FriendlyByteBuf buffer = this.createBuffer(encoder);
|
||||
this.sendPluginPacketClient(buffer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void sendPluginPacketServer(IServerPlayerWrapper serverPlayer, Consumer<ByteBuf> encoder)
|
||||
public final void sendPluginPacketServer(IServerPlayerWrapper serverPlayer, PluginChannelMessage message)
|
||||
{
|
||||
FriendlyByteBuf buffer = this.createBuffer(encoder);
|
||||
this.sendPluginPacketServer((ServerPlayer) serverPlayer.getWrappedMcObject(), buffer);
|
||||
this.sendPluginPacketServer((ServerPlayer) serverPlayer.getWrappedMcObject(), message);
|
||||
}
|
||||
|
||||
private FriendlyByteBuf createBuffer(Consumer<ByteBuf> encoder)
|
||||
{
|
||||
FriendlyByteBuf buffer = new FriendlyByteBuf(ByteBufAllocator.DEFAULT.buffer());
|
||||
|
||||
if (this.shouldAddForgePacketId())
|
||||
{
|
||||
buffer.writeByte(0);
|
||||
}
|
||||
|
||||
encoder.accept(buffer);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
protected boolean shouldAddForgePacketId()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
protected abstract void sendPluginPacketClient(FriendlyByteBuf buffer);
|
||||
protected abstract void sendPluginPacketServer(ServerPlayer serverPlayer, FriendlyByteBuf buffer);
|
||||
@Override public abstract void sendPluginPacketClient(PluginChannelMessage message);
|
||||
public abstract void sendPluginPacketServer(ServerPlayer serverPlayer, PluginChannelMessage message);
|
||||
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.seibel.distanthorizons.fabric;
|
||||
package com.seibel.distanthorizons.common;
|
||||
|
||||
import com.seibel.distanthorizons.common.AbstractPluginPacketSender;
|
||||
import com.seibel.distanthorizons.core.network.messages.PluginMessageRegistry;
|
||||
import com.seibel.distanthorizons.core.network.plugin.PluginChannelMessage;
|
||||
import com.seibel.distanthorizons.core.network.protocol.INetworkObject;
|
||||
import com.seibel.distanthorizons.coreapi.ModInfo;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.codec.StreamCodec;
|
||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
|
||||
@@ -12,9 +12,9 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class FabricPacketPayload implements CustomPacketPayload
|
||||
public class CommonPacketPayload implements CustomPacketPayload
|
||||
{
|
||||
public static final Type<FabricPacketPayload> TYPE = new Type<>(AbstractPluginPacketSender.WRAPPER_PACKET_RESOURCE);
|
||||
public static final Type<CommonPacketPayload> TYPE = new Type<>(AbstractPluginPacketSender.WRAPPER_PACKET_RESOURCE);
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@@ -27,27 +27,36 @@ public class FabricPacketPayload implements CustomPacketPayload
|
||||
public PluginChannelMessage message;
|
||||
|
||||
|
||||
public FabricPacketPayload(@Nullable PluginChannelMessage message)
|
||||
public CommonPacketPayload(@Nullable PluginChannelMessage message)
|
||||
{
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
|
||||
public static class Codec implements StreamCodec<FriendlyByteBuf, FabricPacketPayload>
|
||||
public static class Codec implements StreamCodec<FriendlyByteBuf, CommonPacketPayload>
|
||||
{
|
||||
@NotNull
|
||||
@Override
|
||||
public FabricPacketPayload decode(FriendlyByteBuf in)
|
||||
public CommonPacketPayload decode(@NotNull FriendlyByteBuf in)
|
||||
{
|
||||
return new FabricPacketPayload(
|
||||
INetworkObject.decodeToInstance(PluginMessageRegistry.INSTANCE.createMessage(in.readUnsignedShort()), in)
|
||||
);
|
||||
if (in.readShort() != ModInfo.PROTOCOL_VERSION)
|
||||
{
|
||||
return new CommonPacketPayload(null);
|
||||
}
|
||||
|
||||
PluginChannelMessage message = PluginMessageRegistry.INSTANCE.createMessage(in.readUnsignedShort());
|
||||
return new CommonPacketPayload(INetworkObject.decodeToInstance(message, in));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void encode(FriendlyByteBuf out, FabricPacketPayload payload)
|
||||
public void encode(@NotNull FriendlyByteBuf out, CommonPacketPayload payload)
|
||||
{
|
||||
Objects.requireNonNull(payload.message).encode(out);
|
||||
Objects.requireNonNull(payload.message);
|
||||
|
||||
out.writeShort(ModInfo.PROTOCOL_VERSION);
|
||||
|
||||
out.writeShort(PluginMessageRegistry.INSTANCE.getMessageId(payload.message));
|
||||
payload.message.encode(out);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
Submodule coreSubProjects updated: b0777789fd...a6fc8f1702
@@ -19,18 +19,15 @@
|
||||
|
||||
package com.seibel.distanthorizons.fabric;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.seibel.distanthorizons.common.AbstractModInitializer;
|
||||
import com.seibel.distanthorizons.common.CommonPacketPayload;
|
||||
import com.seibel.distanthorizons.common.wrappers.McObjectConverter;
|
||||
import com.seibel.distanthorizons.common.wrappers.network.AbstractPluginPacketSender;
|
||||
import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper;
|
||||
import com.seibel.distanthorizons.core.api.internal.ClientApi;
|
||||
import com.mojang.blaze3d.platform.InputConstants;
|
||||
import com.seibel.distanthorizons.common.wrappers.chunk.ChunkWrapper;
|
||||
|
||||
import com.seibel.distanthorizons.core.api.internal.SharedApi;
|
||||
import com.seibel.distanthorizons.core.config.Config;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.ModAccessorInjector;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
@@ -39,7 +36,6 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.ISodiumAcce
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper;
|
||||
import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
|
||||
import com.seibel.distanthorizons.fabric.wrappers.modAccessor.SodiumAccessor;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientChunkEvents;
|
||||
@@ -48,7 +44,7 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
|
||||
import net.fabricmc.fabric.api.event.player.AttackBlockCallback;
|
||||
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
|
||||
import net.fabricmc.fabric.api.networking.v1.PacketSender;
|
||||
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.screens.TitleScreen;
|
||||
|
||||
@@ -58,13 +54,10 @@ import java.nio.FloatBuffer;
|
||||
import java.util.HashSet;
|
||||
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.client.multiplayer.ClientPacketListener;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.level.chunk.ChunkAccess;
|
||||
import net.minecraft.world.phys.HitResult;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.joml.Matrix4f;
|
||||
import org.lwjgl.glfw.GLFW;
|
||||
|
||||
/**
|
||||
@@ -231,16 +224,16 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy
|
||||
// networking event //
|
||||
//==================//
|
||||
|
||||
ClientPlayNetworking.registerGlobalReceiver(AbstractPluginPacketSender.PLUGIN_CHANNEL_RESOURCE,
|
||||
(Minecraft client, ClientPacketListener handler, FriendlyByteBuf mcBuffer, PacketSender responseSender) ->
|
||||
{
|
||||
ByteBuf buffer = mcBuffer.asReadOnly();
|
||||
|
||||
// (Neo)Forge packet ID (Unused, always expected to be 0)
|
||||
buffer.readByte();
|
||||
|
||||
ClientApi.INSTANCE.pluginMessageReceived(buffer);
|
||||
});
|
||||
PayloadTypeRegistry.playC2S().register(CommonPacketPayload.TYPE, new CommonPacketPayload.Codec());
|
||||
PayloadTypeRegistry.playS2C().register(CommonPacketPayload.TYPE, new CommonPacketPayload.Codec());
|
||||
ClientPlayNetworking.registerGlobalReceiver(CommonPacketPayload.TYPE, (payload, context) ->
|
||||
{
|
||||
if (payload.message == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ClientApi.INSTANCE.pluginMessageReceived(payload.message);
|
||||
});
|
||||
}
|
||||
|
||||
public void onKeyInput()
|
||||
@@ -279,4 +272,4 @@ public class FabricClientProxy implements AbstractModInitializer.IEventProxy
|
||||
this.previouslyPressKeyCodes = currentKeyDown;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+8
-13
@@ -1,29 +1,24 @@
|
||||
package com.seibel.distanthorizons.fabric;
|
||||
|
||||
import com.seibel.distanthorizons.common.wrappers.network.AbstractPluginPacketSender;
|
||||
import com.seibel.distanthorizons.common.AbstractPluginPacketSender;
|
||||
import com.seibel.distanthorizons.common.CommonPacketPayload;
|
||||
import com.seibel.distanthorizons.core.network.plugin.PluginChannelMessage;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
|
||||
public class FabricPluginPacketSender extends AbstractPluginPacketSender
|
||||
{
|
||||
@Override
|
||||
protected boolean shouldAddForgePacketId()
|
||||
public void sendPluginPacketClient(PluginChannelMessage message)
|
||||
{
|
||||
return true;
|
||||
ClientPlayNetworking.send(new CommonPacketPayload(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void sendPluginPacketClient(FriendlyByteBuf buffer)
|
||||
public void sendPluginPacketServer(ServerPlayer serverPlayer, PluginChannelMessage message)
|
||||
{
|
||||
ClientPlayNetworking.send(PLUGIN_CHANNEL_RESOURCE, buffer);
|
||||
ServerPlayNetworking.send(serverPlayer, new CommonPacketPayload(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void sendPluginPacketServer(ServerPlayer serverPlayer, FriendlyByteBuf buffer)
|
||||
{
|
||||
ServerPlayNetworking.send(serverPlayer, PLUGIN_CHANNEL_RESOURCE, buffer);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.seibel.distanthorizons.fabric;
|
||||
|
||||
import com.seibel.distanthorizons.common.AbstractModInitializer;
|
||||
import com.seibel.distanthorizons.common.CommonPacketPayload;
|
||||
import com.seibel.distanthorizons.common.wrappers.chunk.ChunkWrapper;
|
||||
import com.seibel.distanthorizons.common.wrappers.misc.ServerPlayerWrapper;
|
||||
import com.seibel.distanthorizons.common.wrappers.network.AbstractPluginPacketSender;
|
||||
import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper;
|
||||
import com.seibel.distanthorizons.common.wrappers.world.ServerLevelWrapper;
|
||||
import com.seibel.distanthorizons.common.wrappers.worldGeneration.BatchGenerationEnvironment;
|
||||
@@ -11,12 +11,12 @@ import com.seibel.distanthorizons.core.api.internal.ServerApi;
|
||||
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.fabricmc.fabric.api.entity.event.v1.ServerEntityWorldChangeEvents;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerChunkEvents;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerWorldEvents;
|
||||
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@@ -156,16 +156,17 @@ public class FabricServerProxy implements AbstractModInitializer.IEventProxy
|
||||
|
||||
if (this.isDedicated)
|
||||
{
|
||||
ServerPlayNetworking.registerGlobalReceiver(AbstractPluginPacketSender.PLUGIN_CHANNEL_RESOURCE, (server, serverPlayer, handler, friendlyByteBuf, responseSender) ->
|
||||
PayloadTypeRegistry.playC2S().register(CommonPacketPayload.TYPE, new CommonPacketPayload.Codec());
|
||||
PayloadTypeRegistry.playS2C().register(CommonPacketPayload.TYPE, new CommonPacketPayload.Codec());
|
||||
ServerPlayNetworking.registerGlobalReceiver(CommonPacketPayload.TYPE, (payload, context) ->
|
||||
{
|
||||
ByteBuf nettyByteBuf = friendlyByteBuf.asReadOnly();
|
||||
|
||||
// (Neo)Forge packet ID (Unused, always expected to be 0)
|
||||
nettyByteBuf.readByte();
|
||||
|
||||
ServerApi.INSTANCE.pluginMessageReceived(ServerPlayerWrapper.getWrapper(serverPlayer), nettyByteBuf);
|
||||
if (payload.message == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ServerApi.INSTANCE.pluginMessageReceived(ServerPlayerWrapper.getWrapper(context.player()), payload.message);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -33,6 +33,7 @@ import com.seibel.distanthorizons.neoforge.wrappers.modAccessor.ModChecker;
|
||||
import com.seibel.distanthorizons.neoforge.wrappers.modAccessor.OptifineAccessor;
|
||||
import net.minecraft.commands.CommandSourceStack;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.neoforged.bus.api.EventPriority;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.fml.ModLoadingContext;
|
||||
import net.neoforged.fml.common.Mod;
|
||||
@@ -41,14 +42,14 @@ import net.neoforged.fml.event.lifecycle.FMLDedicatedServerSetupEvent;
|
||||
import net.neoforged.neoforge.common.NeoForge;
|
||||
import net.neoforged.neoforge.event.RegisterCommandsEvent;
|
||||
import net.neoforged.neoforge.event.server.ServerStartingEvent;
|
||||
import net.neoforged.neoforge.network.event.RegisterPayloadHandlerEvent;
|
||||
import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
#if MC_VER < MC_1_20_6
|
||||
import net.neoforged.neoforge.client.ConfigScreenHandler;
|
||||
#else
|
||||
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
|
||||
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -77,11 +78,11 @@ public class NeoforgeMain extends AbstractModInitializer
|
||||
//============//
|
||||
// networking //
|
||||
//============//
|
||||
public void registerNetworkingClient(RegisterPayloadHandlerEvent event)
|
||||
public void registerNetworkingClient(RegisterPayloadHandlersEvent event)
|
||||
{
|
||||
NeoforgePluginPacketSender.setPacketHandler(event, ClientApi.INSTANCE::pluginMessageReceived);
|
||||
}
|
||||
public void registerNetworkingServer(RegisterPayloadHandlerEvent event)
|
||||
public void registerNetworkingServer(RegisterPayloadHandlersEvent event)
|
||||
{
|
||||
NeoforgePluginPacketSender.setPacketHandler(event, ServerApi.INSTANCE::pluginMessageReceived);
|
||||
}
|
||||
|
||||
+24
-60
@@ -1,88 +1,52 @@
|
||||
package com.seibel.distanthorizons.neoforge;
|
||||
|
||||
import com.seibel.distanthorizons.common.CommonPacketPayload;
|
||||
import com.seibel.distanthorizons.common.wrappers.misc.ServerPlayerWrapper;
|
||||
import com.seibel.distanthorizons.common.wrappers.network.AbstractPluginPacketSender;
|
||||
import com.seibel.distanthorizons.common.AbstractPluginPacketSender;
|
||||
import com.seibel.distanthorizons.core.network.plugin.PluginChannelMessage;
|
||||
import com.seibel.distanthorizons.core.wrapperInterfaces.misc.IServerPlayerWrapper;
|
||||
import com.seibel.distanthorizons.coreapi.ModInfo;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
import net.neoforged.neoforge.network.event.RegisterPayloadHandlerEvent;
|
||||
import net.neoforged.neoforge.network.handling.PlayPayloadContext;
|
||||
import net.neoforged.neoforge.network.registration.IPayloadRegistrar;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent;
|
||||
import net.neoforged.neoforge.network.registration.PayloadRegistrar;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class NeoforgePluginPacketSender extends AbstractPluginPacketSender
|
||||
{
|
||||
private static BiConsumer<IServerPlayerWrapper, ByteBuf> packetConsumer;
|
||||
private static BiConsumer<IServerPlayerWrapper, PluginChannelMessage> packetConsumer;
|
||||
|
||||
public static void setPacketHandler(RegisterPayloadHandlerEvent event, Consumer<ByteBuf> consumer)
|
||||
public static void setPacketHandler(RegisterPayloadHandlersEvent event, Consumer<PluginChannelMessage> consumer)
|
||||
{
|
||||
setPacketHandler(event, (player, buffer) -> consumer.accept(buffer));
|
||||
}
|
||||
public static void setPacketHandler(RegisterPayloadHandlerEvent event, BiConsumer<IServerPlayerWrapper, ByteBuf> consumer)
|
||||
public static void setPacketHandler(RegisterPayloadHandlersEvent event, BiConsumer<IServerPlayerWrapper, PluginChannelMessage> consumer)
|
||||
{
|
||||
packetConsumer = consumer;
|
||||
IPayloadRegistrar registrar = event.registrar(ModInfo.RESOURCE_NAMESPACE);
|
||||
registrar.play(PacketWrapperPayload.ID, PacketWrapperPayload::createFrom, handler -> handler
|
||||
.client(NeoforgePluginPacketSender::handlePacket)
|
||||
.server(NeoforgePluginPacketSender::handlePacket))
|
||||
.optional();
|
||||
}
|
||||
|
||||
public static void handlePacket(PacketWrapperPayload data, PlayPayloadContext context)
|
||||
{
|
||||
ServerPlayerWrapper serverPlayer = context.player()
|
||||
.map(player -> player instanceof ServerPlayer ? (ServerPlayer) player : null)
|
||||
.map(ServerPlayerWrapper::getWrapper)
|
||||
.orElse(null);
|
||||
packetConsumer.accept(serverPlayer, data.buffer);
|
||||
|
||||
PayloadRegistrar registrar = event.registrar("1");
|
||||
registrar.commonBidirectional(CommonPacketPayload.TYPE, new CommonPacketPayload.Codec(), (payload, context) ->
|
||||
{
|
||||
ServerPlayerWrapper serverPlayer = Optional.of(context.player())
|
||||
.map(player -> player instanceof ServerPlayer ? (ServerPlayer) player : null)
|
||||
.map(ServerPlayerWrapper::getWrapper)
|
||||
.orElse(null);
|
||||
packetConsumer.accept(serverPlayer, payload.message);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void sendPluginPacketClient(FriendlyByteBuf buffer)
|
||||
public void sendPluginPacketClient(PluginChannelMessage message)
|
||||
{
|
||||
PacketDistributor.SERVER.noArg().send(new PacketWrapperPayload(buffer));
|
||||
PacketDistributor.sendToServer(new CommonPacketPayload(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void sendPluginPacketServer(ServerPlayer serverPlayer, FriendlyByteBuf buffer)
|
||||
public void sendPluginPacketServer(ServerPlayer serverPlayer, PluginChannelMessage message)
|
||||
{
|
||||
PacketDistributor.PLAYER.with(serverPlayer).send(new PacketWrapperPayload(buffer));
|
||||
PacketDistributor.sendToPlayer(serverPlayer, new CommonPacketPayload(message));
|
||||
}
|
||||
|
||||
|
||||
public record PacketWrapperPayload(
|
||||
ByteBuf buffer
|
||||
) implements CustomPacketPayload
|
||||
{
|
||||
public static final ResourceLocation ID = AbstractPluginPacketSender.WRAPPER_PACKET_RESOURCE;
|
||||
|
||||
public static PacketWrapperPayload createFrom(FriendlyByteBuf buffer)
|
||||
{
|
||||
return new PacketWrapperPayload(buffer.readBytes(buffer.readableBytes()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public ResourceLocation id()
|
||||
{
|
||||
return ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(FriendlyByteBuf out)
|
||||
{
|
||||
this.buffer.resetReaderIndex();
|
||||
out.writeBytes(this.buffer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,6 @@ import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
import net.neoforged.neoforge.common.NeoForge;
|
||||
import net.neoforged.neoforge.event.TickEvent;
|
||||
import net.neoforged.neoforge.event.entity.player.PlayerEvent;
|
||||
import net.neoforged.neoforge.event.level.ChunkEvent;
|
||||
import net.neoforged.neoforge.event.level.LevelEvent;
|
||||
|
||||
Reference in New Issue
Block a user