mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 18:37:42 +01:00
Implement infinite liquids
This commit is contained in:
committed by
granny
parent
b12c969bc5
commit
a9125253c6
@@ -0,0 +1,24 @@
|
||||
--- a/net/minecraft/world/level/material/FlowingFluid.java
|
||||
+++ b/net/minecraft/world/level/material/FlowingFluid.java
|
||||
@@ -232,7 +_,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (i1 >= 2 && this.canConvertToSource(level)) {
|
||||
+ if (i1 >= this.getRequiredSources(level) && this.canConvertToSource(level)) { // Purpur - Implement infinite liquids
|
||||
BlockState blockState1 = level.getBlockState(mutableBlockPos.setWithOffset(pos, Direction.DOWN));
|
||||
FluidState fluidState1 = blockState1.getFluidState();
|
||||
if (blockState1.isSolid() || this.isSourceBlockOfThisType(fluidState1)) {
|
||||
@@ -319,6 +_,12 @@
|
||||
}
|
||||
|
||||
protected abstract boolean canConvertToSource(ServerLevel level);
|
||||
+
|
||||
+ // Purpur start - Implement infinite liquids
|
||||
+ protected int getRequiredSources(Level level) {
|
||||
+ return 2;
|
||||
+ }
|
||||
+ // Purpur end - Implement infinite liquids
|
||||
|
||||
protected void spreadTo(LevelAccessor level, BlockPos pos, BlockState blockState, Direction direction, FluidState fluidState) {
|
||||
if (blockState.getBlock() instanceof LiquidBlockContainer liquidBlockContainer) {
|
||||
@@ -0,0 +1,16 @@
|
||||
--- a/net/minecraft/world/level/material/LavaFluid.java
|
||||
+++ b/net/minecraft/world/level/material/LavaFluid.java
|
||||
@@ -199,6 +_,13 @@
|
||||
level.levelEvent(1501, pos, 0);
|
||||
}
|
||||
|
||||
+ // Purpur start - Implement infinite liquids
|
||||
+ @Override
|
||||
+ protected int getRequiredSources(Level level) {
|
||||
+ return level.purpurConfig.lavaInfiniteRequiredSources;
|
||||
+ }
|
||||
+ // Purpur end - Implement infinite liquids
|
||||
+
|
||||
@Override
|
||||
protected boolean canConvertToSource(ServerLevel level) {
|
||||
return level.getGameRules().getBoolean(GameRules.RULE_LAVA_SOURCE_CONVERSION);
|
||||
@@ -0,0 +1,17 @@
|
||||
--- a/net/minecraft/world/level/material/WaterFluid.java
|
||||
+++ b/net/minecraft/world/level/material/WaterFluid.java
|
||||
@@ -74,6 +_,14 @@
|
||||
protected boolean canConvertToSource(ServerLevel level) {
|
||||
return level.getGameRules().getBoolean(GameRules.RULE_WATER_SOURCE_CONVERSION);
|
||||
}
|
||||
+
|
||||
+ // Purpur start - Implement infinite liquids
|
||||
+ @Override
|
||||
+ protected int getRequiredSources(Level level) {
|
||||
+ return level.purpurConfig.waterInfiniteRequiredSources;
|
||||
+ }
|
||||
+ // Purpur end - Implement infinite liquids
|
||||
+
|
||||
// Paper start - Add BlockBreakBlockEvent
|
||||
@Override
|
||||
protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) {
|
||||
Reference in New Issue
Block a user