mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@44ee1cd fix recipe packet limiter (#9841) PaperMC/Paper@e57af7d sync netty version with vanilla (#9842) Pufferfish Changes: pufferfish-gg/Pufferfish@0020a8b Port a patch from upstream pufferfish-gg/Pufferfish@979d3a2 Update upstream (last 1.20.1) pufferfish-gg/Pufferfish@06262c1 Initial 1.20.2 update
50 lines
2.9 KiB
Diff
50 lines
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: 12emin34 <macanovic.emin@gmail.com>
|
|
Date: Sat, 7 Aug 2021 20:23:31 +0200
|
|
Subject: [PATCH] Option for sponges to work on lava and mud
|
|
|
|
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 e7b19fa84d9dce28dd88a3b4adcb83576dcb98a8..cc1ac862526377b2ac7b66bc20f428dc1aed6e78 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
|
|
@@ -70,7 +70,7 @@ public class SpongeBlock extends Block {
|
|
FluidState fluid = blockList.getFluidState(blockposition1);
|
|
// CraftBukkit end
|
|
|
|
- if (!fluid.is(FluidTags.WATER)) {
|
|
+ if (!fluid.is(FluidTags.WATER) && (!world.purpurConfig.spongeAbsorbsLava || !fluid.is(FluidTags.LAVA)) && (!world.purpurConfig.spongeAbsorbsWaterFromMud || !iblockdata.is(Blocks.MUD))) { // Purpur
|
|
return false;
|
|
} else {
|
|
Block block = iblockdata.getBlock();
|
|
@@ -85,6 +85,10 @@ public class SpongeBlock extends Block {
|
|
|
|
if (iblockdata.getBlock() instanceof LiquidBlock) {
|
|
blockList.setBlock(blockposition1, Blocks.AIR.defaultBlockState(), 3); // CraftBukkit
|
|
+ // Purpur start
|
|
+ } else if (iblockdata.is(Blocks.MUD)) {
|
|
+ blockList.setBlock(blockposition1, Blocks.CLAY.defaultBlockState(), 3);
|
|
+ // Purpur end
|
|
} else {
|
|
if (!iblockdata.is(Blocks.KELP) && !iblockdata.is(Blocks.KELP_PLANT) && !iblockdata.is(Blocks.SEAGRASS) && !iblockdata.is(Blocks.TALL_SEAGRASS)) {
|
|
return false;
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index b2f365ab51b56a83ed7ea67c921c163c3511b834..13aa8ae8f33834793adf18c12541c2ecd2d0699f 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -949,9 +949,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 = true;
|