From fd7bdb9ad22a5333ebfd0c183c09964b952674e5 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 21 Jun 2019 14:37:10 -0500 Subject: [PATCH] Allow soil to moisten from water directly under it --- .../java/net/minecraft/server/BlockSoil.java | 19 +++++++------------ .../net/pl3x/purpur/PurpurWorldConfig.java | 5 +++++ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/net/minecraft/server/BlockSoil.java b/src/main/java/net/minecraft/server/BlockSoil.java index a315e2628..8dd48669c 100644 --- a/src/main/java/net/minecraft/server/BlockSoil.java +++ b/src/main/java/net/minecraft/server/BlockSoil.java @@ -116,19 +116,14 @@ public class BlockSoil extends Block { } private static boolean a(IWorldReader iworldreader, BlockPosition blockposition) { - Iterator iterator = BlockPosition.a(blockposition.b(-4, 0, -4), blockposition.b(4, 1, 4)).iterator(); - - BlockPosition blockposition1; - - do { - if (!iterator.hasNext()) { - return false; + // Purpur start + for (BlockPosition position : BlockPosition.a(blockposition.b(-4, 0, -4), blockposition.b(4, 1, 4))) { + if (iworldreader.getFluid(position).a(TagsFluid.WATER)) { + return true; } - - blockposition1 = (BlockPosition) iterator.next(); - } while (!iworldreader.getFluid(blockposition1).a((Tag) TagsFluid.WATER)); - - return true; + } + return ((WorldServer) iworldreader).purpurConfig.farmlandGetsMoistFromBelow && iworldreader.getFluid(blockposition.shift(EnumDirection.DOWN)).a(TagsFluid.WATER); + // Purpur end } @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index 5df442c5b..c28c241ad 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -92,6 +92,11 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } + public boolean farmlandGetsMoistFromBelow = false; + private void farmlandSettings() { + farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); + } + public boolean signAllowColors = false; public boolean signRightClickEdit = false; private void signSettings() { -- 2.26.2