mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-23 08:49:25 +00:00
57 lines
3.8 KiB
Diff
57 lines
3.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samsuik <kfian294ma4@gmail.com>
|
|
Date: Sat, 2 Dec 2023 15:14:15 +0000
|
|
Subject: [PATCH] Legacy lava block formation
|
|
|
|
|
|
diff --git a/net/minecraft/world/level/block/LiquidBlock.java b/net/minecraft/world/level/block/LiquidBlock.java
|
|
index e719be50ff73610046696a21053671332951ca9c..b096ef72d5a2e9b931be85dda4dc41673229d57f 100644
|
|
--- a/net/minecraft/world/level/block/LiquidBlock.java
|
|
+++ b/net/minecraft/world/level/block/LiquidBlock.java
|
|
@@ -194,7 +194,14 @@ public class LiquidBlock extends Block implements BucketPickup {
|
|
final FluidState fluidState = state.getFluidState();
|
|
final Block block = fluidState.isSource() ? Blocks.OBSIDIAN : Blocks.COBBLESTONE;
|
|
if (block == Blocks.COBBLESTONE) {
|
|
- final me.samsuik.sakura.physics.PhysicsVersion physics = level.localConfig().config(pos).physicsVersion;
|
|
+ // Sakura start - legacy lava block formation
|
|
+ final me.samsuik.sakura.physics.PhysicsVersion physics;
|
|
+ if (level.sakuraConfig().environment.blockGeneration.legacyBlockFormation) {
|
|
+ physics = me.samsuik.sakura.physics.PhysicsVersion.v1_12;
|
|
+ } else {
|
|
+ physics = level.localConfig().config(pos).physicsVersion;
|
|
+ }
|
|
+ // Sakura end - legacy lava block formation
|
|
|
|
// SANITY: In legacy a patch by paper removes the fluid level condition from vanilla.
|
|
if (physics.before(1_16_0) && !physics.isLegacy() &&
|
|
diff --git a/net/minecraft/world/level/material/LavaFluid.java b/net/minecraft/world/level/material/LavaFluid.java
|
|
index 9b714ddad7208dd9509bf9f8434f1acea5a6f213..d073864e6d4be4e8001ff6e6a0a1dd92e95a9323 100644
|
|
--- a/net/minecraft/world/level/material/LavaFluid.java
|
|
+++ b/net/minecraft/world/level/material/LavaFluid.java
|
|
@@ -174,7 +174,8 @@ public abstract class LavaFluid extends FlowingFluid {
|
|
public boolean canBeReplacedWith(FluidState fluidState, BlockGetter blockReader, BlockPos pos, Fluid fluid, Direction direction) {
|
|
// Sakura start - configure cannon physics
|
|
return fluidState.getHeight(blockReader, pos) >= 0.44444445F && fluid.is(FluidTags.WATER)
|
|
- && blockReader instanceof Level level && level.localConfig().config(pos).physicsVersion.afterOrEqual(1_13_0);
|
|
+ && blockReader instanceof Level level && level.localConfig().config(pos).physicsVersion.afterOrEqual(1_13_0)
|
|
+ && !level.sakuraConfig().environment.blockGeneration.legacyBlockFormation; // Sakura - legacy lava block formation
|
|
// Sakura end - configure cannon physics
|
|
}
|
|
|
|
diff --git a/net/minecraft/world/level/material/WaterFluid.java b/net/minecraft/world/level/material/WaterFluid.java
|
|
index 6f478324e9edaf52f8938fb6e24208495463454f..a1677a683dc530c0af5f2ead275cf57482860737 100644
|
|
--- a/net/minecraft/world/level/material/WaterFluid.java
|
|
+++ b/net/minecraft/world/level/material/WaterFluid.java
|
|
@@ -118,7 +118,10 @@ public abstract class WaterFluid extends FlowingFluid {
|
|
if (direction == Direction.DOWN && !fluid.is(FluidTags.WATER) || !(blockReader instanceof Level level)) {
|
|
return true;
|
|
}
|
|
- return fluid.is(FluidTags.LAVA) && level.localConfig().config(pos).physicsVersion.before(1_13_0);
|
|
+ // Sakura start - legacy lava block formation
|
|
+ return fluid.is(FluidTags.LAVA) && (level.localConfig().config(pos).physicsVersion.before(1_13_0)
|
|
+ || level.sakuraConfig().environment.blockGeneration.legacyBlockFormation);
|
|
+ // Sakura end - legacy lava block formation
|
|
// Sakura end - configure cannon physics
|
|
}
|
|
|