Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@15309f9a Update to 1.21.11-rc2
PaperMC/Paper@f34efdb7 Pass SWEEP_ATTACK knockback reason
PaperMC/Paper@eb37433d Re-add configurable combat exhaustion and event
PaperMC/Paper@31af44d2 Re-add dropped hunk for visibility sounds
PaperMC/Paper@252cfe14 Fix unnecessary player info remove packets being sent when hiding players (#12587)
PaperMC/Paper@62dc8b32 Use book packet for both methods (#13298)
PaperMC/Paper@7fdc16a8  Add configuration option to control fix for MC-159283 end rings (#13363)
PaperMC/Paper@bb6c2d08 Use correct addresses for PlayerConnection (#13307)
PaperMC/Paper@f08aad23 [ci/skip] Clarify Metadata API deprecation message (#13371)
PaperMC/Paper@5f03e110 Fix isInteractable for copper chests (#13325)
PaperMC/Paper@a339457c Readd dropped shulker box block hunk
PaperMC/Paper@843cafd8 Update to 1.21.11-rc3
PaperMC/Paper@7db609b0 [ci/skip] diff housekeeping
PaperMC/Paper@f6e937b9 Reimplement int based gamerule access (#13372)
This commit is contained in:
granny
2025-12-08 19:24:46 -08:00
parent 4385807b7e
commit c51992977f
10 changed files with 143 additions and 34 deletions

View File

@@ -74,8 +74,8 @@ public class PurpurConfig {
commands = new HashMap<>();
commands.put("purpur", new PurpurCommand("purpur"));
version = getInt("config-version", 45);
set("config-version", 45);
version = getInt("config-version", 46);
set("config-version", 46);
readConfig(PurpurConfig.class, null);
@@ -610,9 +610,4 @@ public class PurpurConfig {
startupCommands.add(command);
});
}
public static boolean generateEndVoidRings = false;
private static void generateEndVoidRings() {
generateEndVoidRings = getBoolean("settings.generate-end-void-rings", generateEndVoidRings);
}
}

View File

@@ -0,0 +1,41 @@
package org.purpurmc.purpur.configuration.transformation;
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 FarEndTerrainGenerationMigration implements TransformAction {
public static boolean HAS_BEEN_REGISTERED = false;
public static final String MISC_KEY = "misc";
public static final String FIX_FAR_END_TERRAIN_GENERATION_KEY = "fix-far-end-terrain-generation";
@Override
public Object @Nullable [] visitPath(final NodePath path, final ConfigurationNode value) throws ConfigurateException {
String purpurGenerateEndVoidRingsPath = "settings.generate-end-void-rings";
ConfigurationNode fixFarEndTerrainGenerationNode = value.node(MISC_KEY, FIX_FAR_END_TERRAIN_GENERATION_KEY);
if (PurpurConfig.config.contains(purpurGenerateEndVoidRingsPath)) {
boolean purpurGenerateEndVoidRings = PurpurConfig.config.getBoolean(purpurGenerateEndVoidRingsPath);
if (purpurGenerateEndVoidRings) {
fixFarEndTerrainGenerationNode.set(false);
}
PurpurConfig.config.set(purpurGenerateEndVoidRingsPath, null);
}
return null;
}
public static void apply(final ConfigurationTransformation.Builder builder) {
if (PurpurConfig.version < 46) {
HAS_BEEN_REGISTERED = true;
builder.addAction(path(), new FarEndTerrainGenerationMigration());
}
}
}