From 45e95f7f710e2421d09f99f866298418e076578f Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Mon, 2 Dec 2024 12:31:50 +0700 Subject: [PATCH] Implement dungeon breathable and gravity --- .../kstarbound/server/world/ServerWorld.kt | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/server/world/ServerWorld.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/server/world/ServerWorld.kt index 39b8e50e..7c064149 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/server/world/ServerWorld.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/server/world/ServerWorld.kt @@ -474,9 +474,9 @@ class ServerWorld private constructor( if (updated) { if (breathable != null) { - LOGGER.info("Dungeon ID $id breathable set to: $breathable") + LOGGER.info("Dungeon ID $id 'breathable' set to: $breathable") } else { - LOGGER.info("Dungeon ID $id no longer has special breathable flag") + LOGGER.info("Dungeon ID $id no longer has special 'breathable' flag") } broadcast(UpdateDungeonBreathablePacket(id, breathable)) @@ -716,7 +716,7 @@ class ServerWorld private constructor( var currentDungeonID = 0 // primary dungeons must be generated sequentially since they can get very large - // and to avoid dungeons colliding with each other, we must generate them first, one by one + // and to avoid dungeons colliding with each other, we must generate them one after another for (dungeon in template.gatherDungeons()) { var spawnDungeonRetries = Globals.worldServer.spawnDungeonRetries @@ -751,14 +751,8 @@ class ServerWorld private constructor( protectedDungeonIDsInternal.add(currentDungeonID) } - if (dungeon.dungeon.value.metadata.gravity != null) { - // TODO: set gravity here - } - - if (dungeon.dungeon.value.metadata.breathable != null) { - // TODO: set "breathable" here - } - + dungeon.dungeon.value.metadata.gravity?.map({ setDungeonGravity(currentDungeonID, it) }, { setDungeonGravity(currentDungeonID, it) }) + setDungeonBreathable(currentDungeonID, dungeon.dungeon.value.metadata.breathable) currentDungeonID++ break }