From 962ecb1996f132060c491b4bc6b4205608785bf8 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sat, 15 Mar 2025 10:42:45 +0700 Subject: [PATCH 1/2] Use nextDouble() because PRNG provides 64 bit numbers --- .../kotlin/ru/dbotthepony/mc/otm/entity/SpawnModifiers.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/SpawnModifiers.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/SpawnModifiers.kt index d7d1bb5d4..c40ff4f28 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/SpawnModifiers.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/SpawnModifiers.kt @@ -17,8 +17,8 @@ object WitheredSkeletonSpawnHandler { val entity = event.entity if (entity is WitherSkeleton) { - val giveHelmet = event.level.otmRandom.nextFloat() < ServerConfig.WITHER_SKELETON_HELMET_CHANCE - val giveSword = event.level.otmRandom.nextFloat() < ServerConfig.WITHER_SKELETON_SWORD_CHANCE + val giveHelmet = event.level.otmRandom.nextDouble() < ServerConfig.WITHER_SKELETON_HELMET_CHANCE + val giveSword = event.level.otmRandom.nextDouble() < ServerConfig.WITHER_SKELETON_SWORD_CHANCE if (giveHelmet) { if (!entity.hasItemInSlot(EquipmentSlot.HEAD)) From f599f1c2b983b1426e8c23dcb93505867fda448a Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sat, 15 Mar 2025 13:23:34 +0700 Subject: [PATCH 2/2] Fix saturation going negative --- src/main/kotlin/ru/dbotthepony/mc/otm/player/MatteryFoodData.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/player/MatteryFoodData.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/player/MatteryFoodData.kt index 62b9a8e82..9f442d2df 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/player/MatteryFoodData.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/player/MatteryFoodData.kt @@ -79,7 +79,7 @@ class MatteryFoodData(private var player: Player) : FoodData() { if (saturationLevel > 0f) { val satisfied = min(saturationLevel.roundToInt(), points) points -= satisfied - saturationLevel -= satisfied + saturationLevel = max(0f, saturationLevel - satisfied) } foodLevel = max(0, foodLevel - points)