fix paperclip bug

This commit is contained in:
Ben 2023-03-18 16:35:47 -04:00
parent d383dbb262
commit 56f5adf79a
19 changed files with 74 additions and 108 deletions

View File

@ -1,7 +1,7 @@
group = org.purpurmc.purpur
version = 1.19.4-R0.1-SNAPSHOT
paperCommit = 72a9f8a9b8bb63a6b1f2c10b9da521d7267d79ee
paperCommit = 055f7228f05a11f6117b57ebebce4e7aac1f4e7f
org.gradle.caching = true
org.gradle.parallel = true

View File

@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack convenience methods
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index bd32af93807815e23b9cf5e51ba6025170a1dee7..be515bf0847be4e096c13e76e4de8b8ddbde719d 100644
index 3c5e90f039f0d2991be442168703526405e18e3d..df992c41d736ee4e89773c2621d261d6afcb2148 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -11072,4 +11072,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -11066,4 +11066,40 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
public String getItemTranslationKey() {
return Bukkit.getUnsafe().getItemTranslationKey(this);
}

View File

@ -5,7 +5,7 @@ Subject: [PATCH] ChatColor conveniences
diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
index f6eb30f53dad684f156102cf7147b2f00c82c71e..f1239a2618b08fa92e0e20692d1c3d20d1558502 100644
index e3f185dc982d1c38195a4e01ddd485c13ffa58c0..98c2f73ee5c921dab506fc933a0acff400201537 100644
--- a/src/main/java/org/bukkit/ChatColor.java
+++ b/src/main/java/org/bukkit/ChatColor.java
@@ -3,6 +3,7 @@ package org.bukkit;
@ -16,7 +16,7 @@ index f6eb30f53dad684f156102cf7147b2f00c82c71e..f1239a2618b08fa92e0e20692d1c3d20
import java.util.regex.Pattern;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
@@ -413,4 +414,77 @@ public enum ChatColor {
@@ -454,4 +455,77 @@ public enum ChatColor {
BY_CHAR.put(color.code, color);
}
}

View File

