mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Configurable sponge absorption
Allows the total area and radius of water blocks the sponge can absorb to be changed.
This commit is contained in:
@@ -1,40 +0,0 @@
|
|||||||
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/net/minecraft/world/level/block/SpongeBlock.java b/net/minecraft/world/level/block/SpongeBlock.java
|
|
||||||
index e9a77c1ae09af42d2d444ad6b5f6c8ac395044e1..0edb7e821a60fe95fea3cae900e5b88192946fe6 100644
|
|
||||||
--- a/net/minecraft/world/level/block/SpongeBlock.java
|
|
||||||
+++ b/net/minecraft/world/level/block/SpongeBlock.java
|
|
||||||
@@ -61,7 +61,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, world.purpurConfig.spongeAbsorptionArea, (blockposition1, consumer) -> { // Purpur - Configurable sponge absorption
|
|
||||||
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 88f2cf0023540a2fed5be6f7929e46dc7144673c..1b1c6e20acef4e2dda93cbc89ae1d527d76e81ce 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
@@ -591,6 +591,13 @@ public class PurpurWorldConfig {
|
|
||||||
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public int spongeAbsorptionArea = 65;
|
|
||||||
+ public int spongeAbsorptionRadius = 6;
|
|
||||||
+ private void spongeSettings() {
|
|
||||||
+ spongeAbsorptionArea = getInt("blocks.sponge.absorption.area", spongeAbsorptionArea);
|
|
||||||
+ spongeAbsorptionRadius = getInt("blocks.sponge.absorption.radius", spongeAbsorptionRadius);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public boolean turtleEggsBreakFromExpOrbs = false;
|
|
||||||
public boolean turtleEggsBreakFromItems = false;
|
|
||||||
public boolean turtleEggsBreakFromMinecarts = false;
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
--- a/net/minecraft/world/level/block/SpongeBlock.java
|
||||||
|
+++ b/net/minecraft/world/level/block/SpongeBlock.java
|
||||||
|
@@ -53,8 +_,8 @@
|
||||||
|
org.bukkit.craftbukkit.util.BlockStateListPopulator blockList = new org.bukkit.craftbukkit.util.BlockStateListPopulator(level); // CraftBukkit - Use BlockStateListPopulator
|
||||||
|
BlockPos.breadthFirstTraversal(
|
||||||
|
pos,
|
||||||
|
- 6,
|
||||||
|
- 65,
|
||||||
|
+ level.purpurConfig.spongeAbsorptionRadius, // Purpur - Configurable sponge absorption
|
||||||
|
+ level.purpurConfig.spongeAbsorptionArea, // Purpur - Configurable sponge absorption
|
||||||
|
(validPos, queueAdder) -> {
|
||||||
|
for (Direction direction : ALL_DIRECTIONS) {
|
||||||
|
queueAdder.accept(validPos.relative(direction));
|
||||||
@@ -583,6 +583,13 @@ public class PurpurWorldConfig {
|
|||||||
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
|
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int spongeAbsorptionArea = 65;
|
||||||
|
public int spongeAbsorptionRadius = 6;
|
||||||
|
private void spongeSettings() {
|
||||||
|
spongeAbsorptionArea = getInt("blocks.sponge.absorption.area", spongeAbsorptionArea);
|
||||||
|
spongeAbsorptionRadius = getInt("blocks.sponge.absorption.radius", spongeAbsorptionRadius);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean turtleEggsBreakFromExpOrbs = false;
|
public boolean turtleEggsBreakFromExpOrbs = false;
|
||||||
public boolean turtleEggsBreakFromItems = false;
|
public boolean turtleEggsBreakFromItems = false;
|
||||||
public boolean turtleEggsBreakFromMinecarts = false;
|
public boolean turtleEggsBreakFromMinecarts = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user