Send out a packet when the server is available to libzontreck

This commit is contained in:
zontreck 2024-01-09 03:28:59 -07:00
parent c8136451e0
commit adceccc275
4 changed files with 58 additions and 0 deletions

View file

@ -5,6 +5,7 @@ import dev.zontreck.libzontreck.events.RegisterPacketsEvent;
import dev.zontreck.libzontreck.networking.packets.IPacket;
import dev.zontreck.libzontreck.networking.packets.S2CCloseChestGUI;
import dev.zontreck.libzontreck.networking.packets.S2CPlaySoundPacket;
import dev.zontreck.libzontreck.networking.packets.S2CServerAvailable;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraftforge.common.MinecraftForge;
@ -58,6 +59,13 @@ public class ModMessages {
.consumerMainThread(S2CCloseChestGUI::handle)
.add();
net.messageBuilder(S2CServerAvailable.class, PACKET_ID.getAndIncrement(),
NetworkDirection.PLAY_TO_CLIENT)
.decoder(S2CServerAvailable::new)
.encoder(S2CServerAvailable::toBytes)
.consumerMainThread(S2CServerAvailable::handle)
.add();
}

View file

@ -0,0 +1,43 @@
package dev.zontreck.libzontreck.networking.packets;
import dev.zontreck.libzontreck.LibZontreck;
import dev.zontreck.libzontreck.networking.ModMessages;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.server.level.ServerPlayer;
import net.minecraftforge.network.NetworkEvent;
import java.util.function.Supplier;
public class S2CServerAvailable
{
public S2CServerAvailable(FriendlyByteBuf buf)
{
// nothing!
}
public S2CServerAvailable()
{
}
public void toBytes(FriendlyByteBuf buf)
{
}
public void handle(Supplier<NetworkEvent.Context> supplier)
{
NetworkEvent.Context context = supplier.get();
context.enqueueWork(()->{
// We are now on the client
LibZontreck.LIBZONTRECK_SERVER_AVAILABLE = true;
});
}
public void send(ServerPlayer player)
{
ModMessages.sendToPlayer(this, player);
}
}