Вход в систему для конечного измерения:
Код: Выделить всё
public void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) {
if (event.getEntity() instanceof ServerPlayer player && !player.level.isClientSide) {
ServerLevel endDimension = player.getServer().getLevel(Level.END);
if (endDimension == null) {
return;
}
if (player.level.dimension() != Level.END) {
if (sharedSpawnPosition == null) {
sharedSpawnPosition = findSafeIslandPosition(endDimension);
}
BlockPos spawnPos = addRandomOffset(sharedSpawnPosition);
setPlayerRespawnPoint(player, Level.END, sharedSpawnPosition);
player.changeDimension(endDimension);
player.teleportTo(spawnPos.getX() + 0.5, spawnPos.getY(), spawnPos.getZ() + 0.5);
}
}
}
Код: Выделить всё
public void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) {
if (event.getEntity() instanceof ServerPlayer player && !player.level.isClientSide) {
ServerLevel netherDimension = player.getServer().getLevel(Level.NETHER);
if (netherDimension == null) {
return;
}
if (player.level.dimension() != Level.NETHER) {
if (sharedSpawnPosition == null) {
sharedSpawnPosition = findSafeIslandPosition(netherDimension);
}
BlockPos spawnPos = addRandomOffset(sharedSpawnPosition);
setPlayerRespawnPoint(player, Level.NETHER, sharedSpawnPosition);
player.changeDimension(netherDimension);
player.teleportTo(spawnPos.getX() + 0.5, spawnPos.getY(), spawnPos.getZ() + 0.5);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... the-nether
Мобильная версия