mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
41 lines
2.3 KiB
Diff
41 lines
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Encode42 <me@encode42.dev>
|
|
Date: Wed, 24 Mar 2021 20:30:37 -0400
|
|
Subject: [PATCH] Configurable sponge absorption
|
|
|
|
Allows the total area and radius of water blocks the sponge can absorb to be changed.
|
|
|
|
Co-authored by: granny <granny@purpurmc.org>
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
|
|
index 4bce895268542531598a01a1bccd8ac1ed703b7d..e4e926dc89f843886d0df5da31e00053284f5dae 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
|
|
@@ -48,7 +48,7 @@ public class SpongeBlock extends Block {
|
|
|
|
private boolean removeWaterBreadthFirstSearch(Level world, BlockPos pos) {
|
|
BlockStateListPopulator blockList = new BlockStateListPopulator(world); // CraftBukkit - Use BlockStateListPopulator
|
|
- BlockPos.breadthFirstTraversal(pos, 6, 65, (blockposition1, consumer) -> {
|
|
+ BlockPos.breadthFirstTraversal(pos, world.purpurConfig.spongeAbsorptionRadius, 65, (blockposition1, consumer) -> { // Purpur
|
|
Direction[] aenumdirection = SpongeBlock.ALL_DIRECTIONS;
|
|
int i = aenumdirection.length;
|
|
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index a0fd04f892e39805a655216e029bb077847f809c..644652189ca1b173776537fa9d17aa31b38cdfe1 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -657,6 +657,13 @@ public class PurpurWorldConfig {
|
|
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
|
|
}
|
|
|
|
+ public int spongeAbsorptionArea = 64;
|
|
+ public int spongeAbsorptionRadius = 6;
|
|
+ private void spongeSettings() {
|
|
+ spongeAbsorptionArea = getInt("blocks.sponge.absorption.area", spongeAbsorptionArea);
|
|
+ spongeAbsorptionRadius = getInt("blocks.sponge.absorption.radius", spongeAbsorptionRadius);
|
|
+ }
|
|
+
|
|
public boolean turtleEggsBreakFromExpOrbs = true;
|
|
public boolean turtleEggsBreakFromItems = true;
|
|
public boolean turtleEggsBreakFromMinecarts = true;
|