mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Cauldron fill chances
This commit is contained in:
@@ -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
|
||||
@@ -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)) {
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user