* Moved CMessage* to wd.net.client and SMessage* to wd.net.server
This commit is contained in:
parent
4b8acc8801
commit
edab9d80bd
|
|
@ -5,6 +5,7 @@ This is the unfinished port of the WebDisplays mod for Minecraft 1.12.2. The tex
|
|||
* Peripheral: OpenComputers interface
|
||||
* Server blocks (to store some of the player's web pages)
|
||||
* Read config (see "Config elements" below)
|
||||
* Miniserv timeout
|
||||
|
||||
### TODO
|
||||
* French translations
|
||||
|
|
|
|||
|
|
@ -34,9 +34,8 @@ import net.montoyo.wd.block.BlockScreen;
|
|||
import net.montoyo.wd.core.*;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.item.*;
|
||||
import net.montoyo.wd.miniserv.client.Client;
|
||||
import net.montoyo.wd.miniserv.server.Server;
|
||||
import net.montoyo.wd.net.CMessageServerInfo;
|
||||
import net.montoyo.wd.net.client.CMessageServerInfo;
|
||||
import net.montoyo.wd.net.Messages;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
import net.montoyo.wd.utilities.Util;
|
||||
|
|
|
|||
|
|
@ -53,8 +53,8 @@ import net.montoyo.wd.data.GuiData;
|
|||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.item.ItemMulti;
|
||||
import net.montoyo.wd.miniserv.client.Client;
|
||||
import net.montoyo.wd.net.SMessagePadCtrl;
|
||||
import net.montoyo.wd.net.SMessageScreenCtrl;
|
||||
import net.montoyo.wd.net.server.SMessagePadCtrl;
|
||||
import net.montoyo.wd.net.server.SMessageScreenCtrl;
|
||||
import net.montoyo.wd.utilities.*;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import net.montoyo.wd.core.IScreenQueryHandler;
|
|||
import net.montoyo.wd.core.IUpgrade;
|
||||
import net.montoyo.wd.core.JSServerRequest;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.SMessageScreenCtrl;
|
||||
import net.montoyo.wd.net.server.SMessageScreenCtrl;
|
||||
import net.montoyo.wd.utilities.*;
|
||||
|
||||
import java.util.ArrayDeque;
|
||||
|
|
|
|||
|
|
@ -15,11 +15,14 @@ import net.montoyo.wd.miniserv.client.ClientTaskGetFile;
|
|||
import net.montoyo.wd.utilities.Log;
|
||||
import net.montoyo.wd.utilities.Util;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.UUID;
|
||||
|
||||
public class WDScheme implements IScheme {
|
||||
|
||||
private static final String ERROR_PAGE = "<!DOCTYPE html><html><head></head><body><h1>%d %s</h1><hr /><i>Miniserv powered by WebDisplays</i></body></html>";
|
||||
private ClientTaskGetFile task;
|
||||
private boolean isErrorPage;
|
||||
|
||||
@Override
|
||||
public SchemePreResponse processRequest(String url) {
|
||||
|
|
@ -65,13 +68,30 @@ public class WDScheme implements IScheme {
|
|||
resp.setStatus(200);
|
||||
resp.setStatusText("OK");
|
||||
resp.setResponseLength(-1);
|
||||
} else if(status == Constants.GETF_STATUS_NOT_FOUND) {
|
||||
resp.setStatus(404);
|
||||
resp.setStatusText("Not Found");
|
||||
resp.setResponseLength(0);
|
||||
return;
|
||||
}
|
||||
|
||||
int errCode;
|
||||
String errStr;
|
||||
|
||||
if(status == Constants.GETF_STATUS_NOT_FOUND) {
|
||||
errCode = 404;
|
||||
errStr = "Not Found";
|
||||
} else {
|
||||
resp.setStatus(500);
|
||||
resp.setStatusText("Internal Server Error");
|
||||
errCode = 500;
|
||||
errStr = "Internal Server Error";
|
||||
}
|
||||
|
||||
resp.setStatus(errCode);
|
||||
resp.setStatusText(errStr);
|
||||
|
||||
try {
|
||||
dataToWrite = String.format(ERROR_PAGE, errCode, errStr).getBytes("UTF-8");
|
||||
dataOffset = 0;
|
||||
amountToWrite = dataToWrite.length;
|
||||
isErrorPage = true;
|
||||
resp.setResponseLength(amountToWrite);
|
||||
} catch(UnsupportedEncodingException ex) {
|
||||
resp.setResponseLength(0);
|
||||
}
|
||||
}
|
||||
|
|
@ -83,6 +103,11 @@ public class WDScheme implements IScheme {
|
|||
@Override
|
||||
public boolean readResponse(ISchemeResponseData data) {
|
||||
if(dataToWrite == null) {
|
||||
if(isErrorPage) {
|
||||
data.setAmountRead(0);
|
||||
return false;
|
||||
}
|
||||
|
||||
dataToWrite = task.waitForData();
|
||||
dataOffset = 3; //packet ID + size
|
||||
amountToWrite = task.getDataLength();
|
||||
|
|
@ -105,7 +130,9 @@ public class WDScheme implements IScheme {
|
|||
amountToWrite -= toWrite;
|
||||
|
||||
if(amountToWrite <= 0) {
|
||||
task.nextData();
|
||||
if(!isErrorPage)
|
||||
task.nextData();
|
||||
|
||||
dataToWrite = null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import net.montoyo.wd.client.gui.controls.Control;
|
|||
import net.montoyo.wd.client.gui.controls.Label;
|
||||
import net.montoyo.wd.client.gui.loading.FillControl;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.SMessageScreenCtrl;
|
||||
import net.montoyo.wd.net.server.SMessageScreenCtrl;
|
||||
import net.montoyo.wd.utilities.BlockSide;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
import net.montoyo.wd.utilities.Util;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import net.montoyo.wd.WebDisplays;
|
|||
import net.montoyo.wd.client.gui.controls.Button;
|
||||
import net.montoyo.wd.client.gui.controls.TextField;
|
||||
import net.montoyo.wd.client.gui.loading.FillControl;
|
||||
import net.montoyo.wd.net.SMessageRedstoneCtrl;
|
||||
import net.montoyo.wd.net.server.SMessageRedstoneCtrl;
|
||||
import net.montoyo.wd.utilities.Util;
|
||||
import net.montoyo.wd.utilities.Vector3i;
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import net.montoyo.wd.client.gui.controls.*;
|
|||
import net.montoyo.wd.client.gui.loading.FillControl;
|
||||
import net.montoyo.wd.core.ScreenRights;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.SMessageScreenCtrl;
|
||||
import net.montoyo.wd.net.server.SMessageScreenCtrl;
|
||||
import net.montoyo.wd.utilities.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import net.montoyo.wd.client.gui.controls.Button;
|
|||
import net.montoyo.wd.client.gui.controls.TextField;
|
||||
import net.montoyo.wd.client.gui.loading.FillControl;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.SMessagePadCtrl;
|
||||
import net.montoyo.wd.net.SMessageScreenCtrl;
|
||||
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.Util;
|
||||
import net.montoyo.wd.utilities.Vector3i;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import net.montoyo.wd.client.gui.controls.Event;
|
|||
import net.montoyo.wd.client.gui.loading.FillControl;
|
||||
import net.montoyo.wd.client.gui.loading.GuiLoader;
|
||||
import net.montoyo.wd.client.gui.loading.JsonOWrapper;
|
||||
import net.montoyo.wd.net.SMessageACQuery;
|
||||
import net.montoyo.wd.net.server.SMessageACQuery;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
import net.montoyo.wd.utilities.NameUUIDPair;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import net.minecraft.world.World;
|
|||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.net.CMessageOpenGui;
|
||||
import net.montoyo.wd.net.client.CMessageOpenGui;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import net.minecraftforge.fml.relauncher.SideOnly;
|
|||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.client.gui.GuiScreenConfig;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.CMessageOpenGui;
|
||||
import net.montoyo.wd.net.client.CMessageOpenGui;
|
||||
import net.montoyo.wd.utilities.BlockSide;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
import net.montoyo.wd.utilities.NameUUIDPair;
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ import net.montoyo.wd.core.IUpgrade;
|
|||
import net.montoyo.wd.core.JSServerRequest;
|
||||
import net.montoyo.wd.core.ScreenRights;
|
||||
import net.montoyo.wd.data.ScreenConfigData;
|
||||
import net.montoyo.wd.net.CMessageAddScreen;
|
||||
import net.montoyo.wd.net.CMessageJSResponse;
|
||||
import net.montoyo.wd.net.CMessageScreenUpdate;
|
||||
import net.montoyo.wd.net.SMessageRequestTEData;
|
||||
import net.montoyo.wd.net.client.CMessageAddScreen;
|
||||
import net.montoyo.wd.net.client.CMessageJSResponse;
|
||||
import net.montoyo.wd.net.client.CMessageScreenUpdate;
|
||||
import net.montoyo.wd.net.server.SMessageRequestTEData;
|
||||
import net.montoyo.wd.utilities.*;
|
||||
import net.montoyo.wd.utilities.Rotation;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ package net.montoyo.wd.miniserv.client;
|
|||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.montoyo.wd.miniserv.*;
|
||||
import net.montoyo.wd.net.SMessageMiniservConnect;
|
||||
import net.montoyo.wd.net.server.SMessageMiniservConnect;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
import net.montoyo.wd.utilities.Util;
|
||||
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ public class ClientTaskGetFile extends ClientTask {
|
|||
|
||||
while(data == null) {
|
||||
if(System.currentTimeMillis() - t > 10000) {
|
||||
data = new byte[1];
|
||||
data = new byte[0];
|
||||
dataLen = -1;
|
||||
dataLock.unlock();
|
||||
return data;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ package net.montoyo.wd.net;
|
|||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
||||
import net.montoyo.wd.net.client.*;
|
||||
import net.montoyo.wd.net.server.*;
|
||||
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.ArrayList;
|
||||
|
|
|
|||
|
|
@ -2,13 +2,14 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.client;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.utilities.NameUUIDPair;
|
||||
|
||||
@Message(messageId = 6, side = Side.CLIENT)
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.client;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
|
@ -13,6 +13,7 @@ import net.minecraftforge.fml.relauncher.Side;
|
|||
import net.montoyo.wd.SharedProxy;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.utilities.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.client;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||
|
|
@ -10,6 +10,7 @@ import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
|||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.core.JSServerRequest;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
|
||||
@Message(messageId = 9, side = Side.CLIENT)
|
||||
|
|
@ -2,13 +2,14 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.client;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.miniserv.client.Client;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.utilities.Log;
|
||||
|
||||
@Message(messageId = 11, side = Side.CLIENT)
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.client;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.client;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
|
@ -13,6 +13,7 @@ import net.minecraftforge.fml.relauncher.Side;
|
|||
import net.montoyo.wd.SharedProxy;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.utilities.*;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
|
@ -2,13 +2,14 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.client;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.miniserv.client.Client;
|
||||
import net.montoyo.wd.net.Message;
|
||||
|
||||
@Message(messageId = 12, side = Side.CLIENT)
|
||||
public class CMessageServerInfo implements IMessage, Runnable {
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.server;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
|
@ -14,6 +14,8 @@ import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
|||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.net.client.CMessageACResult;
|
||||
import net.montoyo.wd.utilities.NameUUIDPair;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.server;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
|
|
@ -11,6 +11,8 @@ import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
|||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.montoyo.wd.miniserv.server.ClientManager;
|
||||
import net.montoyo.wd.miniserv.server.Server;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.net.client.CMessageMiniservKey;
|
||||
|
||||
@Message(messageId = 10, side = Side.SERVER)
|
||||
public class SMessageMiniservConnect implements IMessage {
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.server;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
|
@ -17,6 +17,7 @@ import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
|||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.montoyo.wd.WebDisplays;
|
||||
import net.montoyo.wd.net.Message;
|
||||
|
||||
@Message(messageId = 7, side = Side.SERVER)
|
||||
public class SMessagePadCtrl implements IMessage, Runnable {
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.server;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
|
@ -18,6 +18,7 @@ import net.minecraftforge.fml.relauncher.Side;
|
|||
import net.montoyo.wd.core.ScreenRights;
|
||||
import net.montoyo.wd.entity.TileEntityRedCtrl;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.utilities.Util;
|
||||
import net.montoyo.wd.utilities.Vector3i;
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.server;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
|
|
@ -15,6 +15,7 @@ import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
|||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.montoyo.mcef.utilities.Log;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.utilities.Vector3i;
|
||||
|
||||
@Message(messageId = 1, side = Side.SERVER)
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2018 BARBOTIN Nicolas
|
||||
*/
|
||||
|
||||
package net.montoyo.wd.net;
|
||||
package net.montoyo.wd.net.server;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
|
@ -25,6 +25,7 @@ import net.montoyo.wd.core.JSServerRequest;
|
|||
import net.montoyo.wd.core.MissingPermissionException;
|
||||
import net.montoyo.wd.core.ScreenRights;
|
||||
import net.montoyo.wd.entity.TileEntityScreen;
|
||||
import net.montoyo.wd.net.Message;
|
||||
import net.montoyo.wd.utilities.*;
|
||||
|
||||
@Message(messageId = 2, side = Side.SERVER)
|
||||
Loading…
Reference in New Issue
Block a user