From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: nostalfinals 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 2a4425d04917b32c7ae5af3e7422c0bafc2aa1c2..2493e94b170dc5c0a3c36dded8e1ac3918fa266a 100644 --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java @@ -255,4 +255,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..1788d587215397b32c21815778cd1d0fe39e1f2b --- /dev/null +++ b/src/main/java/org/dreeam/leaf/config/modules/opt/DontSaveEntity.java @@ -0,0 +1,22 @@ +package org.dreeam.leaf.config.modules.opt; + +import org.dreeam.leaf.config.ConfigModules; +import org.dreeam.leaf.config.EnumConfigCategory; + +public class DontSaveEntity extends ConfigModules { + + public String getBasePath() { + return EnumConfigCategory.PERF.getBaseKeyName() + ".dont-save-entity"; + } + + public static boolean dontSavePrimedTNT = false; + + @Override + public void onLoaded() { + dontSavePrimedTNT = config.getBoolean(getBasePath() + ".dont-save-primed-tnt", dontSavePrimedTNT, """ + Disable save primed tnt on chunk unloads. + Useful for redstone/technical servers, can prevent machines from being exploded by TNT, + when player disconnected caused by Internet issue. + """); + } +}