개인 자료란 (JE)

  서버 커뮤니티

Profile Resen 대표칭호 없음
Profile

질문하기 Java

마인크래프트 플러그인 질문

2022.05.04 조회 수 697 추천 수 0
이해도 플러그인 
게임버전 (JE) 기타 

플러그인 관련 질문드립니다

최근에 마크 플러그인에 대해 재미가 들려서 배우고있는데 아무리 찾아도 제대로된 방법을 찾을수가 없어서 질문합니다 

플레이어가 특정 아이템으로 데미지를 주었을때 추가 데미지를 주는 형식의 코드를 짤수있나요?


3개의 댓글

MineStar
2022.05.04
public class TestEvent implements Listener {

    Map<ItemStack, Integer> itemAttackDamage;

    @EventHandler
    public void attackEntity(EntityDamageByEntityEvent e) {
        if (!(e.getEntity() instanceof Player)) return;
        Player player = (Player) e.getEntity();

        Integer newDamage = itemAttackDamage.get(player.getInventory().getItemInMainHand());
        if (newDamage == null) return;

        e.setDamage(newDamage);
    }
}

 

이벤트 클래스에 위 코드 처럼 사용하시면 됩니다.

Vencodor
2022.06.04
@MineStar

Map의 Key값에 저장된 ItemStack과 #getItemInMainHand() 에서 반환되는 ItemStack은 같은 아이템일지라도 두 변수의 메모리 위치가 달라 #get 에서는 Null이 반환될겁니다

qsef1256
2022.05.06

~ 할 때 라는건 플러그인에서는 이벤트로 처리됩니다.

~ 인지는 그냥 if 하시면 되고요.

~ 를 한다 라는건 메서드를 찾으시면 됩니다.

뉴스 및 창작물
/files/thumbnails/308/815/003/262x150.crop.jpg?20240617084353

레드스톤

[피아노커버] 디스코드 - QWER

노트블럭전문가

2024-06-17

0

/files/thumbnails/932/812/003/262x150.crop.jpg?20240616121638

업데이트

마인크래프트 1.21 정식 업데이트

학교가기싫다

2024-06-14

1

/files/thumbnails/308/805/003/262x150.crop.jpg?20240605201646

레드스톤

[노트블럭 커버] 팬서비스/mona 【 HoneyWorks 】

노트블럭전문가

2024-06-05

0

/files/thumbnails/288/791/003/262x150.crop.jpg?20240602150002

아티클

《까다로운 시련》 업데이트 날짜 공개 및 정보

학교가기싫다

2024-06-02

0

/files/thumbnails/841/773/003/262x150.crop.jpg?20240526120908

레드스톤

마인크래프트 노트블록버전 『 봄을 고하다 (春を告げる) 』 [더블옥타브 버전]

노트블럭전문가

2024-05-26

0