mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-22 02:47:43 +01:00
drop void damage height/damage migration
This commit is contained in:
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 483062dbf8706dcf736ddb9393ccb696972be943..eefb5921752c1ef95255174f26e909c3e1b3e4ac 100644
|
||||
index 825bbc16338b25bdd1d81bbf6efebe6a8435a789..f48d9dbd75e62621f7e4c8cd11f9fd4084db9097 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -267,6 +267,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1,115 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Thu, 27 Feb 2020 21:42:19 -0600
|
||||
Subject: [PATCH] Configurable void damage height and damage
|
||||
|
||||
temporarily migrate to paper's config
|
||||
drop patch on the next minecraft release
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
||||
index e48fa405d92fab221fa8331b65c8f324e801d439..e319d6337811051de478d584a37015c450960701 100644
|
||||
--- a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
||||
+++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
||||
@@ -267,6 +267,7 @@ public class PaperConfigurations extends Configurations<GlobalConfiguration, Wor
|
||||
for (final NodePath path : RemovedConfigurations.REMOVED_WORLD_PATHS) {
|
||||
builder.addAction(path, TransformAction.remove());
|
||||
}
|
||||
+ org.purpurmc.purpur.configuration.transformation.VoidDamageHeightMigration.apply(builder, contextMap); // Purpur - Configurable void damage height and damage
|
||||
builder.build().apply(node);
|
||||
|
||||
final ConfigurationTransformation.VersionedBuilder versionedBuilder = Transformations.versionedBuilder();
|
||||
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
index 9511f978f6c7da506f67928f5a5a92ecf28e5930..65f6839fe75340a4b58894ad50c6eda7b59128c0 100644
|
||||
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
@@ -402,6 +402,7 @@ public class WorldConfiguration extends ConfigurationPart {
|
||||
public boolean useVanillaWorldScoreboardNameColoring = false;
|
||||
}
|
||||
|
||||
+ @Setting(org.purpurmc.purpur.configuration.transformation.VoidDamageHeightMigration.ENVIRONMENT_KEY) // Purpur - Configurable void damage height and damage
|
||||
public Environment environment;
|
||||
|
||||
public class Environment extends ConfigurationPart {
|
||||
@@ -411,7 +412,9 @@ public class WorldConfiguration extends ConfigurationPart {
|
||||
public boolean disableExplosionKnockback = false;
|
||||
public boolean generateFlatBedrock = false;
|
||||
public FrostedIce frostedIce;
|
||||
+ @Setting(org.purpurmc.purpur.configuration.transformation.VoidDamageHeightMigration.VOID_DAMAGE_KEY) // Purpur - Configurable void damage height and damage
|
||||
public DoubleOr.Disabled voidDamageAmount = new DoubleOr.Disabled(OptionalDouble.of(4));
|
||||
+ @Setting(org.purpurmc.purpur.configuration.transformation.VoidDamageHeightMigration.VOID_DAMAGE_MIN_HEIGHT_OFFSET_KEY) // Purpur - Configurable void damage height and damage
|
||||
public double voidDamageMinBuildHeightOffset = -64.0;
|
||||
|
||||
public class FrostedIce extends ConfigurationPart {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/configuration/transformation/VoidDamageHeightMigration.java b/src/main/java/org/purpurmc/purpur/configuration/transformation/VoidDamageHeightMigration.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..a04d23bd98075cd65a24d4de8d18281d1668480f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/configuration/transformation/VoidDamageHeightMigration.java
|
||||
@@ -0,0 +1,67 @@
|
||||
+package org.purpurmc.purpur.configuration.transformation;
|
||||
+
|
||||
+import io.papermc.paper.configuration.Configurations;
|
||||
+import io.papermc.paper.configuration.PaperConfigurations;
|
||||
+import io.papermc.paper.configuration.type.number.DoubleOr;
|
||||
+import java.util.OptionalDouble;
|
||||
+import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
+import org.purpurmc.purpur.PurpurConfig;
|
||||
+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 static org.spongepowered.configurate.NodePath.path;
|
||||
+
|
||||
+public class VoidDamageHeightMigration implements TransformAction {
|
||||
+
|
||||
+ public static boolean HAS_BEEN_REGISTERED = false;
|
||||
+
|
||||
+ public static final String ENVIRONMENT_KEY = "environment";
|
||||
+ public static final String VOID_DAMAGE_KEY = "void-damage-amount";
|
||||
+ public static final String VOID_DAMAGE_MIN_HEIGHT_OFFSET_KEY = "void-damage-min-build-height-offset";
|
||||
+ public static final double DEFAULT_VOID_DAMAGE_HEIGHT = -64.0D;
|
||||
+ public static final double DEFAULT_VOID_DAMAGE = 4.0D;
|
||||
+
|
||||
+ private final String worldName;
|
||||
+
|
||||
+ private VoidDamageHeightMigration(String worldName) {
|
||||
+ this.worldName = PaperConfigurations.WORLD_DEFAULTS.equals(worldName) ? "default" : worldName;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public Object @Nullable [] visitPath(final NodePath path, final ConfigurationNode value) throws ConfigurateException {
|
||||
+ String purpurVoidDamageHeightPath = "world-settings." + this.worldName + ".gameplay-mechanics.void-damage-height";
|
||||
+ ConfigurationNode voidDamageMinHeightOffsetNode = value.node(ENVIRONMENT_KEY, VOID_DAMAGE_MIN_HEIGHT_OFFSET_KEY);
|
||||
+ if (PurpurConfig.config.contains(purpurVoidDamageHeightPath)) {
|
||||
+ double purpurVoidDamageHeight = PurpurConfig.config.getDouble(purpurVoidDamageHeightPath);
|
||||
+ if (purpurVoidDamageHeight != DEFAULT_VOID_DAMAGE_HEIGHT && (voidDamageMinHeightOffsetNode.empty() || voidDamageMinHeightOffsetNode.getDouble() == DEFAULT_VOID_DAMAGE_HEIGHT)) {
|
||||
+ voidDamageMinHeightOffsetNode.raw(null);
|
||||
+ voidDamageMinHeightOffsetNode.set(purpurVoidDamageHeight);
|
||||
+ }
|
||||
+ PurpurConfig.config.set(purpurVoidDamageHeightPath, null);
|
||||
+ }
|
||||
+
|
||||
+ String purpurVoidDamagePath = "world-settings." + this.worldName + ".gameplay-mechanics.void-damage-dealt";
|
||||
+ ConfigurationNode voidDamageNode = value.node(ENVIRONMENT_KEY, VOID_DAMAGE_KEY);
|
||||
+ if (PurpurConfig.config.contains(purpurVoidDamagePath)) {
|
||||
+ double purpurVoidDamage = PurpurConfig.config.getDouble(purpurVoidDamagePath);
|
||||
+ if (purpurVoidDamage != DEFAULT_VOID_DAMAGE && (voidDamageNode.empty() || voidDamageNode.getDouble() == DEFAULT_VOID_DAMAGE)) {
|
||||
+ voidDamageNode.raw(null);
|
||||
+ voidDamageNode.set(new DoubleOr.Disabled(OptionalDouble.of(purpurVoidDamage)));
|
||||
+ }
|
||||
+ PurpurConfig.config.set(purpurVoidDamagePath, null);
|
||||
+ }
|
||||
+
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public static void apply(final ConfigurationTransformation.Builder builder, final Configurations.ContextMap contextMap) {
|
||||
+ if (PurpurConfig.version < 36) {
|
||||
+ HAS_BEEN_REGISTERED = true;
|
||||
+ builder.addAction(path(), new VoidDamageHeightMigration(contextMap.require(Configurations.WORLD_NAME)));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index eefb5921752c1ef95255174f26e909c3e1b3e4ac..8f9af0c5396abf25534eaee17b81982024eb9fcd 100644
|
||||
index f48d9dbd75e62621f7e4c8cd11f9fd4084db9097..8feb78c4d7fa793f01991756b618fc49de023db6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -110,6 +110,13 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
Reference in New Issue
Block a user