Added AcidRain game

This commit is contained in:
2023-10-03 22:25:47 +02:00
parent 8ef61e0880
commit d9bbaf9865
5 changed files with 183 additions and 2 deletions

View File

@@ -1,11 +1,11 @@
package eu.mhsl.minenet.minigames.util;
public class RangeMap {
public static double map(double oldValue, double oldMin, double oldMax, double newMin, double newMax) {
public static long map(double oldValue, double oldMin, double oldMax, double newMin, double newMax) {
double out = (((oldValue - oldMin) * (newMax - newMin)) / (oldMax - oldMin)) + newMin;
if(out > newMax) out = newMax;
if(out < newMin) out = newMin;
return out;
return (long) out;
}
}

View File

@@ -0,0 +1,29 @@
package eu.mhsl.minenet.minigames.util;
import net.minestom.server.MinecraftServer;
import net.minestom.server.entity.Player;
import net.minestom.server.network.packet.server.play.ChangeGameStatePacket;
import net.minestom.server.timer.ExecutionType;
import net.minestom.server.timer.TaskSchedule;
import java.util.Set;
public class WeatherUtils {
private float intensity;
public void startRain(Set<Player> players) {
intensity = 0;
players.forEach(p -> p.sendPacket(new ChangeGameStatePacket(ChangeGameStatePacket.Reason.BEGIN_RAINING, 0f)));
MinecraftServer.getSchedulerManager().submitTask(() -> {
intensity += 0.1f;
players.forEach(p -> p.sendPacket(new ChangeGameStatePacket(ChangeGameStatePacket.Reason.RAIN_LEVEL_CHANGE, intensity)));
System.out.println(intensity);
if(intensity < 1) {
return TaskSchedule.millis(500);
} else {
return TaskSchedule.stop();
}
}, ExecutionType.ASYNC);
}
}