better syncing hopefully
This commit is contained in:
parent
3f22a1a4ab
commit
cd31a5efab
|
|
@ -14,11 +14,7 @@ public class ServerEventHandler {
|
|||
public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) {
|
||||
// Send current URL to player
|
||||
String url = SyncedUrl.getUrl();
|
||||
|
||||
if(event.getEntity() instanceof ServerPlayer serverPlayer) {
|
||||
new ScreenRenderer(url);
|
||||
Messages.sendUrlToPlayer(serverPlayer, url);
|
||||
}
|
||||
new ScreenRenderer(Messages.sendUrlToPlayer(url));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
|
@ -32,9 +28,6 @@ public class ServerEventHandler {
|
|||
public static void onPlayerChangedDimension(PlayerEvent.PlayerChangedDimensionEvent event) {
|
||||
// Send current URL to player
|
||||
String url = SyncedUrl.getUrl();
|
||||
if(event.getEntity() instanceof ServerPlayer serverPlayer) {
|
||||
new ScreenRenderer(url);
|
||||
Messages.sendUrlToPlayer(serverPlayer, url);
|
||||
}
|
||||
new ScreenRenderer(Messages.sendUrlToPlayer(url));
|
||||
}
|
||||
}
|
||||
|
|
@ -4,34 +4,20 @@
|
|||
|
||||
package net.montoyo.wd.net;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.util.AttributeKey;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.LogicalSide;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
import net.minecraftforge.network.NetworkEvent;
|
||||
import net.minecraftforge.network.NetworkRegistry;
|
||||
import net.minecraftforge.network.PacketDistributor;
|
||||
import net.minecraftforge.network.simple.SimpleChannel;
|
||||
import net.montoyo.wd.net.client.*;
|
||||
import net.montoyo.wd.net.server.*;
|
||||
import net.montoyo.wd.utilities.SyncedUrl;
|
||||
import org.jline.utils.Log;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@Mod.EventBusSubscriber
|
||||
public class Messages {
|
||||
|
||||
|
|
@ -67,16 +53,20 @@ public class Messages {
|
|||
|
||||
public static void sendUrlUpdate(String newUrl) {
|
||||
if (newUrl != null && Minecraft.getInstance().getConnection() != null) {
|
||||
Messages.INSTANCE.sendToServer(new SyncedUrlPacket(newUrl));
|
||||
if(newUrl.equals("https://www.google.com") || newUrl.equals("https://www.google.com/")) {
|
||||
Messages.INSTANCE.sendToServer(new SyncedUrlPacket(newUrl, true));
|
||||
} else {
|
||||
Messages.INSTANCE.sendToServer(new SyncedUrlPacket(newUrl, false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void sendUrlToPlayer(ServerPlayer player, String url) {
|
||||
public static String sendUrlToPlayer(String url) {
|
||||
if(url == null) {
|
||||
url = "https://www.google.com";
|
||||
}
|
||||
SyncedUrl.setUrl(url);
|
||||
Messages.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), new SyncedUrlPacket(url));
|
||||
return SyncedUrl.getUrl();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
|
|
|||
|
|
@ -8,22 +8,29 @@ import java.util.function.Supplier;
|
|||
|
||||
public class SyncedUrlPacket {
|
||||
private String url;
|
||||
private boolean isDefault;
|
||||
|
||||
public SyncedUrlPacket(String url) {
|
||||
public SyncedUrlPacket(String url, boolean isDefault) {
|
||||
this.url = url;
|
||||
this.isDefault = isDefault;
|
||||
}
|
||||
|
||||
|
||||
public void encode(FriendlyByteBuf buffer) {
|
||||
buffer.writeUtf(this.url);
|
||||
buffer.writeUtf(url);
|
||||
buffer.writeBoolean(isDefault);
|
||||
}
|
||||
|
||||
|
||||
public static SyncedUrlPacket decode(FriendlyByteBuf buffer) {
|
||||
return new SyncedUrlPacket(buffer.readUtf());
|
||||
String url = buffer.readUtf();
|
||||
boolean isDefault = buffer.readBoolean();
|
||||
return new SyncedUrlPacket(url, isDefault);
|
||||
}
|
||||
|
||||
|
||||
public void handle(Supplier<NetworkEvent.Context> contextSupplier) {
|
||||
NetworkEvent.Context context = contextSupplier.get();
|
||||
Messages.sendUrlUpdate(this.url);
|
||||
if (url != null && !url.isEmpty() && !isDefault) {
|
||||
Messages.sendUrlToPlayer(url);
|
||||
}
|
||||
context.setPacketHandled(true);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
package net.montoyo.wd.utilities;
|
||||
|
||||
import net.montoyo.wd.net.Messages;
|
||||
|
||||
public class SyncedUrl {
|
||||
private static String url;
|
||||
|
||||
|
|
@ -11,7 +9,6 @@ public class SyncedUrl {
|
|||
|
||||
public static void setUrl(String newUrl) {
|
||||
url = newUrl;
|
||||
Messages.sendUrlUpdate(newUrl);
|
||||
}
|
||||
|
||||
public static void updateUrl(String newUrl) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user