개인 자료란 (JE)

  서버 커뮤니티

Profile 새내기플러그인개발자 대표칭호 없음
Profile

질문하기 Java

화살 연속 발사 플러그인 이거 간격을 어케 줘야하나요 ㅠㅠㅠ

2021.07.17 조회 수 176 추천 수 0
이해도 플러그인 
게임버전 (JE) 버킷 

이거를 어케 해야지 간격을 줄 수 있을까요 ㅠㅠㅠㅠㅠ아시는 분은 코드랑 그 이유도 알려주실 수 있나요

밑에 pr.setDamage 아래요 ㅠㅠㅠ

package test.test;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Player;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.plugin.java.JavaPlugin;

public class Continuous_Firing_Arrow implements CommandExecutor{
    JavaPlugin plugin;
    public Continuous_Firing_Arrow(JavaPlugin plugin) {
        this.plugin = plugin;   //메타데이터를 위해 플러그인 객체를 갖고 있어야 함
    }
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {  //명령어 실행 시
        if(sender instanceof Player) {  //명령어 사용자가 플레이어인 경우
            Player player = (Player)sender; //명령어 사용자 객체를 플레이어 객체로 변환할 수 있다
            for(int i = 0; i < 15; i++) {
                //화살을 수평으로 15개 발사
                Arrow pr = player.launchProjectile(Arrow.class, player.getLocation().getDirection().multiply(3));
                pr.setMetadata("cfarrow", new FixedMetadataValue(plugin, true));    //생성된 화살에 명령어로 생성되었다는 것을 표시
                pr.setGravity(false);   //중력의 영향을 받지 않게 설정하여 낙차가 없게 함
                pr.setCritical(true);   //화살의 이펙트를 위해 크리티컬 판정을 설정
                pr.setDamage(10);       //화살 피격 시 10대미지를 받도록 설정 (일반 플레이어 체력의 반)

            }
            return true;    //true값을 반환하면 명령어가 성공한 것으로 간주
        }
        else if(sender instanceof ConsoleCommandSender) {   //명령어 사용자가 콘솔인 경우
            sender.sendMessage("콘솔에서는 이 명령어를 실행할 수 없습니다.");
            return false;   //false값을 반환하면 명령어가 실패한 것으로 간주
        }
        return false;   //false값을 반환하면 명령어가 실패한 것으로 간주
    }
}

2개의 댓글

허두
2021.07.17

버킷 스케쥴러를 사용하시면 될거같아용!


버킷 스케쥴러가 뭐임? >> https://www.koreaminecraft.net/dev_lecture/1467419

어떻게 쓰는거임? 1 >> https://alpreah.tistory.com/90

어떻게 쓰는거임? 2 >> https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=henry9487&logNo=220309916392

스케쥴러 함수 목록 >> https://www.koreaminecraft.net/hkdev/2025400

@허두

감사합니다!

성공했어용!