Framework adjustment
This commit is contained in:
47
src/main/scala/io/izzel/taboolib/util/lite/Servers.java
Normal file
47
src/main/scala/io/izzel/taboolib/util/lite/Servers.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package io.izzel.taboolib.util.lite;
|
||||
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* @Author 坏黑
|
||||
* @Since 2019-07-05 18:53
|
||||
*/
|
||||
public class Servers {
|
||||
|
||||
public static void setEnchantmentAcceptingNew(boolean value) {
|
||||
try {
|
||||
Field f = Enchantment.class.getDeclaredField("acceptingNew");
|
||||
f.setAccessible(true);
|
||||
f.set(null, value);
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static Player getAttackerInDamageEvent(EntityDamageByEntityEvent e) {
|
||||
if (e.getDamager() instanceof Player) {
|
||||
return (Player) e.getDamager();
|
||||
} else if (e.getDamager() instanceof Projectile && ((Projectile) e.getDamager()).getShooter() instanceof Player) {
|
||||
return (Player) ((Projectile) e.getDamager()).getShooter();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static LivingEntity getLivingAttackerInDamageEvent(EntityDamageByEntityEvent e) {
|
||||
if (e.getDamager() instanceof LivingEntity) {
|
||||
return (LivingEntity) e.getDamager();
|
||||
} else if (e.getDamager() instanceof Projectile && ((Projectile) e.getDamager()).getShooter() instanceof LivingEntity) {
|
||||
return (LivingEntity) ((Projectile) e.getDamager()).getShooter();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user