@ -30,10 +30,10 @@ index 655e37cb3a09610a3f3df805d6dcad17d722da62..09fd716c8fc9ea34a1cbf87bcbe22df0
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/entity/Snowman.java b/src/main/java/org/bukkit/entity/Snowman.java
index 10f8f6d45ae9280651c3ebddd1f90acbd7d6ff29..34f9d1b5d66ca96c71a94ebc981752e40019e575 100644
index 7fbfdb07585c7b28acea1f0c1f58ada0cc744441..21fcca092e2e31baa5ece0de9e44e3fade8c7123 100644
--- a/src/main/java/org/bukkit/entity/Snowman.java
+++ b/src/main/java/org/bukkit/entity/Snowman.java
@@ -23,4 +23,20 @@ public interface Snowman extends Golem, RangedEntity { // Paper
@@ -23,4 +23,20 @@ public interface Snowman extends Golem, RangedEntity, io.papermc.paper.entity.Sh
* @param derpMode True to remove the pumpkin, false to add a pumpkin
*/
void setDerp(boolean derpMode);

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts
index 9cf389defdaeb887e9cad4f0fed3f3b95667b238..19dee7357ed60769ae1a238b2c48c3799f3708fd 100644
index 9cf389defdaeb887e9cad4f0fed3f3b95667b238..761bee802da0d3616ba0739434261b14a030805d 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -7,8 +7,8 @@ plugins {
@ -15,7 +15,7 @@ index 9cf389defdaeb887e9cad4f0fed3f3b95667b238..19dee7357ed60769ae1a238b2c48c379
- implementation(project(":paper-api"))
- implementation(project(":paper-mojangapi"))
+ implementation(project(":purpur-api")) // Purpur
+ implementation("io.papermc.paper:paper-mojangapi:1.19.3-R0.1-SNAPSHOT") // Purpur
+ implementation("io.papermc.paper:paper-mojangapi:1.19.4-R0.1-SNAPSHOT") // Purpur
// Paper start
implementation("org.jline:jline-terminal-jansi:3.21.0")
implementation("net.minecrell:terminalconsoleappender:1.3.0")
@ -171,7 +171,7 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438
stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 674e76968e05c487e5271f76b45ba2d13b1412a0..ce6bb0323bc8f76c6f5d8f906481d037f56fd4b6 100644
index e67c4a7aaa11f5c67f926f92e0a174af526c2ec3..ac0693f439f063d19ea68d8b216d4ecf10441b15 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -924,7 +924,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -183,7 +183,7 @@ index 674e76968e05c487e5271f76b45ba2d13b1412a0..ce6bb0323bc8f76c6f5d8f906481d037
while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop();
try {
@@ -1679,7 +1679,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1681,7 +1681,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@ -22,12 +22,12 @@ index b37e0ff164a894d2033fb94bbbc2f630a0e66bcd..ac335ec4f70830c7687ac4e0aa2a6cba
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ce6bb0323bc8f76c6f5d8f906481d037f56fd4b6..14f42f40fd8afbb21882d08a9ab81e5bdef9fb6f 100644
index ac0693f439f063d19ea68d8b216d4ecf10441b15..9fb7e742b91311bf542f533e2a411e9847be7038 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1524,6 +1524,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerLevel worldserver = (ServerLevel) iterator.next();
@@ -1526,6 +1526,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
+ worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@ -2445,7 +2445,7 @@ index cfa904d42734d0fb0c1ed8b18f4d8bc131027962..a9805129f0aaba5f0c2751d463019844
this.level.getProfiler().pop();
this.level.getProfiler().push("goatActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index f9496f757bcf7000fab1f16386e775d54d96e47a..f404bee067c7666fd4cf4818c9b093d54a43d5de 100644
index 47cd69f91bbc2e2be9ec970674adc522e21593c8..2d298960afe61ed2b73ca72908849879408738b9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -144,12 +144,22 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@ -2695,18 +2695,18 @@ index e2935115c8d41af1d623da4f0d4f73de80386129..e9f1d53599168c4c4b44a14b44514302
}
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 5719172a31f005ce419f365011d53712a9b2820f..64a8318d95455810cb096059bcfd8e64d0f5d6f6 100644
index c6949c7ec0766bda07324a6f004b29cbd37d0f1f..d79c55668c2077869e08a77a03aeffefefafd788 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -273,7 +273,7 @@ public class Sniffer extends Animal {
@@ -296,7 +296,7 @@ public class Sniffer extends Animal {
}
@Override
- protected void jumpFromGround() {
+ public void jumpFromGround() { // Purpur - protected -> public
super.jumpFromGround();
double d = this.moveControl.getSpeedModifier();
if (d > 0.0D) {
double d0 = this.moveControl.getSpeedModifier();
diff --git a/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java b/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java
index de84a00ce2d2b7c654b08164489624e124568346..998c72513df1dcd2b1316b320b3d5e7ca8e69fd4 100644
--- a/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java
@ -5127,7 +5127,7 @@ index 57a0dbb23a32123d30c3b3572f4d129be9d97847..fa6938626c64ed17a2f56739d5801494
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index f60e94560b89a3c6ed1ad0f8bc636d58bf48d222..fb1555641047175060f381bf797c4a6fce75837a 100644
index 7131cdb839df47bf3d2c2bf8476fd7a2ecebb3ba..e973f48e21a3c4544683806421a3316ac4991efa 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -544,6 +544,15 @@ public class CraftEventFactory {
@ -5146,7 +5146,7 @@ index f60e94560b89a3c6ed1ad0f8bc636d58bf48d222..fb1555641047175060f381bf797c4a6f
return event;
}
@@ -982,6 +991,7 @@ public class CraftEventFactory {
@@ -981,6 +990,7 @@ public class CraftEventFactory {
damageCause = DamageCause.ENTITY_EXPLOSION;
}
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
@ -5154,7 +5154,7 @@ index f60e94560b89a3c6ed1ad0f8bc636d58bf48d222..fb1555641047175060f381bf797c4a6f
}
event.setCancelled(cancelled);
@@ -1088,6 +1098,7 @@ public class CraftEventFactory {
@@ -1087,6 +1097,7 @@ public class CraftEventFactory {
} else {
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
}
@ -5162,7 +5162,7 @@ index f60e94560b89a3c6ed1ad0f8bc636d58bf48d222..fb1555641047175060f381bf797c4a6f
return event;
}
@@ -1147,6 +1158,7 @@ public class CraftEventFactory {
@@ -1146,6 +1157,7 @@ public class CraftEventFactory {
EntityDamageEvent event;
if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 14f42f40fd8afbb21882d08a9ab81e5bdef9fb6f..1af65fe3e5f05900b25f49ee6b70286eb7b466ed 100644
index 9fb7e742b91311bf542f533e2a411e9847be7038..14990205ac4bb02f26a90b91002e1dc07d36d40d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1680,7 +1680,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1682,7 +1682,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@ -18,10 +18,10 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4f10682ffa42423eed6382ec0b53cc2fa931c7c9..2f6dee9900c8edc9a8a7b1ead52a426024bcac00 100644
index 49504728dd67343cd9b5a57e9a82fb447a2aeda9..a4c59668906df746117d7fe6ac4bafc1180d6d8e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1518,7 +1518,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1519,7 +1519,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = world.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : world.players()) {
@ -88,7 +88,7 @@ index 34a2fd0ad0bdca9488093364d255e190173debfa..e017da4617a62169d8888b8f86e6b3ab
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ea9354c558c13bc6a2d85c289230911ae7e964f7..1cb41bdbc856d14bc10b0191b28949402c602fde 100644
index 4b089c194b5aba184287d23fcbf189bb329719b9..7e0db769530e4af48a2df1acf9becd0889938149 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -124,6 +124,13 @@ public class PurpurWorldConfig {

View File

@ -316,7 +316,7 @@ index eaf2e6b9865a36b7c648bd1205db922a62cd7ee8..1af75e173958c192b8f53b7e17e75d98
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 37882a393d7c17a9437145ab5fe1f74370681146..b07c09d0e9c4eae564913eb599e2f72af79a1bf0 100644
index 05c7680569346bb863b896bcc9515f3e7cfb8114..bda7a0e29e40386c57766c224ffb8938d33447e8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -83,6 +83,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
@ -477,10 +477,10 @@ index e9f1d53599168c4c4b44a14b445143025c4be83a..df438bc84c5b90f2fc66965f926dc2ef
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 64a8318d95455810cb096059bcfd8e64d0f5d6f6..a2a73dc4bdef972cfaf23934fec814fba6e4d5a3 100644
index d79c55668c2077869e08a77a03aeffefefafd788..f15e7a9e37339afa733bd319b192f2a8dc2a7b56 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -79,6 +79,13 @@ public class Sniffer extends Animal {
@@ -81,6 +81,13 @@ public class Sniffer extends Animal {
this.setPathfindingMalus(BlockPathTypes.WATER, -2.0F);
}
@ -491,7 +491,7 @@ index 64a8318d95455810cb096059bcfd8e64d0f5d6f6..a2a73dc4bdef972cfaf23934fec814fb
+ }
+ // Purpur end
+
// Paper start
// CraftBukkit start - SPIGOT-7295: moved from constructor to appropriate location
@Override
protected void defineSynchedData() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java

View File

@ -70,10 +70,10 @@ index 2281dba58d32b6314a7abcdb103c03c7056c24e9..37c79c0e13e6d7b6b03ebdf57bebf124
((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index c95410100ded93b3f894fd71eb46f06e4ba6da8f..ff53bd12dc1ec29813940f2bdcf5527b46c5b56d 100644
index e94caaea775b8804b9f685a465139aac40c8b4cc..babfdf97dc746d1ab36a05be0ed25090b50479ca 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1182,6 +1182,12 @@ public final class ItemStack {
@@ -1188,6 +1188,12 @@ public final class ItemStack {
return this.tag != null && this.tag.contains("Enchantments", 9) ? !this.tag.getList("Enchantments", 10).isEmpty() : false;
}

View File

@ -128,7 +128,7 @@ index 84f031ec0f196b90c78a6432f344e68b22d363c0..33d3a3df277e751a3fb0d4421bf9ea2e
double d0 = (double) EntityType.ITEM.getHeight() / 2.0D;
double d1 = (double) pos.getX() + 0.5D + Mth.nextDouble(world.random, -0.25D, 0.25D);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
index 585d1d1f4b1b212295da36e31ae2670b0d2b06c3..2d01d5735ef23485b284579da08e3caa7ac8a4ad 100644
index 1b248db497500aa6bd346b306dcb908af77626f3..64c55f3ebdbc27f7f0cea38247ff7b35fa99e341 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -6,6 +6,8 @@ import net.minecraft.CrashReportCategory;
@ -140,7 +140,7 @@ index 585d1d1f4b1b212295da36e31ae2670b0d2b06c3..2d01d5735ef23485b284579da08e3caa
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.resources.ResourceLocation;
@@ -73,10 +75,27 @@ public abstract class BlockEntity {
@@ -74,10 +76,27 @@ public abstract class BlockEntity {
if (persistentDataTag instanceof CompoundTag) {
this.persistentDataContainer.putAll((CompoundTag) persistentDataTag);
}
@ -169,7 +169,7 @@ index 585d1d1f4b1b212295da36e31ae2670b0d2b06c3..2d01d5735ef23485b284579da08e3caa
public final CompoundTag saveWithFullMetadata() {
CompoundTag nbttagcompound = this.saveWithoutMetadata();
@@ -262,4 +281,24 @@ public abstract class BlockEntity {
@@ -264,4 +283,24 @@ public abstract class BlockEntity {
}
// Paper end
@ -195,7 +195,7 @@ index 585d1d1f4b1b212295da36e31ae2670b0d2b06c3..2d01d5735ef23485b284579da08e3caa
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 607084be7f666146e1fc8abeb08332e04207a172..35e9d41a22a48f05a9bf0e934ecc1f08dc18412d 100644
index 613dffca78f5120d0c905e62f2f60b1763cd0c55..fcce194a3a01db4b2433e83d808b2bb7672c3640 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -132,6 +132,7 @@ public class PurpurWorldConfig {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for enchant level clamping
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index e90d021db52e30dbad035505a898007139696f80..02815ee37a5106c9a5cbf8649ef98420fb727b7a 100644
index 60150ab606fe10fa91b5222b50b928194ddb5cbe..4a5e5da67f00870e05893f541cd1716dbee78c83 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1176,7 +1176,7 @@ public final class ItemStack {
@@ -1182,7 +1182,7 @@ public final class ItemStack {
ListTag nbttaglist = this.tag.getList("Enchantments", 10);

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Send client custom name of BE
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
index 2d01d5735ef23485b284579da08e3caa7ac8a4ad..81dcb4f04a121cda0d5a12af6c807349651dd04d 100644
index 64c55f3ebdbc27f7f0cea38247ff7b35fa99e341..e438e7e018f643d82ddf5efbf72779876c516d1a 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -204,10 +204,24 @@ public abstract class BlockEntity {
@@ -206,10 +206,24 @@ public abstract class BlockEntity {
@Nullable
public Packet<ClientGamePacketListener> getUpdatePacket() {

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Allow custom ChatDecorators
Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index eb828603ba7396d74b148a4e802354314f84717b..a0ef4e6ca0765b279db9c6fae228e2609d85e5b9 100644
index 1507fdb55ec29a0b56c67d8082144ffb3e10617c..33d2bc0d193dfe5a257abdfde50aa0ea719173f6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2659,6 +2659,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2661,6 +2661,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon(true).setNameFormat("Async Chat Thread - #%d").setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(net.minecraft.server.MinecraftServer.LOGGER)).build()); // Paper
public ChatDecorator getChatDecorator() {

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Cache server motd
Paper ported my patch in an odd way. Keeping my patch around to reduce logic on the motd getter
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a0ef4e6ca0765b279db9c6fae228e2609d85e5b9..5f8c60dbfbe5842475a6af19f44c1c89ee58cfff 100644
index 33d2bc0d193dfe5a257abdfde50aa0ea719173f6..f077b51d0b9a1e5f2fe6583aa7318eb0435d7e69 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -249,7 +249,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -18,7 +18,7 @@ index a0ef4e6ca0765b279db9c6fae228e2609d85e5b9..5f8c60dbfbe5842475a6af19f44c1c89
private int playerIdleTimeout;
public final long[] tickTimes;
// Paper start
@@ -1898,17 +1898,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1900,17 +1900,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public net.kyori.adventure.text.Component getComponentMotd() {

View File

@ -69,7 +69,7 @@ index d2f0a0755317f5fa9a1ccf7db346aa77fd287d80..03852e7d21d9470a4469676367463fef
} catch (Exception exception) {
if (listener.shouldPropagateHandlingExceptions()) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 5f8c60dbfbe5842475a6af19f44c1c89ee58cfff..bfd601a91f370915a6f422f9b486d8eb198ed012 100644
index f077b51d0b9a1e5f2fe6583aa7318eb0435d7e69..305934c4c2d88b87cee2ae3e956dedbca4bdc7fe 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1405,15 +1405,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -112,40 +112,7 @@ index 5f8c60dbfbe5842475a6af19f44c1c89ee58cfff..bfd601a91f370915a6f422f9b486d8eb
}
private ServerStatus buildServerStatus() {
@@ -1503,25 +1503,25 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void tickChildren(BooleanSupplier shouldKeepTicking) {
- MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper
+ //MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper // Purpur
this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit
- MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper
+ //MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur
this.profiler.push("commandFunctions");
- MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper
+ //MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper // Purpur
this.getFunctions().tick();
- MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper
+ //MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper // Purpur
this.profiler.popPush("levels");
//Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down
// CraftBukkit start
// Run tasks that are waiting on processing
- MinecraftTimings.processQueueTimer.startTiming(); // Spigot
+ //MinecraftTimings.processQueueTimer.startTiming(); // Spigot // Purpur
while (!this.processQueue.isEmpty()) {
this.processQueue.remove().run();
}
- MinecraftTimings.processQueueTimer.stopTiming(); // Spigot
+ //MinecraftTimings.processQueueTimer.stopTiming(); // Spigot // Purpur
- MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
+ //MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper // Purpur
// Send time updates to everyone, it will get the right time from the world the player is in.
// Paper start - optimize time updates
for (final ServerLevel world : this.getAllLevels()) {
@@ -1541,7 +1541,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1542,7 +1542,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Paper end
@ -154,7 +121,7 @@ index 5f8c60dbfbe5842475a6af19f44c1c89ee58cfff..bfd601a91f370915a6f422f9b486d8eb
this.isIteratingOverLevels = true; // Paper
Iterator iterator = this.getAllLevels().iterator(); // Paper - move down
@@ -1565,14 +1565,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1567,14 +1567,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.push("tick");
try {
@ -171,7 +138,7 @@ index 5f8c60dbfbe5842475a6af19f44c1c89ee58cfff..bfd601a91f370915a6f422f9b486d8eb
} catch (Throwable throwable) {
// Spigot Start
CrashReport crashreport;
@@ -1595,24 +1595,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1597,24 +1597,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper
this.profiler.popPush("connection");
@ -202,7 +169,7 @@ index 5f8c60dbfbe5842475a6af19f44c1c89ee58cfff..bfd601a91f370915a6f422f9b486d8eb
this.profiler.pop();
}
@@ -2797,7 +2797,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2799,7 +2799,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return;
}
@ -211,7 +178,7 @@ index 5f8c60dbfbe5842475a6af19f44c1c89ee58cfff..bfd601a91f370915a6f422f9b486d8eb
try {
for (;;) {
boolean moreTasks = this.tickMidTickTasks();
@@ -2824,7 +2824,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2826,7 +2826,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
} finally {
@ -641,7 +608,7 @@ index 2d61a0c7dfeb868403d64abbf847121f60905f93..752a298e96e75580ec7eef14cc7eab96
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a66f5b8438d499c705cc4025ba31f72bd1fea3cf..2c5e15cb38c51bafe0fa773cc419543e57cb5926 100644
index 0373d0d050f89e3754d6c94946501227db0c19df..82fcf0593b4739e32d02ffc779f9fbb5f64d26f1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2570,7 +2570,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -39,7 +39,7 @@ index 314ab6183e31b4bac6a40c1f8007d48e9cab1760..6b05907bfec377e72a8858534d001bda
return b0;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851a6cfe73e 100644
index 305934c4c2d88b87cee2ae3e956dedbca4bdc7fe..cb6c9f278bed1e70814af51e0a8644c3cabfb050 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -340,13 +340,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -154,21 +154,21 @@ index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851
org.spigotmc.WatchdogThread.tick(); // Spigot
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
@@ -1506,11 +1506,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper // Purpur
@@ -1507,11 +1507,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit
//MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur
MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
- this.profiler.push("commandFunctions");
+ //this.profiler.push("commandFunctions"); // Purpur
//MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper // Purpur
MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper
this.getFunctions().tick();
//MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper // Purpur
MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper
- this.profiler.popPush("levels");
+ //this.profiler.popPush("levels"); // Purpur
+ //this.profiler.popPush("levels"); Purpur
//Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down
// CraftBukkit start
@@ -1551,18 +1551,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1553,18 +1553,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@ -192,7 +192,7 @@ index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851
try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1588,17 +1588,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1590,17 +1590,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@ -214,7 +214,7 @@ index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1606,7 +1606,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1608,7 +1608,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick();
}
@ -223,7 +223,7 @@ index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1614,7 +1614,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1616,7 +1616,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@ -232,7 +232,7 @@ index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851
}
private void synchronizeTime(ServerLevel world) {
@@ -2285,7 +2285,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2287,7 +2287,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@ -241,7 +241,7 @@ index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851
}
public abstract boolean isSingleplayerOwner(GameProfile profile);
@@ -2524,7 +2524,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2526,7 +2526,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
private void startMetricsRecordingTick() {
@ -250,7 +250,7 @@ index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
this.executeBlocking(() -> {
this.saveDebugReport(path.resolve("server"));
@@ -2534,40 +2534,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2536,40 +2536,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false;
}
@ -303,7 +303,7 @@ index bfd601a91f370915a6f422f9b486d8eb198ed012..efc18137e6cec6486cd4eaed4f5be851
}
public Path getWorldPath(LevelResource worldSavePath) {
@@ -2616,15 +2616,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2618,15 +2618,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public boolean isTimeProfilerRunning() {
@ -776,7 +776,7 @@ index 087fd880ec62fed20383ef665b4f4d2e4aa882c7..ef56e8e8496443c85474bfc98a71518f
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
playerlist.sendLevelInfo(this, worldserver);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 2c5e15cb38c51bafe0fa773cc419543e57cb5926..d4070bfedfff53d85063fe6c542a5dac7904a45c 100644
index 82fcf0593b4739e32d02ffc779f9fbb5f64d26f1..bae407c9aeb71494e1aac1776e3b891f08575a14 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -407,7 +407,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@ -1470,7 +1470,7 @@ index d61d9a7e7fa4d360dc740fdcb31efd028452fe61..e46105d1d15b4f8d24f726cc75be3020
Optional<Integer> optional = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS);
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index b07c09d0e9c4eae564913eb599e2f72af79a1bf0..a8cda7d3809485f4491e378db5ae6699e9ed5c13 100644
index bda7a0e29e40386c57766c224ffb8938d33447e8..450bbceb12b8edf48afc3512fad33a4952298791 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -156,13 +156,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider

View File

@ -36,10 +36,10 @@ index 9938bb90bef84cf784f9a1ceb02a1a45aa8b48a1..1f4b64a5f812376c499c98cb4be62469
this.writeId(BuiltInRegistries.ITEM, item);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index efc18137e6cec6486cd4eaed4f5be851a6cfe73e..a8692681accfb132aa984f5e6139459cdfa74cb0 100644
index cb6c9f278bed1e70814af51e0a8644c3cabfb050..fb6935f4795616d34d38f067a93019048529bb24 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1544,6 +1544,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1545,6 +1545,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper // Purpur
this.isIteratingOverLevels = true; // Paper
@ -48,7 +48,7 @@ index efc18137e6cec6486cd4eaed4f5be851a6cfe73e..a8692681accfb132aa984f5e6139459c
while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index d507d93aa52d39f1c1016fa2508b4aad3c164386..e3fdec9ca5963f384d158312c51fe828af20f1b0 100644
index 483244f5c71ce87d7d343814e6d9f416e37d5285..a5312007294cdb4ef6d3bbad3083acfac11a456d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3435,6 +3435,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic

View File

@ -32,9 +32,8 @@ if (!file(".git").exists()) {
}
rootProject.name = "purpur"
for (name in listOf("Purpur-API", "Purpur-Server")) {
val projName = name.toLowerCase(Locale.ENGLISH)
val projName = name.lowercase(Locale.ENGLISH)
include(projName)
findProject(":$projName")!!.projectDir = file(name)
}