move playerManager to serverState

This commit is contained in:
austin 2025-05-15 13:34:17 -04:00
parent e8601b78c7
commit 5888e12da0
26 changed files with 49 additions and 52 deletions

View File

@ -1815,6 +1815,7 @@ Create ServerState global
Move realmManager to serverState Move realmManager to serverState
Move characterService to serverState Move characterService to serverState
Move entityValueTrackingService to serverState Move entityValueTrackingService to serverState
Move playerManager to serverState

View File

@ -28,7 +28,7 @@ public class ImGuiFluidMonitor {
@Override @Override
public void exec() { public void exec() {
if(ImGui.collapsingHeader("Server Data")){ if(ImGui.collapsingHeader("Server Data")){
ServerFluidManager fluidManager = Globals.playerManager.getPlayerRealm(Globals.clientState.clientPlayer).getServerWorldData().getServerFluidManager(); ServerFluidManager fluidManager = Globals.serverState.playerManager.getPlayerRealm(Globals.clientState.clientPlayer).getServerWorldData().getServerFluidManager();
//server engine details //server engine details
ImGui.text("Fluids Debug"); ImGui.text("Fluids Debug");
ImGui.text("State: " + (fluidManager.getSimulate() ? "on" : "off")); ImGui.text("State: " + (fluidManager.getSimulate() ? "on" : "off"));
@ -67,7 +67,7 @@ public class ImGuiFluidMonitor {
* Prints debug data about the chunk at 0,0,1 * Prints debug data about the chunk at 0,0,1
*/ */
private static void printChunkDebugData(){ private static void printChunkDebugData(){
ServerFluidManager fluidManager = Globals.playerManager.getPlayerRealm(Globals.clientState.clientPlayer).getServerWorldData().getServerFluidManager(); ServerFluidManager fluidManager = Globals.serverState.playerManager.getPlayerRealm(Globals.clientState.clientPlayer).getServerWorldData().getServerFluidManager();
ServerFluidChunk chunk = fluidManager.getChunk(0, 0, 1); ServerFluidChunk chunk = fluidManager.getChunk(0, 0, 1);
ImGui.text("Pressure: " + chunk.getTotalPressure()); ImGui.text("Pressure: " + chunk.getTotalPressure());
ImGui.text("Velocity magnitude: " + chunk.getTotalVelocityMag()); ImGui.text("Velocity magnitude: " + chunk.getTotalVelocityMag());

View File

@ -42,7 +42,7 @@ public class ImGuiGriddedManager {
} }
ImGui.text("Cells cleaned last frame: " + manager.getNumCleaned()); ImGui.text("Cells cleaned last frame: " + manager.getNumCleaned());
if(ImGui.button("Player Data Cell Info")){ if(ImGui.button("Player Data Cell Info")){
Entity playerEntity = Globals.playerManager.getFirstPlayer().getPlayerEntity(); Entity playerEntity = Globals.serverState.playerManager.getFirstPlayer().getPlayerEntity();
Realm realm = Globals.serverState.realmManager.getEntityRealm(playerEntity); Realm realm = Globals.serverState.realmManager.getEntityRealm(playerEntity);
GriddedDataCellManager griddedDataCellManager = (GriddedDataCellManager)realm.getDataCellManager(); GriddedDataCellManager griddedDataCellManager = (GriddedDataCellManager)realm.getDataCellManager();
griddedDataCellManager.printCellInfo(griddedDataCellManager.getDataCellAtPoint(EntityUtils.getPosition(playerEntity))); griddedDataCellManager.printCellInfo(griddedDataCellManager.getDataCellAtPoint(EntityUtils.getPosition(playerEntity)));

View File

@ -41,7 +41,6 @@ import electrosphere.engine.time.Timekeeper;
import electrosphere.logger.LoggerInterface; import electrosphere.logger.LoggerInterface;
import electrosphere.net.config.NetConfig; import electrosphere.net.config.NetConfig;
import electrosphere.net.monitor.NetMonitor; import electrosphere.net.monitor.NetMonitor;
import electrosphere.net.server.player.PlayerManager;
import electrosphere.renderer.RenderUtils; import electrosphere.renderer.RenderUtils;
import electrosphere.renderer.RenderingEngine; import electrosphere.renderer.RenderingEngine;
import electrosphere.renderer.actor.instance.InstanceManager; import electrosphere.renderer.actor.instance.InstanceManager;
@ -195,11 +194,6 @@ public class Globals {
// //
public static CameraHandler cameraHandler = new CameraHandler(); public static CameraHandler cameraHandler = new CameraHandler();
//
//Player manager
//
public static PlayerManager playerManager;
// //
//Generic OpenGL Statements //Generic OpenGL Statements
// //
@ -417,8 +411,6 @@ public class Globals {
// //
//Values that depend on the loaded config //Values that depend on the loaded config
Globals.clientState.clientSelectedVoxelType = (VoxelType)gameConfigCurrent.getVoxelData().getTypes().toArray()[1]; Globals.clientState.clientSelectedVoxelType = (VoxelType)gameConfigCurrent.getVoxelData().getTypes().toArray()[1];
//player manager
playerManager = new PlayerManager();
//net monitor //net monitor
if(Globals.userSettings.getNetRunNetMonitor()){ if(Globals.userSettings.getNetRunNetMonitor()){
netMonitor = new NetMonitor(); netMonitor = new NetMonitor();
@ -601,7 +593,6 @@ public class Globals {
Globals.serverState.aiManager.shutdown(); Globals.serverState.aiManager.shutdown();
Globals.serverState.realmManager.reset(); Globals.serverState.realmManager.reset();
Globals.playerManager = new PlayerManager();
Globals.clientState = new ClientState(); Globals.clientState = new ClientState();
Globals.serverState = new ServerState(); Globals.serverState = new ServerState();
if(Globals.serviceManager != null){ if(Globals.serviceManager != null){
@ -631,7 +622,6 @@ public class Globals {
Globals.signalSystem = null; Globals.signalSystem = null;
Globals.serviceManager = null; Globals.serviceManager = null;
Globals.fileWatcherService = null; Globals.fileWatcherService = null;
Globals.playerManager = null;
Globals.javaPID = null; Globals.javaPID = null;
Globals.RENDER_FLAG_RENDER_SHADOW_MAP = true; Globals.RENDER_FLAG_RENDER_SHADOW_MAP = true;
Globals.RENDER_FLAG_RENDER_SCREEN_FRAMEBUFFER_CONTENT = false; Globals.RENDER_FLAG_RENDER_SCREEN_FRAMEBUFFER_CONTENT = false;

View File

@ -81,7 +81,7 @@ public class ChunkGenerationTestLoading {
Globals.clientState.clientPassword = AuthenticationManager.getHashedString("leveleditor"); Globals.clientState.clientPassword = AuthenticationManager.getHashedString("leveleditor");
ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true); ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true);
//wait for player object creation //wait for player object creation
while(Globals.playerManager.getPlayers().size() < 1 || !Globals.clientState.clientConnection.isInitialized()){ while(Globals.serverState.playerManager.getPlayers().size() < 1 || !Globals.clientState.clientConnection.isInitialized()){
try { try {
TimeUnit.MILLISECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(1);
} catch (InterruptedException e) { } catch (InterruptedException e) {

View File

@ -49,7 +49,7 @@ public class DebugSPWorldLoading {
Globals.clientState.clientPassword = AuthenticationManager.getHashedString("testpass"); Globals.clientState.clientPassword = AuthenticationManager.getHashedString("testpass");
ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true); ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true);
//wait for player object creation //wait for player object creation
while(Globals.playerManager.getPlayers().size() < 1){ while(Globals.serverState.playerManager.getPlayers().size() < 1){
try { try {
TimeUnit.MILLISECONDS.sleep(10); TimeUnit.MILLISECONDS.sleep(10);
} catch (InterruptedException e) { } catch (InterruptedException e) {

View File

@ -77,7 +77,7 @@ public class LevelEditorLoading {
Globals.clientState.clientPassword = AuthenticationManager.getHashedString("leveleditor"); Globals.clientState.clientPassword = AuthenticationManager.getHashedString("leveleditor");
ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true); ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true);
//wait for player object creation //wait for player object creation
while(Globals.playerManager.getPlayers().size() < 1 || !Globals.clientState.clientConnection.isInitialized()){ while(Globals.serverState.playerManager.getPlayers().size() < 1 || !Globals.clientState.clientConnection.isInitialized()){
try { try {
TimeUnit.MILLISECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(1);
} catch (InterruptedException e) { } catch (InterruptedException e) {

View File

@ -47,7 +47,7 @@ public class LevelLoading {
Globals.clientState.clientPassword = AuthenticationManager.getHashedString("leveleditor"); Globals.clientState.clientPassword = AuthenticationManager.getHashedString("leveleditor");
ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true); ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true);
//wait for player object creation //wait for player object creation
while(Globals.playerManager.getPlayers().size() < 1){ while(Globals.serverState.playerManager.getPlayers().size() < 1){
try { try {
TimeUnit.MILLISECONDS.sleep(10); TimeUnit.MILLISECONDS.sleep(10);
} catch (InterruptedException e) { } catch (InterruptedException e) {

View File

@ -184,7 +184,7 @@ public class LoadingUtils {
Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestSpawnCharacterMessage(chara.getId() + "")); Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestSpawnCharacterMessage(chara.getId() + ""));
//set player world-space coordinates //set player world-space coordinates
Player playerObject = Globals.playerManager.getFirstPlayer(); Player playerObject = Globals.serverState.playerManager.getFirstPlayer();
Realm realm = Globals.serverState.realmManager.getRealms().iterator(). next(); Realm realm = Globals.serverState.realmManager.getRealms().iterator(). next();
Vector3d spawnPoint = realm.getSpawnPoint(); Vector3d spawnPoint = realm.getSpawnPoint();
playerObject.setWorldPos(new Vector3i( playerObject.setWorldPos(new Vector3i(

View File

@ -48,7 +48,7 @@ public class ViewportLoading {
Globals.clientState.clientPassword = AuthenticationManager.getHashedString("leveleditor"); Globals.clientState.clientPassword = AuthenticationManager.getHashedString("leveleditor");
LoadingUtils.initLocalConnection(true); LoadingUtils.initLocalConnection(true);
//wait for player object creation //wait for player object creation
while(Globals.playerManager.getPlayers().size() < 1){ while(Globals.serverState.playerManager.getPlayers().size() < 1){
try { try {
TimeUnit.MILLISECONDS.sleep(10); TimeUnit.MILLISECONDS.sleep(10);
} catch (InterruptedException e) { } catch (InterruptedException e) {
@ -56,7 +56,7 @@ public class ViewportLoading {
} }
} }
//add player to viewport realm //add player to viewport realm
Player localPlayer = Globals.playerManager.getFirstPlayer(); Player localPlayer = Globals.serverState.playerManager.getFirstPlayer();
Globals.serverState.realmManager.first().getDataCellManager().addPlayerToRealm(localPlayer); Globals.serverState.realmManager.first().getDataCellManager().addPlayerToRealm(localPlayer);
//initialize the "real" objects simulation //initialize the "real" objects simulation

View File

@ -189,7 +189,7 @@ public class ServerEquipState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(containingEntity)){ if(CreatureUtils.hasControllerPlayerId(containingEntity)){
//get player //get player
int playerId = CreatureUtils.getControllerPlayerId(containingEntity); int playerId = CreatureUtils.getControllerPlayerId(containingEntity);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(playerId); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(playerId);
//tell the player they don't have the item anymore //tell the player they don't have the item anymore
NetworkMessage inventoryMessage = InventoryMessage.constructserverCommandMoveItemContainerMessage( NetworkMessage inventoryMessage = InventoryMessage.constructserverCommandMoveItemContainerMessage(
inInventoryEntity.getId(), inInventoryEntity.getId(),
@ -322,7 +322,7 @@ public class ServerEquipState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(parent)){ if(CreatureUtils.hasControllerPlayerId(parent)){
//get player //get player
int playerId = CreatureUtils.getControllerPlayerId(parent); int playerId = CreatureUtils.getControllerPlayerId(parent);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(playerId); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(playerId);
//tell the player they don't have the item anymore //tell the player they don't have the item anymore
NetworkMessage inventoryMessage = InventoryMessage.constructserverCommandMoveItemContainerMessage( NetworkMessage inventoryMessage = InventoryMessage.constructserverCommandMoveItemContainerMessage(
ejectedItem.getId(), ejectedItem.getId(),

View File

@ -109,7 +109,7 @@ public class ServerToolbarState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(parent)){ if(CreatureUtils.hasControllerPlayerId(parent)){
//get player //get player
int playerId = CreatureUtils.getControllerPlayerId(parent); int playerId = CreatureUtils.getControllerPlayerId(parent);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(playerId); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(playerId);
//tell the player they don't have the item anymore //tell the player they don't have the item anymore
NetworkMessage inventoryMessage = InventoryMessage.constructserverCommandMoveItemContainerMessage( NetworkMessage inventoryMessage = InventoryMessage.constructserverCommandMoveItemContainerMessage(
inInventoryEntity.getId(), inInventoryEntity.getId(),

View File

@ -214,7 +214,7 @@ public class ServerInventoryState implements BehaviorTree {
return; return;
} }
int playerId = CreatureUtils.getControllerPlayerId(playerEntity); int playerId = CreatureUtils.getControllerPlayerId(playerEntity);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(playerId); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(playerId);
if(InventoryUtils.hasNaturalInventory(this.parent)){ if(InventoryUtils.hasNaturalInventory(this.parent)){
UnrelationalInventoryState naturalInventory = InventoryUtils.getNaturalInventory(this.parent); UnrelationalInventoryState naturalInventory = InventoryUtils.getNaturalInventory(this.parent);
for(Entity itemEnt : naturalInventory.getItems()){ for(Entity itemEnt : naturalInventory.getItems()){
@ -330,7 +330,7 @@ public class ServerInventoryState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(watcher)){ if(CreatureUtils.hasControllerPlayerId(watcher)){
//get the player //get the player
int controllerPlayerID = CreatureUtils.getControllerPlayerId(watcher); int controllerPlayerID = CreatureUtils.getControllerPlayerId(watcher);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(controllerPlayerID); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(controllerPlayerID);
//send message //send message
controllerPlayer.addMessage(InventoryMessage.constructserverUpdateItemChargesMessage(foundExisting.getId(), serverChargeState.getCharges())); controllerPlayer.addMessage(InventoryMessage.constructserverUpdateItemChargesMessage(foundExisting.getId(), serverChargeState.getCharges()));
} }
@ -360,7 +360,7 @@ public class ServerInventoryState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(watcher)){ if(CreatureUtils.hasControllerPlayerId(watcher)){
//get the player //get the player
int controllerPlayerID = CreatureUtils.getControllerPlayerId(watcher); int controllerPlayerID = CreatureUtils.getControllerPlayerId(watcher);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(controllerPlayerID); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(controllerPlayerID);
//send message //send message
controllerPlayer.addMessage(InventoryMessage.constructaddItemToInventoryMessage(creature.getId(), inventoryItem.getId(), ItemUtils.getType(inventoryItem))); controllerPlayer.addMessage(InventoryMessage.constructaddItemToInventoryMessage(creature.getId(), inventoryItem.getId(), ItemUtils.getType(inventoryItem)));
} }
@ -459,7 +459,7 @@ public class ServerInventoryState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(watcher)){ if(CreatureUtils.hasControllerPlayerId(watcher)){
//get the player //get the player
int controllerPlayerID = CreatureUtils.getControllerPlayerId(watcher); int controllerPlayerID = CreatureUtils.getControllerPlayerId(watcher);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(controllerPlayerID); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(controllerPlayerID);
//send message //send message
controllerPlayer.addMessage(InventoryMessage.constructserverCommandStoreItemMessage( controllerPlayer.addMessage(InventoryMessage.constructserverCommandStoreItemMessage(
creature.getId(), creature.getId(),
@ -540,7 +540,7 @@ public class ServerInventoryState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(watcher)){ if(CreatureUtils.hasControllerPlayerId(watcher)){
//get player //get player
int playerId = CreatureUtils.getControllerPlayerId(watcher); int playerId = CreatureUtils.getControllerPlayerId(watcher);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(playerId); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(playerId);
//tell the player to destroy the item //tell the player to destroy the item
controllerPlayer.addMessage(EntityMessage.constructDestroyMessage(item.getId())); controllerPlayer.addMessage(EntityMessage.constructDestroyMessage(item.getId()));
} }
@ -606,7 +606,7 @@ public class ServerInventoryState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(watcher)){ if(CreatureUtils.hasControllerPlayerId(watcher)){
//get player //get player
int playerId = CreatureUtils.getControllerPlayerId(watcher); int playerId = CreatureUtils.getControllerPlayerId(watcher);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(playerId); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(playerId);
//tell the player they don't have the item anymore //tell the player they don't have the item anymore
controllerPlayer.addMessage(InventoryMessage.constructremoveItemFromInventoryMessage(item.getId())); controllerPlayer.addMessage(InventoryMessage.constructremoveItemFromInventoryMessage(item.getId()));
} }
@ -669,7 +669,7 @@ public class ServerInventoryState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(watcher)){ if(CreatureUtils.hasControllerPlayerId(watcher)){
//get player //get player
int playerId = CreatureUtils.getControllerPlayerId(watcher); int playerId = CreatureUtils.getControllerPlayerId(watcher);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(playerId); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(playerId);
//tell the player they don't have the item anymore //tell the player they don't have the item anymore
controllerPlayer.addMessage(InventoryMessage.constructremoveItemFromInventoryMessage(item.getId())); controllerPlayer.addMessage(InventoryMessage.constructremoveItemFromInventoryMessage(item.getId()));
} }

View File

@ -86,7 +86,7 @@ public class ServerChargeState implements BehaviorTree {
if(CreatureUtils.hasControllerPlayerId(containingParent)){ if(CreatureUtils.hasControllerPlayerId(containingParent)){
//get the player //get the player
int controllerPlayerID = CreatureUtils.getControllerPlayerId(containingParent); int controllerPlayerID = CreatureUtils.getControllerPlayerId(containingParent);
Player controllerPlayer = Globals.playerManager.getPlayerFromId(controllerPlayerID); Player controllerPlayer = Globals.serverState.playerManager.getPlayerFromId(controllerPlayerID);
//send message //send message
controllerPlayer.addMessage(SynchronizationMessage.constructUpdateClientIntStateMessage(parent.getId(), BehaviorTreeIdEnums.BTREE_SERVERCHARGESTATE_ID, FieldIdEnums.TREE_SERVERCHARGESTATE_SYNCEDFIELD_CHARGES_ID, this.getCharges())); controllerPlayer.addMessage(SynchronizationMessage.constructUpdateClientIntStateMessage(parent.getId(), BehaviorTreeIdEnums.BTREE_SERVERCHARGESTATE_ID, FieldIdEnums.TREE_SERVERCHARGESTATE_SYNCEDFIELD_CHARGES_ID, this.getCharges()));
} }

View File

@ -413,7 +413,7 @@ public class CreatureUtils {
if(CreatureUtils.hasControllerPlayerId(creature)){ if(CreatureUtils.hasControllerPlayerId(creature)){
LoggerInterface.loggerNetworking.INFO("Sending controller packets"); LoggerInterface.loggerNetworking.INFO("Sending controller packets");
player.addMessage(NetUtils.createSetCreatureControllerIdEntityMessage(creature)); player.addMessage(NetUtils.createSetCreatureControllerIdEntityMessage(creature));
Player entityOwner = Globals.playerManager.getPlayerFromId(CreatureUtils.getControllerPlayerId(creature)); Player entityOwner = Globals.serverState.playerManager.getPlayerFromId(CreatureUtils.getControllerPlayerId(creature));
if(player.hasSentPlayerEntity()){ if(player.hasSentPlayerEntity()){
throw new Error("Re-sending player entity to player!"); throw new Error("Re-sending player entity to player!");
} }

View File

@ -635,7 +635,7 @@ public class ItemUtils {
//send entity to client //send entity to client
if(CreatureUtils.hasControllerPlayerId(parent)){ if(CreatureUtils.hasControllerPlayerId(parent)){
int playerId = CreatureUtils.getControllerPlayerId(parent); int playerId = CreatureUtils.getControllerPlayerId(parent);
Player player = Globals.playerManager.getPlayerFromId(playerId); Player player = Globals.serverState.playerManager.getPlayerFromId(playerId);
player.addMessage(InventoryMessage.constructaddItemToInventoryMessage(parent.getId(), rVal.getId(), itemData.getId())); player.addMessage(InventoryMessage.constructaddItemToInventoryMessage(parent.getId(), rVal.getId(), itemData.getId()));
} }

View File

@ -411,7 +411,7 @@ public class ServerConnectionHandler implements Runnable {
* @return The player object * @return The player object
*/ */
public Player getPlayer(){ public Player getPlayer(){
return Globals.playerManager.getPlayerFromId(playerID); return Globals.serverState.playerManager.getPlayerFromId(playerID);
} }
/** /**

View File

@ -23,7 +23,7 @@ public class AuthProtocol implements ServerProtocolTemplate<AuthMessage> {
//TODO: actually set connection/protocol to authenticated //TODO: actually set connection/protocol to authenticated
connectionHandler.addMessagetoOutgoingQueue(AuthMessage.constructAuthSuccessMessage()); connectionHandler.addMessagetoOutgoingQueue(AuthMessage.constructAuthSuccessMessage());
Player newPlayer = new Player(connectionHandler, loginId); Player newPlayer = new Player(connectionHandler, loginId);
Globals.playerManager.registerPlayer(newPlayer); Globals.serverState.playerManager.registerPlayer(newPlayer);
//there is a race condition here where if a local non-server client connects first then it breaks //there is a race condition here where if a local non-server client connects first then it breaks
if(connectionHandler.getIPAddress().contains("127.0.0.1") && Globals.RUN_CLIENT == true && Globals.clientState.clientPlayer == null){ if(connectionHandler.getIPAddress().contains("127.0.0.1") && Globals.RUN_CLIENT == true && Globals.clientState.clientPlayer == null){
Globals.clientState.clientPlayer = newPlayer; Globals.clientState.clientPlayer = newPlayer;

View File

@ -108,7 +108,7 @@ public class CharacterProtocol implements ServerProtocolTemplate<CharacterMessag
connectionHandler.setCharacterId(id); connectionHandler.setCharacterId(id);
} }
Entity rVal = PlayerCharacterCreation.spawnPlayerCharacter(connectionHandler); Entity rVal = PlayerCharacterCreation.spawnPlayerCharacter(connectionHandler);
Realm realm = Globals.playerManager.getPlayerRealm(connectionHandler.getPlayer()); Realm realm = Globals.serverState.playerManager.getPlayerRealm(connectionHandler.getPlayer());
Vector3d spawnPoint = PlayerCharacterCreation.solveSpawnPoint(realm, connectionHandler); Vector3d spawnPoint = PlayerCharacterCreation.solveSpawnPoint(realm, connectionHandler);
//set client initial discrete position //set client initial discrete position
connectionHandler.addMessagetoOutgoingQueue( connectionHandler.addMessagetoOutgoingQueue(

View File

@ -125,7 +125,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
Globals.profiler.beginAggregateCpuSample("TerrainProtocol(server).sendWorldSubChunk"); Globals.profiler.beginAggregateCpuSample("TerrainProtocol(server).sendWorldSubChunk");
// System.out.println("Received request for chunk " + message.getworldX() + " " + message.getworldY()); // System.out.println("Received request for chunk " + message.getworldX() + " " + message.getworldY());
Realm realm = Globals.playerManager.getPlayerRealm(connectionHandler.getPlayer()); Realm realm = Globals.serverState.playerManager.getPlayerRealm(connectionHandler.getPlayer());
if(realm.getServerWorldData().getServerTerrainManager() == null){ if(realm.getServerWorldData().getServerTerrainManager() == null){
return; return;
} }
@ -181,7 +181,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
Globals.profiler.beginAggregateCpuSample("TerrainProtocol(server).sendWorldSubChunk"); Globals.profiler.beginAggregateCpuSample("TerrainProtocol(server).sendWorldSubChunk");
// System.out.println("Received request for chunk " + message.getworldX() + " " + message.getworldY()); // System.out.println("Received request for chunk " + message.getworldX() + " " + message.getworldY());
Realm realm = Globals.playerManager.getPlayerRealm(connectionHandler.getPlayer()); Realm realm = Globals.serverState.playerManager.getPlayerRealm(connectionHandler.getPlayer());
if(realm.getServerWorldData().getServerTerrainManager() == null){ if(realm.getServerWorldData().getServerTerrainManager() == null){
return; return;
} }
@ -272,7 +272,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
Globals.profiler.beginAggregateCpuSample("TerrainProtocol(server).sendWorldSubChunk"); Globals.profiler.beginAggregateCpuSample("TerrainProtocol(server).sendWorldSubChunk");
// System.out.println("Received request for chunk " + message.getworldX() + " " + message.getworldY()); // System.out.println("Received request for chunk " + message.getworldX() + " " + message.getworldY());
Realm realm = Globals.playerManager.getPlayerRealm(connectionHandler.getPlayer()); Realm realm = Globals.serverState.playerManager.getPlayerRealm(connectionHandler.getPlayer());
if(realm.getServerWorldData().getServerTerrainManager() == null){ if(realm.getServerWorldData().getServerTerrainManager() == null){
return; return;
} }
@ -338,7 +338,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
Globals.profiler.beginAggregateCpuSample("TerrainProtocol(server).sendWorldSubChunk"); Globals.profiler.beginAggregateCpuSample("TerrainProtocol(server).sendWorldSubChunk");
// System.out.println("Received request for chunk " + message.getworldX() + " " + message.getworldY()); // System.out.println("Received request for chunk " + message.getworldX() + " " + message.getworldY());
Realm realm = Globals.playerManager.getPlayerRealm(connectionHandler.getPlayer()); Realm realm = Globals.serverState.playerManager.getPlayerRealm(connectionHandler.getPlayer());
if(realm.getServerWorldData().getServerBlockManager() == null){ if(realm.getServerWorldData().getServerBlockManager() == null){
return; return;
} }
@ -386,7 +386,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
* @param worldZ the world z * @param worldZ the world z
*/ */
static void sendWorldFluidSubChunk(ServerConnectionHandler connectionHandler, int worldX, int worldY, int worldZ){ static void sendWorldFluidSubChunk(ServerConnectionHandler connectionHandler, int worldX, int worldY, int worldZ){
Realm realm = Globals.playerManager.getPlayerRealm(connectionHandler.getPlayer()); Realm realm = Globals.serverState.playerManager.getPlayerRealm(connectionHandler.getPlayer());
if(realm.getServerWorldData().getServerTerrainManager() == null){ if(realm.getServerWorldData().getServerTerrainManager() == null){
return; return;
@ -408,7 +408,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
* @param connectionHandler The connection handler * @param connectionHandler The connection handler
*/ */
static void sendWorldMetadata(ServerConnectionHandler connectionHandler){ static void sendWorldMetadata(ServerConnectionHandler connectionHandler){
Realm realm = Globals.playerManager.getPlayerRealm(connectionHandler.getPlayer()); Realm realm = Globals.serverState.playerManager.getPlayerRealm(connectionHandler.getPlayer());
//world metadata //world metadata
connectionHandler.addMessagetoOutgoingQueue( connectionHandler.addMessagetoOutgoingQueue(
TerrainMessage.constructResponseMetadataMessage( TerrainMessage.constructResponseMetadataMessage(
@ -428,7 +428,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
* @param message The message containing the edit request * @param message The message containing the edit request
*/ */
static void attemptTerrainEdit(ServerConnectionHandler connectionHandler, TerrainMessage message){ static void attemptTerrainEdit(ServerConnectionHandler connectionHandler, TerrainMessage message){
// Player player = Globals.playerManager.getPlayerFromId(connectionHandler.getPlayerId()); // Player player = Globals.serverState.playerManager.getPlayerFromId(connectionHandler.getPlayerId());
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
@ -438,7 +438,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
* @param message The message that contains the request to use an edit palette * @param message The message that contains the request to use an edit palette
*/ */
static void attemptUseTerrainEditPalette(ServerConnectionHandler connectionHandler, TerrainMessage message){ static void attemptUseTerrainEditPalette(ServerConnectionHandler connectionHandler, TerrainMessage message){
Player player = Globals.playerManager.getPlayerFromId(connectionHandler.getPlayerId()); Player player = Globals.serverState.playerManager.getPlayerFromId(connectionHandler.getPlayerId());
Realm realm = Globals.serverState.realmManager.getPlayerRealm(player); Realm realm = Globals.serverState.realmManager.getPlayerRealm(player);
Vector3d location = new Vector3d(message.getrealLocationX(), message.getrealLocationY(), message.getrealLocationZ()); Vector3d location = new Vector3d(message.getrealLocationX(), message.getrealLocationY(), message.getrealLocationZ());
TerrainEditing.editTerrain(realm, location, message.getvalue(), message.getterrainValue(), message.getterrainWeight()); TerrainEditing.editTerrain(realm, location, message.getvalue(), message.getterrainValue(), message.getterrainWeight());
@ -450,7 +450,7 @@ public class TerrainProtocol implements ServerProtocolTemplate<TerrainMessage> {
* @param message The message that contains the request to use an edit palette * @param message The message that contains the request to use an edit palette
*/ */
static void attemptDestroyTerrain(ServerConnectionHandler connectionHandler, TerrainMessage message){ static void attemptDestroyTerrain(ServerConnectionHandler connectionHandler, TerrainMessage message){
Player player = Globals.playerManager.getPlayerFromId(connectionHandler.getPlayerId()); Player player = Globals.serverState.playerManager.getPlayerFromId(connectionHandler.getPlayerId());
Realm realm = Globals.serverState.realmManager.getPlayerRealm(player); Realm realm = Globals.serverState.realmManager.getPlayerRealm(player);
Vector3d location = new Vector3d(message.getrealLocationX(), message.getrealLocationY(), message.getrealLocationZ()); Vector3d location = new Vector3d(message.getrealLocationX(), message.getrealLocationY(), message.getrealLocationZ());
TerrainEditing.destroyTerrain(realm, player.getPlayerEntity(), location, message.getvalue(), message.getterrainWeight()); TerrainEditing.destroyTerrain(realm, player.getPlayerEntity(), location, message.getvalue(), message.getterrainWeight());

View File

@ -1,6 +1,7 @@
package electrosphere.server; package electrosphere.server;
import electrosphere.net.server.Server; import electrosphere.net.server.Server;
import electrosphere.net.server.player.PlayerManager;
import electrosphere.net.synchronization.server.EntityValueTrackingService; import electrosphere.net.synchronization.server.EntityValueTrackingService;
import electrosphere.net.synchronization.server.ServerSynchronizationManager; import electrosphere.net.synchronization.server.ServerSynchronizationManager;
import electrosphere.server.ai.AIManager; import electrosphere.server.ai.AIManager;
@ -54,4 +55,9 @@ public class ServerState {
*/ */
public EntityValueTrackingService entityValueTrackingService = new EntityValueTrackingService(); public EntityValueTrackingService entityValueTrackingService = new EntityValueTrackingService();
/**
* Player manager
*/
public PlayerManager playerManager = new PlayerManager();
} }

View File

@ -400,7 +400,7 @@ public class GriddedDataCellManager implements DataCellManager, VoxelCellManager
Globals.profiler.beginCpuSample("GriddedDataCellManager.updatePlayerPositions - Actually update player positions"); Globals.profiler.beginCpuSample("GriddedDataCellManager.updatePlayerPositions - Actually update player positions");
boolean playerChangedChunk = false; boolean playerChangedChunk = false;
for(Player player : Globals.playerManager.getPlayers()){ for(Player player : Globals.serverState.playerManager.getPlayers()){
Entity playerEntity = player.getPlayerEntity(); Entity playerEntity = player.getPlayerEntity();
if(playerEntity != null && !parent.getLoadingDataCell().containsPlayer(player)){ if(playerEntity != null && !parent.getLoadingDataCell().containsPlayer(player)){
Vector3d position = EntityUtils.getPosition(playerEntity); Vector3d position = EntityUtils.getPosition(playerEntity);
@ -518,7 +518,7 @@ public class GriddedDataCellManager implements DataCellManager, VoxelCellManager
containsPlayerEntity = true; containsPlayerEntity = true;
break; break;
// int playerId = CreatureUtils.getControllerPlayerId(entity); // int playerId = CreatureUtils.getControllerPlayerId(entity);
// Player player = Globals.playerManager.getPlayerFromId(playerId); // Player player = Globals.serverState.playerManager.getPlayerFromId(playerId);
// throw new Error( // throw new Error(
// "Trying to unload a player's entity! " + // "Trying to unload a player's entity! " +
// "entity: " + entity + "\n" + // "entity: " + entity + "\n" +

View File

@ -26,7 +26,7 @@ public class PlayerCharacterCreation {
* @param connectionHandler The connection handler of the player * @param connectionHandler The connection handler of the player
*/ */
public static Entity spawnPlayerCharacter(ServerConnectionHandler connectionHandler){ public static Entity spawnPlayerCharacter(ServerConnectionHandler connectionHandler){
Player playerObject = Globals.playerManager.getPlayerFromId(connectionHandler.getPlayerId()); Player playerObject = Globals.serverState.playerManager.getPlayerFromId(connectionHandler.getPlayerId());
Realm realm = Globals.serverState.realmManager.getRealms().iterator().next(); Realm realm = Globals.serverState.realmManager.getRealms().iterator().next();
// //

View File

@ -38,7 +38,7 @@ public class BlockActions {
BlockType blockTypeData = Globals.gameConfigCurrent.getBlockData().getTypeFromId((int)blockType); BlockType blockTypeData = Globals.gameConfigCurrent.getBlockData().getTypeFromId((int)blockType);
String goalBlockEntityId = Item.getBlockTypeId(blockTypeData); String goalBlockEntityId = Item.getBlockTypeId(blockTypeData);
if(CreatureUtils.hasControllerPlayerId(creature)){ if(CreatureUtils.hasControllerPlayerId(creature)){
Player player = Globals.playerManager.getPlayerFromId(CreatureUtils.getControllerPlayerId(creature)); Player player = Globals.serverState.playerManager.getPlayerFromId(CreatureUtils.getControllerPlayerId(creature));
Globals.structureScanningService.queue(player, ServerWorldData.convertLocalBlockToRealSpace(chunkPos, blockPos)); Globals.structureScanningService.queue(player, ServerWorldData.convertLocalBlockToRealSpace(chunkPos, blockPos));
} }
@ -63,7 +63,7 @@ public class BlockActions {
ServerBlockEditing.placeBlockFab(playerRealm, chunkPos, blockPos, blockRotation, fabPath); ServerBlockEditing.placeBlockFab(playerRealm, chunkPos, blockPos, blockRotation, fabPath);
ServerChargeState.attemptRemoveCharges(creature, 1); ServerChargeState.attemptRemoveCharges(creature, 1);
if(CreatureUtils.hasControllerPlayerId(creature)){ if(CreatureUtils.hasControllerPlayerId(creature)){
Player player = Globals.playerManager.getPlayerFromId(CreatureUtils.getControllerPlayerId(creature)); Player player = Globals.serverState.playerManager.getPlayerFromId(CreatureUtils.getControllerPlayerId(creature));
Globals.structureScanningService.queue(player, ServerWorldData.convertLocalBlockToRealSpace(chunkPos, blockPos)); Globals.structureScanningService.queue(player, ServerWorldData.convertLocalBlockToRealSpace(chunkPos, blockPos));
} }
} }

View File

@ -20,7 +20,7 @@ public class StateCleanupCheckerExtension implements AfterEachCallback {
Globals.renderingEngine, Globals.renderingEngine,
Globals.audioEngine, Globals.audioEngine,
Globals.javaPID, Globals.javaPID,
Globals.playerManager, Globals.serverState.playerManager,
LoggerInterface.loggerEngine, LoggerInterface.loggerEngine,
RenderingEngine.screenFramebuffer, RenderingEngine.screenFramebuffer,
Globals.clientState, Globals.clientState,

View File

@ -35,7 +35,7 @@ public class TestViewportUtils {
//get required data //get required data
ServerConnectionHandler connectionHandler = Globals.serverState.server.getFirstConnection(); ServerConnectionHandler connectionHandler = Globals.serverState.server.getFirstConnection();
Player playerObj = Globals.playerManager.getFirstPlayer(); Player playerObj = Globals.serverState.playerManager.getFirstPlayer();
//attach //attach
PlayerCharacterCreation.attachEntityToPlayerObject(creature, playerObj, connectionHandler); PlayerCharacterCreation.attachEntityToPlayerObject(creature, playerObj, connectionHandler);