push something to WD
This commit is contained in:
parent
883269c20c
commit
7d66708a5e
|
|
@ -37,8 +37,9 @@ dependencies {
|
|||
}
|
||||
forge "net.minecraftforge:forge:${project.forge_version}"
|
||||
|
||||
modImplementation "com.github.Mysticpasta1:mcef-forge:3797701d8f"
|
||||
modImplementation "com.github.Mysticpasta1:mcef-forge:a9bf168a92"
|
||||
modImplementation "curse.maven:cloth_config_forge-348521:3972423"
|
||||
modImplementation "curse.maven:SU-370704:4410614"
|
||||
// Uncomment the following line to enable the deprecated Fabric API modules.
|
||||
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import net.minecraft.ChatFormatting;
|
|||
import net.minecraft.advancements.Advancement;
|
||||
import net.minecraft.advancements.CriteriaTriggers;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
|
|
@ -56,6 +57,7 @@ import net.montoyo.wd.utilities.Util;
|
|||
import java.io.*;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
|
@ -204,6 +206,8 @@ public class WebDisplays {
|
|||
registerSound("ironic");
|
||||
}
|
||||
|
||||
ArrayList<ResourceKey<Level>> serverStartedDimensions = new ArrayList<>();
|
||||
|
||||
@SubscribeEvent
|
||||
public void onWorldLoad(LevelEvent.Load ev) {
|
||||
if (ev.getLevel() instanceof Level level) {
|
||||
|
|
@ -234,9 +238,13 @@ public class WebDisplays {
|
|||
|
||||
if (miniservPort != 0) {
|
||||
Server sv = Server.getInstance();
|
||||
sv.setPort(miniservPort);
|
||||
sv.setDirectory(new File(worldDir, "wd_filehost"));
|
||||
sv.start();
|
||||
|
||||
if(!serverStartedDimensions.contains(level.dimension())) {
|
||||
sv.setPort(miniservPort);
|
||||
sv.setDirectory(new File(worldDir, "wd_filehost"));
|
||||
sv.start();
|
||||
serverStartedDimensions.add(level.dimension());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -248,6 +256,7 @@ public class WebDisplays {
|
|||
return;
|
||||
Server sw = Server.getInstance();
|
||||
sw.stopServer();
|
||||
serverStartedDimensions.remove(level.dimension());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ 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.TileEntityScreen;
|
||||
|
|
@ -48,15 +49,17 @@ public class ScreenRenderer implements BlockEntityRenderer<TileEntityScreen> {
|
|||
for(int i = 0; i < te.screenCount(); i++) {
|
||||
TileEntityScreen.Screen scr = te.getScreen(i);
|
||||
if(scr.browser == null) {
|
||||
scr.browser = ((ClientProxy) WebDisplays.PROXY).getMCEF().createBrowser(WebDisplays.applyBlacklist(scr.url));
|
||||
if(WebDisplays.PROXY instanceof ClientProxy clientProxy) {
|
||||
scr.browser = clientProxy.getMCEF().createBrowser(WebDisplays.applyBlacklist(scr.url));
|
||||
|
||||
if(scr.rotation.isVertical)
|
||||
scr.browser.resize(scr.resolution.y, scr.resolution.x);
|
||||
else
|
||||
scr.browser.resize(scr.resolution.x, scr.resolution.y);
|
||||
if (scr.rotation.isVertical)
|
||||
scr.browser.resize(scr.resolution.y, scr.resolution.x);
|
||||
else
|
||||
scr.browser.resize(scr.resolution.x, scr.resolution.y);
|
||||
|
||||
scr.doTurnOnAnim = true;
|
||||
scr.turnOnTime = System.currentTimeMillis();
|
||||
scr.doTurnOnAnim = true;
|
||||
scr.turnOnTime = System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
|
||||
tmpi.set(scr.side.right);
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ public class Server implements Runnable {
|
|||
private volatile boolean running;
|
||||
private volatile Thread thread;
|
||||
|
||||
public int getPort() {return port;}
|
||||
public void setPort(int p) {
|
||||
port = p;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,8 +6,10 @@ package net.montoyo.wd.net.client;
|
|||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.network.NetworkEvent;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.client.ClientProxy;
|
||||
import net.montoyo.wd.miniserv.client.Client;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
|
||||
|
|
@ -36,7 +38,9 @@ public class CMessageMiniservKey {
|
|||
contextSupplier.get().enqueueWork(() -> {
|
||||
if (Client.getInstance().decryptKey(encryptedKey)) {
|
||||
Log.info("Successfully received and decrypted key, starting miniserv client...");
|
||||
WebDisplays.PROXY.startMiniservClient();
|
||||
if(WebDisplays.PROXY instanceof ClientProxy proxy) {
|
||||
proxy.startMiniservClient();
|
||||
}
|
||||
}
|
||||
});
|
||||
contextSupplier.get().setPacketHandled(true);
|
||||
|
|
|
|||
|
|
@ -4,13 +4,19 @@
|
|||
|
||||
package net.montoyo.wd.net.server;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.network.Connection;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.protocol.PacketFlow;
|
||||
import net.minecraftforge.network.NetworkDirection;
|
||||
import net.minecraftforge.network.NetworkEvent;
|
||||
import net.montoyo.wd.miniserv.server.ClientManager;
|
||||
import net.montoyo.wd.miniserv.server.Server;
|
||||
import net.montoyo.wd.net.Messages;
|
||||
import net.montoyo.wd.net.client.CMessageMiniservKey;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class SMessageMiniservConnect {
|
||||
|
|
@ -47,10 +53,10 @@ public class SMessageMiniservConnect {
|
|||
|
||||
public void handle(Supplier<NetworkEvent.Context> contextSupplier) {
|
||||
ClientManager cliMgr = Server.getInstance().getClientManager();
|
||||
byte[] encKey = cliMgr.encryptClientKey(contextSupplier.get().getSender().getGameProfile().getId(), modulus, exponent);
|
||||
byte[] encKey = cliMgr.encryptClientKey(Objects.requireNonNull(contextSupplier.get().getSender()).getGameProfile().getId(), modulus, exponent);
|
||||
|
||||
if (encKey != null) {
|
||||
Messages.INSTANCE.sendToServer(new CMessageMiniservKey(encKey));
|
||||
Messages.INSTANCE.sendTo(new CMessageMiniservKey(encKey), new Connection(PacketFlow.SERVERBOUND), NetworkDirection.LOGIN_TO_SERVER);
|
||||
}
|
||||
|
||||
contextSupplier.get().setPacketHandled(true);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user