50 lines
1.4 KiB
Java
50 lines
1.4 KiB
Java
![]() |
package net.pivipi;
|
||
|
|
||
|
import net.minestom.server.coordinate.Pos;
|
||
|
import net.minestom.server.entity.GameMode;
|
||
|
import net.minestom.server.entity.Player;
|
||
|
import net.minestom.server.event.GlobalEventHandler;
|
||
|
import net.minestom.server.event.player.AsyncPlayerConfigurationEvent;
|
||
|
import net.minestom.server.event.player.PlayerSpawnEvent;
|
||
|
import net.minestom.server.instance.Instance;
|
||
|
import net.pivipi.ball.Ball;
|
||
|
|
||
|
public class LoginHandler {
|
||
|
private final Instance spawningInstance;
|
||
|
|
||
|
public LoginHandler(Instance spawningInstance) {
|
||
|
this.spawningInstance = spawningInstance;
|
||
|
}
|
||
|
|
||
|
public void setup(GlobalEventHandler globalEventHandler) {
|
||
|
globalEventHandler.addListener(
|
||
|
AsyncPlayerConfigurationEvent.class,
|
||
|
event -> onLogin(event)
|
||
|
);
|
||
|
|
||
|
globalEventHandler.addListener(
|
||
|
PlayerSpawnEvent.class,
|
||
|
event -> onSpawn(event)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
private void onLogin(AsyncPlayerConfigurationEvent event) {
|
||
|
Player player = event.getPlayer();
|
||
|
|
||
|
event.setSpawningInstance(spawningInstance);
|
||
|
event.setHardcore(true);
|
||
|
|
||
|
player.setRespawnPoint(new Pos(0, 5, 0));
|
||
|
}
|
||
|
|
||
|
private void onSpawn(PlayerSpawnEvent event) {
|
||
|
Player player = event.getPlayer();
|
||
|
|
||
|
player.setGameMode(GameMode.CREATIVE);
|
||
|
|
||
|
Ball ball = new Ball();
|
||
|
ball.setInstance(event.getInstance());
|
||
|
ball.teleport(new Pos(0.5, 10, 0.5));
|
||
|
}
|
||
|
}
|