From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Encode42 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. 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 7304b2659eb45bc4bc9fa7c43e6ca07221d0fc73..d96e3fbc0fd4275c29e7e6154ef66e9ed1a5d829 100644 --- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java @@ -76,13 +76,13 @@ public class SpongeBlock extends Block { if (fluid.is(FluidTags.WATER)) { if (iblockdata.getBlock() instanceof BucketPickup && !((BucketPickup) iblockdata.getBlock()).pickupBlock(blockList, blockposition2, iblockdata).isEmpty()) { // CraftBukkit ++i; - if (j < 6) { + if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur queue.add(new Tuple<>(blockposition2, j + 1)); } } else if (iblockdata.getBlock() instanceof LiquidBlock) { blockList.setBlock(blockposition2, Blocks.AIR.defaultBlockState(), 3); // CraftBukkit ++i; - if (j < 6) { + if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur queue.add(new Tuple<>(blockposition2, j + 1)); } } else if (material == Material.WATER_PLANT || material == Material.REPLACEABLE_WATER_PLANT) { @@ -93,14 +93,14 @@ public class SpongeBlock extends Block { blockList.setBlock(blockposition2, Blocks.AIR.defaultBlockState(), 3); // CraftBukkit end ++i; - if (j < 6) { + if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur queue.add(new Tuple<>(blockposition2, j + 1)); } } } } - if (i > 64) { + if (i > world.purpurConfig.spongeAbsorptionArea) { // Purpur break; } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 592d8f28bb1c5f35ff2a48874a0f76a64be9bd50..f5260bea7f54bd9f05099f6a34f582b1f69d3daf 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -621,6 +621,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;