mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
68 lines
4.0 KiB
Diff
68 lines
4.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Encode42 <me@encode42.dev>
|
|
Date: Sun, 8 Aug 2021 18:38:44 -0400
|
|
Subject: [PATCH] Cauldron fill chances
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/CauldronBlock.java b/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
|
|
index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc298a02be 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
|
|
@@ -29,7 +29,7 @@ public class CauldronBlock extends AbstractCauldronBlock {
|
|
}
|
|
|
|
protected static boolean shouldHandlePrecipitation(Level world, Biome.Precipitation precipitation) {
|
|
- return precipitation == Biome.Precipitation.RAIN ? world.getRandom().nextFloat() < 0.05F : (precipitation == Biome.Precipitation.SNOW ? world.getRandom().nextFloat() < 0.1F : false);
|
|
+ return precipitation == Biome.Precipitation.RAIN ? world.getRandom().nextFloat() < world.purpurConfig.cauldronRainChance : (precipitation == Biome.Precipitation.SNOW ? world.getRandom().nextFloat() < world.purpurConfig.cauldronPowderSnowChance : false); // Purpur
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
|
|
index 995e3bf2ee863902497ab40cb7cf3a14a22a6e19..0499d79e7882ba521f40851ba31b2a44240f40ec 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
|
|
@@ -187,19 +187,19 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
|
|
|
|
@VisibleForTesting
|
|
public static void maybeFillCauldron(BlockState state, ServerLevel world, BlockPos pos, float dripChance) {
|
|
- if (dripChance <= 0.17578125F || dripChance <= 0.05859375F) {
|
|
+ if (dripChance <= world.purpurConfig.cauldronDripstoneWaterFillChance || dripChance <= world.purpurConfig.cauldronDripstoneLavaFillChance) {
|
|
if (PointedDripstoneBlock.isStalactiteStartPos(state, world, pos)) {
|
|
Fluid fluidtype = PointedDripstoneBlock.getCauldronFillFluidType(world, pos);
|
|
float f1;
|
|
|
|
if (fluidtype == Fluids.WATER) {
|
|
- f1 = 0.17578125F;
|
|
+ f1 = world.purpurConfig.cauldronDripstoneWaterFillChance;
|
|
} else {
|
|
if (fluidtype != Fluids.LAVA) {
|
|
return;
|
|
}
|
|
|
|
- f1 = 0.05859375F;
|
|
+ f1 = world.purpurConfig.cauldronDripstoneLavaFillChance;
|
|
}
|
|
|
|
if (dripChance < f1) {
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index 4ca41612b59a003189d12e1062688a6ba920d287..cb28c0dc5a5733e759fc728bb458aaa38452ebea 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -2756,5 +2756,16 @@ public class PurpurWorldConfig {
|
|
});
|
|
conduitBlocks = conduitBlockList.toArray(Block[]::new);
|
|
}
|
|
+
|
|
+ public float cauldronRainChance = 0.05F;
|
|
+ public float cauldronPowderSnowChance = 0.1F;
|
|
+ public float cauldronDripstoneWaterFillChance = 0.17578125F;
|
|
+ public float cauldronDripstoneLavaFillChance = 0.05859375F;
|
|
+ private void cauldronSettings() {
|
|
+ cauldronRainChance = (float) getDouble("blocks.cauldron.fill-chances.rain", cauldronRainChance);
|
|
+ cauldronPowderSnowChance = (float) getDouble("blocks.cauldron.fill-chances.powder-snow", cauldronPowderSnowChance);
|
|
+ cauldronDripstoneWaterFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-water", cauldronDripstoneWaterFillChance);
|
|
+ cauldronDripstoneLavaFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-lava", cauldronDripstoneLavaFillChance);
|
|
+ }
|
|
}
|
|
|