mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
Don't save primed TNT & falling block entity
Co-Authored-By: Nostal Yuu <yuu8583@proton.me>
This commit is contained in:
53
patches/server/0078-Don-t-save-primed-tnt-entity.patch
Normal file
53
patches/server/0078-Don-t-save-primed-tnt-entity.patch
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: nostalfinals <yuu8583@proton.me>
|
||||||
|
Date: Mon, 29 Apr 2024 23:30:21 +0800
|
||||||
|
Subject: [PATCH] Don't save primed tnt entity
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||||
|
index dff0e7b08b973a1b29f916e63d3e4778d6c56cdc..92bcb38043de9623fb6e8139d5738d40c573b257 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||||
|
@@ -218,4 +218,11 @@ public class PrimedTnt extends Entity implements TraceableEntity {
|
||||||
|
return super.interact(player, hand);
|
||||||
|
}
|
||||||
|
// Purpur end - Shears can defuse TNT
|
||||||
|
+
|
||||||
|
+ // Leaf start - PMC - Don't save primed tnt entity
|
||||||
|
+ @Override
|
||||||
|
+ public boolean shouldBeSaved() {
|
||||||
|
+ return !org.dreeam.leaf.config.modules.opt.DontSaveEntity.dontSavePrimedTNT && super.shouldBeSaved();
|
||||||
|
+ }
|
||||||
|
+ // Leaf - PMC - Don't save primed tnt entity
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/dreeam/leaf/config/modules/opt/DontSaveEntity.java b/src/main/java/org/dreeam/leaf/config/modules/opt/DontSaveEntity.java
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000000000000000000000000000000000..01755f3f24fc2a89f71f2e3de48166e95253f418
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/main/java/org/dreeam/leaf/config/modules/opt/DontSaveEntity.java
|
||||||
|
@@ -0,0 +1,25 @@
|
||||||
|
+package org.dreeam.leaf.config.modules.opt;
|
||||||
|
+
|
||||||
|
+import org.dreeam.leaf.config.ConfigInfo;
|
||||||
|
+import org.dreeam.leaf.config.EnumConfigCategory;
|
||||||
|
+import org.dreeam.leaf.config.IConfigModule;
|
||||||
|
+
|
||||||
|
+public class DontSaveEntity implements IConfigModule {
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public EnumConfigCategory getCategory() {
|
||||||
|
+ return EnumConfigCategory.PERFORMANCE;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public String getBaseName() {
|
||||||
|
+ return "dont_save_entity";
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @ConfigInfo(baseName = "dont-save-primed-tnt", comments = """
|
||||||
|
+ Disable save primed tnt on chunk unloads.
|
||||||
|
+ Useful for redstone server, can prevent machine be exploded by TNT,
|
||||||
|
+ when player disconnected caused by Internet issue.
|
||||||
|
+ """)
|
||||||
|
+ public static boolean dontSavePrimedTNT = false;
|
||||||
|
+}
|
||||||
34
patches/server/0079-Don-t-save-falling-block-entity.patch
Normal file
34
patches/server/0079-Don-t-save-falling-block-entity.patch
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: nostalfinals <yuu8583@proton.me>
|
||||||
|
Date: Mon, 29 Apr 2024 23:31:25 +0800
|
||||||
|
Subject: [PATCH] Don't save falling block entity
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||||
|
index d504d10fbe45dfe3f2f3d08d2473df6cd18f6dcf..2b377faa46c7e4b565cff3c4f85cd526046f18d8 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||||
|
@@ -405,4 +405,11 @@ public class FallingBlockEntity extends Entity {
|
||||||
|
this.setPos(d0, d1, d2);
|
||||||
|
this.setStartPos(this.blockPosition());
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Leaf start - PMC - Don't save falling block entity
|
||||||
|
+ @Override
|
||||||
|
+ public boolean shouldBeSaved() {
|
||||||
|
+ return !org.dreeam.leaf.config.modules.opt.DontSaveEntity.dontSaveFallingBlock && super.shouldBeSaved();
|
||||||
|
+ }
|
||||||
|
+ // Leaf end - PMC - Don't save falling block entity
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/dreeam/leaf/config/modules/opt/DontSaveEntity.java b/src/main/java/org/dreeam/leaf/config/modules/opt/DontSaveEntity.java
|
||||||
|
index 01755f3f24fc2a89f71f2e3de48166e95253f418..3753930a2ae5832b6542327627522c8afec28659 100644
|
||||||
|
--- a/src/main/java/org/dreeam/leaf/config/modules/opt/DontSaveEntity.java
|
||||||
|
+++ b/src/main/java/org/dreeam/leaf/config/modules/opt/DontSaveEntity.java
|
||||||
|
@@ -22,4 +22,7 @@ public class DontSaveEntity implements IConfigModule {
|
||||||
|
when player disconnected caused by Internet issue.
|
||||||
|
""")
|
||||||
|
public static boolean dontSavePrimedTNT = false;
|
||||||
|
+
|
||||||
|
+ @ConfigInfo(baseName = "dont-save-falling-block")
|
||||||
|
+ public static boolean dontSaveFallingBlock = false;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user