Cauldron fill chances

This commit is contained in:
Encode42
2025-01-12 12:27:29 -08:00
committed by granny
parent ff3f213522
commit 7f5a06d2b8
4 changed files with 50 additions and 68 deletions

View File

@@ -0,0 +1,13 @@
--- a/net/minecraft/world/level/block/CauldronBlock.java
+++ b/net/minecraft/world/level/block/CauldronBlock.java
@@ -32,8 +_,8 @@
protected static boolean shouldHandlePrecipitation(Level level, Biome.Precipitation precipitation) {
return precipitation == Biome.Precipitation.RAIN
- ? level.getRandom().nextFloat() < 0.05F
- : precipitation == Biome.Precipitation.SNOW && level.getRandom().nextFloat() < 0.1F;
+ ? level.getRandom().nextFloat() < level.purpurConfig.cauldronRainChance // Purpur - Cauldron fill chances
+ : precipitation == Biome.Precipitation.SNOW && level.getRandom().nextFloat() < level.purpurConfig.cauldronPowderSnowChance; // Purpur - Cauldron fill chances
}
@Override

View File

@@ -0,0 +1,26 @@
--- a/net/minecraft/world/level/block/PointedDripstoneBlock.java
+++ b/net/minecraft/world/level/block/PointedDripstoneBlock.java
@@ -197,20 +_,20 @@
@VisibleForTesting
public static void maybeTransferFluid(BlockState state, ServerLevel level, BlockPos pos, float randChance) {
- if (!(randChance > 0.17578125F) || !(randChance > 0.05859375F)) {
+ if (!(randChance > level.purpurConfig.cauldronDripstoneWaterFillChance) || !(randChance > level.purpurConfig.cauldronDripstoneLavaFillChance)) { // Purpur - Cauldron fill chances
if (isStalactiteStartPos(state, level, pos)) {
Optional<PointedDripstoneBlock.FluidInfo> fluidAboveStalactite = getFluidAboveStalactite(level, pos, state);
if (!fluidAboveStalactite.isEmpty()) {
Fluid fluid = fluidAboveStalactite.get().fluid;
float f;
if (fluid == Fluids.WATER) {
- f = 0.17578125F;
+ f = level.purpurConfig.cauldronDripstoneWaterFillChance; // Purpur - Cauldron fill chances
} else {
if (fluid != Fluids.LAVA) {
return;
}
- f = 0.05859375F;
+ f = level.purpurConfig.cauldronDripstoneLavaFillChance; // Purpur - Cauldron fill chances
}
if (!(randChance >= f)) {

View File

@@ -3061,4 +3061,15 @@ 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);
}
}