mirror of
https://github.com/Artillex-Studios/AxMinions.git
synced 2025-01-09 19:17:40 +01:00
Try fixing looting
This commit is contained in:
parent
e5e9a4fb91
commit
9534c5f960
@ -7,6 +7,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock
|
|||||||
import kotlin.concurrent.read
|
import kotlin.concurrent.read
|
||||||
import kotlin.concurrent.write
|
import kotlin.concurrent.write
|
||||||
import org.bukkit.Chunk
|
import org.bukkit.Chunk
|
||||||
|
import org.bukkit.Location
|
||||||
|
|
||||||
object Minions {
|
object Minions {
|
||||||
internal val lock = ReentrantReadWriteLock()
|
internal val lock = ReentrantReadWriteLock()
|
||||||
|
@ -11,6 +11,7 @@ import net.minecraft.world.effect.MobEffects
|
|||||||
import net.minecraft.world.entity.EquipmentSlot
|
import net.minecraft.world.entity.EquipmentSlot
|
||||||
import net.minecraft.world.entity.LivingEntity
|
import net.minecraft.world.entity.LivingEntity
|
||||||
import net.minecraft.world.entity.MobType
|
import net.minecraft.world.entity.MobType
|
||||||
|
import net.minecraft.world.entity.animal.Fox
|
||||||
import net.minecraft.world.entity.decoration.ArmorStand
|
import net.minecraft.world.entity.decoration.ArmorStand
|
||||||
import net.minecraft.world.item.AxeItem
|
import net.minecraft.world.item.AxeItem
|
||||||
import net.minecraft.world.item.ItemStack
|
import net.minecraft.world.item.ItemStack
|
||||||
@ -28,13 +29,13 @@ import org.bukkit.entity.Player
|
|||||||
import org.bukkit.event.entity.EntityPotionEffectEvent
|
import org.bukkit.event.entity.EntityPotionEffectEvent
|
||||||
|
|
||||||
object DamageHandler {
|
object DamageHandler {
|
||||||
private var DUMMY_ENTITY: LivingEntity? = null
|
private var DUMMY_ENTITY: Fox? = null
|
||||||
|
|
||||||
fun damage(source: Minion, entity: Entity) {
|
fun damage(source: Minion, entity: Entity) {
|
||||||
val nmsEntity = (entity as CraftEntity).handle
|
val nmsEntity = (entity as CraftEntity).handle
|
||||||
if (DUMMY_ENTITY === null) {
|
if (DUMMY_ENTITY === null) {
|
||||||
DUMMY_ENTITY =
|
DUMMY_ENTITY =
|
||||||
ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, nmsEntity.level() as ServerLevel)
|
Fox(net.minecraft.world.entity.EntityType.FOX, nmsEntity.level() as ServerLevel)
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized(DUMMY_ENTITY!!) {
|
synchronized(DUMMY_ENTITY!!) {
|
||||||
@ -132,7 +133,8 @@ object DamageHandler {
|
|||||||
val f4 =
|
val f4 =
|
||||||
1.0f + if (sweep > 0) SweepingEdgeEnchantment.getSweepingDamageRatio(sweep) else 0.0f * f
|
1.0f + if (sweep > 0) SweepingEdgeEnchantment.getSweepingDamageRatio(sweep) else 0.0f * f
|
||||||
val list: List<LivingEntity> = (source.getLocation().world as CraftWorld).handle
|
val list: List<LivingEntity> = (source.getLocation().world as CraftWorld).handle
|
||||||
.getEntitiesOfClass(LivingEntity::class.java, nmsEntity.boundingBox.inflate(1.0, 0.25, 1.0)).filter { it !is Player }
|
.getEntitiesOfClass(LivingEntity::class.java, nmsEntity.boundingBox.inflate(1.0, 0.25, 1.0))
|
||||||
|
.filter { it !is Player }
|
||||||
val iterator: Iterator<*> = list.iterator()
|
val iterator: Iterator<*> = list.iterator()
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
|
@ -11,6 +11,7 @@ import net.minecraft.world.effect.MobEffects
|
|||||||
import net.minecraft.world.entity.EquipmentSlot
|
import net.minecraft.world.entity.EquipmentSlot
|
||||||
import net.minecraft.world.entity.LivingEntity
|
import net.minecraft.world.entity.LivingEntity
|
||||||
import net.minecraft.world.entity.MobType
|
import net.minecraft.world.entity.MobType
|
||||||
|
import net.minecraft.world.entity.animal.Fox
|
||||||
import net.minecraft.world.entity.decoration.ArmorStand
|
import net.minecraft.world.entity.decoration.ArmorStand
|
||||||
import net.minecraft.world.item.AxeItem
|
import net.minecraft.world.item.AxeItem
|
||||||
import net.minecraft.world.item.ItemStack
|
import net.minecraft.world.item.ItemStack
|
||||||
@ -28,13 +29,13 @@ import org.bukkit.entity.Player
|
|||||||
import org.bukkit.event.entity.EntityPotionEffectEvent
|
import org.bukkit.event.entity.EntityPotionEffectEvent
|
||||||
|
|
||||||
object DamageHandler {
|
object DamageHandler {
|
||||||
private var DUMMY_ENTITY: LivingEntity? = null
|
private var DUMMY_ENTITY: Fox? = null
|
||||||
|
|
||||||
fun damage(source: Minion, entity: Entity) {
|
fun damage(source: Minion, entity: Entity) {
|
||||||
val nmsEntity = (entity as CraftEntity).handle
|
val nmsEntity = (entity as CraftEntity).handle
|
||||||
if (DUMMY_ENTITY === null) {
|
if (DUMMY_ENTITY === null) {
|
||||||
DUMMY_ENTITY =
|
DUMMY_ENTITY =
|
||||||
ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, nmsEntity.level() as ServerLevel)
|
Fox(net.minecraft.world.entity.EntityType.FOX, nmsEntity.level() as ServerLevel)
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized(DUMMY_ENTITY!!) {
|
synchronized(DUMMY_ENTITY!!) {
|
||||||
|
@ -8,9 +8,11 @@ import net.minecraft.server.level.ServerLevel
|
|||||||
import net.minecraft.util.Mth
|
import net.minecraft.util.Mth
|
||||||
import net.minecraft.world.effect.MobEffectInstance
|
import net.minecraft.world.effect.MobEffectInstance
|
||||||
import net.minecraft.world.effect.MobEffects
|
import net.minecraft.world.effect.MobEffects
|
||||||
|
import net.minecraft.world.entity.EntityType
|
||||||
import net.minecraft.world.entity.EquipmentSlot
|
import net.minecraft.world.entity.EquipmentSlot
|
||||||
import net.minecraft.world.entity.LivingEntity
|
import net.minecraft.world.entity.LivingEntity
|
||||||
import net.minecraft.world.entity.MobType
|
import net.minecraft.world.entity.MobType
|
||||||
|
import net.minecraft.world.entity.animal.Fox
|
||||||
import net.minecraft.world.entity.decoration.ArmorStand
|
import net.minecraft.world.entity.decoration.ArmorStand
|
||||||
import net.minecraft.world.item.AxeItem
|
import net.minecraft.world.item.AxeItem
|
||||||
import net.minecraft.world.item.ItemStack
|
import net.minecraft.world.item.ItemStack
|
||||||
@ -28,13 +30,13 @@ import org.bukkit.entity.Player
|
|||||||
import org.bukkit.event.entity.EntityPotionEffectEvent
|
import org.bukkit.event.entity.EntityPotionEffectEvent
|
||||||
|
|
||||||
object DamageHandler {
|
object DamageHandler {
|
||||||
private var DUMMY_ENTITY: LivingEntity? = null
|
private var DUMMY_ENTITY: Fox? = null
|
||||||
|
|
||||||
fun damage(source: Minion, entity: Entity) {
|
fun damage(source: Minion, entity: Entity) {
|
||||||
val nmsEntity = (entity as CraftEntity).handle
|
val nmsEntity = (entity as CraftEntity).handle
|
||||||
if (DUMMY_ENTITY === null) {
|
if (DUMMY_ENTITY === null) {
|
||||||
DUMMY_ENTITY =
|
DUMMY_ENTITY =
|
||||||
ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, nmsEntity.level() as ServerLevel)
|
Fox(EntityType.FOX, nmsEntity.level() as ServerLevel)
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized(DUMMY_ENTITY!!) {
|
synchronized(DUMMY_ENTITY!!) {
|
||||||
|
Loading…
Reference in New Issue
Block a user