d1092
대표칭호 없음
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.19.2 |
게임버전 (BE) | 관련없음 |
1초마다 한번 씩 in 변수에 1씩 더하고 그 in 변수가 보이게 할려고 하는데 서버가 터집니다
for (int d = 0; d<10; d++) { player.sendMessage(String.valueOf(in)); in++; try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } } }
작은거인
2023.02.12마인크래프트는 싱글스레드입니다.
따라서 저렇게 작성을 할 경우 메인 스레드에서 반복문이 실행되어 터지게 됩니다.
BukkitScheduler로 비동기적으로 하시든지, 아니면 1초마다 반복하는 Runnable을 만들든지 하셔야 되요!
윈초
2023.02.12버킷에서 자바 프로그램 짜듯이 저렇게 작성하시면 버킷도 같이 1초간 멈춰요.
그래서 버킷엔 스케쥴러라는 기능이 있는데, 이걸 사용하시는걸 추천드릴게요.
d1092
2023.02.12버킷 스케쥴러를 스피곳에서 사용할 수 있을까요?
윈초
2023.02.19넵. spigot을 포함한 모든 버킷에서 사용할 수 있습니다.
0reo
2023.02.12버킷이 싱글쓰레드라 재우면 서버 죽습니다