Interface DamageSource
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceUtility class to make building aDamageSourceeasier. -
Method Summary
Modifier and TypeMethodDescriptionstatic @NotNull DamageSource.Builderbuilder(@NotNull DamageType damageType) Create a newDamageSource.Builder.Get theEntitythat caused the damage to occur.Get theLocationfrom where the damage originated.Get theDamageType.Get theEntitythat directly caused the damage.폭발 래퍼를 가져옵니다.이 인스턴스에 설정된 무적 시간을 가져옵니다.floatGet the amount of hunger exhaustion caused by this damage.사용자 지정 메타데이터를 가져옵니다.NMS DamageSource를 가져옵니다.Get theLocationfrom where the damage originated.boolean크리티컬 대미지 여부를 가져옵니다.booleanGet if this damage is indirect.대미지 처리 이후 엔티티가 받게 될 넉백의 비활성화 여부를 가져옵니다.booleanGets if this source of damage scales with difficulty.voidsetFixedNoDamageTick(@Nullable Integer ticks) 이 인스턴스에 설정될 무적 시간을 설정합니다.voidsetKnockbackDisabled(@Nullable Boolean disabled) 대미지 처리 이후 엔티티가 받게 될 넉백의 비활성화 여부를 설정합니다.
-
Method Details
-
getNmsDamageSource
NMS DamageSource를 가져옵니다.- Returns:
- NMS DamageSource
-
getMetadata
사용자 지정 메타데이터를 가져옵니다.DamageSource 인스턴스는 재사용이 가능하므로 메타데이터 공유에 주의하세요.
- Returns:
- 사용자 지정 메타데이터
-
getFixedNoDamageTick
이 인스턴스에 설정된 무적 시간을 가져옵니다.- Returns:
- 무적 시간
-
setFixedNoDamageTick
이 인스턴스에 설정될 무적 시간을 설정합니다.이 설정은 이벤트에서 지정된 무적 시간보다 우선순위가 낮습니다.
- Parameters:
ticks- 무적 시간
-
isKnockbackDisabled
대미지 처리 이후 엔티티가 받게 될 넉백의 비활성화 여부를 가져옵니다.- Returns:
- 넉백 비활성화 여부
-
setKnockbackDisabled
대미지 처리 이후 엔티티가 받게 될 넉백의 비활성화 여부를 설정합니다.- Parameters:
disabled- 넉백 비활성화 여부,null인 경우DamageTypeTags.NO_KNOCKBACK의 영향을 받습니다.
-
isCritical
boolean isCritical()크리티컬 대미지 여부를 가져옵니다.- Returns:
- 크리티컬 대미지 여부
-
getExplosion
폭발 래퍼를 가져옵니다.- Returns:
- 폭발 래퍼
-
getDamageType
Get theDamageType.- Returns:
- the damage type
-
getCausingEntity
Get theEntitythat caused the damage to occur.Not to be confused with
getDirectEntity(), the causing entity is the entity to which the damage is ultimately attributed if the receiver is killed. If, for example, the receiver was damaged by a projectile, the shooter/thrower would be returned.- Returns:
- an Entity or null
-
getDirectEntity
Get theEntitythat directly caused the damage.Not to be confused with
getCausingEntity(), the direct entity is the entity that actually inflicted the damage. If, for example, the receiver was damaged by a projectile, the projectile would be returned.- Returns:
- an Entity or null
-
getDamageLocation
Get theLocationfrom where the damage originated. This will only be present if an entity did not cause the damage.- Returns:
- the location, or null if none
- API Note:
- the world of the location might be null for positioned-only damage source not caused by any entity
-
getSourceLocation
Get theLocationfrom where the damage originated.This is a convenience method to get the final location of the damage. This method will attempt to return
the damage location. If this is null, thecausing entity locationwill be returned. Finally if there is no damage location nor a causing entity, null will be returned.- Returns:
- the source of the location or null.
- API Note:
- the world of the location might be null for positioned-only damage source not caused by any entity
-
isIndirect
boolean isIndirect()Get if this damage is indirect.Damage is considered indirect if
getCausingEntity()is not equal togetDirectEntity(). This will be the case, for example, if a skeleton shot an arrow or a player threw a potion.- Returns:
trueif is indirect,falseotherwise.
-
getFoodExhaustion
float getFoodExhaustion()Get the amount of hunger exhaustion caused by this damage.- Returns:
- the amount of hunger exhaustion caused.
-
scalesWithDifficulty
boolean scalesWithDifficulty()Gets if this source of damage scales with difficulty.- Returns:
Trueif scales.
-
builder
Create a newDamageSource.Builder.- Parameters:
damageType- theDamageTypeto use- Returns:
- a
DamageSource.Builder
-