Merge remote-tracking branch 'origin/master' into ResourceSpawn

Conflicts:
	src/main/NGECore.java
	src/services/DevService.java
	src/services/command/CommandService.java
This commit is contained in:
CharonInferar
2014-04-06 03:59:55 +02:00
1202 changed files with 8172 additions and 46196 deletions
+36
View File
@@ -52,6 +52,7 @@ import services.AttributeService;
import services.BuffService;
import services.CharacterService;
import services.ConnectionService;
import services.ConversationService;
import services.DevService;
import services.EntertainmentService;
import services.EquipmentService;
@@ -169,8 +170,12 @@ public class NGECore {
//public MissionService missionService;
public InstanceService instanceService;
public DevService devService;
<<<<<<< HEAD
public SurveyService surveyService;
public ResourceService resourceService;
=======
public ConversationService conversationService;
>>>>>>> origin/master
// Login Server
public NetworkDispatch loginDispatch;
@@ -194,11 +199,16 @@ public class NGECore {
private BusConfiguration eventBusConfig = BusConfiguration.Default(1, new ThreadPoolExecutor(1, 4, 1, TimeUnit.MINUTES, new LinkedBlockingQueue<Runnable>()));
private ObjectDatabase buildingODB;
<<<<<<< HEAD
private ObjectDatabase resourcesODB;
private ObjectDatabase resourceRootsODB;
private ObjectDatabase resourceHistoryODB;
public static boolean PACKET_DEBUG = false;
=======
>>>>>>> origin/master
public NGECore() {
@@ -275,6 +285,7 @@ public class NGECore {
equipmentService = new EquipmentService(this);
entertainmentService = new EntertainmentService(this);
devService = new DevService(this);
conversationService = new ConversationService(this);
if (config.keyExists("JYTHONCONSOLE.PORT")) {
int jythonPort = config.getInt("JYTHONCONSOLE.PORT");
@@ -433,14 +444,39 @@ public class NGECore {
spawnService.loadLairGroups();
spawnService.loadSpawnAreas();
equipmentService.loadBonusSets();
retroService.run();
didServerCrash = false;
System.out.println("Started Server.");
cleanupCreatureODB();
setGalaxyStatus(2);
}
private void cleanupCreatureODB() {
EntityCursor<CreatureObject> cursor = creatureODB.getCursor(Long.class, CreatureObject.class);
Iterator<CreatureObject> it = cursor.iterator();
List<CreatureObject> deletedObjects = new ArrayList<CreatureObject>();
while(it.hasNext()) {
CreatureObject creature = it.next();
if(!characterService.playerExists(creature.getObjectID()))
deletedObjects.add(creature);
}
cursor.close();
Transaction txn = creatureODB.getEnvironment().beginTransaction(null, null);
for(CreatureObject creature : deletedObjects) {
creatureODB.delete(creature.getObjectID(), Long.class, CreatureObject.class, txn);
}
txn.commitSync();
System.out.println("Deleted " + deletedObjects.size() + " creatures.");
}
public void stop() {
System.out.println("Stopping Servers and Connections.");
databaseConnection.close();