mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@f303a076 fix: Don't hardcode checks for translation registries (#12571) PaperMC/Paper@87349c31 Fix CombatTracker stale on death (#12562) PaperMC/Paper@b70bca6b Revert "fix: Don't hardcode checks for translation registries (#12571)" PaperMC/Paper@3efaf477 Add API for client-side signs (#11903) PaperMC/Paper@a3909f54 [ci/skip] Fix bad format for jd @link (#12581) PaperMC/Paper@7774243d Add plugin details to zip file errors (#12580) PaperMC/Paper@220b57ad Fixs and Improvements for EndermanEscapeEvent (#12570) PaperMC/Paper@b8fe22c9 Do not call EntityRemoveEvent during worldgen (#12588) PaperMC/Paper@ee3b4053 Replace spigot check with generation check PaperMC/Paper@84ee4249 Add Map filled event (#12574) PaperMC/Paper@b9d6ba24 Expose more data for MusicInstrument (#12415) PaperMC/Paper@a033e3b9 Fix ancient player custom name converter
This commit is contained in:
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
|
|||||||
version = 1.21.5-R0.1-SNAPSHOT
|
version = 1.21.5-R0.1-SNAPSHOT
|
||||||
|
|
||||||
mcVersion = 1.21.5
|
mcVersion = 1.21.5
|
||||||
paperCommit = 113b18ee08720cacc90fe98605fbab1cbf8ab9d6
|
paperCommit = a033e3b9ef78cfe85be807ac3fd1dd956274d4db
|
||||||
|
|
||||||
org.gradle.configuration-cache = true
|
org.gradle.configuration-cache = true
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -3910,4 +_,123 @@
|
@@ -3925,4 +_,123 @@
|
||||||
* @param score New death screen score of player
|
* @param score New death screen score of player
|
||||||
*/
|
*/
|
||||||
void setDeathScreenScore(int score);
|
void setDeathScreenScore(int score);
|
||||||
|
|||||||
@@ -157,10 +157,10 @@ index f0ec9334d9e6bf879568a085db691c46f7c652b6..38772967805dc73ffaae19d95b4f2d20
|
|||||||
int alternativeTarget = Mth.floor(this.getBbWidth() / 2.0F + 1.0F);
|
int alternativeTarget = Mth.floor(this.getBbWidth() / 2.0F + 1.0F);
|
||||||
int floor = Mth.floor(this.getBbHeight());
|
int floor = Mth.floor(this.getBbHeight());
|
||||||
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
|
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
index c01c91db94136700f9501624763e3bd735986a9f..9ba0ff75dcee5f331bc8e51ac1c53273c92e3e3b 100644
|
index b8094cd018e7b6cf165c92bd37cf6f9d5703599a..a6f8a3164a7c57ac9d9ea9850f037410c861de26 100644
|
||||||
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
@@ -509,7 +509,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
@@ -511,7 +511,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||||
public boolean canUse() {
|
public boolean canUse() {
|
||||||
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur - Add enderman and creeper griefing controls
|
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur - Add enderman and creeper griefing controls
|
||||||
return this.enderman.getCarriedBlock() != null
|
return this.enderman.getCarriedBlock() != null
|
||||||
@@ -169,7 +169,7 @@ index c01c91db94136700f9501624763e3bd735986a9f..9ba0ff75dcee5f331bc8e51ac1c53273
|
|||||||
&& this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0;
|
&& this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -659,7 +659,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
@@ -661,7 +661,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||||
public boolean canUse() {
|
public boolean canUse() {
|
||||||
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur - Add enderman and creeper griefing controls
|
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur - Add enderman and creeper griefing controls
|
||||||
return this.enderman.getCarriedBlock() == null
|
return this.enderman.getCarriedBlock() == null
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/net/minecraft/world/damagesource/CombatTracker.java
|
--- a/net/minecraft/world/damagesource/CombatTracker.java
|
||||||
+++ b/net/minecraft/world/damagesource/CombatTracker.java
|
+++ b/net/minecraft/world/damagesource/CombatTracker.java
|
||||||
@@ -62,7 +_,7 @@
|
@@ -64,7 +_,7 @@
|
||||||
|
|
||||||
private Component getMessageForAssistedFall(Entity entity, Component entityDisplayName, String hasWeaponTranslationKey, String noWeaponTranslationKey) {
|
private Component getMessageForAssistedFall(Entity entity, Component entityDisplayName, String hasWeaponTranslationKey, String noWeaponTranslationKey) {
|
||||||
ItemStack itemStack = entity instanceof LivingEntity livingEntity ? livingEntity.getMainHandItem() : ItemStack.EMPTY;
|
ItemStack itemStack = entity instanceof LivingEntity livingEntity ? livingEntity.getMainHandItem() : ItemStack.EMPTY;
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
? Component.translatable(hasWeaponTranslationKey, this.mob.getDisplayName(), entityDisplayName, itemStack.getDisplayName())
|
? Component.translatable(hasWeaponTranslationKey, this.mob.getDisplayName(), entityDisplayName, itemStack.getDisplayName())
|
||||||
: Component.translatable(noWeaponTranslationKey, this.mob.getDisplayName(), entityDisplayName);
|
: Component.translatable(noWeaponTranslationKey, this.mob.getDisplayName(), entityDisplayName);
|
||||||
}
|
}
|
||||||
@@ -106,6 +_,15 @@
|
@@ -108,6 +_,15 @@
|
||||||
Component component = ComponentUtils.wrapInSquareBrackets(Component.translatable(string + ".link")).withStyle(INTENTIONAL_GAME_DESIGN_STYLE);
|
Component component = ComponentUtils.wrapInSquareBrackets(Component.translatable(string + ".link")).withStyle(INTENTIONAL_GAME_DESIGN_STYLE);
|
||||||
return Component.translatable(string + ".message", this.mob.getDisplayName(), component);
|
return Component.translatable(string + ".message", this.mob.getDisplayName(), component);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
} else {
|
} else {
|
||||||
AbstractThrownPotion abstractThrownPotion1 = damageSource.getDirectEntity() instanceof AbstractThrownPotion abstractThrownPotion
|
AbstractThrownPotion abstractThrownPotion1 = damageSource.getDirectEntity() instanceof AbstractThrownPotion abstractThrownPotion
|
||||||
? abstractThrownPotion
|
? abstractThrownPotion
|
||||||
@@ -390,6 +_,7 @@
|
@@ -392,6 +_,7 @@
|
||||||
} else {
|
} else {
|
||||||
boolean flag = abstractThrownPotion1 != null && this.hurtWithCleanWater(level, damageSource, abstractThrownPotion1, amount);
|
boolean flag = abstractThrownPotion1 != null && this.hurtWithCleanWater(level, damageSource, abstractThrownPotion1, amount);
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper - EndermanEscapeEvent
|
if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper - EndermanEscapeEvent
|
||||||
for (int i = 0; i < 64; i++) {
|
for (int i = 0; i < 64; i++) {
|
||||||
if (this.teleport()) {
|
if (this.teleport()) {
|
||||||
@@ -433,7 +_,7 @@
|
@@ -435,7 +_,7 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean requiresCustomPersistence() {
|
public boolean requiresCustomPersistence() {
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
static class EndermanFreezeWhenLookedAt extends Goal {
|
static class EndermanFreezeWhenLookedAt extends Goal {
|
||||||
@@ -477,6 +_,7 @@
|
@@ -479,6 +_,7 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canUse() {
|
public boolean canUse() {
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
return this.enderman.getCarriedBlock() != null
|
return this.enderman.getCarriedBlock() != null
|
||||||
&& getServerLevel(this.enderman).getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)
|
&& getServerLevel(this.enderman).getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)
|
||||||
&& this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0;
|
&& this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0;
|
||||||
@@ -626,6 +_,7 @@
|
@@ -628,6 +_,7 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canUse() {
|
public boolean canUse() {
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ index 041fc1d4182834bda5de9b2172601a2a59b5514b..2c87953a3b99c5e776fe06271d5cba5c
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 382c20eb62a2619b3f2a68f422f5e704d83e6a80..07c45bce5f3ceea897b9453a2c1568cdb2479560 100644
|
index 3c8e98218e4bc63a9260ea31af10981e033fe81b..fcc7bc9098e2544588d8b36dd0cff59e6a2563bd 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -1433,6 +1433,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -1436,6 +1436,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
// Paper start - Teleport passenger API
|
// Paper start - Teleport passenger API
|
||||||
// Don't allow teleporting between worlds while keeping passengers
|
// Don't allow teleporting between worlds while keeping passengers
|
||||||
if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) {
|
if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) {
|
||||||
@@ -40,7 +40,7 @@ index 382c20eb62a2619b3f2a68f422f5e704d83e6a80..07c45bce5f3ceea897b9453a2c1568cd
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1454,6 +1455,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -1457,6 +1458,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
|
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
|
||||||
|
|||||||
@@ -24,12 +24,12 @@ index 2c87953a3b99c5e776fe06271d5cba5cc355bf53..395951c968e95adffa97e1851d104faf
|
|||||||
Preconditions.checkArgument(entity != null, "Unknown entity");
|
Preconditions.checkArgument(entity != null, "Unknown entity");
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
index 39f24f04cb406ad67bc297881960abc1b375c59f..fda6883bca79e99e486aef87866d8877eea9f140 100644
|
index 78846e0abe010997b6a5da04f2be4b5ffba5dd0a..5f30621d717bd0728ddc074072ab7a02c487b253 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
@@ -1170,4 +1170,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
@@ -1165,4 +1165,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||||
public CombatTracker getCombatTracker() {
|
public CombatTracker getCombatTracker() {
|
||||||
return this.combatTracker;
|
return this.getHandle().getCombatTracker().paperCombatTracker;
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ // Purpur start - API for any mob to burn daylight
|
+ // Purpur start - API for any mob to burn daylight
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
@@ -518,7 +_,7 @@
|
@@ -513,7 +_,7 @@
|
||||||
net.minecraft.server.level.ServerPlayer nmsKiller = killer == null ? null : ((CraftPlayer) killer).getHandle();
|
net.minecraft.server.level.ServerPlayer nmsKiller = killer == null ? null : ((CraftPlayer) killer).getHandle();
|
||||||
this.getHandle().setLastHurtByMob(nmsKiller);
|
this.getHandle().setLastHurtByMob(nmsKiller);
|
||||||
if (nmsKiller != null) {
|
if (nmsKiller != null) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -611,10 +_,15 @@
|
@@ -614,10 +_,15 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setPlayerListName(String name) {
|
public void setPlayerListName(String name) {
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
|
if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
|
||||||
for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) {
|
for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) {
|
||||||
if (player.getBukkitEntity().canSee(this)) {
|
if (player.getBukkitEntity().canSee(this)) {
|
||||||
@@ -2720,6 +_,28 @@
|
@@ -2723,6 +_,28 @@
|
||||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
private void validateSpeed(float value) {
|
private void validateSpeed(float value) {
|
||||||
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
|
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
|
||||||
}
|
}
|
||||||
@@ -3566,4 +_,76 @@
|
@@ -3576,4 +_,76 @@
|
||||||
public void setDeathScreenScore(final int score) {
|
public void setDeathScreenScore(final int score) {
|
||||||
getHandle().setScore(score);
|
getHandle().setScore(score);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user