diff --git a/sakura-server/minecraft-patches/sources/net/minecraft/world/level/block/piston/PistonBaseBlock.java.patch b/sakura-server/minecraft-patches/sources/net/minecraft/world/level/block/piston/PistonBaseBlock.java.patch index f67b3a4..be1773c 100644 --- a/sakura-server/minecraft-patches/sources/net/minecraft/world/level/block/piston/PistonBaseBlock.java.patch +++ b/sakura-server/minecraft-patches/sources/net/minecraft/world/level/block/piston/PistonBaseBlock.java.patch @@ -5,7 +5,7 @@ // Paper start - fix a variety of piston desync dupes boolean allowDesync = io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPistonDuplication; + // Sakura start - configure tnt duplication -+ if (level.sakuraConfig().technical.allowTNTDuplication) { ++ if (level.sakuraConfig().technical.allowTntDuplication) { + final BlockState movedState = list.get(i1); + if (movedState.is(Blocks.TNT) || movedState.getBlock() instanceof net.minecraft.world.level.block.BaseCoralPlantTypeBlock) { + allowDesync = true; diff --git a/sakura-server/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java b/sakura-server/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java index 194276d..fbe346c 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java @@ -29,7 +29,7 @@ import java.util.Map; public final class WorldConfiguration extends ConfigurationPart { private static final Logger LOGGER = LogUtils.getClassLogger(); - static final int CURRENT_VERSION = 6; // (when you change the version, change the comment, so it conflicts on rebases): rename filter bad nbt from spawn eggs + static final int CURRENT_VERSION = 7; // (when you change the version, change the comment, so it conflicts on rebases): rename filter bad nbt from spawn eggs private transient final ResourceLocation worldKey; WorldConfiguration(ResourceLocation worldKey) { @@ -133,7 +133,7 @@ public final class WorldConfiguration extends ConfigurationPart { "Allow TNT duplication while `allow-piston-duplication` is disabled.\n" + "This exists so servers can enable TNT duplication without reintroducing the other forms of piston duplication." ) - public boolean allowTNTDuplication = false; + public boolean allowTntDuplication = false; } public Players players; diff --git a/sakura-server/src/main/java/me/samsuik/sakura/configuration/transformation/ConfigurationTransformations.java b/sakura-server/src/main/java/me/samsuik/sakura/configuration/transformation/ConfigurationTransformations.java index 154ab96..41c6c60 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/configuration/transformation/ConfigurationTransformations.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/configuration/transformation/ConfigurationTransformations.java @@ -24,6 +24,7 @@ public final class ConfigurationTransformations { V4_RenameNonStrictMergeLevel.apply(versionedBuilder); V5_CombineLoadChunksOptions.apply(versionedBuilder); V6_FixIncorrectExtraKnockback.apply(versionedBuilder); + V7_FixTntDuplicationName.apply(versionedBuilder); // ADD FUTURE VERSIONED TRANSFORMS TO versionedBuilder HERE versionedBuilder.build().apply(node); } diff --git a/sakura-server/src/main/java/me/samsuik/sakura/configuration/transformation/world/V7_FixTntDuplicationName.java b/sakura-server/src/main/java/me/samsuik/sakura/configuration/transformation/world/V7_FixTntDuplicationName.java new file mode 100644 index 0000000..8f9f296 --- /dev/null +++ b/sakura-server/src/main/java/me/samsuik/sakura/configuration/transformation/world/V7_FixTntDuplicationName.java @@ -0,0 +1,15 @@ +package me.samsuik.sakura.configuration.transformation.world; + +import org.spongepowered.configurate.NodePath; +import org.spongepowered.configurate.transformation.ConfigurationTransformation; +import org.spongepowered.configurate.transformation.TransformAction; + +public final class V7_FixTntDuplicationName { + private static final int VERSION = 7; + private static final NodePath OLD_PATH = NodePath.path("technical", "allow-t-n-t-duplication"); + private static final String NEW_NAME = "allow-tnt-duplication"; + + public static void apply(ConfigurationTransformation.VersionedBuilder builder) { + builder.addVersion(VERSION, ConfigurationTransformation.builder().addAction(OLD_PATH, TransformAction.rename(NEW_NAME)).build()); + } +}