mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 18:07:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@29b17a8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9088) PaperMC/Paper@b5ce6e3 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9104) PaperMC/Paper@9cda284 Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@f8c0112 {ci skip} add missing labels to project status map (#9106) PaperMC/Paper@6a7fef0 Allow entity effect changes off the main thread for worldgen (#8942) PaperMC/Paper@f8d2f82 Resolve Plugin Dependency Issues, Improve PluginLoading Compat, Small Loading Issues (#9068) PaperMC/Paper@b626528 Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@058d7c1 Updated Upstream (Bukkit/CraftBukkit/Spigot) PaperMC/Paper@ab72b12 Update Adventure to 4.13.1 (#9113) PaperMC/Paper@8be7a60 Fix getBrightness and getRawBrightness throwing exception in BlockStateListPopulator (#9111) PaperMC/Paper@e811927 Revert "Resolve Plugin Dependency Issues, Improve PluginLoading Compat, Small Loading Issues (#9068)" Pufferfish Changes: pufferfish-gg/Pufferfish@da9fd85 Updated Upstream (Paper) pufferfish-gg/Pufferfish@751dfb0 Updated Upstream (Paper) pufferfish-gg/Pufferfish@c09a154 Updated Upstream (Paper) pufferfish-gg/Pufferfish@b778163 Updated Upstream (Paper)
39 lines
2.9 KiB
Diff
39 lines
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <blake.galbreath@gmail.com>
|
|
Date: Sun, 13 Nov 2022 05:05:34 -0600
|
|
Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
index c4cfbf008bc07074664b9310d5ff7b750bb98e96..b2ee73a2ef6042694ca84c27d592e5fb13b4a0fe 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
@@ -898,6 +898,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
|
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
|
// Paper end
|
|
+ if (this.level.purpurConfig.teleportOnNetherCeilingDamage && this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER && this instanceof ServerPlayer player) player.teleport(MCUtil.toLocation(this.level, this.level.getSharedSpawnPos())); else // Purpur
|
|
this.outOfWorld();
|
|
}
|
|
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index e3b81cc53213f9b6404abf5e3478e3abfdf0a9c2..4594b47bea1db94d84e7a902b3b7ea1e10d36545 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -421,6 +421,7 @@ public class PurpurWorldConfig {
|
|
public String playerDeathExpDropEquation = "expLevel * 7";
|
|
public int playerDeathExpDropMax = 100;
|
|
public boolean teleportIfOutsideBorder = false;
|
|
+ public boolean teleportOnNetherCeilingDamage = false;
|
|
public boolean totemOfUndyingWorksInInventory = false;
|
|
public boolean playerFixStuckPortal = false;
|
|
public boolean creativeOnePunch = false;
|
|
@@ -450,6 +451,7 @@ public class PurpurWorldConfig {
|
|
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
|
|
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
|
|
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
|
|
+ teleportOnNetherCeilingDamage = getBoolean("gameplay-mechanics.player.teleport-on-nether-ceiling-damage", teleportOnNetherCeilingDamage);
|
|
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
|
|
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
|
|
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
|