diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 6c3dcd68..75bc18af 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -2071,6 +2071,10 @@ Fall and gravity tree fixes Potential window fix Sprinting/physics work +(05/30/2025) +Reorganizing macro classes +Start work on macro pathfinding storage + diff --git a/src/main/java/electrosphere/data/Config.java b/src/main/java/electrosphere/data/Config.java index 273eeae4..918b090b 100644 --- a/src/main/java/electrosphere/data/Config.java +++ b/src/main/java/electrosphere/data/Config.java @@ -30,7 +30,7 @@ import electrosphere.data.voxel.VoxelData; import electrosphere.data.voxel.sampler.SamplerFile; import electrosphere.logger.LoggerInterface; import electrosphere.net.config.NetConfig; -import electrosphere.server.macro.race.RaceMap; +import electrosphere.server.macro.character.race.RaceMap; import electrosphere.server.macro.symbolism.SymbolMap; import electrosphere.util.FileUtils; diff --git a/src/main/java/electrosphere/data/ConfigValidator.java b/src/main/java/electrosphere/data/ConfigValidator.java index e820cae7..0ab0a5df 100644 --- a/src/main/java/electrosphere/data/ConfigValidator.java +++ b/src/main/java/electrosphere/data/ConfigValidator.java @@ -12,7 +12,7 @@ import electrosphere.data.entity.common.CommonEntityValidator; import electrosphere.data.entity.creature.CreatureData; import electrosphere.data.entity.creature.CreatureDataValidator; import electrosphere.data.entity.creature.CreatureTypeLoader; -import electrosphere.server.macro.race.RaceValidator; +import electrosphere.server.macro.character.race.RaceValidator; /** * Used to validate the config diff --git a/src/main/java/electrosphere/server/ai/nodes/checks/spatial/BeginStructureNode.java b/src/main/java/electrosphere/server/ai/nodes/checks/spatial/BeginStructureNode.java index 99497f48..f1d2b125 100644 --- a/src/main/java/electrosphere/server/ai/nodes/checks/spatial/BeginStructureNode.java +++ b/src/main/java/electrosphere/server/ai/nodes/checks/spatial/BeginStructureNode.java @@ -13,7 +13,7 @@ import electrosphere.server.ai.blackboard.BlackboardKeys; import electrosphere.server.ai.nodes.AITreeNode; import electrosphere.server.datacell.Realm; import electrosphere.server.macro.MacroData; -import electrosphere.server.macro.race.Race; +import electrosphere.server.macro.character.race.Race; import electrosphere.server.macro.structure.VirtualStructure; import electrosphere.server.macro.utils.StructurePlacementUtils; import electrosphere.util.FileUtils; diff --git a/src/main/java/electrosphere/server/entity/ServerContentManager.java b/src/main/java/electrosphere/server/entity/ServerContentManager.java index af4459a5..77ef3856 100644 --- a/src/main/java/electrosphere/server/entity/ServerContentManager.java +++ b/src/main/java/electrosphere/server/entity/ServerContentManager.java @@ -21,7 +21,7 @@ import electrosphere.server.saves.SaveUtils; import electrosphere.util.FileUtils; import electrosphere.util.math.HashUtils; import electrosphere.server.macro.character.Character; -import electrosphere.server.macro.race.Race; +import electrosphere.server.macro.character.race.Race; import electrosphere.server.macro.spatial.MacroLODObject; import electrosphere.server.macro.spatial.MacroObject; diff --git a/src/main/java/electrosphere/server/macro/MacroData.java b/src/main/java/electrosphere/server/macro/MacroData.java index 5ccdd841..b3492b18 100644 --- a/src/main/java/electrosphere/server/macro/MacroData.java +++ b/src/main/java/electrosphere/server/macro/MacroData.java @@ -10,16 +10,16 @@ import electrosphere.logger.LoggerInterface; import electrosphere.server.datacell.ServerWorldData; import electrosphere.server.macro.character.Character; import electrosphere.server.macro.character.data.CharacterDataStrings; +import electrosphere.server.macro.character.race.Race; +import electrosphere.server.macro.character.race.RaceMap; import electrosphere.server.macro.civilization.Civilization; import electrosphere.server.macro.civilization.CivilizationGenerator; import electrosphere.server.macro.civilization.road.Road; -import electrosphere.server.macro.race.Race; -import electrosphere.server.macro.race.RaceMap; +import electrosphere.server.macro.civilization.town.Town; import electrosphere.server.macro.region.MacroRegion; import electrosphere.server.macro.spatial.MacroAreaObject; import electrosphere.server.macro.spatial.MacroObject; import electrosphere.server.macro.structure.VirtualStructure; -import electrosphere.server.macro.town.Town; import electrosphere.util.FileUtils; import electrosphere.util.annotation.Exclude; import electrosphere.util.math.GeomUtils; diff --git a/src/main/java/electrosphere/server/macro/MacroDataUpdater.java b/src/main/java/electrosphere/server/macro/MacroDataUpdater.java index 90adfa56..1d65f683 100644 --- a/src/main/java/electrosphere/server/macro/MacroDataUpdater.java +++ b/src/main/java/electrosphere/server/macro/MacroDataUpdater.java @@ -3,9 +3,9 @@ package electrosphere.server.macro; import org.joml.Vector3d; import electrosphere.server.datacell.Realm; -import electrosphere.server.macro.town.Town; -import electrosphere.server.macro.town.TownLayout; -import electrosphere.server.macro.town.TownPopulator; +import electrosphere.server.macro.civilization.town.Town; +import electrosphere.server.macro.civilization.town.TownLayout; +import electrosphere.server.macro.civilization.town.TownPopulator; /** * Updates macro data as a player comes into range of it diff --git a/src/main/java/electrosphere/server/macro/character/CharacterUtils.java b/src/main/java/electrosphere/server/macro/character/CharacterUtils.java index e03e56c9..a1510ce4 100644 --- a/src/main/java/electrosphere/server/macro/character/CharacterUtils.java +++ b/src/main/java/electrosphere/server/macro/character/CharacterUtils.java @@ -10,9 +10,9 @@ import electrosphere.server.macro.MacroData; import electrosphere.server.macro.character.data.CharacterAssociatedId; import electrosphere.server.macro.character.data.CharacterDataStrings; import electrosphere.server.macro.character.diety.Diety; -import electrosphere.server.macro.race.Race; +import electrosphere.server.macro.character.race.Race; +import electrosphere.server.macro.civilization.town.Town; import electrosphere.server.macro.structure.VirtualStructure; -import electrosphere.server.macro.town.Town; import electrosphere.server.service.CharacterService; /** diff --git a/src/main/java/electrosphere/server/macro/character/data/CharacterDataSerializer.java b/src/main/java/electrosphere/server/macro/character/data/CharacterDataSerializer.java index 959c2844..7de9952f 100644 --- a/src/main/java/electrosphere/server/macro/character/data/CharacterDataSerializer.java +++ b/src/main/java/electrosphere/server/macro/character/data/CharacterDataSerializer.java @@ -11,8 +11,8 @@ import com.google.gson.JsonSerializer; import electrosphere.server.macro.character.diety.Diety; import electrosphere.server.macro.character.goal.CharacterGoal; -import electrosphere.server.macro.race.Race; -import electrosphere.server.macro.town.Town; +import electrosphere.server.macro.character.race.Race; +import electrosphere.server.macro.civilization.town.Town; /** * Deserializes noise modules diff --git a/src/main/java/electrosphere/server/macro/race/Race.java b/src/main/java/electrosphere/server/macro/character/race/Race.java similarity index 98% rename from src/main/java/electrosphere/server/macro/race/Race.java rename to src/main/java/electrosphere/server/macro/character/race/Race.java index 7b02a599..a4283067 100644 --- a/src/main/java/electrosphere/server/macro/race/Race.java +++ b/src/main/java/electrosphere/server/macro/character/race/Race.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.race; +package electrosphere.server.macro.character.race; import java.util.List; diff --git a/src/main/java/electrosphere/server/macro/race/RaceMap.java b/src/main/java/electrosphere/server/macro/character/race/RaceMap.java similarity index 93% rename from src/main/java/electrosphere/server/macro/race/RaceMap.java rename to src/main/java/electrosphere/server/macro/character/race/RaceMap.java index 90b15bfb..a4990679 100644 --- a/src/main/java/electrosphere/server/macro/race/RaceMap.java +++ b/src/main/java/electrosphere/server/macro/character/race/RaceMap.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.race; +package electrosphere.server.macro.character.race; import java.util.List; diff --git a/src/main/java/electrosphere/server/macro/race/RaceValidator.java b/src/main/java/electrosphere/server/macro/character/race/RaceValidator.java similarity index 94% rename from src/main/java/electrosphere/server/macro/race/RaceValidator.java rename to src/main/java/electrosphere/server/macro/character/race/RaceValidator.java index 95cba42d..a7d81af9 100644 --- a/src/main/java/electrosphere/server/macro/race/RaceValidator.java +++ b/src/main/java/electrosphere/server/macro/character/race/RaceValidator.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.race; +package electrosphere.server.macro.character.race; import electrosphere.data.Config; diff --git a/src/main/java/electrosphere/server/macro/civilization/Civilization.java b/src/main/java/electrosphere/server/macro/civilization/Civilization.java index 29a2924a..2e57ed6d 100644 --- a/src/main/java/electrosphere/server/macro/civilization/Civilization.java +++ b/src/main/java/electrosphere/server/macro/civilization/Civilization.java @@ -6,9 +6,9 @@ import java.util.stream.Collectors; import electrosphere.engine.Globals; import electrosphere.server.macro.MacroData; -import electrosphere.server.macro.town.Town; import electrosphere.server.macro.character.Character; -import electrosphere.server.macro.race.Race; +import electrosphere.server.macro.character.race.Race; +import electrosphere.server.macro.civilization.town.Town; /** * A civilization diff --git a/src/main/java/electrosphere/server/macro/civilization/CivilizationGenerator.java b/src/main/java/electrosphere/server/macro/civilization/CivilizationGenerator.java index 37a221e8..c9c7cb5a 100644 --- a/src/main/java/electrosphere/server/macro/civilization/CivilizationGenerator.java +++ b/src/main/java/electrosphere/server/macro/civilization/CivilizationGenerator.java @@ -5,8 +5,8 @@ import org.joml.Vector3d; import electrosphere.data.Config; import electrosphere.server.datacell.ServerWorldData; import electrosphere.server.macro.MacroData; -import electrosphere.server.macro.race.Race; -import electrosphere.server.macro.town.Town; +import electrosphere.server.macro.character.race.Race; +import electrosphere.server.macro.civilization.town.Town; import electrosphere.server.physics.terrain.manager.ServerTerrainChunk; /** diff --git a/src/main/java/electrosphere/server/macro/civilization/culture/Culture.java b/src/main/java/electrosphere/server/macro/civilization/culture/Culture.java new file mode 100644 index 00000000..4d181ca5 --- /dev/null +++ b/src/main/java/electrosphere/server/macro/civilization/culture/Culture.java @@ -0,0 +1,5 @@ +package electrosphere.server.macro.civilization.culture; + +public class Culture { + +} diff --git a/src/main/java/electrosphere/server/macro/civilization/culture/Ritual.java b/src/main/java/electrosphere/server/macro/civilization/culture/Ritual.java new file mode 100644 index 00000000..7c30fe4b --- /dev/null +++ b/src/main/java/electrosphere/server/macro/civilization/culture/Ritual.java @@ -0,0 +1,5 @@ +package electrosphere.server.macro.civilization.culture; + +public class Ritual { + +} diff --git a/src/main/java/electrosphere/server/macro/culture/religion/Religion.java b/src/main/java/electrosphere/server/macro/civilization/culture/religion/Religion.java similarity index 67% rename from src/main/java/electrosphere/server/macro/culture/religion/Religion.java rename to src/main/java/electrosphere/server/macro/civilization/culture/religion/Religion.java index 8c59fc5e..00f7cd6c 100644 --- a/src/main/java/electrosphere/server/macro/culture/religion/Religion.java +++ b/src/main/java/electrosphere/server/macro/civilization/culture/religion/Religion.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.culture.religion; +package electrosphere.server.macro.civilization.culture.religion; import java.util.List; diff --git a/src/main/java/electrosphere/server/macro/culture/religion/Story.java b/src/main/java/electrosphere/server/macro/civilization/culture/religion/Story.java similarity index 82% rename from src/main/java/electrosphere/server/macro/culture/religion/Story.java rename to src/main/java/electrosphere/server/macro/civilization/culture/religion/Story.java index 1844a7da..8ec7fd61 100644 --- a/src/main/java/electrosphere/server/macro/culture/religion/Story.java +++ b/src/main/java/electrosphere/server/macro/civilization/culture/religion/Story.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.culture.religion; +package electrosphere.server.macro.civilization.culture.religion; /** * diff --git a/src/main/java/electrosphere/server/macro/culture/religion/StoryDataStrings.java b/src/main/java/electrosphere/server/macro/civilization/culture/religion/StoryDataStrings.java similarity index 95% rename from src/main/java/electrosphere/server/macro/culture/religion/StoryDataStrings.java rename to src/main/java/electrosphere/server/macro/civilization/culture/religion/StoryDataStrings.java index 9ec312f5..b3f6803b 100644 --- a/src/main/java/electrosphere/server/macro/culture/religion/StoryDataStrings.java +++ b/src/main/java/electrosphere/server/macro/civilization/culture/religion/StoryDataStrings.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.culture.religion; +package electrosphere.server.macro.civilization.culture.religion; /** * Story data strings diff --git a/src/main/java/electrosphere/server/macro/town/Town.java b/src/main/java/electrosphere/server/macro/civilization/town/Town.java similarity index 99% rename from src/main/java/electrosphere/server/macro/town/Town.java rename to src/main/java/electrosphere/server/macro/civilization/town/Town.java index faf7e742..e0ce9b48 100644 --- a/src/main/java/electrosphere/server/macro/town/Town.java +++ b/src/main/java/electrosphere/server/macro/civilization/town/Town.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.town; +package electrosphere.server.macro.civilization.town; import electrosphere.engine.Globals; import electrosphere.server.macro.MacroData; diff --git a/src/main/java/electrosphere/server/macro/town/TownJob.java b/src/main/java/electrosphere/server/macro/civilization/town/TownJob.java similarity index 96% rename from src/main/java/electrosphere/server/macro/town/TownJob.java rename to src/main/java/electrosphere/server/macro/civilization/town/TownJob.java index 0513d715..5fb1585d 100644 --- a/src/main/java/electrosphere/server/macro/town/TownJob.java +++ b/src/main/java/electrosphere/server/macro/civilization/town/TownJob.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.town; +package electrosphere.server.macro.civilization.town; import electrosphere.server.macro.structure.VirtualStructure; diff --git a/src/main/java/electrosphere/server/macro/town/TownLayout.java b/src/main/java/electrosphere/server/macro/civilization/town/TownLayout.java similarity index 99% rename from src/main/java/electrosphere/server/macro/town/TownLayout.java rename to src/main/java/electrosphere/server/macro/civilization/town/TownLayout.java index 7a3418b7..28bc2a7f 100644 --- a/src/main/java/electrosphere/server/macro/town/TownLayout.java +++ b/src/main/java/electrosphere/server/macro/civilization/town/TownLayout.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.town; +package electrosphere.server.macro.civilization.town; import java.util.LinkedList; import java.util.List; @@ -15,9 +15,9 @@ import electrosphere.engine.Globals; import electrosphere.logger.LoggerInterface; import electrosphere.server.datacell.Realm; import electrosphere.server.macro.MacroData; +import electrosphere.server.macro.character.race.Race; import electrosphere.server.macro.civilization.Civilization; import electrosphere.server.macro.civilization.road.Road; -import electrosphere.server.macro.race.Race; import electrosphere.server.macro.region.MacroRegion; import electrosphere.server.macro.structure.VirtualStructure; import electrosphere.util.math.HashUtils; diff --git a/src/main/java/electrosphere/server/macro/town/TownPopulator.java b/src/main/java/electrosphere/server/macro/civilization/town/TownPopulator.java similarity index 93% rename from src/main/java/electrosphere/server/macro/town/TownPopulator.java rename to src/main/java/electrosphere/server/macro/civilization/town/TownPopulator.java index 36c1704f..8c70befd 100644 --- a/src/main/java/electrosphere/server/macro/town/TownPopulator.java +++ b/src/main/java/electrosphere/server/macro/civilization/town/TownPopulator.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.town; +package electrosphere.server.macro.civilization.town; import java.util.List; import java.util.Random; @@ -12,7 +12,7 @@ import electrosphere.server.datacell.Realm; import electrosphere.server.macro.MacroData; import electrosphere.server.macro.character.Character; import electrosphere.server.macro.character.CharacterUtils; -import electrosphere.server.macro.race.Race; +import electrosphere.server.macro.character.race.Race; import electrosphere.server.macro.structure.VirtualStructure; import electrosphere.server.service.CharacterService; diff --git a/src/main/java/electrosphere/server/macro/town/TownSimulator.java b/src/main/java/electrosphere/server/macro/civilization/town/TownSimulator.java similarity index 83% rename from src/main/java/electrosphere/server/macro/town/TownSimulator.java rename to src/main/java/electrosphere/server/macro/civilization/town/TownSimulator.java index 0d451a19..7bb105c6 100644 --- a/src/main/java/electrosphere/server/macro/town/TownSimulator.java +++ b/src/main/java/electrosphere/server/macro/civilization/town/TownSimulator.java @@ -1,4 +1,4 @@ -package electrosphere.server.macro.town; +package electrosphere.server.macro.civilization.town; /** * Simulates town diff --git a/src/main/java/electrosphere/server/macro/culture/Culture.java b/src/main/java/electrosphere/server/macro/culture/Culture.java deleted file mode 100644 index 3dc88928..00000000 --- a/src/main/java/electrosphere/server/macro/culture/Culture.java +++ /dev/null @@ -1,5 +0,0 @@ -package electrosphere.server.macro.culture; - -public class Culture { - -} diff --git a/src/main/java/electrosphere/server/macro/culture/Ritual.java b/src/main/java/electrosphere/server/macro/culture/Ritual.java deleted file mode 100644 index bc1268f5..00000000 --- a/src/main/java/electrosphere/server/macro/culture/Ritual.java +++ /dev/null @@ -1,5 +0,0 @@ -package electrosphere.server.macro.culture; - -public class Ritual { - -} diff --git a/src/main/java/electrosphere/server/macro/spatial/path/MacroPathCache.java b/src/main/java/electrosphere/server/macro/spatial/path/MacroPathCache.java new file mode 100644 index 00000000..085aeb0e --- /dev/null +++ b/src/main/java/electrosphere/server/macro/spatial/path/MacroPathCache.java @@ -0,0 +1,53 @@ +package electrosphere.server.macro.spatial.path; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import electrosphere.util.annotation.Exclude; + +/** + * A storage object for macro path nodes + */ +public class MacroPathCache { + + /** + * The nodes in the cache + */ + private List nodes = new LinkedList(); + + + /** + * Map of node id -> node + */ + @Exclude + private Map idNodeMap = new HashMap(); + + /** + * Reconstructs the datastructures for this cache after deserialization + */ + public void reconstruct(){ + for(MacroPathNode node : nodes){ + this.idNodeMap.put(node.getId(),node); + } + } + + /** + * Gets the nodes in this cache + * @return The list of nodes + */ + public List getNodes() { + return nodes; + } + + /** + * Gets a node by its id + * @param id The id + * @return The corresponding node if it exists, null otherwise + */ + public MacroPathNode getNodeById(int id){ + return idNodeMap.get(id); + } + +} diff --git a/src/main/java/electrosphere/server/macro/spatial/path/MacroPathNode.java b/src/main/java/electrosphere/server/macro/spatial/path/MacroPathNode.java new file mode 100644 index 00000000..9eb1c5d4 --- /dev/null +++ b/src/main/java/electrosphere/server/macro/spatial/path/MacroPathNode.java @@ -0,0 +1,214 @@ +package electrosphere.server.macro.spatial.path; + +import java.util.LinkedList; +import java.util.List; +import java.util.stream.Collectors; + +import org.joml.Vector3d; + +import electrosphere.server.macro.structure.VirtualStructure; + +/** + * A macro pathfinding node + */ +public class MacroPathNode { + + // + // Node types + // + + /** + * A node that represents a point in a node + */ + private static final int TYPE_ROAD_NODE = 0; + + /** + * A node that represents a structure + */ + private static final int TYPE_VIRTUAL_STRUCTURE = 1; + + + // + // cost values + // + + /** + * Cost of a virtual structure + */ + private static final int COST_VIRTUAL_STRUCTURE = 10; + + /** + * Cost of a road node + */ + private static final int COST_ROAD_NODE = 1; + + + // + // node data + // + + /** + * The id of this node + */ + private int id; + + /** + * The id of the object that this node corresponds to + */ + private int objectId; + + /** + * The type of object at the node + */ + private int objectType; + + /** + * The ids of neighboring path nodes + */ + private List neighborNodes = new LinkedList(); + + /** + * The position of the node + */ + private Vector3d position; + + /** + * The cost of this node + */ + private int cost; + + /** + * Private constructor + */ + private MacroPathNode(){ } + + /** + * Creates a macro path node + * @param cache The path cache + * @param correspondingObject The object that this pathing node corresponds to + * @param position The position of this node + * @return The macro path node + */ + public static MacroPathNode create(MacroPathCache cache, Object correspondingObject, Vector3d position){ + MacroPathNode rVal = new MacroPathNode(); + rVal.setId(cache.getNodes().size()); + cache.getNodes().add(rVal); + + //set data on the node + rVal.position = position; + + //set data based on corresponding object + if(correspondingObject instanceof VirtualStructure structObj){ + rVal.cost = COST_VIRTUAL_STRUCTURE; + rVal.objectId = structObj.getId(); + rVal.objectType = TYPE_VIRTUAL_STRUCTURE; + } else { + throw new Error("Unsupported object type! " + correspondingObject); + } + + return rVal; + } + + /** + * Creates a macro path node that represents a node in a road + * @param cache The path cache + * @param position The position of this node + * @return The macro path node + */ + public static MacroPathNode createRoadNode(MacroPathCache cache, Vector3d position){ + MacroPathNode rVal = new MacroPathNode(); + rVal.setId(cache.getNodes().size()); + cache.getNodes().add(rVal); + + //set data on the node + rVal.position = position; + + //set data based on corresponding object + rVal.cost = COST_ROAD_NODE; + rVal.objectType = TYPE_ROAD_NODE; + + return rVal; + } + + /** + * Gets the associated id + * @return + */ + public int getId() { + return id; + } + + /** + * Sets the id of this path node + * @param id The id of this path node + */ + public void setId(int id) { + this.id = id; + } + + /** + * Gets the type of the object associated with this node + * @return The type of the object + */ + public int getObjectType() { + return objectType; + } + + /** + * Sets the type of the object associated with this node + * @param type The type of the object + */ + public void setObjectType(int type) { + this.objectType = type; + } + + /** + * Gets the id of the object associated with this node + * @return The id of the object + */ + public int getObjectId() { + return objectId; + } + + /** + * Sets the id of the object associated with this node + * @param objectId The id of the object + */ + public void setObjectId(int objectId) { + this.objectId = objectId; + } + + /** + * Gets the list of node ids that are neighbors to this node + * @param cache The pathing cache + * @return The list of node ids + */ + public List getNeighborNodes(MacroPathCache cache) { + return this.neighborNodes.stream().map((Integer id) -> cache.getNodeById(objectId)).collect(Collectors.toList()); + } + + /** + * Adds a neighbor to this node + * @param neighbor The neighbor + */ + public void addNeighbor(MacroPathNode neighbor){ + this.neighborNodes.add(neighbor.getId()); + } + + /** + * Gets the position of the node + * @return The position of the node + */ + public Vector3d getPosition() { + return position; + } + + /** + * Gets the cost of the node + * @return The cost of the node + */ + public int getCost() { + return cost; + } + +} diff --git a/src/main/java/electrosphere/server/physics/terrain/generation/ProceduralChunkGenerator.java b/src/main/java/electrosphere/server/physics/terrain/generation/ProceduralChunkGenerator.java index daccad40..da123454 100644 --- a/src/main/java/electrosphere/server/physics/terrain/generation/ProceduralChunkGenerator.java +++ b/src/main/java/electrosphere/server/physics/terrain/generation/ProceduralChunkGenerator.java @@ -14,10 +14,10 @@ import electrosphere.data.voxel.sampler.SamplerFile; import electrosphere.engine.Globals; import electrosphere.server.datacell.ServerWorldData; import electrosphere.server.macro.civilization.road.Road; +import electrosphere.server.macro.civilization.town.Town; import electrosphere.server.macro.region.MacroRegion; import electrosphere.server.macro.spatial.MacroObject; import electrosphere.server.macro.structure.VirtualStructure; -import electrosphere.server.macro.town.Town; import electrosphere.server.physics.terrain.generation.heightmap.EmptySkyGen; import electrosphere.server.physics.terrain.generation.heightmap.HeightmapGenerator; import electrosphere.server.physics.terrain.generation.heightmap.HeightmapNoiseGen; diff --git a/src/main/java/electrosphere/server/physics/terrain/manager/ChunkGenerationThread.java b/src/main/java/electrosphere/server/physics/terrain/manager/ChunkGenerationThread.java index 6be5da56..5900c468 100644 --- a/src/main/java/electrosphere/server/physics/terrain/manager/ChunkGenerationThread.java +++ b/src/main/java/electrosphere/server/physics/terrain/manager/ChunkGenerationThread.java @@ -13,11 +13,11 @@ import electrosphere.engine.Globals; import electrosphere.logger.LoggerInterface; import electrosphere.server.datacell.ServerWorldData; import electrosphere.server.macro.MacroData; +import electrosphere.server.macro.civilization.town.Town; import electrosphere.server.macro.spatial.MacroAreaObject; import electrosphere.server.macro.spatial.MacroLODObject; import electrosphere.server.macro.spatial.MacroObject; import electrosphere.server.macro.structure.VirtualStructure; -import electrosphere.server.macro.town.Town; import electrosphere.server.physics.terrain.diskmap.ChunkDiskMap; import electrosphere.server.physics.terrain.generation.interfaces.ChunkGenerator; diff --git a/src/main/java/electrosphere/server/simulation/MacroSimulation.java b/src/main/java/electrosphere/server/simulation/MacroSimulation.java index 699cfe19..9361318a 100644 --- a/src/main/java/electrosphere/server/simulation/MacroSimulation.java +++ b/src/main/java/electrosphere/server/simulation/MacroSimulation.java @@ -5,8 +5,8 @@ import java.util.List; import electrosphere.engine.Globals; import electrosphere.server.datacell.Realm; import electrosphere.server.macro.character.Character; -import electrosphere.server.macro.town.Town; -import electrosphere.server.macro.town.TownSimulator; +import electrosphere.server.macro.civilization.town.Town; +import electrosphere.server.macro.civilization.town.TownSimulator; import electrosphere.server.service.CharacterService; import electrosphere.server.simulation.chara.CharaSimulation; diff --git a/src/main/java/electrosphere/server/simulation/chara/CharaSimulation.java b/src/main/java/electrosphere/server/simulation/chara/CharaSimulation.java index fe3a4643..a2ef7e72 100644 --- a/src/main/java/electrosphere/server/simulation/chara/CharaSimulation.java +++ b/src/main/java/electrosphere/server/simulation/chara/CharaSimulation.java @@ -12,8 +12,8 @@ import electrosphere.server.macro.character.CharacterUtils; import electrosphere.server.macro.character.data.CharacterDataStrings; import electrosphere.server.macro.character.goal.CharacterGoal; import electrosphere.server.macro.character.goal.CharacterGoal.CharacterGoalType; +import electrosphere.server.macro.civilization.town.Town; import electrosphere.server.macro.structure.VirtualStructure; -import electrosphere.server.macro.town.Town; import electrosphere.server.macro.utils.StructurePlacementUtils; import electrosphere.server.macro.utils.StructureRepairUtils; import electrosphere.util.FileUtils;