RangedEntity API

Allows you to determine if an entity is capable of ranged attacks,
and to perform an attack.
This commit is contained in:
Aikar
2018-06-26 22:00:49 -04:00
parent 26c0e7e3d9
commit f6e7cce227
10 changed files with 35 additions and 9 deletions

View File

@@ -0,0 +1,20 @@
package com.destroystokyo.paper.entity;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.monster.RangedAttackMob;
import org.bukkit.craftbukkit.entity.CraftLivingEntity;
import org.bukkit.entity.LivingEntity;
public interface CraftRangedEntity<T extends Mob & RangedAttackMob> extends RangedEntity {
T getHandle();
@Override
default void rangedAttack(LivingEntity target, float charge) {
getHandle().performRangedAttack(((CraftLivingEntity) target).getHandle(), charge);
}
@Override
default void setChargingAttack(boolean raiseHands) {
getHandle().setAggressive(raiseHands);
}
}