Files
Purpur/patches/server/0138-Ability-to-re-add-farmland-mechanics-from-Alpha.patch
jmp 7174d63c4e PaperPR - Projectile load/save limit per chunk
- Dropped "Add option to disable saving projectiles to disk" in favor of the above patch
 - Config migration is automatic. If "gameplay-mechanics.save-projectiles-to-disk" was set to false in purpur.yml, "projectile-load-save-per-chunk-limit" will be set to 0 in paper.yml (resulting in unchanged behaviour)
2020-11-30 19:38:23 -08:00

41 lines
1.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Yive <admin@yive.me>
Date: Sat, 14 Nov 2020 08:06:20 -0800
Subject: [PATCH] Ability to re-add farmland mechanics from Alpha
diff --git a/src/main/java/net/minecraft/server/BlockSoil.java b/src/main/java/net/minecraft/server/BlockSoil.java
index 8dd48669c2..099e0d3df2 100644
--- a/src/main/java/net/minecraft/server/BlockSoil.java
+++ b/src/main/java/net/minecraft/server/BlockSoil.java
@@ -90,6 +90,14 @@ public class BlockSoil extends Block {
return;
}
+ // Purpur start
+ if (world.purpurConfig.farmlandAlpha) {
+ Block block = world.getType(blockposition.down()).getBlock();
+ if (block instanceof BlockFence || block instanceof BlockCobbleWall) {
+ return;
+ }
+ }
+ // Purpur end
if (CraftEventFactory.callEntityChangeBlockEvent(entity, blockposition, Blocks.DIRT.getBlockData()).isCancelled()) {
return;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f22a34580e..4351931b11 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -338,8 +338,10 @@ public class PurpurWorldConfig {
}
public boolean farmlandGetsMoistFromBelow = false;
+ public boolean farmlandAlpha = false;
private void farmlandSettings() {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
+ farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
public boolean furnaceInfiniteFuel = false;