diff --git a/src/main/java/com/minecolonies/core/entity/citizen/EntityCitizen.java b/src/main/java/com/minecolonies/core/entity/citizen/EntityCitizen.java index a7525185e56..be1a8ff21d5 100755 --- a/src/main/java/com/minecolonies/core/entity/citizen/EntityCitizen.java +++ b/src/main/java/com/minecolonies/core/entity/citizen/EntityCitizen.java @@ -896,15 +896,15 @@ private void checkHeal() if (getCitizenData() != null && getHealth() < (getCitizenData().getCitizenDiseaseHandler().isSick() ? getMaxHealth() / 3 : getMaxHealth()) && getLastHurtByMob() == null) { final double limitDecrease = getCitizenColonyHandler().getColonyOrRegister().getResearchManager().getResearchEffects().getEffectStrength(SATLIMIT); - + final double citizenSaturation = citizenData.getSaturation(); final double healAmount; - if (citizenData.getSaturation() >= FULL_SATURATION + limitDecrease) + if (citizenSaturation >= FULL_SATURATION + limitDecrease) { healAmount = 2 * (1.0 + getCitizenColonyHandler().getColonyOrRegister().getResearchManager().getResearchEffects().getEffectStrength(REGENERATION)); } - else if (citizenData.getSaturation() < LOW_SATURATION) + else if (citizenSaturation < LOW_SATURATION) { - return; + healAmount = 1 * (citizenSaturation / FULL_SATURATION) / 2.0; } else { diff --git a/src/main/java/com/minecolonies/core/entity/pathfinding/pathjobs/AbstractPathJob.java b/src/main/java/com/minecolonies/core/entity/pathfinding/pathjobs/AbstractPathJob.java index 2e96d3cbfe3..dc0ec86760a 100644 --- a/src/main/java/com/minecolonies/core/entity/pathfinding/pathjobs/AbstractPathJob.java +++ b/src/main/java/com/minecolonies/core/entity/pathfinding/pathjobs/AbstractPathJob.java @@ -1404,7 +1404,7 @@ private int handleTargetNotPassable(@Nullable final MNode parent, final int x, f } // Check for headroom in the target space - if (!isPassable(x, y + 2, z, false, parent)) + if (!isPassable(x, y + 2, z, true, parent)) { final VoxelShape bb1 = cachedBlockLookup.getBlockState(x, y, z).getCollisionShape(world, tempWorldPos.set(x, y, z)); final VoxelShape bb2 = cachedBlockLookup.getBlockState(x, y + 2, z).getCollisionShape(world, tempWorldPos.set(x, y + 2, z)); @@ -1420,7 +1420,7 @@ private int handleTargetNotPassable(@Nullable final MNode parent, final int x, f } // Check for jump room from the origin space - if (!isPassable(parent.x, parent.y + 2, parent.z, false, parent)) + if (!isPassable(parent.x, parent.y + 2, parent.z, true, parent)) { final VoxelShape bb1 = cachedBlockLookup.getBlockState(x, y, z).getCollisionShape(world, tempWorldPos.set(x, y, z)); final VoxelShape bb2 = cachedBlockLookup.getBlockState(parent.x, parent.y + 2, parent.z).getCollisionShape(world, tempWorldPos.set(parent.x, parent.y + 2, parent.z));