mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-04-18 18:26:42 +00:00
Updated mongodb driver to 3.7.0
This commit is contained in:
parent
e98575b23f
commit
854863ede9
@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="Spring" name="Spring">
|
||||
<configuration />
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
@ -15,14 +20,14 @@
|
||||
<orderEntry type="module" module-name="Server" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-text:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:2.10.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.7.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sparkjava:spark-core:2.7.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.4.8.v20171121" level="project" />
|
||||
|
@ -1,13 +1,12 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.ServerConfiguration;
|
||||
import net.simon987.server.assembly.Memory;
|
||||
import net.simon987.server.game.*;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import net.simon987.server.user.User;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.awt.*;
|
||||
@ -251,8 +250,8 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit, Pr
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("t", ID);
|
||||
@ -276,7 +275,7 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit, Pr
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static Cubot deserialize(DBObject obj) {
|
||||
public static Cubot deserialize(Document obj) {
|
||||
|
||||
Cubot cubot = new Cubot();
|
||||
cubot.setObjectId((long) obj.get("i"));
|
||||
@ -294,7 +293,6 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit, Pr
|
||||
cubot.maxShield = config.getInt("cubot_max_shield");
|
||||
|
||||
return cubot;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotBattery extends CpuHardware {
|
||||
|
||||
@ -45,9 +44,9 @@ public class CubotBattery extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -56,7 +55,7 @@ public class CubotBattery extends CpuHardware {
|
||||
}
|
||||
|
||||
|
||||
public static CubotBattery deserialize(DBObject obj) {
|
||||
public static CubotBattery deserialize(Document obj) {
|
||||
return new CubotBattery((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
|
||||
|
@ -1,12 +1,11 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.Programmable;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
@ -128,9 +127,9 @@ public class CubotComPort extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -138,7 +137,7 @@ public class CubotComPort extends CpuHardware {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static CubotComPort deserialize(DBObject obj) {
|
||||
public static CubotComPort deserialize(Document obj) {
|
||||
return new CubotComPort((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotCore extends CpuHardware {
|
||||
|
||||
@ -42,9 +41,9 @@ public class CubotCore extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -53,7 +52,7 @@ public class CubotCore extends CpuHardware {
|
||||
}
|
||||
|
||||
|
||||
public static CubotCore deserialize(DBObject obj) {
|
||||
public static CubotCore deserialize(Document obj) {
|
||||
return new CubotCore((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,11 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import net.simon987.server.game.Action;
|
||||
import net.simon987.server.game.TileMap;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotDrill extends CpuHardware {
|
||||
|
||||
@ -62,9 +61,9 @@ public class CubotDrill extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -72,7 +71,7 @@ public class CubotDrill extends CpuHardware {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static CubotDrill deserialize(DBObject obj) {
|
||||
public static CubotDrill deserialize(Document obj) {
|
||||
return new CubotDrill((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotFloppyDrive extends CpuHardware {
|
||||
|
||||
@ -79,9 +78,9 @@ public class CubotFloppyDrive extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -93,12 +92,12 @@ public class CubotFloppyDrive extends CpuHardware {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static CubotFloppyDrive deserialize(DBObject obj) {
|
||||
public static CubotFloppyDrive deserialize(Document obj) {
|
||||
|
||||
CubotFloppyDrive drive = new CubotFloppyDrive((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
|
||||
if (obj.containsField("floppy")) {
|
||||
drive.floppyDisk = FloppyDisk.deserialise((DBObject) obj.get("floppy"));
|
||||
if (obj.containsKey("floppy")) {
|
||||
drive.floppyDisk = FloppyDisk.deserialise((Document) obj.get("floppy"));
|
||||
}
|
||||
|
||||
return drive;
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotHologram extends CpuHardware {
|
||||
|
||||
@ -83,14 +82,14 @@ public class CubotHologram extends CpuHardware {
|
||||
return HWID;
|
||||
}
|
||||
|
||||
public static CubotHologram deserialize(DBObject obj) {
|
||||
public static CubotHologram deserialize(Document obj) {
|
||||
return new CubotHologram((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotInventory extends CpuHardware {
|
||||
|
||||
@ -52,9 +51,9 @@ public class CubotInventory extends CpuHardware {
|
||||
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -62,7 +61,7 @@ public class CubotInventory extends CpuHardware {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static CubotInventory deserialize(DBObject obj) {
|
||||
public static CubotInventory deserialize(Document obj) {
|
||||
return new CubotInventory((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotKeyboard extends CpuHardware {
|
||||
|
||||
@ -53,9 +52,9 @@ public class CubotKeyboard extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -63,7 +62,7 @@ public class CubotKeyboard extends CpuHardware {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static CubotKeyboard deserialize(DBObject obj) {
|
||||
public static CubotKeyboard deserialize(Document obj) {
|
||||
return new CubotKeyboard((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
@ -9,6 +7,7 @@ import net.simon987.server.game.Action;
|
||||
import net.simon987.server.game.Attackable;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.InventoryHolder;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
@ -93,9 +92,9 @@ public class CubotLaser extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -103,7 +102,7 @@ public class CubotLaser extends CpuHardware {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static CubotLaser deserialize(DBObject obj) {
|
||||
public static CubotLaser deserialize(Document obj) {
|
||||
return new CubotLaser((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,12 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import net.simon987.server.game.Action;
|
||||
import net.simon987.server.game.Direction;
|
||||
import net.simon987.server.io.JSONSerialisable;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class CubotLeg extends CpuHardware implements JSONSerialisable {
|
||||
@ -86,9 +85,9 @@ public class CubotLeg extends CpuHardware implements JSONSerialisable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -96,7 +95,7 @@ public class CubotLeg extends CpuHardware implements JSONSerialisable {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static CubotLeg deserialize(DBObject obj) {
|
||||
public static CubotLeg deserialize(Document obj) {
|
||||
return new CubotLeg((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Memory;
|
||||
@ -10,6 +8,7 @@ import net.simon987.server.game.pathfinding.Node;
|
||||
import net.simon987.server.game.pathfinding.Pathfinder;
|
||||
import net.simon987.server.io.JSONSerialisable;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -150,9 +149,9 @@ public class CubotLidar extends CpuHardware implements JSONSerialisable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -160,7 +159,7 @@ public class CubotLidar extends CpuHardware implements JSONSerialisable {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static CubotLidar deserialize(DBObject obj) {
|
||||
public static CubotLidar deserialize(Document obj) {
|
||||
return new CubotLidar((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.cubotplugin.event.ChargeShieldCommandListener;
|
||||
import net.simon987.cubotplugin.event.CpuInitialisationListener;
|
||||
import net.simon987.cubotplugin.event.UserCreationListener;
|
||||
@ -11,6 +10,7 @@ import net.simon987.server.io.CpuHardwareDeserializer;
|
||||
import net.simon987.server.io.GameObjectDeserializer;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import net.simon987.server.plugin.ServerPlugin;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotPlugin extends ServerPlugin implements GameObjectDeserializer, CpuHardwareDeserializer {
|
||||
|
||||
@ -25,7 +25,7 @@ public class CubotPlugin extends ServerPlugin implements GameObjectDeserializer,
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameObject deserializeObject(DBObject object) {
|
||||
public GameObject deserializeObject(Document object) {
|
||||
|
||||
int objType = (int) object.get("t");
|
||||
|
||||
@ -38,7 +38,7 @@ public class CubotPlugin extends ServerPlugin implements GameObjectDeserializer,
|
||||
}
|
||||
|
||||
@Override
|
||||
public CpuHardware deserializeHardware(DBObject obj) {
|
||||
public CpuHardware deserializeHardware(Document obj) {
|
||||
int hwid = (int) obj.get("hwid");
|
||||
|
||||
switch (hwid) {
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import org.bson.Document;
|
||||
|
||||
public class CubotShield extends CpuHardware {
|
||||
|
||||
@ -28,8 +27,8 @@ public class CubotShield extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -50,7 +49,7 @@ public class CubotShield extends CpuHardware {
|
||||
}
|
||||
}
|
||||
|
||||
public static CubotShield deserialize(DBObject obj) {
|
||||
public static CubotShield deserialize(Document obj) {
|
||||
return new CubotShield((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
@ -1,17 +1,16 @@
|
||||
package net.simon987.cubotplugin;
|
||||
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.assembly.Memory;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import org.bson.Document;
|
||||
|
||||
/**
|
||||
* Represents a floppy disk that is inside a floppy drive.
|
||||
* Floppies contains 80 tracks with 18 sectors per track.
|
||||
* That's 1440 sectors of 512 words. (total 1,474,560 bytes / 737,280 words / 1.44Mb)
|
||||
*/
|
||||
public class FloppyDisk implements MongoSerialisable {
|
||||
public class FloppyDisk implements MongoSerializable {
|
||||
|
||||
/**
|
||||
* Contents of the disk
|
||||
@ -84,8 +83,8 @@ public class FloppyDisk implements MongoSerialisable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("rwHeadTrack", rwHeadTrack);
|
||||
dbObject.put("memory", memory.mongoSerialise());
|
||||
@ -93,12 +92,12 @@ public class FloppyDisk implements MongoSerialisable {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static FloppyDisk deserialise(DBObject obj) {
|
||||
public static FloppyDisk deserialise(Document obj) {
|
||||
|
||||
FloppyDisk floppyDisk = new FloppyDisk();
|
||||
|
||||
floppyDisk.rwHeadTrack = (int) obj.get("rwHeadTrack");
|
||||
floppyDisk.memory = Memory.deserialize((DBObject) obj.get("memory"));
|
||||
floppyDisk.memory = Memory.deserialize((Document) obj.get("memory"));
|
||||
|
||||
return floppyDisk;
|
||||
}
|
||||
|
@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="Spring" name="Spring">
|
||||
<configuration />
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
@ -14,14 +19,14 @@
|
||||
<orderEntry type="module" module-name="Server" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-text:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:2.10.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.7.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sparkjava:spark-core:2.7.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.4.8.v20171121" level="project" />
|
||||
|
@ -1,10 +1,10 @@
|
||||
package net.simon987.mischwplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import net.simon987.server.assembly.Util;
|
||||
import org.bson.Document;
|
||||
|
||||
/**
|
||||
* Hardware to get game time
|
||||
@ -37,9 +37,9 @@ public class Clock extends CpuHardware {
|
||||
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
package net.simon987.mischwplugin;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.mischwplugin.event.CpuInitialisationListener;
|
||||
import net.simon987.server.ServerConfiguration;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.io.CpuHardwareDeserializer;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import net.simon987.server.plugin.ServerPlugin;
|
||||
import org.bson.Document;
|
||||
|
||||
/**
|
||||
* Plugin that adds miscellaneous hardware to the game
|
||||
@ -22,7 +22,7 @@ public class MiscHWPlugin extends ServerPlugin implements CpuHardwareDeserialize
|
||||
}
|
||||
|
||||
@Override
|
||||
public CpuHardware deserializeHardware(DBObject hwJson) {
|
||||
public CpuHardware deserializeHardware(Document hwJson) {
|
||||
int hwid = (int) hwJson.get("hwid");
|
||||
|
||||
switch (hwid) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
package net.simon987.mischwplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ -34,9 +34,9 @@ public class RandomNumberGenerator extends CpuHardware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="Spring" name="Spring">
|
||||
<configuration />
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
@ -17,14 +22,14 @@
|
||||
<orderEntry type="module" module-name="Server" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-text:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:2.10.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.7.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sparkjava:spark-core:2.7.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.4.8.v20171121" level="project" />
|
||||
|
@ -1,7 +1,5 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.Util;
|
||||
import net.simon987.server.game.Attackable;
|
||||
@ -9,6 +7,7 @@ import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.Rechargeable;
|
||||
import net.simon987.server.game.Updatable;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -150,8 +149,8 @@ public class ElectricBox extends GameObject implements Updatable, Attackable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("x", getX());
|
||||
@ -162,7 +161,7 @@ public class ElectricBox extends GameObject implements Updatable, Attackable {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static ElectricBox deserialize(DBObject obj) {
|
||||
public static ElectricBox deserialize(Document obj) {
|
||||
|
||||
ElectricBox electricBox = new ElectricBox();
|
||||
electricBox.setHp((int) obj.get("hp"));
|
||||
|
@ -1,15 +1,14 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBList;
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.Updatable;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Game objects that regularly creates NonPlayerCharacters
|
||||
@ -133,15 +132,15 @@ public class Factory extends GameObject implements Updatable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("x", getX());
|
||||
dbObject.put("y", getY());
|
||||
dbObject.put("t", ID);
|
||||
|
||||
BasicDBList tmpNpcArray = new BasicDBList();
|
||||
List<Long> tmpNpcArray = new ArrayList<>(npcs.size());
|
||||
|
||||
for (NonPlayerCharacter npc : npcs) {
|
||||
tmpNpcArray.add(npc.getObjectId());
|
||||
@ -152,14 +151,14 @@ public class Factory extends GameObject implements Updatable {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static Factory deserialise(DBObject obj) {
|
||||
public static Factory deserialise(Document obj) {
|
||||
|
||||
Factory factory = new Factory();
|
||||
factory.setObjectId((long) obj.get("i"));
|
||||
factory.setX((int) obj.get("x"));
|
||||
factory.setY((int) obj.get("y"));
|
||||
|
||||
factory.tmpNpcArray = ((BasicDBList) obj.get("tmpNpcArray")).toArray();
|
||||
factory.tmpNpcArray = ((ArrayList) obj.get("tmpNpcArray")).toArray();
|
||||
|
||||
return factory;
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.event.ObjectDeathEvent;
|
||||
import net.simon987.server.game.Direction;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
|
||||
@ -80,8 +79,8 @@ public class HarvesterNPC extends NonPlayerCharacter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("x", getX());
|
||||
@ -94,7 +93,7 @@ public class HarvesterNPC extends NonPlayerCharacter {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static HarvesterNPC deserialize(DBObject obj) {
|
||||
public static HarvesterNPC deserialize(Document obj) {
|
||||
|
||||
HarvesterNPC npc = new HarvesterNPC();
|
||||
npc.setObjectId((long) obj.get("i"));
|
||||
|
@ -1,6 +1,5 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.npcplugin.event.CpuInitialisationListener;
|
||||
import net.simon987.npcplugin.event.VaultWorldUpdateListener;
|
||||
import net.simon987.npcplugin.event.WorldCreationListener;
|
||||
@ -11,6 +10,7 @@ import net.simon987.server.io.CpuHardwareDeserializer;
|
||||
import net.simon987.server.io.GameObjectDeserializer;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import net.simon987.server.plugin.ServerPlugin;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ -34,7 +34,7 @@ public class NpcPlugin extends ServerPlugin implements GameObjectDeserializer, C
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameObject deserializeObject(DBObject obj) {
|
||||
public GameObject deserializeObject(Document obj) {
|
||||
|
||||
int objType = (int) obj.get("t");
|
||||
|
||||
@ -60,7 +60,7 @@ public class NpcPlugin extends ServerPlugin implements GameObjectDeserializer, C
|
||||
}
|
||||
|
||||
@Override
|
||||
public CpuHardware deserializeHardware(DBObject obj) {
|
||||
public CpuHardware deserializeHardware(Document obj) {
|
||||
int hwid = (int) obj.get("hwid");
|
||||
|
||||
switch (hwid) {
|
||||
|
@ -1,9 +1,8 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.game.Attackable;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
/**
|
||||
@ -89,8 +88,8 @@ public class Obstacle extends GameObject implements Attackable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("x", getX());
|
||||
@ -116,7 +115,7 @@ public class Obstacle extends GameObject implements Attackable {
|
||||
return json;
|
||||
}
|
||||
|
||||
public static Obstacle deserialize(DBObject obj) {
|
||||
public static Obstacle deserialize(Document obj) {
|
||||
|
||||
Obstacle obstacle = new Obstacle((int) obj.get("hp"));
|
||||
obstacle.setObjectId((long) obj.get("i"));
|
||||
|
@ -1,9 +1,8 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.game.*;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class Portal extends GameObject implements Enterable {
|
||||
@ -48,8 +47,8 @@ public class Portal extends GameObject implements Enterable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("x", getX());
|
||||
@ -64,7 +63,7 @@ public class Portal extends GameObject implements Enterable {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static Portal deserialize(DBObject obj) {
|
||||
public static Portal deserialize(Document obj) {
|
||||
|
||||
Portal portal = new Portal();
|
||||
|
||||
|
@ -1,13 +1,12 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import net.simon987.server.assembly.Status;
|
||||
import net.simon987.server.assembly.Util;
|
||||
import net.simon987.server.game.Action;
|
||||
import net.simon987.server.game.ControllableUnit;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ -67,9 +66,9 @@ public class RadioReceiverHardware extends CpuHardware {
|
||||
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("hwid", (int) HWID);
|
||||
dbObject.put("cubot", cubot.getObjectId());
|
||||
@ -77,7 +76,7 @@ public class RadioReceiverHardware extends CpuHardware {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static RadioReceiverHardware deserialize(DBObject obj) {
|
||||
public static RadioReceiverHardware deserialize(Document obj) {
|
||||
return new RadioReceiverHardware((ControllableUnit) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("cubot")));
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.Programmable;
|
||||
import net.simon987.server.game.Updatable;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -66,8 +65,8 @@ public class RadioTower extends GameObject implements Programmable, Updatable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("x", getX());
|
||||
@ -77,7 +76,7 @@ public class RadioTower extends GameObject implements Programmable, Updatable {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static RadioTower deserialize(DBObject obj) {
|
||||
public static RadioTower deserialize(Document obj) {
|
||||
|
||||
RadioTower tower = new RadioTower();
|
||||
tower.setObjectId((long) obj.get("i"));
|
||||
|
@ -1,11 +1,10 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.crypto.RandomStringGenerator;
|
||||
import net.simon987.server.game.*;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.util.Arrays;
|
||||
@ -124,8 +123,8 @@ public class VaultDoor extends GameObject implements Programmable, Enterable, Up
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("x", getX());
|
||||
@ -152,7 +151,7 @@ public class VaultDoor extends GameObject implements Programmable, Enterable, Up
|
||||
return json;
|
||||
}
|
||||
|
||||
public static VaultDoor deserialize(DBObject obj) {
|
||||
public static VaultDoor deserialize(Document obj) {
|
||||
|
||||
VaultDoor vaultDoor = new VaultDoor(0); //cypherId ?
|
||||
vaultDoor.setX((int) obj.get("x"));
|
||||
@ -160,7 +159,7 @@ public class VaultDoor extends GameObject implements Programmable, Enterable, Up
|
||||
vaultDoor.setObjectId((long) obj.get("i"));
|
||||
|
||||
|
||||
if (obj.containsField("homeX") && obj.containsField("homeY")) {
|
||||
if (obj.containsKey("homeX") && obj.containsKey("homeY")) {
|
||||
vaultDoor.setHomeX((int) obj.get("homeX"));
|
||||
vaultDoor.setHomeY((int) obj.get("homeY"));
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.game.ControllableUnit;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.Location;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.Document;
|
||||
|
||||
/**
|
||||
* Final exit portal located in the 'last' World of a Vault dimension
|
||||
@ -15,8 +14,8 @@ public class VaultExitPortal extends Portal {
|
||||
public static final int ID = 9;
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("i", getObjectId());
|
||||
dbObject.put("x", getX());
|
||||
@ -44,7 +43,7 @@ public class VaultExitPortal extends Portal {
|
||||
return super.enter(object);
|
||||
}
|
||||
|
||||
public static Portal deserialize(DBObject obj) {
|
||||
public static Portal deserialize(Document obj) {
|
||||
|
||||
VaultExitPortal portal = new VaultExitPortal();
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="Spring" name="Spring">
|
||||
<configuration />
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
@ -17,14 +22,14 @@
|
||||
<orderEntry type="module" module-name="Server" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-text:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:2.10.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.7.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sparkjava:spark-core:2.7.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.4.8.v20171121" level="project" />
|
||||
|
@ -1,9 +1,8 @@
|
||||
package net.simon987.biomassplugin;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.InventoryHolder;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class BiomassBlob extends GameObject implements InventoryHolder {
|
||||
@ -43,9 +42,9 @@ public class BiomassBlob extends GameObject implements InventoryHolder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("t", ID);
|
||||
dbObject.put("i", getObjectId());
|
||||
@ -65,15 +64,8 @@ public class BiomassBlob extends GameObject implements InventoryHolder {
|
||||
this.biomassCount = biomassCount;
|
||||
}
|
||||
|
||||
// public int getStyle() {
|
||||
// return style;
|
||||
// }
|
||||
//
|
||||
// public void setStyle(int style) {
|
||||
// this.style = style;
|
||||
// }
|
||||
|
||||
public static BiomassBlob deserialize(DBObject obj) {
|
||||
public static BiomassBlob deserialize(Document obj) {
|
||||
|
||||
BiomassBlob biomassBlob = new BiomassBlob();
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package net.simon987.biomassplugin;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.biomassplugin.event.ObjectDeathListener;
|
||||
import net.simon987.biomassplugin.event.WorldCreationListener;
|
||||
import net.simon987.biomassplugin.event.WorldUpdateListener;
|
||||
@ -9,6 +8,8 @@ import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.io.GameObjectDeserializer;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import net.simon987.server.plugin.ServerPlugin;
|
||||
import org.bson.Document;
|
||||
|
||||
|
||||
public class BiomassPlugin extends ServerPlugin implements GameObjectDeserializer {
|
||||
|
||||
@ -23,7 +24,7 @@ public class BiomassPlugin extends ServerPlugin implements GameObjectDeserialize
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameObject deserializeObject(DBObject object) {
|
||||
public GameObject deserializeObject(Document object) {
|
||||
|
||||
int objType = (int) object.get("t");
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
package net.simon987.pluginradioactivecloud;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.ServerConfiguration;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.io.GameObjectDeserializer;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import net.simon987.server.plugin.ServerPlugin;
|
||||
import org.bson.Document;
|
||||
|
||||
public class RadioactiveCloudPlugin extends ServerPlugin implements GameObjectDeserializer {
|
||||
|
||||
@ -16,7 +16,7 @@ public class RadioactiveCloudPlugin extends ServerPlugin implements GameObjectDe
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameObject deserializeObject(DBObject object) {
|
||||
public GameObject deserializeObject(Document object) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="Spring" name="Spring">
|
||||
<configuration />
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
@ -16,14 +21,14 @@
|
||||
<orderEntry type="library" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-text:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:2.10.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.4.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.7.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.0.5.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sparkjava:spark-core:2.7.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.13" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.4.8.v20171121" level="project" />
|
||||
|
@ -107,12 +107,12 @@
|
||||
<dependency>
|
||||
<groupId>org.mongodb</groupId>
|
||||
<artifactId>mongo-java-driver</artifactId>
|
||||
<version>2.10.1</version>
|
||||
<version>3.7.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-core</artifactId>
|
||||
<version>5.0.4.RELEASE</version>
|
||||
<version>5.0.5.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sparkjava</groupId>
|
||||
|
@ -1,7 +1,11 @@
|
||||
package net.simon987.server;
|
||||
|
||||
|
||||
import com.mongodb.*;
|
||||
import com.mongodb.MongoClient;
|
||||
import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.MongoCursor;
|
||||
import com.mongodb.client.MongoDatabase;
|
||||
import com.mongodb.client.model.UpdateOptions;
|
||||
import net.simon987.server.crypto.CryptoProvider;
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.event.GameEventDispatcher;
|
||||
@ -16,9 +20,9 @@ import net.simon987.server.user.User;
|
||||
import net.simon987.server.user.UserManager;
|
||||
import net.simon987.server.user.UserStatsHelper;
|
||||
import net.simon987.server.websocket.SocketServer;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class GameServer implements Runnable {
|
||||
@ -49,17 +53,13 @@ public class GameServer implements Runnable {
|
||||
|
||||
this.config = new ServerConfiguration("config.properties");
|
||||
|
||||
try{
|
||||
mongo = new MongoClient(config.getString("mongo_address"), config.getInt("mongo_port"));
|
||||
DB db = mongo.getDB(config.getString("mongo_dbname"));
|
||||
MongoDatabase db = mongo.getDatabase(config.getString("mongo_dbname"));
|
||||
|
||||
DBCollection userCollection = db.getCollection("user");
|
||||
MongoCollection<Document> userCollection = db.getCollection("user");
|
||||
|
||||
userManager = new UserManager(userCollection);
|
||||
userStatsHelper = new UserStatsHelper(userCollection);
|
||||
} catch (UnknownHostException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
gameUniverse = new GameUniverse(config);
|
||||
gameUniverse.setMongo(mongo);
|
||||
@ -201,14 +201,14 @@ public class GameServer implements Runnable {
|
||||
|
||||
LogManager.LOGGER.info("Loading all data from MongoDB");
|
||||
|
||||
DB db = mongo.getDB(config.getString("mongo_dbname"));
|
||||
MongoDatabase db = mongo.getDatabase(config.getString("mongo_dbname"));
|
||||
|
||||
DBCollection worlds = db.getCollection("world");
|
||||
DBCollection server = db.getCollection("server");
|
||||
MongoCollection<Document> worlds = db.getCollection("world");
|
||||
MongoCollection<Document> server = db.getCollection("server");
|
||||
|
||||
BasicDBObject whereQuery = new BasicDBObject();
|
||||
Document whereQuery = new Document();
|
||||
whereQuery.put("shouldUpdate", true);
|
||||
DBCursor cursor = worlds.find(whereQuery);
|
||||
MongoCursor<Document> cursor = worlds.find(whereQuery).iterator();
|
||||
GameUniverse universe = GameServer.INSTANCE.getGameUniverse();
|
||||
while (cursor.hasNext()) {
|
||||
World w = World.deserialize(cursor.next());
|
||||
@ -222,9 +222,9 @@ public class GameServer implements Runnable {
|
||||
}
|
||||
|
||||
//Load misc server info
|
||||
cursor = server.find();
|
||||
cursor = server.find().iterator();
|
||||
if (cursor.hasNext()) {
|
||||
DBObject serverObj = cursor.next();
|
||||
Document serverObj = cursor.next();
|
||||
gameUniverse.setTime((long) serverObj.get("time"));
|
||||
gameUniverse.setNextObjectId((long) serverObj.get("nextObjectId"));
|
||||
}
|
||||
@ -237,19 +237,21 @@ public class GameServer implements Runnable {
|
||||
|
||||
LogManager.LOGGER.info("Saving to MongoDB | W:" + gameUniverse.getWorldCount() + " | U:" + gameUniverse.getUserCount());
|
||||
try{
|
||||
DB db = mongo.getDB(config.getString("mongo_dbname"));
|
||||
MongoDatabase db = mongo.getDatabase(config.getString("mongo_dbname"));
|
||||
UpdateOptions updateOptions = new UpdateOptions();
|
||||
updateOptions.upsert(true);
|
||||
|
||||
int unloaded_worlds = 0;
|
||||
|
||||
DBCollection worlds = db.getCollection("world");
|
||||
DBCollection users = db.getCollection("user");
|
||||
DBCollection server = db.getCollection("server");
|
||||
MongoCollection<Document> worlds = db.getCollection("world");
|
||||
MongoCollection<Document> users = db.getCollection("user");
|
||||
MongoCollection<Document> server = db.getCollection("server");
|
||||
|
||||
int insertedWorlds = 0;
|
||||
GameUniverse universe = GameServer.INSTANCE.getGameUniverse();
|
||||
for (World w : universe.getWorlds()) {
|
||||
insertedWorlds++;
|
||||
worlds.save(w.mongoSerialise());
|
||||
worlds.replaceOne(new Document("_id", w.getId()), w.mongoSerialise(), updateOptions);
|
||||
|
||||
//If the world should unload, it is removed from the Universe after having been saved.
|
||||
if (w.shouldUnload()){
|
||||
@ -258,18 +260,18 @@ public class GameServer implements Runnable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (User u : GameServer.INSTANCE.getGameUniverse().getUsers()) {
|
||||
|
||||
if (!u.isGuest()) {
|
||||
users.save(u.mongoSerialise());
|
||||
users.replaceOne(new Document("_id", u.getUsername()), u.mongoSerialise(), updateOptions);
|
||||
}
|
||||
}
|
||||
|
||||
BasicDBObject serverObj = new BasicDBObject();
|
||||
serverObj.put("_id", "serverinfo"); //A constant id ensures only one entry is kept and updated, instead of a new entry created every save.
|
||||
Document serverObj = new Document();
|
||||
serverObj.put("time", gameUniverse.getTime());
|
||||
serverObj.put("nextObjectId", gameUniverse.getNextObjectId());
|
||||
server.save(serverObj);
|
||||
//A constant id ensures only one entry is kept and updated, instead of a new entry created every save.
|
||||
server.replaceOne(new Document("_id", "serverinfo"), serverObj, updateOptions);
|
||||
|
||||
LogManager.LOGGER.info("" + insertedWorlds + " worlds saved, " + unloaded_worlds + " unloaded");
|
||||
} catch (Exception e) {
|
||||
|
@ -3,7 +3,6 @@ package net.simon987.server;
|
||||
|
||||
import net.simon987.server.logging.LogManager;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
@ -1,26 +1,26 @@
|
||||
package net.simon987.server.assembly;
|
||||
|
||||
import com.mongodb.BasicDBList;
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.ServerConfiguration;
|
||||
import net.simon987.server.assembly.exception.CancelledException;
|
||||
import net.simon987.server.assembly.instruction.*;
|
||||
import net.simon987.server.event.CpuInitialisationEvent;
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import net.simon987.server.user.User;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* CPU: Central Processing Unit. A CPU is capable of reading bytes from
|
||||
* a Memory object and execute them. A CPU object holds registers objects and
|
||||
* a Memory object.
|
||||
*/
|
||||
public class CPU implements MongoSerialisable {
|
||||
public class CPU implements MongoSerializable {
|
||||
|
||||
/**
|
||||
*
|
||||
@ -347,21 +347,21 @@ public class CPU implements MongoSerialisable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("memory", memory.mongoSerialise());
|
||||
|
||||
dbObject.put("registerSet", registerSet.mongoSerialise());
|
||||
dbObject.put("codeSegmentOffset", codeSectionOffset);
|
||||
|
||||
BasicDBList hardwareList = new BasicDBList();
|
||||
List<Document> hardwareList = new ArrayList<>();
|
||||
|
||||
for (Integer address : attachedHardware.keySet()) {
|
||||
|
||||
CpuHardware hardware = attachedHardware.get(address);
|
||||
|
||||
BasicDBObject serialisedHw = hardware.mongoSerialise();
|
||||
Document serialisedHw = hardware.mongoSerialise();
|
||||
serialisedHw.put("address", address);
|
||||
hardwareList.add(serialisedHw);
|
||||
}
|
||||
@ -372,22 +372,22 @@ public class CPU implements MongoSerialisable {
|
||||
|
||||
}
|
||||
|
||||
public static CPU deserialize(DBObject obj, User user) throws CancelledException {
|
||||
public static CPU deserialize(Document obj, User user) throws CancelledException {
|
||||
|
||||
CPU cpu = new CPU(GameServer.INSTANCE.getConfig(), user);
|
||||
|
||||
cpu.codeSectionOffset = (int) obj.get("codeSegmentOffset");
|
||||
|
||||
BasicDBList hardwareList = (BasicDBList) obj.get("hardware");
|
||||
ArrayList hardwareList = (ArrayList) obj.get("hardware");
|
||||
|
||||
for (Object serialisedHw : hardwareList) {
|
||||
CpuHardware hardware = CpuHardware.deserialize((DBObject) serialisedHw);
|
||||
CpuHardware hardware = CpuHardware.deserialize((Document) serialisedHw);
|
||||
hardware.setCpu(cpu);
|
||||
cpu.attachHardware(hardware, (int) ((BasicDBObject) serialisedHw).get("address"));
|
||||
cpu.attachHardware(hardware, (int) ((Document) serialisedHw).get("address"));
|
||||
}
|
||||
|
||||
cpu.memory = Memory.deserialize((DBObject) obj.get("memory"));
|
||||
cpu.registerSet = RegisterSet.deserialize((DBObject) obj.get("registerSet"));
|
||||
cpu.memory = Memory.deserialize((Document) obj.get("memory"));
|
||||
cpu.registerSet = RegisterSet.deserialize((Document) obj.get("registerSet"));
|
||||
|
||||
return cpu;
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
package net.simon987.server.assembly;
|
||||
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.io.CpuHardwareDeserializer;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import net.simon987.server.plugin.ServerPlugin;
|
||||
import org.bson.Document;
|
||||
|
||||
public abstract class CpuHardware implements MongoSerialisable {
|
||||
public abstract class CpuHardware implements MongoSerializable {
|
||||
|
||||
CPU cpu;
|
||||
|
||||
@ -26,7 +26,7 @@ public abstract class CpuHardware implements MongoSerialisable {
|
||||
|
||||
public abstract char getId();
|
||||
|
||||
public static CpuHardware deserialize(DBObject obj) {
|
||||
public static CpuHardware deserialize(Document obj) {
|
||||
|
||||
for (ServerPlugin plugin : GameServer.INSTANCE.getPluginManager().getPlugins()) {
|
||||
|
||||
|
@ -1,11 +1,10 @@
|
||||
package net.simon987.server.assembly;
|
||||
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
@ -22,7 +21,7 @@ import java.util.zip.InflaterOutputStream;
|
||||
/**
|
||||
* Represents the available memory for a CPU in the game universe
|
||||
*/
|
||||
public class Memory implements Target, MongoSerialisable {
|
||||
public class Memory implements Target, MongoSerializable {
|
||||
|
||||
|
||||
/**
|
||||
@ -133,9 +132,9 @@ public class Memory implements Target, MongoSerialisable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
try {
|
||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||
@ -154,7 +153,7 @@ public class Memory implements Target, MongoSerialisable {
|
||||
return dbObject;
|
||||
}
|
||||
|
||||
public static Memory deserialize(DBObject obj) {
|
||||
public static Memory deserialize(Document obj) {
|
||||
|
||||
Memory memory = new Memory(0);
|
||||
|
||||
|
@ -1,21 +1,20 @@
|
||||
package net.simon987.server.assembly;
|
||||
|
||||
|
||||
import com.mongodb.BasicDBList;
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A set of registers for a CPU
|
||||
*/
|
||||
public class RegisterSet implements Target, MongoSerialisable {
|
||||
public class RegisterSet implements Target, MongoSerializable {
|
||||
|
||||
/**
|
||||
* List of registers
|
||||
@ -145,10 +144,10 @@ public class RegisterSet implements Target, MongoSerialisable {
|
||||
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
BasicDBList registers = new BasicDBList();
|
||||
public Document mongoSerialise() {
|
||||
List<Document> registers = new ArrayList<>();
|
||||
for (Integer index : this.registers.keySet()) {
|
||||
JSONObject register = new JSONObject();
|
||||
Document register = new Document();
|
||||
|
||||
register.put("index", index);
|
||||
register.put("name", getRegister(index).getName());
|
||||
@ -157,24 +156,24 @@ public class RegisterSet implements Target, MongoSerialisable {
|
||||
registers.add(register);
|
||||
}
|
||||
|
||||
BasicDBObject obj = new BasicDBObject();
|
||||
Document obj = new Document();
|
||||
obj.put("registers", registers);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
public static RegisterSet deserialize(DBObject obj) {
|
||||
public static RegisterSet deserialize(Document obj) {
|
||||
|
||||
RegisterSet registerSet = new RegisterSet();
|
||||
|
||||
BasicDBList registers = (BasicDBList) obj.get("registers");
|
||||
List registers = (ArrayList) obj.get("registers");
|
||||
|
||||
for (Object sRegister : registers) {
|
||||
|
||||
Register register = new Register((String) ((DBObject) sRegister).get("name"));
|
||||
register.setValue((int) ((DBObject) sRegister).get("value"));
|
||||
Register register = new Register((String) ((Document) sRegister).get("name"));
|
||||
register.setValue((int) ((Document) sRegister).get("value"));
|
||||
|
||||
registerSet.registers.put((int) ((DBObject) sRegister).get("index"), register);
|
||||
registerSet.registers.put((int) ((Document) sRegister).get("index"), register);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
package net.simon987.server.game;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.io.GameObjectDeserializer;
|
||||
import net.simon987.server.io.JSONSerialisable;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import net.simon987.server.plugin.ServerPlugin;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.awt.*;
|
||||
@ -15,7 +15,7 @@ import java.util.ArrayList;
|
||||
* An INSTANCE of an object (e.g. a Tree, a character ...) inside the
|
||||
* game universe
|
||||
*/
|
||||
public abstract class GameObject implements JSONSerialisable, MongoSerialisable {
|
||||
public abstract class GameObject implements JSONSerialisable, MongoSerializable {
|
||||
|
||||
private boolean dead;
|
||||
/**
|
||||
@ -223,8 +223,8 @@ public abstract class GameObject implements JSONSerialisable, MongoSerialisable
|
||||
return new JSONObject();
|
||||
}
|
||||
|
||||
public static GameObject deserialize(DBObject obj) {
|
||||
//
|
||||
public static GameObject deserialize(Document obj) {
|
||||
|
||||
for (ServerPlugin plugin : GameServer.INSTANCE.getPluginManager().getPlugins()) {
|
||||
|
||||
if (plugin instanceof GameObjectDeserializer) {
|
||||
|
@ -1,6 +1,9 @@
|
||||
package net.simon987.server.game;
|
||||
|
||||
import com.mongodb.*;
|
||||
import com.mongodb.MongoClient;
|
||||
import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.MongoCursor;
|
||||
import com.mongodb.client.MongoDatabase;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.ServerConfiguration;
|
||||
import net.simon987.server.assembly.Assembler;
|
||||
@ -9,6 +12,7 @@ import net.simon987.server.assembly.CPU;
|
||||
import net.simon987.server.assembly.exception.CancelledException;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import net.simon987.server.user.User;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@ -56,12 +60,12 @@ public class GameUniverse {
|
||||
*/
|
||||
private World loadWorld(int x, int y, String dimension) {
|
||||
|
||||
DB db = mongo.getDB(GameServer.INSTANCE.getConfig().getString("mongo_dbname"));
|
||||
DBCollection worlds = db.getCollection("world");
|
||||
MongoDatabase db = mongo.getDatabase(GameServer.INSTANCE.getConfig().getString("mongo_dbname"));
|
||||
MongoCollection<Document> worlds = db.getCollection("world");
|
||||
|
||||
BasicDBObject whereQuery = new BasicDBObject();
|
||||
Document whereQuery = new Document();
|
||||
whereQuery.put("_id", World.idFromCoordinates(x, y, dimension));
|
||||
DBCursor cursor = worlds.find(whereQuery);
|
||||
MongoCursor<Document> cursor = worlds.find(whereQuery).iterator();
|
||||
if (cursor.hasNext()) {
|
||||
return World.deserialize(cursor.next());
|
||||
}
|
||||
|
@ -1,16 +1,15 @@
|
||||
package net.simon987.server.game;
|
||||
|
||||
|
||||
import com.mongodb.BasicDBList;
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.io.JSONSerialisable;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import org.bson.Document;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.awt.*;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Base64;
|
||||
import java.util.Random;
|
||||
import java.util.zip.Deflater;
|
||||
@ -19,7 +18,7 @@ import java.util.zip.DeflaterOutputStream;
|
||||
/**
|
||||
* A 2D map of Tile objects of size width*height
|
||||
*/
|
||||
public class TileMap implements JSONSerialisable, MongoSerialisable {
|
||||
public class TileMap implements JSONSerialisable, MongoSerializable {
|
||||
|
||||
public static final int VOID = -1;
|
||||
public static final int PLAIN_TILE = 0;
|
||||
@ -141,25 +140,34 @@ public class TileMap implements JSONSerialisable, MongoSerialisable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("tiles", tiles);
|
||||
//Flatten multi-dimensional array
|
||||
ArrayList<Integer> bsonTiles = new ArrayList<>();
|
||||
|
||||
for (int x = 0; x < this.width; x++) {
|
||||
for (int y = 0; y < this.height; y++) {
|
||||
bsonTiles.add(tiles[x][y]);
|
||||
}
|
||||
}
|
||||
|
||||
dbObject.put("tiles", bsonTiles);
|
||||
|
||||
return dbObject;
|
||||
|
||||
}
|
||||
|
||||
public static TileMap deserialize(DBObject object, int size) {
|
||||
public static TileMap deserialize(Document object, int size) {
|
||||
|
||||
BasicDBList terrain = (BasicDBList) object.get("tiles");
|
||||
ArrayList<Integer> terrain = (ArrayList<Integer>) object.get("tiles");
|
||||
|
||||
int[][] tiles = new int[size][size];
|
||||
|
||||
for (int x = 0; x < size; x++) {
|
||||
for (int y = 0; y < size; y++) {
|
||||
tiles[x][y] = (int) ((BasicDBList) terrain.get(x)).get(y);
|
||||
tiles[x][y] = terrain.get(x * size + y);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,21 +1,20 @@
|
||||
package net.simon987.server.game;
|
||||
|
||||
import com.mongodb.BasicDBList;
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.event.WorldUpdateEvent;
|
||||
import net.simon987.server.game.pathfinding.Pathfinder;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class World implements MongoSerialisable {
|
||||
public class World implements MongoSerializable {
|
||||
|
||||
/**
|
||||
* Size of the side of this world
|
||||
@ -171,17 +170,15 @@ public class World implements MongoSerialisable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
BasicDBList objects = new BasicDBList();
|
||||
List<Document> objects = new ArrayList<>();
|
||||
for (GameObject obj : gameObjects.values()) {
|
||||
objects.add(obj.mongoSerialise());
|
||||
}
|
||||
|
||||
|
||||
dbObject.put("_id", getId());
|
||||
dbObject.put("dimension", getDimension());
|
||||
|
||||
dbObject.put("objects", objects);
|
||||
@ -214,7 +211,7 @@ public class World implements MongoSerialisable {
|
||||
|
||||
}
|
||||
|
||||
public static World deserialize(DBObject dbObject) {
|
||||
public static World deserialize(Document dbObject) {
|
||||
|
||||
World world = new World((int) dbObject.get("size"));
|
||||
world.x = (int) dbObject.get("x");
|
||||
@ -222,13 +219,13 @@ public class World implements MongoSerialisable {
|
||||
world.dimension = (String) dbObject.get("dimension");
|
||||
world.updatable = (int) dbObject.get("updatable");
|
||||
|
||||
world.tileMap = TileMap.deserialize((BasicDBObject) dbObject.get("terrain"), world.getWorldSize());
|
||||
world.tileMap = TileMap.deserialize((Document) dbObject.get("terrain"), world.getWorldSize());
|
||||
|
||||
BasicDBList objects = (BasicDBList) dbObject.get("objects");
|
||||
ArrayList<Document> objects = (ArrayList<Document>) dbObject.get("objects");
|
||||
|
||||
for (Object obj : objects) {
|
||||
|
||||
GameObject object = GameObject.deserialize((DBObject) obj);
|
||||
GameObject object = GameObject.deserialize((Document) obj);
|
||||
|
||||
object.setWorld(world);
|
||||
world.addObject(object);
|
||||
|
@ -1,13 +1,12 @@
|
||||
package net.simon987.server.game.debug;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import com.mongodb.util.JSON;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.event.DebugCommandEvent;
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.event.GameEventListener;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import net.simon987.server.game.World;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@ -28,7 +27,7 @@ public class SpawnObjCommandListener implements GameEventListener {
|
||||
World world = GameServer.INSTANCE.getGameUniverse().getWorld(e.getInt("worldX"), e.getInt("worldY"),
|
||||
false, e.getString("dimension"));
|
||||
|
||||
DBObject dbObj = (DBObject) JSON.parse(e.getString("data"));
|
||||
Document dbObj = Document.parse(e.getString("data"));
|
||||
dbObj.put("i", GameServer.INSTANCE.getGameUniverse().getNextObjectId());
|
||||
|
||||
GameObject object = GameObject.deserialize(dbObj);
|
||||
|
@ -1,10 +1,10 @@
|
||||
package net.simon987.server.io;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.assembly.CpuHardware;
|
||||
import org.bson.Document;
|
||||
|
||||
public interface CpuHardwareDeserializer {
|
||||
|
||||
|
||||
CpuHardware deserializeHardware(DBObject hwJson);
|
||||
CpuHardware deserializeHardware(Document hwJson);
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
package net.simon987.server.io;
|
||||
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.game.GameObject;
|
||||
import org.bson.Document;
|
||||
|
||||
public interface GameObjectDeserializer {
|
||||
|
||||
GameObject deserializeObject(DBObject object);
|
||||
GameObject deserializeObject(Document object);
|
||||
|
||||
}
|
||||
|
@ -1,9 +0,0 @@
|
||||
package net.simon987.server.io;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
|
||||
public interface MongoSerialisable {
|
||||
|
||||
BasicDBObject mongoSerialise();
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package net.simon987.server.io;
|
||||
|
||||
import org.bson.Document;
|
||||
|
||||
public interface MongoSerializable {
|
||||
|
||||
Document mongoSerialise();
|
||||
|
||||
}
|
@ -1,19 +1,18 @@
|
||||
package net.simon987.server.user;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.CPU;
|
||||
import net.simon987.server.assembly.exception.CancelledException;
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.event.UserCreationEvent;
|
||||
import net.simon987.server.game.ControllableUnit;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import org.bson.Document;
|
||||
|
||||
/**
|
||||
* Represents a User (or player) of the game
|
||||
*/
|
||||
public class User implements MongoSerialisable {
|
||||
public class User implements MongoSerializable {
|
||||
|
||||
private String username;
|
||||
|
||||
@ -45,9 +44,9 @@ public class User implements MongoSerialisable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
BasicDBObject dbObject = new BasicDBObject();
|
||||
Document dbObject = new Document();
|
||||
|
||||
dbObject.put("_id", username); // a constant id ensures only one entry per user is kept and updated, instead of a new entry created every save for every user.
|
||||
dbObject.put("username", username);
|
||||
@ -62,18 +61,18 @@ public class User implements MongoSerialisable {
|
||||
|
||||
}
|
||||
|
||||
public static User deserialize(DBObject obj) throws CancelledException {
|
||||
public static User deserialize(Document obj) throws CancelledException {
|
||||
|
||||
User user = new User((ControllableUnit) GameServer.INSTANCE.getGameUniverse().getObject((long) obj.get("controlledUnit")));
|
||||
user.username = (String) obj.get("username");
|
||||
user.userCode = (String) obj.get("code");
|
||||
user.password = (String) obj.get("password");
|
||||
user.moderator = (boolean) obj.get("moderator");
|
||||
user.stats = new UserStats((BasicDBObject) obj.get("stats"));
|
||||
user.stats = new UserStats((Document) obj.get("stats"));
|
||||
|
||||
user.getControlledUnit().setParent(user);
|
||||
|
||||
user.cpu = CPU.deserialize((DBObject) obj.get("cpu"), user);
|
||||
user.cpu = CPU.deserialize((Document) obj.get("cpu"), user);
|
||||
|
||||
return user;
|
||||
}
|
||||
|
@ -1,22 +1,21 @@
|
||||
package net.simon987.server.user;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBCollection;
|
||||
import com.mongodb.DBCursor;
|
||||
import com.mongodb.DBObject;
|
||||
import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.MongoCursor;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.assembly.exception.CancelledException;
|
||||
import net.simon987.server.crypto.RandomStringGenerator;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.Document;
|
||||
import org.springframework.security.crypto.bcrypt.BCrypt;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class UserManager {
|
||||
|
||||
private DBCollection userCollection;
|
||||
private MongoCollection<Document> userCollection;
|
||||
|
||||
public UserManager(DBCollection userCollection) {
|
||||
public UserManager(MongoCollection<Document> userCollection) {
|
||||
|
||||
this.userCollection = userCollection;
|
||||
}
|
||||
@ -30,7 +29,7 @@ public class UserManager {
|
||||
|
||||
ArrayList<User> userList = new ArrayList<>();
|
||||
|
||||
DBCursor cursor = userCollection.find();
|
||||
MongoCursor<Document> cursor = userCollection.find().iterator();
|
||||
while (cursor.hasNext()) {
|
||||
try {
|
||||
userList.add(User.deserialize(cursor.next()));
|
||||
@ -58,10 +57,10 @@ public class UserManager {
|
||||
}
|
||||
|
||||
//Check if exists
|
||||
DBObject where = new BasicDBObject();
|
||||
Document where = new Document();
|
||||
where.put("_id", username);
|
||||
|
||||
if (userCollection.findOne(where) != null) {
|
||||
if (userCollection.find(where).first() != null) {
|
||||
throw new RegistrationException("Username is already in use");
|
||||
}
|
||||
|
||||
@ -73,9 +72,9 @@ public class UserManager {
|
||||
String hashedPassword = BCrypt.hashpw(password, salt);
|
||||
user.setPassword(hashedPassword);
|
||||
|
||||
DBObject dbUser = user.mongoSerialise();
|
||||
Document dbUser = user.mongoSerialise();
|
||||
|
||||
userCollection.save(dbUser);
|
||||
userCollection.insertOne(dbUser);
|
||||
} catch (Exception e) {
|
||||
throw new RegistrationException("An exception occurred while trying to create user: " + e.getMessage());
|
||||
}
|
||||
@ -89,10 +88,10 @@ public class UserManager {
|
||||
*/
|
||||
public boolean validateUser(String username, String password) {
|
||||
|
||||
DBObject where = new BasicDBObject();
|
||||
Document where = new Document();
|
||||
where.put("_id", username);
|
||||
|
||||
DBObject user = userCollection.findOne(where);
|
||||
Document user = userCollection.find(where).first();
|
||||
return user != null && BCrypt.checkpw(password, (String) user.get("password"));
|
||||
}
|
||||
|
||||
@ -114,7 +113,7 @@ public class UserManager {
|
||||
String hashedPassword = BCrypt.hashpw(newPassword, salt);
|
||||
user.setPassword(hashedPassword);
|
||||
|
||||
userCollection.save(user.mongoSerialise()); //Save new password immediately
|
||||
userCollection.replaceOne(new Document("_id", username), user.mongoSerialise()); //Save new password immediately
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,28 +1,29 @@
|
||||
package net.simon987.server.user;
|
||||
|
||||
import com.mongodb.BasicDBList;
|
||||
import com.mongodb.BasicDBObject;
|
||||
import net.simon987.server.io.MongoSerialisable;
|
||||
import net.simon987.server.io.MongoSerializable;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.Document;
|
||||
|
||||
public class UserStats implements MongoSerialisable {
|
||||
import java.util.ArrayList;
|
||||
|
||||
private BasicDBObject stats;
|
||||
public class UserStats implements MongoSerializable {
|
||||
|
||||
private Document stats;
|
||||
|
||||
UserStats() {
|
||||
this.stats = new BasicDBObject();
|
||||
this.stats = new Document();
|
||||
}
|
||||
|
||||
UserStats(BasicDBObject stats) {
|
||||
UserStats(Document stats) {
|
||||
if (stats != null) {
|
||||
this.stats = stats;
|
||||
} else {
|
||||
this.stats = new BasicDBObject();
|
||||
this.stats = new Document();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasicDBObject mongoSerialise() {
|
||||
public Document mongoSerialise() {
|
||||
|
||||
return stats;
|
||||
}
|
||||
@ -36,7 +37,7 @@ public class UserStats implements MongoSerialisable {
|
||||
public void incrementStat(String name, int count) {
|
||||
|
||||
stats.putIfAbsent(name, 0);
|
||||
stats.put(name, stats.getInt(name) + count);
|
||||
stats.put(name, stats.getInteger(name) + count);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -57,8 +58,7 @@ public class UserStats implements MongoSerialisable {
|
||||
* @return The value of the stat. Returns 0 if not found
|
||||
*/
|
||||
public int getInt(String name) {
|
||||
|
||||
return stats.getInt(name, 0);
|
||||
return stats.getInteger(name, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -69,10 +69,10 @@ public class UserStats implements MongoSerialisable {
|
||||
*/
|
||||
public void addToStringSet(String name, String value) {
|
||||
|
||||
stats.putIfAbsent(name, new BasicDBList());
|
||||
stats.putIfAbsent(name, new ArrayList<>());
|
||||
|
||||
try {
|
||||
((BasicDBList) stats.get(name)).add(value);
|
||||
((ArrayList<String>) stats.get(name)).add(value);
|
||||
} catch (ClassCastException e) {
|
||||
LogManager.LOGGER.severe("UserStats: cannot add to list because stat already exists and is not a list");
|
||||
}
|
||||
@ -87,16 +87,16 @@ public class UserStats implements MongoSerialisable {
|
||||
*/
|
||||
public boolean removeFromSet(String name, String value) {
|
||||
|
||||
if (stats.putIfAbsent(name, new BasicDBList()) != null) {
|
||||
return ((BasicDBList) stats.get(name)).remove(value);
|
||||
if (stats.putIfAbsent(name, new ArrayList()) != null) {
|
||||
return ((ArrayList) stats.get(name)).remove(value);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public BasicDBList getSet(String name) {
|
||||
stats.putIfAbsent(name, new BasicDBList());
|
||||
public ArrayList getSet(String name) {
|
||||
stats.putIfAbsent(name, new ArrayList());
|
||||
|
||||
return (BasicDBList) stats.get(name);
|
||||
return (ArrayList) stats.get(name);
|
||||
}
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
package net.simon987.server.user;
|
||||
|
||||
import com.mongodb.*;
|
||||
import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.MongoCursor;
|
||||
import net.simon987.server.GameServer;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.AbstractMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Retrieve user stats in a structured fashion
|
||||
@ -15,12 +15,12 @@ public class UserStatsHelper {
|
||||
/**
|
||||
* Database collection of users
|
||||
*/
|
||||
private DBCollection users;
|
||||
private MongoCollection<Document> users;
|
||||
|
||||
/**
|
||||
* @param users Database collection of users
|
||||
*/
|
||||
public UserStatsHelper(DBCollection users) {
|
||||
public UserStatsHelper(MongoCollection<Document> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
@ -35,11 +35,11 @@ public class UserStatsHelper {
|
||||
|
||||
ArrayList<Map.Entry<User, Integer>> rows = new ArrayList<>();
|
||||
|
||||
BasicDBObject orderBy = new BasicDBObject("$stats." + statName, -1);
|
||||
DBCursor cursor = users.find().sort(orderBy).limit(n);
|
||||
Document orderBy = new Document("$stats." + statName, -1);
|
||||
MongoCursor<Document> cursor = users.find().sort(orderBy).limit(n).iterator();
|
||||
|
||||
while (cursor.hasNext()) {
|
||||
DBObject dbUser = cursor.next();
|
||||
Document dbUser = cursor.next();
|
||||
User user = GameServer.INSTANCE.getGameUniverse().getUser((String) dbUser.get("username"));
|
||||
rows.add(new AbstractMap.SimpleEntry<>(user, user.getStats().getInt(statName)));
|
||||
}
|
||||
@ -54,26 +54,27 @@ public class UserStatsHelper {
|
||||
* @param n Maximum number of players
|
||||
* @return Top n players, in User,set format, in descending order
|
||||
*/
|
||||
public ArrayList<Map.Entry<User, BasicDBList>> getTopNSetLength(String statName, int n) {
|
||||
public ArrayList<Map.Entry<User, ArrayList>> getTopNSetLength(String statName, int n) {
|
||||
|
||||
ArrayList<Map.Entry<User, BasicDBList>> rows = new ArrayList<>();
|
||||
ArrayList<Map.Entry<User, ArrayList>> rows = new ArrayList<>();
|
||||
|
||||
BasicDBList ifNullList = new BasicDBList();
|
||||
List<Object> ifNullList = new ArrayList<>(2);
|
||||
ifNullList.add("$stats." + statName);
|
||||
ifNullList.add(new BasicDBList());
|
||||
ifNullList.add(new ArrayList());
|
||||
|
||||
BasicDBObject project = new BasicDBObject();
|
||||
project.put("setLength", new BasicDBObject("$size", new BasicDBObject("$ifNull", ifNullList)));
|
||||
Document project = new Document();
|
||||
project.put("setLength", new Document("$size", new Document("$ifNull", ifNullList)));
|
||||
project.put("username", 1);
|
||||
|
||||
Iterable<DBObject> results = users.aggregate(
|
||||
new BasicDBObject("$project", project),
|
||||
new BasicDBObject("$sort", new BasicDBObject("setLength", -1)),
|
||||
new BasicDBObject("$limit", n)
|
||||
).results();
|
||||
|
||||
for (DBObject dbUser : results) {
|
||||
User user = GameServer.INSTANCE.getGameUniverse().getUser((String) dbUser.get("username"));
|
||||
Iterator<Document> results = users.aggregate(Arrays.asList(
|
||||
new Document("$project", project),
|
||||
new Document("$sort", new Document("setLength", -1)),
|
||||
new Document("$limit", n))
|
||||
).iterator();
|
||||
|
||||
while (results.hasNext()) {
|
||||
User user = GameServer.INSTANCE.getGameUniverse().getUser((String) results.next().get("username"));
|
||||
rows.add(new AbstractMap.SimpleEntry<>(user, user.getStats().getSet(statName)));
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ server_name=Official MAR server
|
||||
#Database
|
||||
mongo_dbname=mar_beta
|
||||
#Change to 'mongodb' to use in docker
|
||||
mongo_address=mongodb
|
||||
mongo_address=localhost
|
||||
mongo_port=27017
|
||||
#Biomass
|
||||
biomass_yield=2
|
||||
|
Loading…
x
Reference in New Issue
Block a user