mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 18:07:43 +01:00
Option for sponges to work on lava and mud
Co-authored by: granny <granny@purpurmc.org>
This commit is contained in:
@@ -11,3 +11,23 @@
|
||||
(validPos, queueAdder) -> {
|
||||
for (Direction direction : ALL_DIRECTIONS) {
|
||||
queueAdder.accept(validPos.relative(direction));
|
||||
@@ -68,7 +_,7 @@
|
||||
BlockState blockState = blockList.getBlockState(blockPos);
|
||||
FluidState fluidState = blockList.getFluidState(blockPos);
|
||||
// CraftBukkit end
|
||||
- if (!fluidState.is(FluidTags.WATER)) {
|
||||
+ if (!fluidState.is(FluidTags.WATER) && (!level.purpurConfig.spongeAbsorbsLava || !fluidState.is(FluidTags.LAVA)) && (!level.purpurConfig.spongeAbsorbsWaterFromMud || !blockState.is(Blocks.MUD))) { // Purpur - Option for sponges to work on lava and mud
|
||||
return BlockPos.TraversalNodeStatus.SKIP;
|
||||
} else if (blockState.getBlock() instanceof BucketPickup bucketPickup
|
||||
&& !bucketPickup.pickupBlock(null, blockList, blockPos, blockState).isEmpty()) { // CraftBukkit
|
||||
@@ -76,6 +_,10 @@
|
||||
} else {
|
||||
if (blockState.getBlock() instanceof LiquidBlock) {
|
||||
blockList.setBlock(blockPos, Blocks.AIR.defaultBlockState(), 3); // CraftBukkit
|
||||
+ // Purpur start - Option for sponges to work on lava and mud
|
||||
+ } else if (blockState.is(Blocks.MUD)) {
|
||||
+ blockList.setBlock(blockPos, Blocks.CLAY.defaultBlockState(), 3);
|
||||
+ // Purpur end - Option for sponges to work on lava and mud
|
||||
} else {
|
||||
if (!blockState.is(Blocks.KELP)
|
||||
&& !blockState.is(Blocks.KELP_PLANT)
|
||||
|
||||
@@ -972,9 +972,13 @@ public class PurpurWorldConfig {
|
||||
|
||||
public int spongeAbsorptionArea = 65;
|
||||
public int spongeAbsorptionRadius = 6;
|
||||
public boolean spongeAbsorbsLava = false;
|
||||
public boolean spongeAbsorbsWaterFromMud = false;
|
||||
private void spongeSettings() {
|
||||
spongeAbsorptionArea = getInt("blocks.sponge.absorption.area", spongeAbsorptionArea);
|
||||
spongeAbsorptionRadius = getInt("blocks.sponge.absorption.radius", spongeAbsorptionRadius);
|
||||
spongeAbsorbsLava = getBoolean("blocks.sponge.absorbs-lava", spongeAbsorbsLava);
|
||||
spongeAbsorbsWaterFromMud = getBoolean("blocks.sponge.absorbs-water-from-mud", spongeAbsorbsWaterFromMud);
|
||||
}
|
||||
|
||||
public boolean turtleEggsBreakFromExpOrbs = false;
|
||||
|
||||
Reference in New Issue
Block a user