@@ -1,8 +1,8 @@
|
||||
--- a/net/minecraft/world/effect/HealOrHarmMobEffect.java
|
||||
+++ b/net/minecraft/world/effect/HealOrHarmMobEffect.java
|
||||
@@ -17,7 +17,7 @@
|
||||
public void applyEffectTick(EntityLiving entityliving, int i) {
|
||||
super.applyEffectTick(entityliving, i);
|
||||
@@ -16,7 +16,7 @@
|
||||
@Override
|
||||
public boolean applyEffectTick(EntityLiving entityliving, int i) {
|
||||
if (this.isHarm == entityliving.isInvertedHealAndHarm()) {
|
||||
- entityliving.heal((float) Math.max(4 << i, 0));
|
||||
+ entityliving.heal((float) Math.max(4 << i, 0), org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.MAGIC); // CraftBukkit
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
--- a/net/minecraft/world/effect/HungerMobEffect.java
|
||||
+++ b/net/minecraft/world/effect/HungerMobEffect.java
|
||||
@@ -15,7 +15,7 @@
|
||||
if (entityliving instanceof EntityHuman) {
|
||||
EntityHuman entityhuman = (EntityHuman) entityliving;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
@Override
|
||||
public boolean applyEffectTick(EntityLiving entityliving, int i) {
|
||||
if (entityliving instanceof EntityHuman entityhuman) {
|
||||
- entityhuman.causeFoodExhaustion(0.005F * (float) (i + 1));
|
||||
+ entityhuman.causeFoodExhaustion(0.005F * (float) (i + 1), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.HUNGER_EFFECT); // CraftBukkit - EntityExhaustionEvent
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/world/effect/MobEffectUtil.java
|
||||
+++ b/net/minecraft/world/effect/MobEffectUtil.java
|
||||
@@ -49,13 +49,19 @@
|
||||
@@ -50,13 +50,19 @@
|
||||
}
|
||||
|
||||
public static List<EntityPlayer> addEffectToPlayersAround(WorldServer worldserver, @Nullable Entity entity, Vec3D vec3d, double d0, MobEffect mobeffect, int i) {
|
||||
@@ -10,9 +10,9 @@
|
||||
+
|
||||
+ public static List<EntityPlayer> addEffectToPlayersAround(WorldServer worldserver, @Nullable Entity entity, Vec3D vec3d, double d0, MobEffect mobeffect, int i, org.bukkit.event.entity.EntityPotionEffectEvent.Cause cause) {
|
||||
+ // CraftBukkit end
|
||||
MobEffectList mobeffectlist = mobeffect.getEffect();
|
||||
Holder<MobEffectList> holder = 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).endsWithin(i - 1));
|
||||
return entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(holder) || entityplayer.getEffect(holder).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(holder).endsWithin(i - 1));
|
||||
});
|
||||
|
||||
list.forEach((entityplayer) -> {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
--- a/net/minecraft/world/effect/PoisonMobEffect.java
|
||||
+++ b/net/minecraft/world/effect/PoisonMobEffect.java
|
||||
@@ -12,7 +12,7 @@
|
||||
public void applyEffectTick(EntityLiving entityliving, int i) {
|
||||
super.applyEffectTick(entityliving, i);
|
||||
@@ -11,7 +11,7 @@
|
||||
@Override
|
||||
public boolean applyEffectTick(EntityLiving entityliving, int i) {
|
||||
if (entityliving.getHealth() > 1.0F) {
|
||||
- entityliving.hurt(entityliving.damageSources().magic(), 1.0F);
|
||||
+ entityliving.hurt(entityliving.damageSources().poison(), 1.0F); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
--- a/net/minecraft/world/effect/RegenerationMobEffect.java
|
||||
+++ b/net/minecraft/world/effect/RegenerationMobEffect.java
|
||||
@@ -12,7 +12,7 @@
|
||||
public void applyEffectTick(EntityLiving entityliving, int i) {
|
||||
super.applyEffectTick(entityliving, i);
|
||||
@@ -11,7 +11,7 @@
|
||||
@Override
|
||||
public boolean applyEffectTick(EntityLiving entityliving, int i) {
|
||||
if (entityliving.getHealth() < entityliving.getMaxHealth()) {
|
||||
- entityliving.heal(1.0F);
|
||||
+ entityliving.heal(1.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.MAGIC_REGEN); // CraftBukkit
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
class SaturationMobEffect extends InstantMobEffect {
|
||||
|
||||
protected SaturationMobEffect(MobEffectInfo mobeffectinfo, int i) {
|
||||
@@ -15,7 +20,15 @@
|
||||
if (!entityliving.level().isClientSide && entityliving instanceof EntityHuman) {
|
||||
EntityHuman entityhuman = (EntityHuman) entityliving;
|
||||
|
||||
@@ -12,7 +17,15 @@
|
||||
@Override
|
||||
public boolean applyEffectTick(EntityLiving entityliving, int i) {
|
||||
if (!entityliving.level().isClientSide && entityliving instanceof EntityHuman entityhuman) {
|
||||
- entityhuman.getFoodData().eat(i + 1, 1.0F);
|
||||
+ // CraftBukkit start
|
||||
+ int oldFoodLevel = entityhuman.getFoodData().foodLevel;
|
||||
@@ -28,4 +28,4 @@
|
||||
+ // CraftBukkit end
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user