mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-21 15:59:26 +00:00
Add lava flow speed api
This commit is contained in:
21
patches/api/0013-Add-lava-flow-speed-api.patch
Normal file
21
patches/api/0013-Add-lava-flow-speed-api.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samsuik <kfian294ma4@gmail.com>
|
||||
Date: Thu, 5 Dec 2024 22:27:38 +0000
|
||||
Subject: [PATCH] Add lava flow speed api
|
||||
|
||||
|
||||
diff --git a/src/main/java/me/samsuik/sakura/local/LocalValueKey.java b/src/main/java/me/samsuik/sakura/local/LocalValueKey.java
|
||||
index 741e5466f00b34832ac69ff01503146278e952a9..3ae1e31a11921282ac6e293e8fe5c231e71ad770 100644
|
||||
--- a/src/main/java/me/samsuik/sakura/local/LocalValueKey.java
|
||||
+++ b/src/main/java/me/samsuik/sakura/local/LocalValueKey.java
|
||||
@@ -33,6 +33,10 @@ public record LocalValueKey<T>(NamespacedKey key, Supplier<T> defaultSupplier) {
|
||||
new NamespacedKey("sakura", "redstone-cache"), () -> false
|
||||
);
|
||||
|
||||
+ public static final LocalValueKey<Integer> LAVA_FLOW_SPEED = new LocalValueKey<>(
|
||||
+ new NamespacedKey("sakura", "lava-flow-speed"), () -> -1
|
||||
+ );
|
||||
+
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
@@ -153,10 +153,10 @@ index 0000000000000000000000000000000000000000..58e2bada4d9120a4802def5caece906f
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/local/config/LocalValueConfig.java b/src/main/java/me/samsuik/sakura/local/config/LocalValueConfig.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..5b3e2cca7ee16bc6ecfa0f29438fa6588fa39a99
|
||||
index 0000000000000000000000000000000000000000..86a5964e7dea512da0a54ae675394bded91c5e0e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/local/config/LocalValueConfig.java
|
||||
@@ -0,0 +1,69 @@
|
||||
@@ -0,0 +1,73 @@
|
||||
+package me.samsuik.sakura.local.config;
|
||||
+
|
||||
+import io.papermc.paper.configuration.WorldConfiguration.Misc.RedstoneImplementation;
|
||||
@@ -179,6 +179,7 @@ index 0000000000000000000000000000000000000000..5b3e2cca7ee16bc6ecfa0f29438fa658
|
||||
+ public RedstoneImplementation redstoneImplementation;
|
||||
+ public boolean consistentRadius;
|
||||
+ public boolean redstoneCache;
|
||||
+ public int lavaFlowSpeed = -1;
|
||||
+
|
||||
+ LocalValueConfig(Expiry expiry) {
|
||||
+ this.expiry = expiry;
|
||||
@@ -220,6 +221,9 @@ index 0000000000000000000000000000000000000000..5b3e2cca7ee16bc6ecfa0f29438fa658
|
||||
+
|
||||
+ // redstone cache
|
||||
+ this.redstoneCache = storage.getOrDefault(LocalValueKey.REDSTONE_CACHE, this.redstoneCache);
|
||||
+
|
||||
+ // lava flow speed
|
||||
+ this.lavaFlowSpeed = storage.getOrDefault(LocalValueKey.LAVA_FLOW_SPEED, this.lavaFlowSpeed);
|
||||
+ }
|
||||
+
|
||||
+ Expiry expiry() {
|
||||
|
||||
22
patches/server/0081-Add-lava-flow-speed-api.patch
Normal file
22
patches/server/0081-Add-lava-flow-speed-api.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samsuik <kfian294ma4@gmail.com>
|
||||
Date: Thu, 5 Dec 2024 22:21:39 +0000
|
||||
Subject: [PATCH] Add lava flow speed api
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/material/LavaFluid.java b/src/main/java/net/minecraft/world/level/material/LavaFluid.java
|
||||
index ce34bbe57c524964300b6086358fa456f9e6d3ca..1a6fd2c638f04c92a2fb39331054e6c07371ce6f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/material/LavaFluid.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/material/LavaFluid.java
|
||||
@@ -189,7 +189,10 @@ public abstract class LavaFluid extends FlowingFluid {
|
||||
|
||||
@Override
|
||||
public int getSpreadDelay(Level world, BlockPos pos, FluidState oldState, FluidState newState) {
|
||||
- int i = this.getTickDelay(world);
|
||||
+ // Sakura start - lava flow speed api
|
||||
+ final int flowSpeed = world.localConfig().config(pos).lavaFlowSpeed;
|
||||
+ int i = flowSpeed >= 0 ? flowSpeed : this.getTickDelay(world);
|
||||
+ // Sakura end - lava flow speed api
|
||||
|
||||
if (!oldState.isEmpty() && !newState.isEmpty() && !(Boolean) oldState.getValue(LavaFluid.FALLING) && !(Boolean) newState.getValue(LavaFluid.FALLING) && newState.getHeight(world, pos) > oldState.getHeight(world, pos) && world.getRandom().nextInt(4) != 0) {
|
||||
i *= 4;
|
||||
Reference in New Issue
Block a user