Make lava flow speed configurable

This commit is contained in:
William Blake Galbreath
2025-01-05 16:30:23 -08:00
committed by granny
parent a9125253c6
commit 7556262c59
3 changed files with 17 additions and 40 deletions

View File

@@ -1,36 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 2 Jan 2020 11:31:36 -0600
Subject: [PATCH] Make lava flow speed configurable
diff --git a/net/minecraft/world/level/material/LavaFluid.java b/net/minecraft/world/level/material/LavaFluid.java
index e9687c3580e5fff33ce902eb7b86eb815ca1072d..6e643c1a7f7e71cfd20603facaf224985ee81716 100644
--- a/net/minecraft/world/level/material/LavaFluid.java
+++ b/net/minecraft/world/level/material/LavaFluid.java
@@ -181,7 +181,7 @@ public abstract class LavaFluid extends FlowingFluid {
@Override
public int getTickDelay(LevelReader world) {
- return world.dimensionType().ultraWarm() ? 10 : 30;
+ return world.dimensionType().ultraWarm() ? world.getWorldBorder().world.purpurConfig.lavaSpeedNether : world.getWorldBorder().world.purpurConfig.lavaSpeedNotNether; // Purpur
}
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8221f383726a4d6aec895529f9330c64de286a35..8b2d9b592ef0f90df0c623595fb425e4f37d0c04 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -223,8 +223,12 @@ public class PurpurWorldConfig {
}
public int lavaInfiniteRequiredSources = 2;
+ public int lavaSpeedNether = 10;
+ public int lavaSpeedNotNether = 30;
private void lavaSettings() {
lavaInfiniteRequiredSources = getInt("blocks.lava.infinite-required-sources", lavaInfiniteRequiredSources);
+ lavaSpeedNether = getInt("blocks.lava.speed.nether", lavaSpeedNether);
+ lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
public boolean turtleEggsBreakFromExpOrbs = false;

View File

@@ -1,16 +1,25 @@
--- a/net/minecraft/world/level/material/LavaFluid.java --- a/net/minecraft/world/level/material/LavaFluid.java
+++ b/net/minecraft/world/level/material/LavaFluid.java +++ b/net/minecraft/world/level/material/LavaFluid.java
@@ -199,6 +_,13 @@ @@ -177,7 +_,7 @@
level.levelEvent(1501, pos, 0);
@Override
public int getTickDelay(LevelReader level) {
- return level.dimensionType().ultraWarm() ? 10 : 30;
+ return level.dimensionType().ultraWarm() ? level.getWorldBorder().world.purpurConfig.lavaSpeedNether : level.getWorldBorder().world.purpurConfig.lavaSpeedNotNether; // Purpur - Make lava flow speed configurable
} }
@Override
@@ -198,6 +_,13 @@
private void fizz(LevelAccessor level, BlockPos pos) {
level.levelEvent(1501, pos, 0);
}
+
+ // Purpur start - Implement infinite liquids + // Purpur start - Implement infinite liquids
+ @Override + @Override
+ protected int getRequiredSources(Level level) { + protected int getRequiredSources(Level level) {
+ return level.purpurConfig.lavaInfiniteRequiredSources; + return level.purpurConfig.lavaInfiniteRequiredSources;
+ } + }
+ // Purpur end - Implement infinite liquids + // Purpur end - Implement infinite liquids
+
@Override @Override
protected boolean canConvertToSource(ServerLevel level) { protected boolean canConvertToSource(ServerLevel level) {
return level.getGameRules().getBoolean(GameRules.RULE_LAVA_SOURCE_CONVERSION);

View File

@@ -211,8 +211,12 @@ public class PurpurWorldConfig {
} }
public int lavaInfiniteRequiredSources = 2; public int lavaInfiniteRequiredSources = 2;
public int lavaSpeedNether = 10;
public int lavaSpeedNotNether = 30;
private void lavaSettings() { private void lavaSettings() {
lavaInfiniteRequiredSources = getInt("blocks.lava.infinite-required-sources", lavaInfiniteRequiredSources); lavaInfiniteRequiredSources = getInt("blocks.lava.infinite-required-sources", lavaInfiniteRequiredSources);
lavaSpeedNether = getInt("blocks.lava.speed.nether", lavaSpeedNether);
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
} }
public boolean turtleEggsBreakFromExpOrbs = false; public boolean turtleEggsBreakFromExpOrbs = false;