geforkt von Mirrors/Paper
SPIGOT-7941: Fix resistance over 4 amplify causing issues in damage
By: Doc <nachito94@msn.com>
Dieser Commit ist enthalten in:
Ursprung
aefa65b696
Commit
c162fedc16
@ -727,7 +727,7 @@
|
|||||||
int i = (this.getEffect(MobEffects.DAMAGE_RESISTANCE).getAmplifier() + 1) * 5;
|
int i = (this.getEffect(MobEffects.DAMAGE_RESISTANCE).getAmplifier() + 1) * 5;
|
||||||
int j = 25 - i;
|
int j = 25 - i;
|
||||||
float f1 = f * (float) j;
|
float f1 = f * (float) j;
|
||||||
@@ -1873,15 +2185,140 @@
|
@@ -1873,15 +2185,141 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -785,7 +785,8 @@
|
|||||||
+ int i = (EntityLiving.this.getEffect(MobEffects.DAMAGE_RESISTANCE).getAmplifier() + 1) * 5;
|
+ int i = (EntityLiving.this.getEffect(MobEffects.DAMAGE_RESISTANCE).getAmplifier() + 1) * 5;
|
||||||
+ int j = 25 - i;
|
+ int j = 25 - i;
|
||||||
+ float f1 = f.floatValue() * (float) j;
|
+ float f1 = f.floatValue() * (float) j;
|
||||||
+ return -(f - (f1 / 25.0F));
|
+
|
||||||
|
+ return -(f - Math.max(f1 / 25.0F, 0.0F));
|
||||||
+ }
|
+ }
|
||||||
+ return -0.0;
|
+ return -0.0;
|
||||||
+ }
|
+ }
|
||||||
@ -875,7 +876,7 @@
|
|||||||
|
|
||||||
if (f2 > 0.0F && f2 < 3.4028235E37F) {
|
if (f2 > 0.0F && f2 < 3.4028235E37F) {
|
||||||
Entity entity = damagesource.getEntity();
|
Entity entity = damagesource.getEntity();
|
||||||
@@ -1893,13 +2330,48 @@
|
@@ -1893,13 +2331,48 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -926,7 +927,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
public CombatTracker getCombatTracker() {
|
public CombatTracker getCombatTracker() {
|
||||||
@@ -1924,9 +2396,19 @@
|
@@ -1924,9 +2397,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void setArrowCount(int i) {
|
public final void setArrowCount(int i) {
|
||||||
@ -947,7 +948,7 @@
|
|||||||
public final int getStingerCount() {
|
public final int getStingerCount() {
|
||||||
return (Integer) this.entityData.get(EntityLiving.DATA_STINGER_COUNT_ID);
|
return (Integer) this.entityData.get(EntityLiving.DATA_STINGER_COUNT_ID);
|
||||||
}
|
}
|
||||||
@@ -2171,6 +2653,12 @@
|
@@ -2171,6 +2654,12 @@
|
||||||
|
|
||||||
public abstract ItemStack getItemBySlot(EnumItemSlot enumitemslot);
|
public abstract ItemStack getItemBySlot(EnumItemSlot enumitemslot);
|
||||||
|
|
||||||
@ -960,7 +961,7 @@
|
|||||||
public abstract void setItemSlot(EnumItemSlot enumitemslot, ItemStack itemstack);
|
public abstract void setItemSlot(EnumItemSlot enumitemslot, ItemStack itemstack);
|
||||||
|
|
||||||
public Iterable<ItemStack> getHandSlots() {
|
public Iterable<ItemStack> getHandSlots() {
|
||||||
@@ -2623,7 +3111,7 @@
|
@@ -2623,7 +3112,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -969,7 +970,7 @@
|
|||||||
if (this.tickCount % 20 == 0) {
|
if (this.tickCount % 20 == 0) {
|
||||||
this.getCombatTracker().recheckStatus();
|
this.getCombatTracker().recheckStatus();
|
||||||
}
|
}
|
||||||
@@ -2730,7 +3218,7 @@
|
@@ -2730,7 +3219,7 @@
|
||||||
this.elytraAnimationState.tick();
|
this.elytraAnimationState.tick();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -978,7 +979,7 @@
|
|||||||
Map<EnumItemSlot, ItemStack> map = this.collectEquipmentChanges();
|
Map<EnumItemSlot, ItemStack> map = this.collectEquipmentChanges();
|
||||||
|
|
||||||
if (map != null) {
|
if (map != null) {
|
||||||
@@ -3052,6 +3540,7 @@
|
@@ -3052,6 +3541,7 @@
|
||||||
this.checkSlowFallDistance();
|
this.checkSlowFallDistance();
|
||||||
if (!this.level().isClientSide) {
|
if (!this.level().isClientSide) {
|
||||||
if (!this.canGlide()) {
|
if (!this.canGlide()) {
|
||||||
@ -986,7 +987,7 @@
|
|||||||
this.setSharedFlag(7, false);
|
this.setSharedFlag(7, false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -3298,14 +3787,21 @@
|
@@ -3298,14 +3788,21 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isPickable() {
|
public boolean isPickable() {
|
||||||
@ -1010,7 +1011,7 @@
|
|||||||
@Override
|
@Override
|
||||||
public float getYHeadRot() {
|
public float getYHeadRot() {
|
||||||
return this.yHeadRot;
|
return this.yHeadRot;
|
||||||
@@ -3476,7 +3972,30 @@
|
@@ -3476,7 +3973,30 @@
|
||||||
this.releaseUsingItem();
|
this.releaseUsingItem();
|
||||||
} else {
|
} else {
|
||||||
if (!this.useItem.isEmpty() && this.isUsingItem()) {
|
if (!this.useItem.isEmpty() && this.isUsingItem()) {
|
||||||
@ -1042,7 +1043,7 @@
|
|||||||
|
|
||||||
if (itemstack != this.useItem) {
|
if (itemstack != this.useItem) {
|
||||||
this.setItemInHand(enumhand, itemstack);
|
this.setItemInHand(enumhand, itemstack);
|
||||||
@@ -3561,6 +4080,12 @@
|
@@ -3561,6 +4081,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean randomTeleport(double d0, double d1, double d2, boolean flag) {
|
public boolean randomTeleport(double d0, double d1, double d2, boolean flag) {
|
||||||
@ -1055,7 +1056,7 @@
|
|||||||
double d3 = this.getX();
|
double d3 = this.getX();
|
||||||
double d4 = this.getY();
|
double d4 = this.getY();
|
||||||
double d5 = this.getZ();
|
double d5 = this.getZ();
|
||||||
@@ -3585,16 +4110,41 @@
|
@@ -3585,16 +4111,41 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag2) {
|
if (flag2) {
|
||||||
@ -1100,7 +1101,7 @@
|
|||||||
} else {
|
} else {
|
||||||
if (flag) {
|
if (flag) {
|
||||||
world.broadcastEntityEvent(this, (byte) 46);
|
world.broadcastEntityEvent(this, (byte) 46);
|
||||||
@@ -3606,7 +4156,7 @@
|
@@ -3606,7 +4157,7 @@
|
||||||
entitycreature.getNavigation().stop();
|
entitycreature.getNavigation().stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1109,7 +1110,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3699,7 +4249,7 @@
|
@@ -3699,7 +4250,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
public void stopSleeping() {
|
public void stopSleeping() {
|
||||||
@ -1118,7 +1119,7 @@
|
|||||||
World world = this.level();
|
World world = this.level();
|
||||||
|
|
||||||
java.util.Objects.requireNonNull(world);
|
java.util.Objects.requireNonNull(world);
|
||||||
@@ -3733,7 +4283,7 @@
|
@@ -3733,7 +4284,7 @@
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public EnumDirection getBedOrientation() {
|
public EnumDirection getBedOrientation() {
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren