Kua
Kua's Miscellaneous
Kua
  • 분류 전체보기 (165) N
    • 대문 (2)
    • Tips (23)
      • Chrome (2)
      • Windows (3)
      • IDE (3)
      • 기타 (15)
    • CodingTest (44)
    • Language (19)
      • PHP (5)
      • C# (7)
      • Java (1)
      • Kotlin (6)
    • Framework & Runtime (12)
      • SpringBoot (8)
      • Node.js (2)
      • Vue.js (1)
      • Gradle (1)
    • DevOps (12)
      • Linux (1)
      • Docker (4)
      • Kubernetes (2)
      • Apache Kafka (1)
      • AWS (0)
    • 일상다반사 (42) N
      • 도서 (1)
      • 개발 (8)
      • 후기 (13) N
      • 방송통신대학교 (4)
      • 음식 (2)
    • Games (11)
      • Minecraft (7)
      • VR (2)
      • 그외 (2)

다른 링크

  • Github

최근 글

  • 로지텍코리아 MX Master 3S 페⋯
    2022.08.16
    로지텍코리아 MX Master 3S 페⋯
  • Jetbrains 가격 인상 공지와 저⋯
    2022.07.08
    Jetbrains 가격 인상 공지와 저⋯
  • Gson 직렬화/역직렬화를 이용하⋯
    2022.06.16
    Gson 직렬화/역직렬화를 이용하⋯
  • [Ubuntu] screen 명령어 사용법
    2022.06.10
    [Ubuntu] screen 명령어 사용법
  • 갤럭시 웨어러블 앱처럼 컴퓨터⋯
    2022.05.30
    갤럭시 웨어러블 앱처럼 컴퓨터⋯

인기 글

  • 쿠버네티스 전문가 양성 과정 2⋯
    2021.10.30
  • 쿠버네티스 전문가 양성 과정 2⋯
    2021.12.19
  • 쿠버네티스 전문가 양성 과정 2⋯
    2021.12.28
  • 방송대 졸업 이후 학교 이메일⋯
    2022.02.16
    방송대 졸업 이후 학교 이메일⋯
  • Twitch Now 는 이제 작동하지⋯
    2022.03.02
    Twitch Now 는 이제 작동하지⋯
반응형

최근 댓글

  • 안녕하세요 메일로 답변을⋯
    Kua
  • 안녕하세요, 메일로 답장 드렸⋯
    Kua
  • 세대가 더 중요하긴 하지만, cp⋯
    Kua
  • 안녕하세요 먼저 후기글 감사합⋯
    bbbb56146
  • 안녕하세요 네, 저도 재직 중입⋯
    Kua

태그

  • c#
  • bronze1
  • bronze2
  • 마인크래프트
  • function
  • Plugin
  • Level1
  • 플러그인
  • Algorithm
  • spring
  • minecraft
  • 백준
  • Silver5
  • 코딩테스트
  • java
  • 알고리즘
  • Kotlin
  • error
  • github
  • codingtest
전체 방문자
32,525
오늘
49
어제
139
hELLO · Designed By 정상우.
Kua

Kua's Miscellaneous

Games/Minecraft

[Spigot] 스폰되는 몬스터의 체력 또는 이동속도를 조정하는 방법

2022. 4. 21. 16:50
이 게시글에서는 Kotlin 으로 플러그인을 작성하고 있습니다.
 

우선 https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/entity/EntitySpawnEvent.html 문서에 해당하는 EntitySpawnEvent 클래스를 @EventHandler 어노테이션과 함께 바인드합니다.

@EventHandler
fun onSpawnEntity(e: EntitySpawnEvent)

 

여기서는 생성되는 모든 몬스터의 체력과 이동속도를 증가시켜볼 것입니다.

이벤트가 발생되어 바인드한 함수가 호출될 경우 인가 받는 EntitySpawnEvent 객체가 살아있는 몬스터가 맞는지 확인하기 위해 LivingEntity 와 TypeCheck 를 진행하여 확인합니다.

if (e.entity is LivingEntity)

 

몬스터의 체력과 이동속도를 조정하는 코드를 삽입합니다.

val livingEnt = e.entity as LivingEntity
val maxHealth = livingEnt.getAttribute(Attribute.GENERIC_MAX_HEALTH)!!.value
val value = maxHealth * 2.0

livingEnt.getAttribute(Attribute.GENERIC_MAX_HEALTH)!!.baseValue = value
livingEnt.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED)!!.baseValue *= 0.05
livingEnt.health = value

e.entity 를 LivingEntity 로 Casting 해주고, 현재 체력을 가져와서 2배를 올려주고, 이동속도는 5% 만큼 향상시키는 코드를 작성해보았습니다.

 

만약 특정 엔티티만 적용하고 싶다면 LivingEntity 가 아닌 https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Zombie.html Zombie 클래스와 같은 클래스로 TypeCheck 를 진행하시면 됩니다.

 

사용된 imports

import org.bukkit.attribute.Attribute
import org.bukkit.entity.LivingEntity
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.entity.EntitySpawnEvent

 

 
 
반응형
저작자표시비영리
    'Games/Minecraft' 카테고리의 다른 글
    • 마인크래프트 서버 생태계는 방대하다
    • [CommandHelper/Function] AutoQuiz(자동 퀴즈) 기능
    • [CommandHelper/Function] 플레이어가 죽었을 때 특정 아이템을 떨구는 기능
    • [CommandHelper/Function] 특정 거리안의 플레이어 찾기
    attribute, minecraft, modify, Plugin, spigot
    Kua
    Kua
    정보 공유, 개인 정리 공간 입니다.
    댓글쓰기
    다음 글
    var list = mutableListOf<T>() 를 사용하지 마세요.
    이전 글
    Java 17.0.1 버그를 경험한 후기
    • 이전
    • 1
    • ···
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • ···
    • 165
    • 다음

    티스토리툴바