push for ai
This commit is contained in:
parent
7a33e30de7
commit
3f22a1a4ab
|
|
@ -90,12 +90,8 @@ public class ClientProxy extends SharedProxy implements IDisplayHandler, IJSQuer
|
|||
private long lastURLSent;
|
||||
|
||||
private PadData(String url, int id) {
|
||||
String webUrl;
|
||||
try {
|
||||
webUrl = TileEntityScreen.url(url);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
Messages.sendUrlUpdate(url);
|
||||
String webUrl = SyncedUrl.getUrl();
|
||||
view = mcef.createBrowser(WebDisplays.applyBlacklist(webUrl));
|
||||
view.resize((int) WebDisplays.INSTANCE.padResX, (int) WebDisplays.INSTANCE.padResY);
|
||||
isInHotbar = true;
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ 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;
|
||||
|
||||
|
|
@ -105,11 +106,8 @@ public class GuiSetURL2 extends WDScreen {
|
|||
private void validate(String url) {
|
||||
if(!url.isEmpty()) {
|
||||
|
||||
try {
|
||||
TileEntityScreen.url(url);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
Messages.sendUrlUpdate(url);
|
||||
url = SyncedUrl.getUrl();
|
||||
|
||||
url = Util.addProtocol(url);
|
||||
url = ((ClientProxy) WebDisplays.PROXY).getMCEF().punycode(url);
|
||||
|
|
|
|||
|
|
@ -4,27 +4,21 @@
|
|||
|
||||
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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,30 +3,38 @@ 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.miniserv.SyncPlugin;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ServerEventHandler extends ScreenRenderer{
|
||||
public static final Map<ServerPlayer, ScreenRenderer> playerScreens = new HashMap<>();
|
||||
import net.montoyo.wd.net.Messages;
|
||||
import net.montoyo.wd.utilities.SyncedUrl;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = "webdisplays", bus = Mod.EventBusSubscriber.Bus.FORGE)
|
||||
public class ServerEventHandler {
|
||||
@SubscribeEvent
|
||||
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);
|
||||
public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) {
|
||||
// Send current URL to player
|
||||
String url = SyncedUrl.getUrl();
|
||||
|
||||
// store the ScreenRenderer instance in the playerScreens map
|
||||
playerScreens.put(player, screen);
|
||||
if(event.getEntity() instanceof ServerPlayer serverPlayer) {
|
||||
new ScreenRenderer(url);
|
||||
Messages.sendUrlToPlayer(serverPlayer, url);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPlayerDisconnect(PlayerEvent.PlayerLoggedOutEvent event) {
|
||||
// remove the ScreenRenderer instance for the player
|
||||
ServerPlayer player = (ServerPlayer) event.getEntity();
|
||||
playerScreens.remove(player);
|
||||
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();
|
||||
if(event.getEntity() instanceof ServerPlayer serverPlayer) {
|
||||
new ScreenRenderer(url);
|
||||
Messages.sendUrlToPlayer(serverPlayer, url);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4,19 +4,10 @@
|
|||
|
||||
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;
|
||||
|
|
@ -31,7 +22,6 @@ 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;
|
||||
|
|
@ -43,21 +33,15 @@ 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;
|
||||
|
|
@ -379,20 +363,6 @@ 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<ServerPlayer> 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) {
|
||||
|
|
@ -400,7 +370,8 @@ public class TileEntityScreen extends BlockEntity {
|
|||
return;
|
||||
}
|
||||
|
||||
String weburl = url(url);
|
||||
Messages.sendUrlUpdate(url);
|
||||
String weburl = SyncedUrl.getUrl();
|
||||
|
||||
weburl = WebDisplays.applyBlacklist(weburl);
|
||||
scr.url = weburl;
|
||||
|
|
@ -721,14 +692,10 @@ public class TileEntityScreen extends BlockEntity {
|
|||
public void updateClientSideURL(IBrowser target, String url) {
|
||||
for (Screen scr : screens) {
|
||||
if (scr.browser == target) {
|
||||
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
|
||||
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
|
||||
scr.videoType = VideoType.getTypeFromURL(scr.url);
|
||||
ytVolume = Float.POSITIVE_INFINITY; //Force volume update
|
||||
|
||||
|
|
|
|||
|
|
@ -1,43 +0,0 @@
|
|||
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<ServerPlayer, List<ServerPlayer>> syncedPlayers = new HashMap<>();
|
||||
private static final Map<ServerPlayer, String> URL = new HashMap<>();
|
||||
|
||||
public static void syncPlayers(List<ServerPlayer> players) {
|
||||
for (ServerPlayer player : players) {
|
||||
List<ServerPlayer> 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<ServerPlayer> syncedPlayersList = syncedPlayers.get(player);
|
||||
if (syncedPlayersList != null) {
|
||||
for (ServerPlayer syncedPlayer : syncedPlayersList) {
|
||||
if(!syncedPlayer.hasDisconnected()) {
|
||||
Messages.INSTANCE.sendToServer(new SMessageGetUrl(URL.get(syncedPlayer)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7,21 +7,27 @@ 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;
|
||||
|
|
@ -29,6 +35,8 @@ import java.util.function.Supplier;
|
|||
@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(
|
||||
|
|
@ -54,7 +62,29 @@ 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++, SMessageGetUrl.class, SMessageGetUrl::encode, SMessageGetUrl::decode, SMessageGetUrl::handle);
|
||||
INSTANCE.registerMessage(index++, URLMessage.class, URLMessage::encode, URLMessage::decode, URLMessage::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) {
|
||||
Messages.INSTANCE.sendToServer(new SyncedUrlPacket(newUrl));
|
||||
}
|
||||
}
|
||||
|
||||
public static void sendUrlToPlayer(ServerPlayer player, String url) {
|
||||
if(url == null) {
|
||||
url = "https://www.google.com";
|
||||
}
|
||||
SyncedUrl.setUrl(url);
|
||||
Messages.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), new SyncedUrlPacket(url));
|
||||
}
|
||||
|
||||
@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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ 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;
|
||||
|
|
@ -105,20 +106,13 @@ 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;
|
||||
String webUrl;
|
||||
|
||||
try {
|
||||
webUrl = TileEntityScreen.url(entry.url);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
scr.url = webUrl;
|
||||
Messages.sendUrlUpdate(entry.url);
|
||||
scr.url = SyncedUrl.getUrl();
|
||||
scr.owner = entry.owner;
|
||||
scr.upgrades = entry.upgrades;
|
||||
|
||||
if (scr.browser != null)
|
||||
scr.browser.loadURL(webUrl);
|
||||
scr.browser.loadURL(scr.url);
|
||||
}
|
||||
|
||||
});
|
||||
|
|
|
|||
29
src/main/java/net/montoyo/wd/net/client/SyncedUrlPacket.java
Normal file
29
src/main/java/net/montoyo/wd/net/client/SyncedUrlPacket.java
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
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;
|
||||
|
||||
public SyncedUrlPacket(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public void encode(FriendlyByteBuf buffer) {
|
||||
buffer.writeUtf(this.url);
|
||||
}
|
||||
|
||||
public static SyncedUrlPacket decode(FriendlyByteBuf buffer) {
|
||||
return new SyncedUrlPacket(buffer.readUtf());
|
||||
}
|
||||
|
||||
public void handle(Supplier<NetworkEvent.Context> contextSupplier) {
|
||||
NetworkEvent.Context context = contextSupplier.get();
|
||||
Messages.sendUrlUpdate(this.url);
|
||||
context.setPacketHandled(true);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
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<NetworkEvent.Context> 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);
|
||||
}
|
||||
}
|
||||
|
|
@ -14,6 +14,8 @@ 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;
|
||||
|
|
@ -56,12 +58,8 @@ public class SMessagePadCtrl implements Runnable {
|
|||
if(!is.getTag().contains("PadID"))
|
||||
is.getTag().putInt("PadID", WebDisplays.getNextAvailablePadID());
|
||||
|
||||
String webUrl;
|
||||
try {
|
||||
webUrl = TileEntityScreen.url(url);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
Messages.sendUrlUpdate(url);
|
||||
String webUrl = SyncedUrl.getUrl();
|
||||
is.getTag().putString("PadURL", WebDisplays.applyBlacklist(webUrl));
|
||||
}
|
||||
}
|
||||
|
|
@ -80,12 +78,8 @@ public class SMessagePadCtrl implements Runnable {
|
|||
target = player.getInventory().offhand.get(0);
|
||||
|
||||
if(target != null) {
|
||||
String webUrl;
|
||||
try {
|
||||
webUrl = TileEntityScreen.url(url);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
Messages.sendUrlUpdate(url);
|
||||
String webUrl = SyncedUrl.getUrl();
|
||||
target.getTag().putString("PadURL", WebDisplays.applyBlacklist(webUrl));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
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<NetworkEvent.Context> contextSupplier) {
|
||||
contextSupplier.get().setPacketHandled(true);
|
||||
}
|
||||
}
|
||||
20
src/main/java/net/montoyo/wd/utilities/SyncedUrl.java
Normal file
20
src/main/java/net/montoyo/wd/utilities/SyncedUrl.java
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
package net.montoyo.wd.utilities;
|
||||
|
||||
import net.montoyo.wd.net.Messages;
|
||||
|
||||
public class SyncedUrl {
|
||||
private static String url;
|
||||
|
||||
public static String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
public static void setUrl(String newUrl) {
|
||||
url = newUrl;
|
||||
Messages.sendUrlUpdate(newUrl);
|
||||
}
|
||||
|
||||
public static void updateUrl(String newUrl) {
|
||||
url = newUrl;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user