Send out a packet when the server is available to libzontreck
This commit is contained in:
parent
c8136451e0
commit
adceccc275
4 changed files with 58 additions and 0 deletions
|
@ -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();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
Reference in a new issue