Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@178f035 Restore no-crash behaviour when read-only config file(s) (#8318)
PaperMC/Paper@267dd18 Stop large look changes from crashing the server (#8326)
PaperMC/Paper@36f0c1b Rebuild patches
PaperMC/Paper@751d092 Properly close section storage managed files (#8364)
PaperMC/Paper@f5f84ff Add custom destroyerIdentity parameter to the sendBlockBreak function (#5840)
PaperMC/Paper@05f6a5c Limit size of Authenticator Cache Thread Pool (#8360)
PaperMC/Paper@ef670eb EndDragonFight killed statuses should be false for newly created worlds (#8354)
PaperMC/Paper@b826065 fire EntityChangeBlockEvent in more places (#6371)
PaperMC/Paper@34777cd Missing eating regain reason (#8244)
PaperMC/Paper@dbda887 Missing some effect cause (#8307)
PaperMC/Paper@63cb747 Added byte array serialization/deserialization for PersistentDataContainers (#7505)
This commit is contained in:
BillyGalbreath
2022-09-18 19:52:48 -05:00
parent 6e7bb8323f
commit a448748b1a
27 changed files with 109 additions and 85 deletions

View File

@@ -1,7 +1,7 @@
group = org.purpurmc.purpur group = org.purpurmc.purpur
version = 1.19.2-R0.1-SNAPSHOT version = 1.19.2-R0.1-SNAPSHOT
paperCommit = ef0e5a642d33ac62f070c45a61cb42647b2744cd paperCommit = 63cb7472acb69d5a53bb806408d692e4df17cc32
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index b607c229cfb1e95b17b6a0073380089ef5e1b675..a6c229744a57353a21d75cec28f94cb7436b6493 100644 index 5e51bc9176b481ec70fd7e5ac23d04d59f8d1a9a..1323417dd5016f59151f55feda02756eb9606368 100644
--- 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
@@ -2796,4 +2796,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -2808,4 +2808,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override @Override
Spigot spigot(); Spigot spigot();
// Spigot end // Spigot end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index a6c229744a57353a21d75cec28f94cb7436b6493..0e56a15484e1ed4d75e1cf8793ce80cc9a621451 100644 index 1323417dd5016f59151f55feda02756eb9606368..28bc08ba58ddc1a8e58e76d1546650fc14544643 100644
--- 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
@@ -2804,5 +2804,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -2816,5 +2816,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return True if Player uses Purpur Client * @return True if Player uses Purpur Client
*/ */
public boolean usesPurpurClient(); public boolean usesPurpurClient();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 0e56a15484e1ed4d75e1cf8793ce80cc9a621451..6e7be19da424b16b8540d28a24c1eed87aa72607 100644 index 28bc08ba58ddc1a8e58e76d1546650fc14544643..251a6d1fc77a10d6895dbf14763d20e51260f8a9 100644
--- 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
@@ -2823,5 +2823,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -2835,5 +2835,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Reset the idle timer back to 0 * Reset the idle timer back to 0
*/ */
void resetIdleTimer(); void resetIdleTimer();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 6e7be19da424b16b8540d28a24c1eed87aa72607..b3dbcca5efbc315d671b8ae260824620d97e5f52 100644 index 251a6d1fc77a10d6895dbf14763d20e51260f8a9..d78b901599c387ed86f9a0820eddfc3d3bd13830 100644
--- 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
@@ -2844,5 +2844,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -2856,5 +2856,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param invulnerableTicks Invulnerable ticks remaining * @param invulnerableTicks Invulnerable ticks remaining
*/ */
void setSpawnInvulnerableTicks(int invulnerableTicks); void setSpawnInvulnerableTicks(int invulnerableTicks);

View File

@@ -260,10 +260,10 @@ index 3d053490dc87724f57893a553f1ab9cf1a3b73c0..ec8c098ee07ac88c023ec6274788c94a
/** /**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index b3dbcca5efbc315d671b8ae260824620d97e5f52..5e06858d68f725508e0055de3f5d8c0f6a56601b 100644 index d78b901599c387ed86f9a0820eddfc3d3bd13830..1ff55fb1e32fe713cbfd7a39c2e80fc57d024284 100644
--- 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
@@ -2858,5 +2858,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -2870,5 +2870,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return True if fall damage is enabled when {@link #getAllowFlight()} is true * @return True if fall damage is enabled when {@link #getAllowFlight()} is true
*/ */
public boolean hasFlyingFallDamage(); public boolean hasFlyingFallDamage();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] add Player#showCreditScreen
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 5e06858d68f725508e0055de3f5d8c0f6a56601b..8ab346562c23ff2c14727408e61e75e324885e67 100644 index 1ff55fb1e32fe713cbfd7a39c2e80fc57d024284..f50c61a8c375af03f3f0f5469e376e3f9c19f03e 100644
--- 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
@@ -2375,6 +2375,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -2387,6 +2387,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/ */
public void showDemoScreen(); public void showDemoScreen();

View File

@@ -3540,7 +3540,7 @@ index ac0f0a4da4282c13f6e1f37710cb615d66b8ef2c..ec0319dd4b115e18b368027cc5dbe4d4
public final String id; public final String id;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 33c22f908440664dc9d67f1678a3c4bd8b862457..94f5d710464de0ec4a972b36051e8672b6673cc7 100644 index 1c8661afcfaaf56953cef3a5c26fbc4fa3ac5b1c..ded69bc892aaf35cc57a562116bb623c07b08550 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -3598,7 +3598,7 @@ index 33c22f908440664dc9d67f1678a3c4bd8b862457..94f5d710464de0ec4a972b36051e8672
public boolean onClimbable() { public boolean onClimbable() {
if (this.isSpectator()) { if (this.isSpectator()) {
return false; return false;
@@ -3605,7 +3626,10 @@ public abstract class LivingEntity extends Entity { @@ -3583,7 +3604,10 @@ public abstract class LivingEntity extends Entity {
Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ());
// Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists // Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists
@@ -4368,7 +4368,7 @@ index 2d87b740e84435ef9bd3eee3d3e2af9f707a0826..d38d1e3692e093d6707b6bd80cd56ec4
this.level.getProfiler().pop(); this.level.getProfiler().pop();
this.level.getProfiler().push("allayActivityUpdate"); this.level.getProfiler().push("allayActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index da5e6141f548539cac720aba558e1b6f3a87e474..fdd2c63ff0017bafa544a3cff2ee6d2d62c92cb3 100644 index e7467fec2cab37c1a9933d1096724e3732913590..1c93872f9fcc6f6a19dee8565726501d0e580d44 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -283,9 +283,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { @@ -283,9 +283,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -4634,7 +4634,7 @@ index a1a625a8dacf4d2bbf75ddd90dce1b1be663c919..23e375c9a6955d03e0fc9be91ff04032
return false; return false;
} }
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index 66c3f374a779cd3a4548393ba23e9219f1caf6d3..39ba6ca32b827daee300e1240bd76fd8f680ea02 100644 index c61ed38d0a824fee9b45acfc862baf03c85fe54b..85fb907fb149961611310c355d0911d81f1b735c 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -42,6 +42,36 @@ public abstract class Projectile extends Entity { @@ -42,6 +42,36 @@ public abstract class Projectile extends Entity {

View File

@@ -43,10 +43,10 @@ index cc55cb14f2d0f656213be25a1e428132871ac5dd..184c5540e519edd0430ae586bfae93d3
try { try {
byte[] data = new byte[packet.data.readableBytes()]; byte[] data = new byte[packet.data.readableBytes()];
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 41258fcfa0505500665c2f185b9ef6d050213355..df8d22fb0bb5212ea410f6f6e2d6f4facb7f573d 100644 index 4ba927b4585ca56337fa763d60d21de3b58bb2f7..a8d99ec7bdeef49e4bd131a824a5d4c5b5df3c08 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
@@ -2887,4 +2887,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2894,4 +2894,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot; return this.spigot;
} }
// Spigot end // Spigot end

View File

@@ -194,7 +194,7 @@ index c1e9b40a4a0f9cdc650caa88b5ea132e06ee2496..882ab40c8cdea8c214cb8344b3ccecdd
protected ParticleOptions getInkParticle() { protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK; return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 94f5d710464de0ec4a972b36051e8672b6673cc7..0145c24557d483e4b3d998bd624055ca6437d10b 100644 index ded69bc892aaf35cc57a562116bb623c07b08550..4eb4c99a0284b3bc324f37cf55c09ef0006b1136 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -220,9 +220,9 @@ public abstract class LivingEntity extends Entity { @@ -220,9 +220,9 @@ public abstract class LivingEntity extends Entity {
@@ -236,7 +236,7 @@ index 94f5d710464de0ec4a972b36051e8672b6673cc7..0145c24557d483e4b3d998bd624055ca
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower(); double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
Vec3 vec3d = this.getDeltaMovement(); Vec3 vec3d = this.getDeltaMovement();
// Paper start // Paper start
@@ -3423,8 +3424,10 @@ public abstract class LivingEntity extends Entity { @@ -3401,8 +3402,10 @@ public abstract class LivingEntity extends Entity {
this.pushEntities(); this.pushEntities();
this.level.getProfiler().pop(); this.level.getProfiler().pop();
// Paper start // Paper start
@@ -249,7 +249,7 @@ index 94f5d710464de0ec4a972b36051e8672b6673cc7..0145c24557d483e4b3d998bd624055ca
Location from = new Location(this.level.getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO); Location from = new Location(this.level.getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location (this.level.getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); Location to = new Location (this.level.getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone()); io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3434,6 +3437,21 @@ public abstract class LivingEntity extends Entity { @@ -3412,6 +3415,21 @@ public abstract class LivingEntity extends Entity {
absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
} }
} }
@@ -824,7 +824,7 @@ index dbeb70913d3933164e997ce5d662b4890ffe4f36..cf7036e014097183c697b06ea5865a36
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index ab86bfdaebe9b8791f0cfa6e0c61f80c8f891a93..cc73dffbeb8a118de2b913c6f9d40c61f94dabbd 100644 index 745883a7b9c2590ae8e28db79e1bd0341a7e54bd..e163851c02e38c294d95dbabafd4903b8846b551 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -95,6 +95,31 @@ public class Cat extends TamableAnimal { @@ -95,6 +95,31 @@ public class Cat extends TamableAnimal {
@@ -2252,7 +2252,7 @@ index d38d1e3692e093d6707b6bd80cd56ec4afcf093b..c960aac9e1dbffe5e765f9adcfacc196
protected Brain.Provider<Allay> brainProvider() { protected Brain.Provider<Allay> brainProvider() {
return Brain.provider(Allay.MEMORY_TYPES, Allay.SENSOR_TYPES); return Brain.provider(Allay.MEMORY_TYPES, Allay.SENSOR_TYPES);
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index fdd2c63ff0017bafa544a3cff2ee6d2d62c92cb3..32b31e5efb5fc68430b9bcd4cd972494f53accc8 100644 index 1c93872f9fcc6f6a19dee8565726501d0e580d44..3b576e8944bcef78f5769ccd90591f2db4dfd697 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -97,6 +97,28 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { @@ -97,6 +97,28 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -2564,7 +2564,7 @@ index 34299274e7dd57076a1043d735a41b9c34f0a349..f711ea32db68fb7aece5081e741c4e16
protected void randomizeAttributes(RandomSource random) { protected void randomizeAttributes(RandomSource random) {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)this.generateRandomMaxHealth(random)); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)this.generateRandomMaxHealth(random));
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 5ffae9d3be22b5e78645da57a6bd0e7350749ef1..b6a5ac35bed88e9d55b4de0551a13ea58901315e 100644 index ed8dfabdad28e27054aa0679e06fcf87dc049f77..84faefeb6504a079ca907afcba7ff90873c68f8c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -71,7 +71,51 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -71,7 +71,51 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {

View File

@@ -68,7 +68,7 @@ index 8e3e3dbbea328f76a790477545b46d2d3013546b..905aa1311791564720e541fc4fbe1e4f
return this.stats; return this.stats;
} }
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 34955c9dc680eb64403848da27ce0c5121ef8be5..575839fb7bd54d6a34cf8bfa59cf1086eaf22834 100644 index b5e3f57a1a8875c33c3a01a525efc69261bec44c..0f0a862e3f0702a9e61bcb6b80b0375c01f46da8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -342,6 +342,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -342,6 +342,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -213,7 +213,7 @@ index 3f458ddd4dc04ed28510a212be76bb19e7f6a61e..a36469186f72eccf8c4428d920d0583b
if (range < 0.0D || d < range * range) { if (range < 0.0D || d < range * range) {
return true; return true;
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 df8d22fb0bb5212ea410f6f6e2d6f4facb7f573d..ba474fb6992c4427c8819a1ba4f3b692545e0957 100644 index a8d99ec7bdeef49e4bd131a824a5d4c5b5df3c08..d081d70337e042555aad95d747fd4ee011d77a36 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
@@ -442,10 +442,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -442,10 +442,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -233,7 +233,7 @@ index df8d22fb0bb5212ea410f6f6e2d6f4facb7f573d..ba474fb6992c4427c8819a1ba4f3b692
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) { for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) { if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
@@ -2893,5 +2898,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2900,5 +2905,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() { public boolean usesPurpurClient() {
return getHandle().purpurClient; return getHandle().purpurClient;
} }
@@ -276,7 +276,7 @@ index 8a7144a65594236a1ec7187348285174594d7a97..cf7925c5631815a53926543b79179c58
public static int barrelRows = 3; public static int barrelRows = 3;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 74029209c431a709341161da6a0ac719188d5fac..034205c6e2887aee5d879db46fcf95480e0d7908 100644 index 6255b208de609d4e0331d611c2f0c7bcb54df073..b9580396b99af75ae4895b09fd8f10a56d0f6046 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -92,6 +92,24 @@ public class PurpurWorldConfig { @@ -92,6 +92,24 @@ public class PurpurWorldConfig {

View File

@@ -121,10 +121,10 @@ index 0c05466b1265a22009781d469f8d324e3d42e0d3..dae6334ad480bc6323fa47421a22598e
return entityplayer1; return entityplayer1;
} }
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 ba474fb6992c4427c8819a1ba4f3b692545e0957..d206dacbfe0f8b7b5eeaf23a855d95e721dcaecd 100644 index d081d70337e042555aad95d747fd4ee011d77a36..97be0d9db8ea4c4adb998d968e0734243762149f 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
@@ -2913,5 +2913,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2920,5 +2920,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() { public void resetIdleTimer() {
getHandle().resetLastActionTime(); getHandle().resetLastActionTime();
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index cf67b497d1a0e56fa949802804d6d2cf855d52ff..e65af06527724bf0117873b687f33a97c69cb3d6 100644 index f6e6ef12f76d8c0e3c62daa4b831fb214ed3b09e..0f54b1f6024ea4a3d1bb0a86015a084f9c298c7c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3484,7 +3484,16 @@ public abstract class LivingEntity extends Entity { @@ -3462,7 +3462,16 @@ public abstract class LivingEntity extends Entity {
int j = i / 10; int j = i / 10;
if (j % 2 == 0) { if (j % 2 == 0) {

View File

@@ -46,10 +46,10 @@ index 69721d4facc90ae64d6a4e2f080bd80f4862874d..08aa692b8f80ace6ce552e78476a7622
public void broadcastAll(Packet<?> packet) { public void broadcastAll(Packet<?> packet) {
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 d206dacbfe0f8b7b5eeaf23a855d95e721dcaecd..55c558197e7d940b2169b26c07ce7259bd8fac74 100644 index 97be0d9db8ea4c4adb998d968e0734243762149f..b2beae564ba1107f900cb1e8abf054169a035661 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
@@ -1838,7 +1838,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1845,7 +1845,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override @Override
public boolean canSee(org.bukkit.entity.Entity entity) { public boolean canSee(org.bukkit.entity.Entity entity) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 04363404f7e5329994c530b17f2e5c654723fbcb..2838c9ae7d598e9e53f4e5d59c2bf5927e0d9bbe 100644 index 992f4ecd565f1da36c233bc32e74de25421784c9..2e8ac4ba143c12c2da5487ff817baa7fe3bd5926 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1716,7 +1716,7 @@ public abstract class LivingEntity extends Entity { @@ -1716,7 +1716,7 @@ public abstract class LivingEntity extends Entity {
@@ -306,10 +306,10 @@ index 5237b699e000b4fed99be39b0a7e2daab9c8bf42..efa9424f8e2716f073e89b03f3d85e1b
// CraftBukkit start - fire ExplosionPrimeEvent // CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity()); ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index 39ba6ca32b827daee300e1240bd76fd8f680ea02..41adf8762919dffbac6adc4e9a6c120e48c3dd43 100644 index 85fb907fb149961611310c355d0911d81f1b735c..c37832b3fee9d7d8577f8b1701c1c2c27cfdbf09 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -308,6 +308,6 @@ public abstract class Projectile extends Entity { @@ -302,6 +302,6 @@ public abstract class Projectile extends Entity {
public boolean mayInteract(Level world, BlockPos pos) { public boolean mayInteract(Level world, BlockPos pos) {
Entity entity = this.getOwner(); Entity entity = this.getOwner();

View File

@@ -93,10 +93,10 @@ index a0d8afdee5db3202d3693ad4d10b61fc3b942920..7bca861c3ebfc7550b82ae74483464b1
} }
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 55c558197e7d940b2169b26c07ce7259bd8fac74..7b650a3e340a73ed865b5b8afe1aef2607e5c33b 100644 index b2beae564ba1107f900cb1e8abf054169a035661..c5f062f7db0830394f4ab98316e1f0c6da50eb1d 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
@@ -1255,6 +1255,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1262,6 +1262,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API

View File

@@ -18,15 +18,22 @@ index 5a60f5dc202c44b06ca34e9a19d45cb715f74fd3..8d3468353358e9f366db671090725d72
if (enuminteractionresult.consumesAction()) { if (enuminteractionresult.consumesAction()) {
diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
index 2b1983d61fd3ed856770146de5cdfd33b4f63a46..9315c819a0c113313a8e6f97e02b4d13c2cf62c0 100644 index 492e3ffd6a4588a521486db631f3e8b2a25b74ec..954c4a112d675144befd253abe880251f4ea1876 100644
--- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java --- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
@@ -220,16 +220,21 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @@ -220,23 +220,21 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
ItemStack itemstack = player.getItemInHand(hand); ItemStack itemstack = player.getItemInHand(hand);
if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(itemstack.getItem())) { if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(itemstack.getItem())) {
- if (i < 7 && !world.isClientSide) { - if (i < 7 && !world.isClientSide) {
- BlockState iblockdata1 = ComposterBlock.addItem(state, world, pos, itemstack); - // Paper start - EntityChangeBlockEvent
- double rand = world.getRandom().nextDouble();
- BlockState dummyBlockState = ComposterBlock.addItem(state, org.bukkit.craftbukkit.util.DummyGeneratorAccess.INSTANCE, pos, itemstack, rand);
- if (state != dummyBlockState && org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, pos, dummyBlockState).isCancelled()) { // if block state will change and event cancelled
- return InteractionResult.sidedSuccess(world.isClientSide);
- }
- BlockState iblockdata1 = ComposterBlock.addItem(state, world, pos, itemstack, rand);
- // Paper end
- -
- world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0); - world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0);
- player.awardStat(Stats.ITEM_USED.get(itemstack.getItem())); - player.awardStat(Stats.ITEM_USED.get(itemstack.getItem()));
@@ -35,7 +42,7 @@ index 2b1983d61fd3ed856770146de5cdfd33b4f63a46..9315c819a0c113313a8e6f97e02b4d13
- } - }
+ // Purpur start + // Purpur start
+ BlockState newState = process(i, state, world, itemstack, pos, player); + BlockState newState = process(i, state, world, itemstack, pos, player);
+ if (world.purpurConfig.composterBulkProcess && player.isShiftKeyDown()) { + if (world.purpurConfig.composterBulkProcess && player.isShiftKeyDown() && newState != state) {
+ BlockState oldState; + BlockState oldState;
+ int oldCount, newCount, oldLevel, newLevel; + int oldCount, newCount, oldLevel, newLevel;
+ do { + do {
@@ -52,20 +59,28 @@ index 2b1983d61fd3ed856770146de5cdfd33b4f63a46..9315c819a0c113313a8e6f97e02b4d13
return InteractionResult.sidedSuccess(world.isClientSide); return InteractionResult.sidedSuccess(world.isClientSide);
} else if (i == 8) { } else if (i == 8) {
ComposterBlock.extractProduce(state, world, pos, (Entity) null); // CraftBukkit - no event for players ComposterBlock.extractProduce(state, world, pos, (Entity) null); // CraftBukkit - no event for players
@@ -239,6 +244,21 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @@ -246,6 +244,29 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
} }
} }
+ // Purpur start + // Purpur start
+ private static BlockState process(int level, BlockState state, Level world, ItemStack itemstack, BlockPos pos, Player player) { + private static BlockState process(int level, BlockState state, Level world, ItemStack itemstack, BlockPos pos, Player player) {
+ if (level < 7) { + if (level < 7 && !world.isClientSide) {
+ BlockState state1 = ComposterBlock.addItem(state, world, pos, itemstack); + // Paper start - EntityChangeBlockEvent
+ world.levelEvent(1500, pos, state != state1 ? 1 : 0); + double rand = world.getRandom().nextDouble();
+ BlockState dummyBlockState = ComposterBlock.addItem(state, org.bukkit.craftbukkit.util.DummyGeneratorAccess.INSTANCE, pos, itemstack, rand);
+ if (state != dummyBlockState && org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, pos, dummyBlockState).isCancelled()) { // if block state will change and event cancelled
+ return state;
+ }
+ BlockState iblockdata1 = ComposterBlock.addItem(state, world, pos, itemstack, rand);
+ // Paper end
+
+ world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0);
+ player.awardStat(Stats.ITEM_USED.get(itemstack.getItem())); + player.awardStat(Stats.ITEM_USED.get(itemstack.getItem()));
+ if (!player.getAbilities().instabuild) { + if (!player.getAbilities().instabuild) {
+ itemstack.shrink(1); + itemstack.shrink(1);
+ } + }
+ return state1; + return dummyBlockState;
+ } + }
+ return state; + return state;
+ } + }
@@ -75,7 +90,7 @@ index 2b1983d61fd3ed856770146de5cdfd33b4f63a46..9315c819a0c113313a8e6f97e02b4d13
int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 600abf6a419c99fde04ec7aeadfd3d0e02c883d9..c659ff37eeae38ab21ad808f35c3452d27a377b3 100644 index c01ddef1966843748f434ae195b38d2f290388ec..9c925dbee68ae33ae98436a5bb70d7fc5b55fe23 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -474,6 +474,11 @@ public class PurpurWorldConfig { @@ -474,6 +474,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for changing the blocks that turn into dirt paths
diff --git a/src/main/java/net/minecraft/world/item/ShovelItem.java b/src/main/java/net/minecraft/world/item/ShovelItem.java diff --git a/src/main/java/net/minecraft/world/item/ShovelItem.java b/src/main/java/net/minecraft/world/item/ShovelItem.java
index 32995cb5efdad0bc34ecacacb78cccd21220ba8d..ee1ed9262e4f2a8f1889feb7b2d4f64a2efa63a5 100644 index c7195f2e12bbd6545f7bffcc2b4ba5cc3d48df20..5e730bc9c8ff94b16ac2bf8567dda8aea2ee4b2a 100644
--- a/src/main/java/net/minecraft/world/item/ShovelItem.java --- a/src/main/java/net/minecraft/world/item/ShovelItem.java
+++ b/src/main/java/net/minecraft/world/item/ShovelItem.java +++ b/src/main/java/net/minecraft/world/item/ShovelItem.java
@@ -34,7 +34,7 @@ public class ShovelItem extends DiggerItem { @@ -34,7 +34,7 @@ public class ShovelItem extends DiggerItem {
@@ -15,10 +15,10 @@ index 32995cb5efdad0bc34ecacacb78cccd21220ba8d..ee1ed9262e4f2a8f1889feb7b2d4f64a
- BlockState blockState2 = FLATTENABLES.get(blockState.getBlock()); - BlockState blockState2 = FLATTENABLES.get(blockState.getBlock());
+ BlockState blockState2 = level.purpurConfig.shovelTurnsBlockToGrassPath.contains(blockState.getBlock()) ? Blocks.DIRT_PATH.defaultBlockState() : null; // Purpur + BlockState blockState2 = level.purpurConfig.shovelTurnsBlockToGrassPath.contains(blockState.getBlock()) ? Blocks.DIRT_PATH.defaultBlockState() : null; // Purpur
BlockState blockState3 = null; BlockState blockState3 = null;
Runnable afterAction = null; // Paper
if (blockState2 != null && level.getBlockState(blockPos.above()).isAir()) { if (blockState2 != null && level.getBlockState(blockPos.above()).isAir()) {
level.playSound(player, blockPos, SoundEvents.SHOVEL_FLATTEN, SoundSource.BLOCKS, 1.0F, 1.0F);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 54745fe3974277adf245152df67ba9a991cfb2d6..b69022b6fa96e048bbf3aa704bcbde445378d80f 100644 index 369861d985796cfa6e193226b9c3d5704887410c..26586da7d4ec13cc19a40a36f80d8860ce8d5216 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -446,6 +446,21 @@ public class PurpurWorldConfig { @@ -446,6 +446,21 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for unverified username message
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 881f6f61015c7f2f28b204467f984dbf8d37d89a..a68a4365c7520a565e08fb41d712ba6e625ac81d 100644 index 855eac5e6f3a99a2fc31ad0e02c496d4b5c60622..2872adc531ca333e60e87752f4cbea11c5f0937b 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -389,7 +389,7 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se @@ -379,7 +379,7 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se
ServerLoginPacketListenerImpl.this.gameProfile = gameprofile; ServerLoginPacketListenerImpl.this.gameProfile = gameprofile;
ServerLoginPacketListenerImpl.this.state = ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT; ServerLoginPacketListenerImpl.this.state = ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT;
} else { } else {

View File

@@ -31,7 +31,7 @@ index 8d97593403198941ff6775dd8576a0e4ea8eb83e..4e5b2704f22ac8e94c8ec3b7bfe1e755
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2b072a5e49c7dfa9b99002d82050929c5562a2e5..efb1cd7b9af8d84fd91d4e355b8092b2eb90ee58 100644 index a0d3c0c15380cf42049e1b27d8c73ea8e1624b89..142f25da0d758821ce192cea9c65921324c27ef8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity { @@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity {
@@ -62,7 +62,7 @@ index 2b072a5e49c7dfa9b99002d82050929c5562a2e5..efb1cd7b9af8d84fd91d4e355b8092b2
} }
// CraftBukkit start // CraftBukkit start
@@ -3504,6 +3511,27 @@ public abstract class LivingEntity extends Entity { @@ -3482,6 +3489,27 @@ public abstract class LivingEntity extends Entity {
this.hurt(DamageSource.DROWN, 1.0F); this.hurt(DamageSource.DROWN, 1.0F);
} }

View File

@@ -26,10 +26,10 @@ index 45dc5eeb3794492324bd316719524ea797f7ef6a..bbfb5f8f88e972a770d0ce5373c67ffe
} else { } else {
if (fallDistance >= 2.0F) { if (fallDistance >= 2.0F) {
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 7b650a3e340a73ed865b5b8afe1aef2607e5c33b..76f4d471af65589072c901dd5156f3b5ab140b79 100644 index c5f062f7db0830394f4ab98316e1f0c6da50eb1d..477307114e086a4512f6dfecf37aa7039d14dc11 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
@@ -2938,5 +2938,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2945,5 +2945,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
getHandle().spawnInvulnerableTime = spawnInvulnerableTime; getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Tool actionable options
diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java
index 03a6a99dcc0c8fcc32776dd49cf6092b899bf6ed..33b162108bb088827101e9972b89390fb67feca8 100644 index 9c49d8f696864d2aad23208422c4ab5b598a0cd9..22c8ef3d8d20c14d3b032d054827e074a4422ad6 100644
--- a/src/main/java/net/minecraft/world/item/AxeItem.java --- a/src/main/java/net/minecraft/world/item/AxeItem.java
+++ b/src/main/java/net/minecraft/world/item/AxeItem.java +++ b/src/main/java/net/minecraft/world/item/AxeItem.java
@@ -33,22 +33,22 @@ public class AxeItem extends DiggerItem { @@ -33,29 +33,31 @@ public class AxeItem extends DiggerItem {
BlockPos blockPos = context.getClickedPos(); BlockPos blockPos = context.getClickedPos();
Player player = context.getPlayer(); Player player = context.getPlayer();
BlockState blockState = level.getBlockState(blockPos); BlockState blockState = level.getBlockState(blockPos);
@@ -40,21 +40,30 @@ index 03a6a99dcc0c8fcc32776dd49cf6092b899bf6ed..33b162108bb088827101e9972b89390f
level.levelEvent(player, 3004, blockPos, 0); level.levelEvent(player, 3004, blockPos, 0);
optional4 = optional3; optional4 = optional3;
} }
@@ -58,15 +58,23 @@ public class AxeItem extends DiggerItem {
if (optional4.isPresent()) {
+ org.purpurmc.purpur.tool.Actionable actionable = optional4.get();
+ BlockState state = actionable.into().withPropertiesOf(blockState); // Purpur
// Paper start - EntityChangeBlockEvent
- if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, optional4.get()).isCancelled()) {
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, state).isCancelled()) { // Purpur
return InteractionResult.PASS;
}
// Paper end
@@ -63,15 +65,22 @@ public class AxeItem extends DiggerItem {
CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack); CriteriaTriggers.ITEM_USED_ON_BLOCK.trigger((ServerPlayer)player, blockPos, itemStack);
} }
- level.setBlock(blockPos, optional4.get(), 11); - level.setBlock(blockPos, optional4.get(), 11);
- level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, optional4.get())); - level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, optional4.get()));
+ // Purpur start + // Purpur start
+ org.purpurmc.purpur.tool.Actionable actionable = optional4.get(); + level.setBlock(blockPos, state, 11);
+ level.setBlock(blockPos, actionable.into().withPropertiesOf(blockState), 11);
+ actionable.drops().forEach((drop, chance) -> { + actionable.drops().forEach((drop, chance) -> {
+ if (level.random.nextDouble() < chance) { + if (level.random.nextDouble() < chance) {
+ Block.popResourceFromFace(level, blockPos, context.getClickedFace(), new ItemStack(drop)); + Block.popResourceFromFace(level, blockPos, context.getClickedFace(), new ItemStack(drop));
+ } + }
+ }); + });
+ level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, actionable.into().withPropertiesOf(blockState))); + level.gameEvent(GameEvent.BLOCK_CHANGE, blockPos, GameEvent.Context.of(player, state));
+ // Purpur end + // Purpur end
if (player != null) { if (player != null) {
itemStack.hurtAndBreak(1, player, (p) -> { itemStack.hurtAndBreak(1, player, (p) -> {
@@ -111,7 +120,7 @@ index 180aec596110309aade13d2080f8824d152b07cb..bf0e1f481b4c81f0663366bbe597b066
return InteractionResult.PASS; return InteractionResult.PASS;
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 820ff330bd75b4ec67e64a8af32a22fc5e5af667..b60a0cb6230bbe238679814eb1ff0b8218fc285a 100644 index 500a7eeb3532ee5c25ac5f7a14b2ff25c7a83cff..2f28c8eb9eb68bb44f245437c06388d8686e6572 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -522,6 +522,159 @@ public class PurpurWorldConfig { @@ -522,6 +522,159 @@ public class PurpurWorldConfig {

View File

@@ -223,10 +223,10 @@ index 6d2ba650f53de8a460857f1846401a20b50cc43c..8ed695fd64feb3c2411ed46d9c326eb2
+ // Purpur end - OfflinePlayer API + // Purpur end - OfflinePlayer API
} }
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 76f4d471af65589072c901dd5156f3b5ab140b79..5e755977b49e4874cf489bddb5be6b1fdc55152f 100644 index 477307114e086a4512f6dfecf37aa7039d14dc11..4b5fd70ad11faf8143c5b630452419b7c7e71e48 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
@@ -2212,6 +2212,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2219,6 +2219,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().getAbilities().walkingSpeed * 2f; return this.getHandle().getAbilities().walkingSpeed * 2f;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable valid characters for usernames
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index a68a4365c7520a565e08fb41d712ba6e625ac81d..430fb1d7905c6d33204fe77029ccfcc4b6af7d29 100644 index 2872adc531ca333e60e87752f4cbea11c5f0937b..13939c839faaeb29c00d6eadfb581e22bfe41a89 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -263,6 +263,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se @@ -253,6 +253,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se
return false; return false;
} }

View File

@@ -1187,7 +1187,7 @@ index 34c823876efc78a5f5fe111b3d10e5240f76215f..ffbe6f3b5fdd60332627fdb6a7ea050d
} }
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index b37d3f293cf73730626f0a7da84058f42f071181..8f80b2f14c582d248988a824193d1fd0df177dc5 100644 index b391e04a1de88f465e609cbcd77ba97e3d851fb3..260e094bad8d6f1b775e317ba2c9b3e25cfa7467 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -397,7 +397,7 @@ public abstract class LivingEntity extends Entity { @@ -397,7 +397,7 @@ public abstract class LivingEntity extends Entity {
@@ -1220,18 +1220,18 @@ index b37d3f293cf73730626f0a7da84058f42f071181..8f80b2f14c582d248988a824193d1fd0
+ //this.level.getProfiler().pop(); // Purpur + //this.level.getProfiler().pop(); // Purpur
+ //this.level.getProfiler().push("rangeChecks"); // Purpur + //this.level.getProfiler().push("rangeChecks"); // Purpur
while (this.getYRot() - this.yRotO < -180.0F) { // Paper start - stop large pitch and yaw changes from crashing the server
this.yRotO -= 360.0F; this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
@@ -3124,7 +3124,7 @@ public abstract class LivingEntity extends Entity { @@ -3102,7 +3102,7 @@ public abstract class LivingEntity extends Entity {
this.yHeadRotO += 360.0F; this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
} // Paper end
- this.level.getProfiler().pop(); - this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur + //this.level.getProfiler().pop(); // Purpur
this.animStep += f2; this.animStep += f2;
if (this.isFallFlying()) { if (this.isFallFlying()) {
++this.fallFlyTicks; ++this.fallFlyTicks;
@@ -3406,19 +3406,19 @@ public abstract class LivingEntity extends Entity { @@ -3384,19 +3384,19 @@ public abstract class LivingEntity extends Entity {
} }
this.setDeltaMovement(d4, d5, d6); this.setDeltaMovement(d4, d5, d6);
@@ -1256,7 +1256,7 @@ index b37d3f293cf73730626f0a7da84058f42f071181..8f80b2f14c582d248988a824193d1fd0
if (this.jumping && this.isAffectedByFluids()) { if (this.jumping && this.isAffectedByFluids()) {
double d7; double d7;
@@ -3445,8 +3445,8 @@ public abstract class LivingEntity extends Entity { @@ -3423,8 +3423,8 @@ public abstract class LivingEntity extends Entity {
this.noJumpDelay = 0; this.noJumpDelay = 0;
} }
@@ -1267,7 +1267,7 @@ index b37d3f293cf73730626f0a7da84058f42f071181..8f80b2f14c582d248988a824193d1fd0
this.xxa *= 0.98F; this.xxa *= 0.98F;
this.zza *= 0.98F; this.zza *= 0.98F;
this.updateFallFlying(); this.updateFallFlying();
@@ -3455,8 +3455,8 @@ public abstract class LivingEntity extends Entity { @@ -3433,8 +3433,8 @@ public abstract class LivingEntity extends Entity {
// SpigotTimings.timerEntityAIMove.startTiming(); // Spigot // Paper // SpigotTimings.timerEntityAIMove.startTiming(); // Spigot // Paper
this.travel(new Vec3((double) this.xxa, (double) this.yya, (double) this.zza)); this.travel(new Vec3((double) this.xxa, (double) this.yya, (double) this.zza));
// SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot // Paper // SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot // Paper
@@ -1278,7 +1278,7 @@ index b37d3f293cf73730626f0a7da84058f42f071181..8f80b2f14c582d248988a824193d1fd0
boolean flag1 = this.getType().is(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES); boolean flag1 = this.getType().is(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES);
int i; int i;
@@ -3476,15 +3476,15 @@ public abstract class LivingEntity extends Entity { @@ -3454,15 +3454,15 @@ public abstract class LivingEntity extends Entity {
this.hurt(DamageSource.FREEZE, (float) i); this.hurt(DamageSource.FREEZE, (float) i);
} }
@@ -1513,7 +1513,7 @@ index c960aac9e1dbffe5e765f9adcfacc1966dc29148..c233533fdacb4f5e635267b5fc9fe21b
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 32870e6727d09fbf1c4913ffdf321a278b5b6f64..50f19125fa3dda79a850cfce0ab7c72045d6220b 100644 index b543387da275a0b3675a968b6cebf05cc227af14..2e0f340f9b339b1d772c0676e97c12f389827848 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -328,13 +328,13 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { @@ -328,13 +328,13 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {

View File

@@ -99,10 +99,10 @@ index 4b9d57a63a0eb922f77d34e4d2d7f3b0aa364337..42058ebca02f1ae7fdf970b9fdf36afc
@Override @Override
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 5e755977b49e4874cf489bddb5be6b1fdc55152f..44ad108729a0cf434de14b60d979920988ae3e7d 100644 index 4b5fd70ad11faf8143c5b630452419b7c7e71e48..8ecb9b9b7576953f2d079f77e4baae31e8054dd6 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
@@ -2969,5 +2969,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2976,5 +2976,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean hasFlyingFallDamage() { public boolean hasFlyingFallDamage() {
return getHandle().flyingFallDamage; return getHandle().flyingFallDamage;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] add Player#showCreditScreen
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 44ad108729a0cf434de14b60d979920988ae3e7d..cac6bd2f6ee4e9603a860ca7ddabbe7d002daa53 100644 index 8ecb9b9b7576953f2d079f77e4baae31e8054dd6..3b5ff0b3013a10b5515b13d1b660ec421531d772 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
@@ -2600,6 +2600,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2607,6 +2607,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.DEMO_EVENT, ClientboundGameEventPacket.DEMO_PARAM_INTRO)); this.getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.DEMO_EVENT, ClientboundGameEventPacket.DEMO_PARAM_INTRO));
} }