Skip to content

Commit

Permalink
Create ServerboundConfiguration.java
Browse files Browse the repository at this point in the history
  • Loading branch information
Jab125 committed Jan 6, 2025
1 parent 5629757 commit 543e1a9
Showing 1 changed file with 83 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package xyz.violaflower.legacy_tweaks.networking.configuration;

//? if fabric {
import net.fabricmc.fabric.api.networking.v1.ServerConfigurationNetworking;
//?} elif neoforge {
/*import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.ServerboundCustomPayloadPacket;
*///?}
import net.minecraft.network.chat.Component;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.world.entity.player.Player;
import xyz.violaflower.legacy_tweaks.networking.NetworkingAbstractions;


public class ServerboundConfiguration {
public static <T extends CustomPacketPayload> void registerHandler(CustomPacketPayload.Type<T> type, ConfigurationPayloadHandler<T> handler) {
//? if fabric {
ServerConfigurationNetworking.registerGlobalReceiver(type, (payload, context) -> {
handler.handle(payload, new NetworkingAbstractions.Context() {
@Override
public Player player() {
return null; // FIXME maybe there isn't a player to begin with?
}

@Override
public void sendPacket(Packet<?> packet) {
context.responseSender().sendPacket(packet);
}

@Override
public void sendPacket(CustomPacketPayload payload) {
context.responseSender().sendPacket(payload);
}

@Override
public Packet<?> createPacket(CustomPacketPayload payload) {
return context.responseSender().createPacket(payload);
}

@Override
public void disconnect(Component message) {
context.responseSender().disconnect(message);
}
});
});
//?} elif neoforge {
/*NetworkingAbstractions.event.registrar(NetworkingAbstractions.version).configurationToServer(type, (StreamCodec<? super FriendlyByteBuf, T>) (Object) NetworkingAbstractions.CODEC_MAP.get(type), (payload, context) -> {
handler.handle(payload, new NetworkingAbstractions.Context() {
@Override
public Player player() {
return null; // FIXME maybe there isn't a player to begin with?
}
@Override
public void sendPacket(Packet<?> packet) {
context.listener().send(packet);
}
@Override
public void sendPacket(CustomPacketPayload payload) {
context.listener().send(payload);
}
@Override
public Packet<?> createPacket(CustomPacketPayload payload) {
return new ServerboundCustomPayloadPacket(payload);
}
@Override
public void disconnect(Component message) {
context.disconnect(message);
}
});
});
*///?}
}

public interface ConfigurationPayloadHandler<T extends CustomPacketPayload> {
void handle(T payload, NetworkingAbstractions.Context context);
}
}

0 comments on commit 543e1a9

Please sign in to comment.