Skip to content

Commit bb6485e

Browse files
committed
Smoother player radiation change
1 parent 7d54dbe commit bb6485e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/main/java/igentuman/nc/radiation/data/PlayerRadiation.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,16 @@ public void updateRadiation(Level level, LivingEntity player) {
102102
int chunkRadiation = worldRadiation.getChunkRadiation(player.chunkPosition().x, player.chunkPosition().z);
103103
double intensityMult = Math.max(0.5, Math.sqrt(chunkRadiation / 1000000.0));
104104
double shieldingRate = Math.max(0.001, 0.7 - getRadiationShielding(player)/100.0);
105+
long wasRadiation = radiation;
105106
if(chunkRadiation > radiation) {
106-
radiation = (int) (((chunkRadiation + radiation)/2D * intensityMult * RADIATION_CONFIG.GAIN_SPEED_FOR_PLAYER.get()) * shieldingRate + radiation);
107+
radiation = (int) (((chunkRadiation + radiation)/1.1D * intensityMult * RADIATION_CONFIG.GAIN_SPEED_FOR_PLAYER.get()) * shieldingRate + radiation);
107108
} else {
108-
radiation = (int) (((chunkRadiation + radiation)/5D * intensityMult * RADIATION_CONFIG.GAIN_SPEED_FOR_PLAYER.get()) * shieldingRate + radiation);
109+
radiation = (int) (((chunkRadiation + radiation)/3D * intensityMult * RADIATION_CONFIG.GAIN_SPEED_FOR_PLAYER.get()) * shieldingRate + radiation);
109110
}
110111
if(player instanceof Player) {
111112
radiation += (int) (getInventoryRadiation((Player) player) * shieldingRate);
112113
}
114+
radiation = (wasRadiation + radiation)/2;
113115
radiation -= (int) decaySpeed;
114116
radiation = Math.min(maxPlayerRadiation, Math.max(0, radiation));
115117
assert player instanceof Player;

0 commit comments

Comments
 (0)