개인 자료란 (JE)

  서버 커뮤니티

Profile Resen 대표칭호 없음
Profile

질문하기 Java

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

2022.05.04 조회 수 696 추천 수 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/520/751/003/262x150.crop.jpg?20240328020349

레드스톤

마인크래프트 노트블록으로 만든 『 Bling‐Bang‐Bang‐Born 』 1

Sonttukk

2024-03-23

1

/files/thumbnails/467/742/003/262x150.crop.jpg?20240311163123

레드스톤

[노트블럭커버] MILGRAM -ミルグラム(밀그램)- / 아마네 「숙청 행진」 제 2심 2

리비온

2024-03-11

0

/files/thumbnails/846/741/003/262x150.crop.jpg?20240310221214

레드스톤

워든 vs 라마 200마리 1

GlassesFilm

2024-03-10

0

/files/thumbnails/542/739/003/262x150.crop.jpg?20240309070457

레드스톤

[고인의 명복을 빕니다][노트블럭]드래곤볼 GT 오프닝 - 점점 마음이 끌려

리비온

2024-03-09

0

/files/thumbnails/326/738/003/262x150.crop.jpg?20240328020414

레드스톤

마인크래프트 노트블록으로 만든 『 Build Our Machine 』

Sonttukk

2024-03-07

0