mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-12-13 14:49:03 +00:00
Changed unreliable sequential integer object id to BSON ObjectId #162
This commit is contained in:
@@ -4,6 +4,7 @@ import net.simon987.server.GameServer;
|
||||
import net.simon987.server.game.objects.Structure;
|
||||
import net.simon987.server.game.objects.Updatable;
|
||||
import org.bson.Document;
|
||||
import org.bson.types.ObjectId;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
@@ -75,7 +76,7 @@ public class Factory extends Structure implements Updatable {
|
||||
|
||||
for (Object id : tmpNpcArray) {
|
||||
|
||||
NonPlayerCharacter npc = (NonPlayerCharacter) GameServer.INSTANCE.getGameUniverse().getObject((long) id);
|
||||
NonPlayerCharacter npc = (NonPlayerCharacter) GameServer.INSTANCE.getGameUniverse().getObject((ObjectId) id);
|
||||
|
||||
if (npc != null) {
|
||||
npc.setFactory(this);
|
||||
@@ -94,7 +95,7 @@ public class Factory extends Structure implements Updatable {
|
||||
if (p != null) {
|
||||
NonPlayerCharacter npc = new HarvesterNPC();
|
||||
npc.setWorld(getWorld());
|
||||
npc.setObjectId(GameServer.INSTANCE.getGameUniverse().getNextObjectId());
|
||||
npc.setObjectId(new ObjectId());
|
||||
npc.setX(p.x);
|
||||
npc.setY(p.y);
|
||||
getWorld().addObject(npc);
|
||||
@@ -117,7 +118,7 @@ public class Factory extends Structure implements Updatable {
|
||||
public Document mongoSerialise() {
|
||||
Document dbObject = super.mongoSerialise();
|
||||
|
||||
List<Long> tmpNpcArray = new ArrayList<>(npcs.size());
|
||||
List<ObjectId> tmpNpcArray = new ArrayList<>(npcs.size());
|
||||
|
||||
for (NonPlayerCharacter npc : npcs) {
|
||||
tmpNpcArray.add(npc.getObjectId());
|
||||
|
||||
@@ -7,6 +7,7 @@ import net.simon987.server.game.world.Location;
|
||||
import net.simon987.server.game.world.TileMap;
|
||||
import net.simon987.server.game.world.World;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.types.ObjectId;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
@@ -148,6 +149,7 @@ public class VaultDimension {
|
||||
exitPortal.setX(exitPortalPt.x);
|
||||
exitPortal.setY(exitPortalPt.y);
|
||||
exitPortal.setWorld(objectiveWorld);
|
||||
exitPortal.setObjectId(new ObjectId());
|
||||
objectiveWorld.addObject(exitPortal);
|
||||
|
||||
LogManager.LOGGER.severe("Objective: " + objectiveWorld.getId());
|
||||
@@ -165,6 +167,7 @@ public class VaultDimension {
|
||||
homePortal.setX(homePortalPt.x);
|
||||
homePortal.setY(homePortalPt.y);
|
||||
homePortal.setWorld(homeWorld);
|
||||
homePortal.setObjectId(new ObjectId());
|
||||
homeWorld.addObject(homePortal);
|
||||
|
||||
Point entryCoords = homePortal.getAdjacentTile();
|
||||
|
||||
@@ -113,7 +113,7 @@ public class VaultDoor extends Structure implements MessageReceiver, Enterable,
|
||||
@Override
|
||||
public boolean enter(GameObject object) {
|
||||
|
||||
LogManager.LOGGER.fine("VAULT enter " + open);
|
||||
// LogManager.LOGGER.fine("VAULT enter " + open);
|
||||
|
||||
if (open) {
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package net.simon987.npcplugin;
|
||||
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.game.world.TileMap;
|
||||
import net.simon987.server.game.world.World;
|
||||
import org.bson.types.ObjectId;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
@@ -60,7 +60,7 @@ public class VaultWorldUtils {
|
||||
}
|
||||
|
||||
ElectricBox box = new ElectricBox();
|
||||
box.setObjectId(GameServer.INSTANCE.getGameUniverse().getNextObjectId());
|
||||
box.setObjectId(new ObjectId());
|
||||
box.setX(p.x);
|
||||
box.setY(p.y);
|
||||
box.setWorld(world);
|
||||
|
||||
@@ -4,13 +4,13 @@ import net.simon987.npcplugin.Factory;
|
||||
import net.simon987.npcplugin.NpcPlugin;
|
||||
import net.simon987.npcplugin.RadioTower;
|
||||
import net.simon987.npcplugin.VaultDoor;
|
||||
import net.simon987.server.GameServer;
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.event.GameEventListener;
|
||||
import net.simon987.server.event.WorldGenerationEvent;
|
||||
import net.simon987.server.game.world.TileMap;
|
||||
import net.simon987.server.game.world.World;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
import org.bson.types.ObjectId;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.Random;
|
||||
@@ -50,7 +50,7 @@ public class WorldCreationListener implements GameEventListener {
|
||||
Factory factory = new Factory();
|
||||
|
||||
factory.setWorld(world);
|
||||
factory.setObjectId(GameServer.INSTANCE.getGameUniverse().getNextObjectId());
|
||||
factory.setObjectId(new ObjectId());
|
||||
factory.setX(x);
|
||||
factory.setY(y);
|
||||
|
||||
@@ -84,7 +84,7 @@ public class WorldCreationListener implements GameEventListener {
|
||||
RadioTower radioTower = new RadioTower();
|
||||
|
||||
radioTower.setWorld(world);
|
||||
radioTower.setObjectId(GameServer.INSTANCE.getGameUniverse().getNextObjectId());
|
||||
radioTower.setObjectId(new ObjectId());
|
||||
radioTower.setX(p.x);
|
||||
radioTower.setY(p.y);
|
||||
|
||||
@@ -128,7 +128,7 @@ public class WorldCreationListener implements GameEventListener {
|
||||
}
|
||||
}
|
||||
|
||||
vaultDoor.setObjectId(GameServer.INSTANCE.getGameUniverse().getNextObjectId());
|
||||
vaultDoor.setObjectId(new ObjectId());
|
||||
world.addObject(vaultDoor);
|
||||
world.incUpdatable(); //In case the Factory & Radio Tower couldn't be spawned.
|
||||
vaultDoor.setWorld(world);
|
||||
|
||||
Reference in New Issue
Block a user