거너아나
전문해결사
Marlozing 75866ebd9ffa4b9ab322231112059268
이해도 | 입문자 |
---|---|
게임버전 (JE) | 1.18.2 |
게임버전 (BE) | 관련없음 |
new BukkitRunnable() {
@Override public void run() {
Mafia.시간 -=1; if(Mafia.시간 == 0){
Bukkit.getWorld("world").setTime(7000);
ItemStack skull = new ItemStack(Material.PLAYER_HEAD);
Integer num = 0;
for(Player p : Bukkit.getOnlinePlayers()) {
p.sendMessage("투표 시간입니다. 모두 투표해주세요.");
Mafia.time = 30;
if (!p.hasPotionEffect(PotionEffectType.INVISIBILITY)) {
SkullMeta meta = (SkullMeta) skull.getItemMeta();
meta.setOwningPlayer(p);
meta.setDisplayName(ChatColor.WHITE + p.getDisplayName());
skull.setItemMeta(meta);
Mafia.투표창.setItem(num, skull);
Mafia.투표.clear(); num += 1;
}
}
this.cancel();
}
}
}.runTaskTimer(plugin, 20L, 20L);
---Mafia.time이 0일때 20초 후 여기 있는 코드를 실행하고싶은데 어떻게 해야할까요
0reo
2022.11.02에디터에 코드인용있습니다..
거너아나
2022.11.02이상하게 코드인용 했는데 저렇게 써졌네요
이상하다
프로젝트
2022.11.02Mafia.time이 0일때 조건문을 하나 넣어서 runTaskLater() 메소드를 사용하면 될거예요. 그리고 BukkitRunnable 인스턴스를 생성하는것 보단 Bukkit.getScheduler()메소드를 써주는게 좋아요.
그리고 코드가 잘 안보이는데 코드 인용이랑 줄바꿈좀 해주시는게 좋을거 같아요.
qsef1256
2022.11.02https://www.spigotmc.org/threads/bukkitrunnable-vs-bukkitscheduler.126754/
제가 아는 건 정 반대입니다. 버킷 위키에서는 스케줄러 보다 BukkitRunnable 을 통한 호출을 권장하고 있습니다. BukkitRunnable 이 안 좋은 이유가 무엇인가요? 설령 위 내용이 잘못되었다고 해도 제가 보기에는 둘 다 똑같은 구현으로 보입니다.
프로젝트
2022.11.02아마도 BukkitScheduler에서 쓰는 BukkitRunnable이 deprecated 되어 있는걸 보고 착각한거 같습니다.
BukkitRunnable사용한다고 해서 상관은 없는거 같네요.