From f4dbd00f9d8db924486d328f44876206f33483de Mon Sep 17 00:00:00 2001 From: Mysticpasta1 Date: Wed, 8 Mar 2023 10:59:12 -0600 Subject: [PATCH] revert --- .../net/montoyo/wd/client/ClientProxy.java | 8 +++- .../net/montoyo/wd/client/gui/GuiSetURL2.java | 8 ++-- .../wd/client/renderers/ScreenRenderer.java | 6 +++ .../montoyo/wd/entity/ServerEventHandler.java | 39 ++++++++-------- .../montoyo/wd/entity/TileEntityScreen.java | 45 ++++++++++++++++--- .../net/montoyo/wd/miniserv/SyncPlugin.java | 43 ++++++++++++++++++ .../java/net/montoyo/wd/net/Messages.java | 37 +-------------- .../wd/net/client/CMessageAddScreen.java | 14 ++++-- .../wd/net/client/SyncedUrlPacket.java | 36 --------------- .../montoyo/wd/net/server/SMessageGetUrl.java | 40 +++++++++++++++++ .../wd/net/server/SMessagePadCtrl.java | 18 +++++--- .../net/montoyo/wd/net/server/URLMessage.java | 35 +++++++++++++++ .../net/montoyo/wd/utilities/SyncedUrl.java | 17 ------- 13 files changed, 217 insertions(+), 129 deletions(-) create mode 100644 src/main/java/net/montoyo/wd/miniserv/SyncPlugin.java delete mode 100644 src/main/java/net/montoyo/wd/net/client/SyncedUrlPacket.java create mode 100644 src/main/java/net/montoyo/wd/net/server/SMessageGetUrl.java create mode 100644 src/main/java/net/montoyo/wd/net/server/URLMessage.java delete mode 100644 src/main/java/net/montoyo/wd/utilities/SyncedUrl.java diff --git a/src/main/java/net/montoyo/wd/client/ClientProxy.java b/src/main/java/net/montoyo/wd/client/ClientProxy.java index d9eee83..9c78cda 100644 --- a/src/main/java/net/montoyo/wd/client/ClientProxy.java +++ b/src/main/java/net/montoyo/wd/client/ClientProxy.java @@ -90,8 +90,12 @@ public class ClientProxy extends SharedProxy implements IDisplayHandler, IJSQuer private long lastURLSent; private PadData(String url, int id) { - Messages.sendUrlUpdate(url); - String webUrl = SyncedUrl.getUrl(); + String webUrl; + try { + webUrl = TileEntityScreen.url(url); + } catch (IOException e) { + throw new RuntimeException(e); + } view = mcef.createBrowser(WebDisplays.applyBlacklist(webUrl)); view.resize((int) WebDisplays.INSTANCE.padResX, (int) WebDisplays.INSTANCE.padResY); isInHotbar = true; diff --git a/src/main/java/net/montoyo/wd/client/gui/GuiSetURL2.java b/src/main/java/net/montoyo/wd/client/gui/GuiSetURL2.java index 4bca238..680704e 100644 --- a/src/main/java/net/montoyo/wd/client/gui/GuiSetURL2.java +++ b/src/main/java/net/montoyo/wd/client/gui/GuiSetURL2.java @@ -24,7 +24,6 @@ import net.montoyo.wd.net.Messages; import net.montoyo.wd.net.server.SMessagePadCtrl; import net.montoyo.wd.net.server.SMessageScreenCtrl; import net.montoyo.wd.utilities.BlockSide; -import net.montoyo.wd.utilities.SyncedUrl; import net.montoyo.wd.utilities.Util; import net.montoyo.wd.utilities.Vector3i; @@ -106,8 +105,11 @@ public class GuiSetURL2 extends WDScreen { private void validate(String url) { if(!url.isEmpty()) { - Messages.sendUrlUpdate(url); - url = SyncedUrl.getUrl(); + try { + TileEntityScreen.url(url); + } catch (IOException e) { + throw new RuntimeException(e); + } url = Util.addProtocol(url); url = ((ClientProxy) WebDisplays.PROXY).getMCEF().punycode(url); diff --git a/src/main/java/net/montoyo/wd/client/renderers/ScreenRenderer.java b/src/main/java/net/montoyo/wd/client/renderers/ScreenRenderer.java index e26a38f..b88acd0 100644 --- a/src/main/java/net/montoyo/wd/client/renderers/ScreenRenderer.java +++ b/src/main/java/net/montoyo/wd/client/renderers/ScreenRenderer.java @@ -4,21 +4,27 @@ package net.montoyo.wd.client.renderers; +import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.world.phys.AABB; +import net.montoyo.wd.SharedProxy; import net.montoyo.wd.WebDisplays; import net.montoyo.wd.client.ClientProxy; import net.montoyo.wd.entity.ServerEventHandler; import net.montoyo.wd.entity.TileEntityScreen; +import net.montoyo.wd.miniserv.SyncPlugin; import net.montoyo.wd.utilities.Vector3f; import net.montoyo.wd.utilities.Vector3i; import org.jetbrains.annotations.NotNull; +import java.io.IOException; + import static com.mojang.math.Vector3f.*; import static org.lwjgl.opengl.GL11.*; diff --git a/src/main/java/net/montoyo/wd/entity/ServerEventHandler.java b/src/main/java/net/montoyo/wd/entity/ServerEventHandler.java index a9a5dae..2069e34 100644 --- a/src/main/java/net/montoyo/wd/entity/ServerEventHandler.java +++ b/src/main/java/net/montoyo/wd/entity/ServerEventHandler.java @@ -3,31 +3,30 @@ package net.montoyo.wd.entity; import net.minecraft.server.level.ServerPlayer; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; import net.montoyo.wd.client.renderers.ScreenRenderer; -import net.montoyo.wd.net.Messages; -import net.montoyo.wd.utilities.SyncedUrl; +import net.montoyo.wd.miniserv.SyncPlugin; + +import java.util.HashMap; +import java.util.Map; + +public class ServerEventHandler extends ScreenRenderer{ + public static final Map playerScreens = new HashMap<>(); -@Mod.EventBusSubscriber(modid = "webdisplays", bus = Mod.EventBusSubscriber.Bus.FORGE) -public class ServerEventHandler { @SubscribeEvent - public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) { - // Send current URL to player - String url = SyncedUrl.getUrl(); - new ScreenRenderer(Messages.sendUrlToPlayer(url)); + public void onPlayerConnect(PlayerEvent.PlayerLoggedInEvent event) { + // create a new instance of the ScreenRenderer class for the player + ServerPlayer player = (ServerPlayer) event.getEntity(); + String url = SyncPlugin.getPlayerString(player); + ScreenRenderer screen = new ScreenRenderer(url); + + // store the ScreenRenderer instance in the playerScreens map + playerScreens.put(player, screen); } @SubscribeEvent - public static void onPlayerLoggedOut(PlayerEvent.PlayerLoggedOutEvent event) { - // Re-sync URL when player logs back in - String url = SyncedUrl.getUrl(); - Messages.sendUrlUpdate(url); - } - - @SubscribeEvent - public static void onPlayerChangedDimension(PlayerEvent.PlayerChangedDimensionEvent event) { - // Send current URL to player - String url = SyncedUrl.getUrl(); - new ScreenRenderer(Messages.sendUrlToPlayer(url)); + public void onPlayerDisconnect(PlayerEvent.PlayerLoggedOutEvent event) { + // remove the ScreenRenderer instance for the player + ServerPlayer player = (ServerPlayer) event.getEntity(); + playerScreens.remove(player); } } \ No newline at end of file diff --git a/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java b/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java index fd7afcb..08b51e9 100644 --- a/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java +++ b/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java @@ -4,10 +4,19 @@ package net.montoyo.wd.entity; +import com.mojang.authlib.minecraft.client.MinecraftClient; +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.client.multiplayer.PlayerInfo; +import net.minecraft.client.multiplayer.ServerData; +import net.minecraft.client.multiplayer.resolver.ServerAddress; +import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; +import net.minecraft.network.Connection; +import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; @@ -22,6 +31,7 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.network.PacketDistributor; import net.montoyo.mcef.api.IBrowser; +import net.montoyo.wd.SharedProxy; import net.montoyo.wd.WebDisplays; import net.montoyo.wd.block.BlockScreen; import net.montoyo.wd.client.ClientProxy; @@ -33,15 +43,21 @@ import net.montoyo.wd.data.ScreenConfigData; import net.montoyo.wd.init.BlockInit; import net.montoyo.wd.init.ItemInit; import net.montoyo.wd.init.TileInit; +import net.montoyo.wd.miniserv.SyncPlugin; import net.montoyo.wd.net.Messages; import net.montoyo.wd.net.client.*; +import net.montoyo.wd.net.server.SMessageGetUrl; import net.montoyo.wd.net.server.SMessageRequestTEData; +import net.montoyo.wd.net.server.URLMessage; import net.montoyo.wd.utilities.*; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.io.IOException; +import java.net.*; import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; import java.util.function.Consumer; import static net.montoyo.wd.block.BlockPeripheral.point; @@ -363,6 +379,20 @@ public class TileEntityScreen extends BlockEntity { Messages.INSTANCE.send(PacketDistributor.PLAYER.with(() -> ep), new CMessageAddScreen(this)); } + public static String url(String url) throws IOException { + System.out.println("URL received: " + url); + if (!(WebDisplays.PROXY instanceof ClientProxy)) { + List serverPlayers = WebDisplays.PROXY.getServer().getPlayerList().getPlayers(); + SyncPlugin.syncPlayers(serverPlayers); + for (ServerPlayer serverPlayer : serverPlayers) { + SyncPlugin.setPlayerString(serverPlayer, url); + } + return url; + } else { + return null; + } + } + public void setScreenURL(BlockSide side, String url) throws IOException { Screen scr = getScreen(side); if (scr == null) { @@ -370,8 +400,7 @@ public class TileEntityScreen extends BlockEntity { return; } - Messages.sendUrlUpdate(url); - String weburl = SyncedUrl.getUrl(); + String weburl = url(url); weburl = WebDisplays.applyBlacklist(weburl); scr.url = weburl; @@ -692,10 +721,14 @@ public class TileEntityScreen extends BlockEntity { public void updateClientSideURL(IBrowser target, String url) { for (Screen scr : screens) { if (scr.browser == target) { - Messages.sendUrlUpdate(url); - String weburl = SyncedUrl.getUrl(); - boolean blacklisted = WebDisplays.isSiteBlacklisted(weburl); - scr.url = blacklisted ? WebDisplays.BLACKLIST_URL : weburl; //FIXME: This is an invalid fix for something that CANNOT be fixed + String webUrl; + try { + webUrl = TileEntityScreen.url(url); + } catch (IOException e) { + throw new RuntimeException(e); + } + boolean blacklisted = WebDisplays.isSiteBlacklisted(url); + scr.url = blacklisted ? WebDisplays.BLACKLIST_URL : url; //FIXME: This is an invalid fix for something that CANNOT be fixed scr.videoType = VideoType.getTypeFromURL(scr.url); ytVolume = Float.POSITIVE_INFINITY; //Force volume update diff --git a/src/main/java/net/montoyo/wd/miniserv/SyncPlugin.java b/src/main/java/net/montoyo/wd/miniserv/SyncPlugin.java new file mode 100644 index 0000000..cd2c33c --- /dev/null +++ b/src/main/java/net/montoyo/wd/miniserv/SyncPlugin.java @@ -0,0 +1,43 @@ +package net.montoyo.wd.miniserv; + +import net.minecraft.server.level.ServerPlayer; +import net.montoyo.wd.net.Messages; +import net.montoyo.wd.net.server.SMessageGetUrl; +import net.montoyo.wd.net.server.URLMessage; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class SyncPlugin { + private static final Map> syncedPlayers = new HashMap<>(); + private static final Map URL = new HashMap<>(); + + public static void syncPlayers(List players) { + for (ServerPlayer player : players) { + List syncedPlayersList = new ArrayList<>(players); + syncedPlayersList.remove(player); + syncedPlayers.put(player, syncedPlayersList); + } + } + + public static String getPlayerString(ServerPlayer player) { + if(URL.get(player) == null) { + setPlayerString(player, new URLMessage().getURL()); + } + return URL.get(player); + } + + public static void setPlayerString(ServerPlayer player, String value) { + URL.put(player, value); + List syncedPlayersList = syncedPlayers.get(player); + if (syncedPlayersList != null) { + for (ServerPlayer syncedPlayer : syncedPlayersList) { + if(!syncedPlayer.hasDisconnected()) { + Messages.INSTANCE.sendToServer(new SMessageGetUrl(URL.get(syncedPlayer))); + } + } + } + } +} \ No newline at end of file diff --git a/src/main/java/net/montoyo/wd/net/Messages.java b/src/main/java/net/montoyo/wd/net/Messages.java index 3ec1af6..3ce6b71 100644 --- a/src/main/java/net/montoyo/wd/net/Messages.java +++ b/src/main/java/net/montoyo/wd/net/Messages.java @@ -4,25 +4,18 @@ package net.montoyo.wd.net; -import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.LogicalSide; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.network.NetworkEvent; import net.minecraftforge.network.NetworkRegistry; 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; @Mod.EventBusSubscriber public class Messages { - private static final String CHANNEL_NAME = "webdisplays:packetsystem"; - private static final String PROTOCOL_VERSION = "1"; private static int index = 0; public static final SimpleChannel INSTANCE = NetworkRegistry.newSimpleChannel( @@ -48,33 +41,7 @@ public class Messages { INSTANCE.registerMessage(index++, SMessageScreenCtrl.class, SMessageScreenCtrl::encode, SMessageScreenCtrl::decode, SMessageScreenCtrl::handle); INSTANCE.registerMessage(index++, SMessagePadCtrl.class, SMessagePadCtrl::encode, SMessagePadCtrl::decode, SMessagePadCtrl::handle); INSTANCE.registerMessage(index++, CMessageOpenGui.class, CMessageOpenGui::encode, CMessageOpenGui::decode, CMessageOpenGui::handle); - INSTANCE.registerMessage(index++, SyncedUrlPacket.class, SyncedUrlPacket::encode, SyncedUrlPacket::decode, SyncedUrlPacket::handle); - } - - public static void sendUrlUpdate(String newUrl) { - if (newUrl != null && Minecraft.getInstance().getConnection() != null) { - 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 String sendUrlToPlayer(String url) { - if(url == null) { - url = "https://www.google.com"; - } - SyncedUrl.setUrl(url); - return SyncedUrl.getUrl(); - } - - @SubscribeEvent - public static void onPacketReceived(NetworkEvent.ServerCustomPayloadEvent event) { - if (event.getSource().get().getDirection().getReceptionSide() == LogicalSide.SERVER && CHANNEL_NAME.equals(event.getPayload().readUtf())) { - String newUrl = event.getPayload().readUtf(); - SyncedUrl.updateUrl(newUrl); - Log.debug("Received URL update from client: {}", newUrl); - } + INSTANCE.registerMessage(index++, SMessageGetUrl.class, SMessageGetUrl::encode, SMessageGetUrl::decode, SMessageGetUrl::handle); + INSTANCE.registerMessage(index++, URLMessage.class, URLMessage::encode, URLMessage::decode, URLMessage::handle); } } diff --git a/src/main/java/net/montoyo/wd/net/client/CMessageAddScreen.java b/src/main/java/net/montoyo/wd/net/client/CMessageAddScreen.java index 93f3dc5..f4cae6d 100644 --- a/src/main/java/net/montoyo/wd/net/client/CMessageAddScreen.java +++ b/src/main/java/net/montoyo/wd/net/client/CMessageAddScreen.java @@ -11,7 +11,6 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.network.NetworkEvent; import net.montoyo.wd.WebDisplays; import net.montoyo.wd.entity.TileEntityScreen; -import net.montoyo.wd.net.Messages; import net.montoyo.wd.utilities.*; import java.io.IOException; @@ -106,13 +105,20 @@ public class CMessageAddScreen { for (TileEntityScreen.Screen entry : screens) { TileEntityScreen.Screen scr = tes.addScreen(entry.side, entry.size, entry.resolution, null, false); scr.rotation = entry.rotation; - Messages.sendUrlUpdate(entry.url); - scr.url = SyncedUrl.getUrl(); + String webUrl; + + try { + webUrl = TileEntityScreen.url(entry.url); + } catch (IOException e) { + throw new RuntimeException(e); + } + + scr.url = webUrl; scr.owner = entry.owner; scr.upgrades = entry.upgrades; if (scr.browser != null) - scr.browser.loadURL(scr.url); + scr.browser.loadURL(webUrl); } }); diff --git a/src/main/java/net/montoyo/wd/net/client/SyncedUrlPacket.java b/src/main/java/net/montoyo/wd/net/client/SyncedUrlPacket.java deleted file mode 100644 index 86861bd..0000000 --- a/src/main/java/net/montoyo/wd/net/client/SyncedUrlPacket.java +++ /dev/null @@ -1,36 +0,0 @@ -package net.montoyo.wd.net.client; - -import net.minecraft.network.FriendlyByteBuf; -import net.minecraftforge.network.NetworkEvent; -import net.montoyo.wd.net.Messages; - -import java.util.function.Supplier; - -public class SyncedUrlPacket { - private String url; - private boolean isDefault; - - public SyncedUrlPacket(String url, boolean isDefault) { - this.url = url; - this.isDefault = isDefault; - } - - public void encode(FriendlyByteBuf buffer) { - buffer.writeUtf(url); - buffer.writeBoolean(isDefault); - } - - public static SyncedUrlPacket decode(FriendlyByteBuf buffer) { - String url = buffer.readUtf(); - boolean isDefault = buffer.readBoolean(); - return new SyncedUrlPacket(url, isDefault); - } - - public void handle(Supplier contextSupplier) { - NetworkEvent.Context context = contextSupplier.get(); - if (url != null && !url.isEmpty() && !isDefault) { - Messages.sendUrlToPlayer(url); - } - context.setPacketHandled(true); - } -} \ No newline at end of file diff --git a/src/main/java/net/montoyo/wd/net/server/SMessageGetUrl.java b/src/main/java/net/montoyo/wd/net/server/SMessageGetUrl.java new file mode 100644 index 0000000..3de051c --- /dev/null +++ b/src/main/java/net/montoyo/wd/net/server/SMessageGetUrl.java @@ -0,0 +1,40 @@ +package net.montoyo.wd.net.server; + +import net.minecraft.network.FriendlyByteBuf; +import net.minecraftforge.network.NetworkEvent; +import net.minecraftforge.network.PacketDistributor; +import net.montoyo.wd.net.Messages; + +import java.util.Objects; +import java.util.function.Supplier; + +public class SMessageGetUrl { + String url; + + public SMessageGetUrl() { + } + + public SMessageGetUrl(String url) { + this.url = url; + } + + public static SMessageGetUrl decode(FriendlyByteBuf buf) { + SMessageGetUrl message = new SMessageGetUrl(); + message.url = buf.readUtf(); + return message; + } + + public void encode(FriendlyByteBuf buf) { + buf.writeUtf(url); + } + + public void handle(Supplier contextSupplier) { + contextSupplier.get().enqueueWork(() -> { + if(Objects.requireNonNull(contextSupplier.get().getSender()).connection.getConnection().isConnected()) { + Messages.INSTANCE.send(PacketDistributor.PLAYER.with(() -> contextSupplier.get().getSender()), new URLMessage(url)); + } + Messages.INSTANCE.send(PacketDistributor.ALL.noArg(), new URLMessage(url)); + }); + contextSupplier.get().setPacketHandled(true); + } +} diff --git a/src/main/java/net/montoyo/wd/net/server/SMessagePadCtrl.java b/src/main/java/net/montoyo/wd/net/server/SMessagePadCtrl.java index fa5b81e..09cf3ff 100644 --- a/src/main/java/net/montoyo/wd/net/server/SMessagePadCtrl.java +++ b/src/main/java/net/montoyo/wd/net/server/SMessagePadCtrl.java @@ -14,8 +14,6 @@ import net.minecraftforge.network.NetworkEvent; import net.montoyo.wd.WebDisplays; import net.montoyo.wd.entity.TileEntityScreen; import net.montoyo.wd.init.ItemInit; -import net.montoyo.wd.net.Messages; -import net.montoyo.wd.utilities.SyncedUrl; import java.io.IOException; import java.util.function.Supplier; @@ -58,8 +56,12 @@ public class SMessagePadCtrl implements Runnable { if(!is.getTag().contains("PadID")) is.getTag().putInt("PadID", WebDisplays.getNextAvailablePadID()); - Messages.sendUrlUpdate(url); - String webUrl = SyncedUrl.getUrl(); + String webUrl; + try { + webUrl = TileEntityScreen.url(url); + } catch (IOException e) { + throw new RuntimeException(e); + } is.getTag().putString("PadURL", WebDisplays.applyBlacklist(webUrl)); } } @@ -78,8 +80,12 @@ public class SMessagePadCtrl implements Runnable { target = player.getInventory().offhand.get(0); if(target != null) { - Messages.sendUrlUpdate(url); - String webUrl = SyncedUrl.getUrl(); + String webUrl; + try { + webUrl = TileEntityScreen.url(url); + } catch (IOException e) { + throw new RuntimeException(e); + } target.getTag().putString("PadURL", WebDisplays.applyBlacklist(webUrl)); } } diff --git a/src/main/java/net/montoyo/wd/net/server/URLMessage.java b/src/main/java/net/montoyo/wd/net/server/URLMessage.java new file mode 100644 index 0000000..a3a86ca --- /dev/null +++ b/src/main/java/net/montoyo/wd/net/server/URLMessage.java @@ -0,0 +1,35 @@ +package net.montoyo.wd.net.server; + +import net.minecraft.network.FriendlyByteBuf; +import net.minecraftforge.network.NetworkEvent; + +import java.util.function.Supplier; + +public class URLMessage { + + private String url; + + public URLMessage() {} + + public URLMessage(String url) { + this.url = url; + } + + public String getURL() { + return url; + } + + public static URLMessage decode(FriendlyByteBuf buf) { + URLMessage message = new URLMessage(); + message.url = buf.readUtf(); + return message; + } + + public void encode(FriendlyByteBuf buf) { + buf.writeUtf(url); + } + + public void handle(Supplier contextSupplier) { + contextSupplier.get().setPacketHandled(true); + } + } \ No newline at end of file diff --git a/src/main/java/net/montoyo/wd/utilities/SyncedUrl.java b/src/main/java/net/montoyo/wd/utilities/SyncedUrl.java deleted file mode 100644 index 5b987ac..0000000 --- a/src/main/java/net/montoyo/wd/utilities/SyncedUrl.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.montoyo.wd.utilities; - -public class SyncedUrl { - private static String url; - - public static String getUrl() { - return url; - } - - public static void setUrl(String newUrl) { - url = newUrl; - } - - public static void updateUrl(String newUrl) { - url = newUrl; - } -} \ No newline at end of file