@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/world/effect/MobEffectList.java
|
||||
+++ b/net/minecraft/world/effect/MobEffectList.java
|
||||
@@ -20,6 +20,13 @@
|
||||
@@ -19,6 +19,13 @@
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.world.entity.player.EntityHuman;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
public class MobEffectList {
|
||||
|
||||
private final Map<AttributeBase, AttributeModifier> attributeModifiers = Maps.newHashMap();
|
||||
@@ -56,26 +63,37 @@
|
||||
@@ -55,26 +62,37 @@
|
||||
public void applyEffectTick(EntityLiving entityliving, int i) {
|
||||
if (this == MobEffects.REGENERATION) {
|
||||
if (entityliving.getHealth() < entityliving.getMaxHealth()) {
|
||||
@@ -23,11 +23,11 @@
|
||||
}
|
||||
} else if (this == MobEffects.POISON) {
|
||||
if (entityliving.getHealth() > 1.0F) {
|
||||
- entityliving.hurt(DamageSource.MAGIC, 1.0F);
|
||||
+ entityliving.hurt(CraftEventFactory.POISON, 1.0F); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON
|
||||
- entityliving.hurt(entityliving.damageSources().magic(), 1.0F);
|
||||
+ entityliving.hurt(entityliving.damageSources().poison, 1.0F); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON
|
||||
}
|
||||
} else if (this == MobEffects.WITHER) {
|
||||
entityliving.hurt(DamageSource.WITHER, 1.0F);
|
||||
entityliving.hurt(entityliving.damageSources().wither(), 1.0F);
|
||||
} else if (this == MobEffects.HUNGER && entityliving instanceof EntityHuman) {
|
||||
- ((EntityHuman) entityliving).causeFoodExhaustion(0.005F * (float) (i + 1));
|
||||
+ ((EntityHuman) entityliving).causeFoodExhaustion(0.005F * (float) (i + 1), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.HUNGER_EFFECT); // CraftBukkit - EntityExhaustionEvent
|
||||
@@ -49,7 +49,7 @@
|
||||
}
|
||||
} else if ((this != MobEffects.HEAL || entityliving.isInvertedHealAndHarm()) && (this != MobEffects.HARM || !entityliving.isInvertedHealAndHarm())) {
|
||||
if (this == MobEffects.HARM && !entityliving.isInvertedHealAndHarm() || this == MobEffects.HEAL && entityliving.isInvertedHealAndHarm()) {
|
||||
entityliving.hurt(DamageSource.MAGIC, (float) (6 << i));
|
||||
entityliving.hurt(entityliving.damageSources().magic(), (float) (6 << i));
|
||||
}
|
||||
} else {
|
||||
- entityliving.heal((float) Math.max(4 << i, 0));
|
||||
@@ -57,7 +57,7 @@
|
||||
}
|
||||
|
||||
}
|
||||
@@ -96,7 +114,7 @@
|
||||
@@ -95,7 +113,7 @@
|
||||
}
|
||||
} else {
|
||||
j = (int) (d0 * (double) (4 << i) + 0.5D);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/world/effect/MobEffectUtil.java
|
||||
+++ b/net/minecraft/world/effect/MobEffectUtil.java
|
||||
@@ -44,13 +44,19 @@
|
||||
@@ -49,13 +49,19 @@
|
||||
}
|
||||
|
||||
public static List<EntityPlayer> addEffectToPlayersAround(WorldServer worldserver, @Nullable Entity entity, Vec3D vec3d, double d0, MobEffect mobeffect, int i) {
|
||||
@@ -12,7 +12,7 @@
|
||||
+ // CraftBukkit end
|
||||
MobEffectList mobeffectlist = mobeffect.getEffect();
|
||||
List<EntityPlayer> list = worldserver.getPlayers((entityplayer) -> {
|
||||
return entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(mobeffectlist).getDuration() < i);
|
||||
return entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(mobeffectlist).endsWithin(i - 1));
|
||||
});
|
||||
|
||||
list.forEach((entityplayer) -> {
|
||||
|
||||
Reference in New Issue
Block a user