migrated to Gradle and Minestom 2026.10.05-26.2
- Maven -> Gradle 9.6.1 (shadow 9.6.1, Java 25), shadow jar is build/libs/limbo.jar - Minestom from Maven Central (net.minestom:minestom), speaks Minecraft 26.2 natively - Velocity forwarding via Auth.Velocity; the secret is no longer hardcoded but read from forwarding.secret in the working directory or VELOCITY_FORWARDING_SECRET - time rate via defaultClock().pause() (new clock API) - slf4j-simple for logging (Minestom no longer ships a logger) - removed target/ and Maven files from the repository - uploadLimbo task copies the jar to the limbo server Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ead09520d9
commit
8e046c8603
22 files changed
+414
-138
No files matched your search
@@ -1,6 +1,7 @@
|
||||
package eu.mhsl.minecraft.endlessjumper;
|
||||
|
||||
import eu.mhsl.minecraft.endlessjumper.generator.JumpGenerator;
|
||||
import net.minestom.server.Auth;
|
||||
import net.minestom.server.MinecraftServer;
|
||||
import net.minestom.server.coordinate.Pos;
|
||||
import net.minestom.server.entity.Player;
|
||||
@@ -10,17 +11,19 @@ import net.minestom.server.event.player.AsyncPlayerConfigurationEvent;
|
||||
import net.minestom.server.event.player.PlayerBlockBreakEvent;
|
||||
import net.minestom.server.event.player.PlayerDisconnectEvent;
|
||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||
import net.minestom.server.extras.velocity.VelocityProxy;
|
||||
import net.minestom.server.instance.InstanceContainer;
|
||||
import net.minestom.server.instance.InstanceManager;
|
||||
import net.minestom.server.instance.block.Block;
|
||||
import net.minestom.server.timer.TaskSchedule;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class EndlessJumper {
|
||||
public static void main(String[] args) {
|
||||
MinecraftServer server = MinecraftServer.init();
|
||||
public static void main(String[] args) throws IOException {
|
||||
MinecraftServer server = MinecraftServer.init(new Auth.Velocity(readForwardingSecret()));
|
||||
InstanceManager instanceManager = MinecraftServer.getInstanceManager();
|
||||
GlobalEventHandler eventHandler = MinecraftServer.getGlobalEventHandler();
|
||||
PlayerSkin skin = PlayerSkin.fromUsername("Notch");
|
||||
@@ -37,7 +40,7 @@ public class EndlessJumper {
|
||||
Pos startingAt = new Pos(0,100,0);
|
||||
world.setBlock(startingAt, Block.DIAMOND_BLOCK);
|
||||
|
||||
world.setTimeRate(0);
|
||||
world.defaultClock().pause();
|
||||
world.setTime(18000);
|
||||
|
||||
p.setSkin(skin);
|
||||
@@ -81,8 +84,18 @@ public class EndlessJumper {
|
||||
|
||||
eventHandler.addListener(PlayerDisconnectEvent.class, event -> games.remove(event.getPlayer()));
|
||||
|
||||
VelocityProxy.enable("iph0YHK9jNWZ");
|
||||
server.start("0.0.0.0", 25501);
|
||||
|
||||
}
|
||||
|
||||
// Wie bei Velocity: Secret aus forwarding.secret im Arbeitsverzeichnis, alternativ per Umgebungsvariable
|
||||
private static String readForwardingSecret() throws IOException {
|
||||
String fromEnv = System.getenv("VELOCITY_FORWARDING_SECRET");
|
||||
if(fromEnv != null && !fromEnv.isBlank()) return fromEnv.trim();
|
||||
|
||||
Path file = Path.of("forwarding.secret");
|
||||
if(!Files.exists(file))
|
||||
throw new IllegalStateException("forwarding.secret fehlt im Arbeitsverzeichnis (oder VELOCITY_FORWARDING_SECRET setzen)");
|
||||
return Files.readString(file).trim();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user