mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-30 12:19:08 +00:00
Combine loads-chunks into a single config option
This commit is contained in:
@@ -388,10 +388,10 @@ index 0000000000000000000000000000000000000000..5296d4e0a1041932e36562f42fbf3e1d
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/configuration/SakuraConfigurations.java b/src/main/java/me/samsuik/sakura/configuration/SakuraConfigurations.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..f8770f97e3ad6c2746bc436b2b2c895cecd43996
|
||||
index 0000000000000000000000000000000000000000..b5c2471a2982f5a5ab64620e906766460498095c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/configuration/SakuraConfigurations.java
|
||||
@@ -0,0 +1,253 @@
|
||||
@@ -0,0 +1,255 @@
|
||||
+package me.samsuik.sakura.configuration;
|
||||
+
|
||||
+import com.google.common.collect.Table;
|
||||
@@ -418,6 +418,7 @@ index 0000000000000000000000000000000000000000..f8770f97e3ad6c2746bc436b2b2c895c
|
||||
+import me.samsuik.sakura.configuration.transformation.world.V3_RenameKnockback;
|
||||
+import me.samsuik.sakura.configuration.transformation.world.V2_VerticalKnockbackUseDefault;
|
||||
+import me.samsuik.sakura.configuration.transformation.world.V4_RenameNonStrictMergeLevel;
|
||||
+import me.samsuik.sakura.configuration.transformation.world.V5_CombineLoadChunksOptions;
|
||||
+import net.minecraft.core.RegistryAccess;
|
||||
+import net.minecraft.core.registries.Registries;
|
||||
+import net.minecraft.resources.ResourceLocation;
|
||||
@@ -581,6 +582,7 @@ index 0000000000000000000000000000000000000000..f8770f97e3ad6c2746bc436b2b2c895c
|
||||
+ V2_VerticalKnockbackUseDefault.apply(versionedBuilder);
|
||||
+ V3_RenameKnockback.apply(versionedBuilder);
|
||||
+ V4_RenameNonStrictMergeLevel.apply(versionedBuilder);
|
||||
+ V5_CombineLoadChunksOptions.apply(versionedBuilder);
|
||||
+ // ADD FUTURE VERSIONED TRANSFORMS TO versionedBuilder HERE
|
||||
+ versionedBuilder.build().apply(node);
|
||||
+ }
|
||||
@@ -647,10 +649,10 @@ index 0000000000000000000000000000000000000000..f8770f97e3ad6c2746bc436b2b2c895c
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java b/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..33ead866ae736fd191ed97ed8e9b8e30292e6fe6
|
||||
index 0000000000000000000000000000000000000000..f9fe1024c3e5681abe9823d71582d83b50d3c6b0
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java
|
||||
@@ -0,0 +1,205 @@
|
||||
@@ -0,0 +1,204 @@
|
||||
+package me.samsuik.sakura.configuration;
|
||||
+
|
||||
+import com.mojang.logging.LogUtils;
|
||||
@@ -682,7 +684,7 @@ index 0000000000000000000000000000000000000000..33ead866ae736fd191ed97ed8e9b8e30
|
||||
+public class WorldConfiguration extends ConfigurationPart {
|
||||
+
|
||||
+ private static final Logger LOGGER = LogUtils.getClassLogger();
|
||||
+ static final int CURRENT_VERSION = 4; // (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 = 5; // (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) {
|
||||
@@ -705,16 +707,15 @@ index 0000000000000000000000000000000000000000..33ead866ae736fd191ed97ed8e9b8e30
|
||||
+ public boolean treatAllBlocksAsFullWhenMoving = false;
|
||||
+ @NestedSetting({"treat-collidable-blocks-as-full", "moving-faster-than"})
|
||||
+ public double treatAllBlocksAsFullWhenMovingFasterThan = 64.0;
|
||||
+ public boolean loadChunks = false;
|
||||
+
|
||||
+ public Tnt tnt = new Tnt();
|
||||
+ public class Tnt extends ConfigurationPart {
|
||||
+ public boolean loadsChunks;
|
||||
+ public boolean forcePositionUpdates;
|
||||
+ }
|
||||
+
|
||||
+ public Sand sand = new Sand();
|
||||
+ public class Sand extends ConfigurationPart {
|
||||
+ public boolean loadsChunks;
|
||||
+ public boolean despawnInsideMovingPistons = true;
|
||||
+ public boolean concreteSolidifyInWater = true;
|
||||
+
|
||||
@@ -967,6 +968,56 @@ index 0000000000000000000000000000000000000000..198eb5f030ec5def4d93dec51dde3522
|
||||
+ return null;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/configuration/transformation/world/V5_CombineLoadChunksOptions.java b/src/main/java/me/samsuik/sakura/configuration/transformation/world/V5_CombineLoadChunksOptions.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..3d647a3db0862232f158d823da9a797d4e0d5608
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/me/samsuik/sakura/configuration/transformation/world/V5_CombineLoadChunksOptions.java
|
||||
@@ -0,0 +1,44 @@
|
||||
+package me.samsuik.sakura.configuration.transformation.world;
|
||||
+
|
||||
+import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
+import org.spongepowered.configurate.ConfigurateException;
|
||||
+import org.spongepowered.configurate.ConfigurationNode;
|
||||
+import org.spongepowered.configurate.NodePath;
|
||||
+import org.spongepowered.configurate.transformation.ConfigurationTransformation;
|
||||
+import org.spongepowered.configurate.transformation.TransformAction;
|
||||
+
|
||||
+import java.util.List;
|
||||
+
|
||||
+import static org.spongepowered.configurate.NodePath.path;
|
||||
+
|
||||
+public final class V5_CombineLoadChunksOptions implements TransformAction {
|
||||
+ private static final int VERSION = 5;
|
||||
+ private static final List<String> ENTITY_PATHS = List.of("tnt", "sand");
|
||||
+ private static final String OLD_NAME = "loads-chunks";
|
||||
+ private static final String NAME = "load-chunks";
|
||||
+ private static final NodePath PATH = path("cannons");
|
||||
+ private static final V5_CombineLoadChunksOptions INSTANCE = new V5_CombineLoadChunksOptions();
|
||||
+
|
||||
+ private V5_CombineLoadChunksOptions() {}
|
||||
+
|
||||
+ public static void apply(ConfigurationTransformation.VersionedBuilder builder) {
|
||||
+ builder.addVersion(VERSION, ConfigurationTransformation.builder().addAction(PATH, INSTANCE).build());
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public Object @Nullable [] visitPath(NodePath path, ConfigurationNode value) throws ConfigurateException {
|
||||
+ boolean shouldLoadChunks = false;
|
||||
+
|
||||
+ for (String entity : ENTITY_PATHS) {
|
||||
+ NodePath entityPath = NodePath.path(entity, OLD_NAME);
|
||||
+ if (value.hasChild(entityPath)) {
|
||||
+ ConfigurationNode node = value.node(entityPath);
|
||||
+ shouldLoadChunks |= node.getBoolean();
|
||||
+ node.raw(null);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ value.node(NAME).set(shouldLoadChunks);
|
||||
+ return null;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/me/samsuik/sakura/explosion/durable/DurableMaterial.java b/src/main/java/me/samsuik/sakura/explosion/durable/DurableMaterial.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..4024f9738e039ffffd560a07a2210f758879d3c0
|
||||
|
||||
Reference in New Issue
Block a user