Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@b4192fd fix NPE from changes in e4358b82171
PaperMC/Paper@5b6445a Revert "fix NPE from changes in e4358b82171"
PaperMC/Paper@323c087 Revert "#686: Fix contains for default section generating real sections"
PaperMC/Paper@c837002 Fix client world difficulty sync issue (#7035)
PaperMC/Paper@a4782f7 [ci skip] fixup indent
PaperMC/Paper@83aee0f [ci skip] Clarify setSize consequences for Slimes (#7036)
PaperMC/Paper@7c8fdc1 Add dropped hunk from mid-tick tasks (#7034)
PaperMC/Paper@fd263ef Fix empty/null chunk section check in LevelChunk#getBlockData, rename… (#7039)
PaperMC/Paper@b8d486c Create workflow to add new PRs to the PR Queue project (#6918)
PaperMC/Paper@a50e273 Include axolotls in affected entities for water splash potions (#7024)
PaperMC/Paper@af95df8 Port Actually unload POI data from Tuinity 1.16 (#7044)
PaperMC/Paper@04897b1 [ci skip] Revert "Create workflow to add new PRs to the PR Queue project (#6918)" (#7046)
PaperMC/Paper@b4a77a8 Updated Upstream (Bukkit/CraftBukkit) (#7045)
PaperMC/Paper@0e25db2 Fix mis-placed processEnchantOrder from 1.18 update (#7052)
PaperMC/Paper@53d026e Fix unused EntitySectionStorage#getEntities(AABB, Consumer) method being broken
PaperMC/Paper@772e880 Fix light propagation in high y sections
PaperMC/Paper@33ea869 Bump Starlight light version
PaperMC/Paper@74fd151 Fix entity equipment on cancellation of EntityDeathEvent (#5740)
PaperMC/Paper@758e2a7 Fix bad ticking checks for blocks
PaperMC/Paper@0e91b6a Return 0 for light values if a dimenion does not have them
PaperMC/Paper@188a8df Fix ChunkSnapshot#isSectionEmpty(int)
PaperMC/Paper@bbc7451 Fix issue with snapshotted biomes in last commit
PaperMC/Paper@b475c6a Backport log4j fix
PaperMC/Paper@4e355c4 Updated Upstream (CraftBukkit)
PaperMC/Paper@dce79f3 Update Log4J (#7069)
This commit is contained in:
Encode42
2021-12-09 22:46:12 -05:00
parent 38f32fa7f1
commit 26e5f080f2
87 changed files with 236 additions and 789 deletions

View File

@@ -4,7 +4,7 @@ version = 1.18-R0.1-SNAPSHOT
mcVersion = 1.18 mcVersion = 1.18
packageVersion = 1_18_R1 packageVersion = 1_18_R1
paperCommit = 6b072ee589c809298f272b1f7d611190d2f94e45 paperCommit = dce79f333c1f3f60335163d8fe1050d424722a92
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..de15de77c4d7020b7fef00179cab3a71daed2c5d 100644 index ed05c831fcf8dfb8669ce57248b469fa9c9edef5..a387cbf3652a84028dc8be1da7f10c4bb84abf3d 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -18,8 +18,12 @@ repositories { @@ -18,8 +18,12 @@ repositories {
@@ -23,7 +23,7 @@ index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..de15de77c4d7020b7fef00179cab3a71
// Paper start // Paper start
implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("org.jline:jline-terminal-jansi:3.21.0")
implementation("net.minecrell:terminalconsoleappender:1.3.0") implementation("net.minecrell:terminalconsoleappender:1.3.0")
@@ -49,6 +53,8 @@ dependencies { @@ -50,6 +54,8 @@ dependencies {
isTransitive = false isTransitive = false
} }
// Paper end // Paper end
@@ -32,7 +32,7 @@ index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..de15de77c4d7020b7fef00179cab3a71
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
testImplementation("junit:junit:4.13.1") testImplementation("junit:junit:4.13.1")
@@ -67,7 +73,7 @@ tasks.jar { @@ -68,7 +74,7 @@ tasks.jar {
attributes( attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main", "Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit", "Implementation-Title" to "CraftBukkit",
@@ -41,7 +41,7 @@ index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..de15de77c4d7020b7fef00179cab3a71
"Implementation-Vendor" to date, // Paper "Implementation-Vendor" to date, // Paper
"Specification-Title" to "Bukkit", "Specification-Title" to "Bukkit",
"Specification-Version" to project.version, "Specification-Version" to project.version,
@@ -155,7 +161,7 @@ fun TaskContainer.registerRunTask( @@ -156,7 +162,7 @@ fun TaskContainer.registerRunTask(
name: String, name: String,
block: JavaExec.() -> Unit block: JavaExec.() -> Unit
): TaskProvider<JavaExec> = register<JavaExec>(name) { ): TaskProvider<JavaExec> = register<JavaExec>(name) {
@@ -51,7 +51,7 @@ index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..de15de77c4d7020b7fef00179cab3a71
standardInput = System.`in` standardInput = System.`in`
workingDir = rootProject.layout.projectDirectory workingDir = rootProject.layout.projectDirectory
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
index ece77f5ea4b14bbed7c070131b3251ea86764538..c4a9d6f80285e403c0c18fca4bb85d722dd6e357 100644 index ece77f5ea4b14bbed7c070131b3251ea86764538..3054fe189b0cf771697c896f7def32892edc4925 100644
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java --- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java +++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
@@ -19,8 +19,7 @@ import java.util.stream.StreamSupport; @@ -19,8 +19,7 @@ import java.util.stream.StreamSupport;

View File

@@ -85,7 +85,7 @@ index fd3d3e22613511a42f7fc343079b081c72ff3f61..8bf98d8f8e9f0baaf203a9e8d1868323
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // load mappings for stacktrace deobf and etc. io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // load mappings for stacktrace deobf and etc.
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index c2220d5157d3065a256cd17410760c6aedf24987..729d11569e59e78a0fda67697fe9e27adefff730 100644 index 4247dcb003626535dbb997f48ad9f61380bd17e9..03a4c5fa746033825c26a031fbf79f721be6fa84 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -169,6 +169,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -169,6 +169,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -153,10 +153,10 @@ index 310c3e1590465412af6905eab33193c6bf5e5e47..549577e31840ce5f32adb2c0909b915d
public void restart() { public void restart() {
org.spigotmc.RestartCommand.restart(); org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 450518903c0a10301b177d8dd7fe05aca3b8b37e..a10cebac752fdf5186eb86bd314f19313864fee0 100644 index deb33456b5b194a662cbdbacf17752c87f2cecaf..8806d26c8d121194dbb8b71edc92e6782a5ea2bb 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -153,6 +153,14 @@ public class Main { @@ -155,6 +155,14 @@ public class Main {
.describedAs("Jar file"); .describedAs("Jar file");
// Paper end // Paper end

View File

@@ -34,7 +34,7 @@ index 7ad6b7b3094156477570b738026d88cb0f0f4f9e..973ea150c2f8ac136736b4ae9f505491
this.profiler.push(() -> { this.profiler.push(() -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e371ffb1f88e08883a1a2460260ff368c0cfe853..a2185651b35fdf6563b20ec8ea8e2b57f75f9dd5 100644 index a770b5abc7fc66b6de9f17dde192447686e70f4a..3035f1d357248f25c01ae8e20ca689bfa4130d80 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -208,6 +208,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -208,6 +208,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -46,7 +46,7 @@ index e371ffb1f88e08883a1a2460260ff368c0cfe853..a2185651b35fdf6563b20ec8ea8e2b57
return new Throwable(entity + " Added to world at " + new java.util.Date()); return new Throwable(entity + " Added to world at " + new java.util.Date());
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3e91bb85adc33434b278bf2ca83164dae3f7a6e5..493c0540c02075d081a5ce404e480625632bd1a4 100644 index c516ad43cac2419bcf63e11eaa183785b462de5c..618595add09eef5381307ba2fe154adfc97b2a0e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -662,6 +662,15 @@ public class ServerPlayer extends Player { @@ -662,6 +662,15 @@ public class ServerPlayer extends Player {
@@ -73,7 +73,7 @@ index 3e91bb85adc33434b278bf2ca83164dae3f7a6e5..493c0540c02075d081a5ce404e480625
+ +
} }
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 93a49a423731b31b42e0d240e71f9fecb9ec3c18..cbca17bc6890319fd8df725e53626b7a1e9c4576 100644 index 0ecae30242ce098267832633ed8cd28aedcd908d..104601ee18e9bbc4c89d33d58193d0c3799ffd56 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
@@ -2435,6 +2435,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -2435,6 +2435,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -86,7 +86,7 @@ index 93a49a423731b31b42e0d240e71f9fecb9ec3c18..cbca17bc6890319fd8df725e53626b7a
if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity)); ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 390f8398af00b770d48d274970b8b164925b63b5..a33c9089d96ab8e66557be7880e562c88b5d56f9 100644 index a7a0d3f29ad3f07236905a764466400e7a22d8d6..5c1a9dc4eab3ecdf7f8ea35733717a3de501d85a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -192,7 +192,7 @@ index 645c1dc9bd09b135a641759c76ce8d957b9bd488..03adc3b746e05bb4b0514ba4a66c101b
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 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fde260150b 100644 index fe7e22d9a69d69dfcce63faa28e90945ea45fc49..76209fd395c65a30201d731448f870610a1e27f2 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
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity { @@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity {
@@ -208,7 +208,7 @@ index 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fd
protected int lerpSteps; protected int lerpSteps;
protected double lerpX; protected double lerpX;
protected double lerpY; protected double lerpY;
@@ -2571,7 +2571,7 @@ public abstract class LivingEntity extends Entity { @@ -2585,7 +2585,7 @@ public abstract class LivingEntity extends Entity {
} }
protected long lastJumpTime = 0L; // Paper protected long lastJumpTime = 0L; // Paper
@@ -217,7 +217,7 @@ index 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fd
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
@@ -3307,8 +3307,10 @@ public abstract class LivingEntity extends Entity { @@ -3321,8 +3321,10 @@ public abstract class LivingEntity extends Entity {
this.pushEntities(); this.pushEntities();
this.level.getProfiler().pop(); this.level.getProfiler().pop();
// Paper start // Paper start
@@ -230,7 +230,7 @@ index 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fd
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());
@@ -3318,6 +3320,21 @@ public abstract class LivingEntity extends Entity { @@ -3332,6 +3334,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());
} }
} }
@@ -253,7 +253,7 @@ index 93b616d1b95e9c112dcd4b6fda9bd467177e6dec..6953ff6f4f1b607f9294ca37022226fd
// Paper end // Paper end
if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 0b46066d35d9bb38d98a9d6e5ca8dbdc0ba1dc5a..2b8c33fe5a34f2ed66630e2d6fc06caf2cd769a1 100644 index 8200e33ed4ebcae8a27cccf2a28daba5e10cf75d..b7e3091e9ce5b634c73ac573cf205278507270d5 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -143,6 +143,8 @@ public abstract class Mob extends LivingEntity { @@ -143,6 +143,8 @@ public abstract class Mob extends LivingEntity {
@@ -265,7 +265,7 @@ index 0b46066d35d9bb38d98a9d6e5ca8dbdc0ba1dc5a..2b8c33fe5a34f2ed66630e2d6fc06caf
this.jumpControl = new JumpControl(this); this.jumpControl = new JumpControl(this);
this.bodyRotationControl = this.createBodyControl(); this.bodyRotationControl = this.createBodyControl();
this.navigation = this.createNavigation(world); this.navigation = this.createNavigation(world);
@@ -1298,7 +1300,7 @@ public abstract class Mob extends LivingEntity { @@ -1300,7 +1302,7 @@ public abstract class Mob extends LivingEntity {
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {} protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
protected InteractionResult mobInteract(Player player, InteractionHand hand) { protected InteractionResult mobInteract(Player player, InteractionHand hand) {
@@ -274,7 +274,7 @@ index 0b46066d35d9bb38d98a9d6e5ca8dbdc0ba1dc5a..2b8c33fe5a34f2ed66630e2d6fc06caf
} }
public boolean isWithinRestriction() { public boolean isWithinRestriction() {
@@ -1659,4 +1661,52 @@ public abstract class Mob extends LivingEntity { @@ -1661,4 +1663,52 @@ public abstract class Mob extends LivingEntity {
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg); return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
} }
@@ -2168,10 +2168,10 @@ index 7af7ff4accbcc1b28d96c94e9c3301142541f4f0..a91152df3d443d70b1aa9aff97b3746e
protected void randomizeAttributes() { protected void randomizeAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)this.generateRandomMaxHealth()); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)this.generateRandomMaxHealth());
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 c4b4adc11179682d19be69d01ebd5f45e5f0e193..fb4af69075323a1d6c5e252115d5973dbdcadcd2 100644 index 9a401b3e8db61d0b92ca273db2eb84efc4dfa8fc..3dfab1062824eee91280d8de4cd50be519bf6176 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
@@ -69,7 +69,46 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -72,7 +72,46 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public Llama(EntityType<? extends Llama> type, Level world) { public Llama(EntityType<? extends Llama> type, Level world) {
super(type, world); super(type, world);
@@ -2218,15 +2218,15 @@ index c4b4adc11179682d19be69d01ebd5f45e5f0e193..fb4af69075323a1d6c5e252115d5973d
public boolean isTraderLlama() { public boolean isTraderLlama() {
return false; return false;
@@ -114,6 +153,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -124,6 +163,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HorseHasRider(this)); // Purpur + this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HorseHasRider(this)); // Purpur
this.goalSelector.addGoal(1, new RunAroundLikeCrazyGoal(this, 1.2D)); this.goalSelector.addGoal(1, new RunAroundLikeCrazyGoal(this, 1.2D));
this.goalSelector.addGoal(2, new LlamaFollowCaravanGoal(this, (double)2.1F)); this.goalSelector.addGoal(2, new LlamaFollowCaravanGoal(this, 2.0999999046325684D));
this.goalSelector.addGoal(3, new RangedAttackGoal(this, 1.25D, 40, 20.0F)); this.goalSelector.addGoal(3, new RangedAttackGoal(this, 1.25D, 40, 20.0F));
@@ -124,6 +164,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -134,6 +174,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 0.7D)); this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 0.7D));
this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(9, new RandomLookAroundGoal(this)); this.goalSelector.addGoal(9, new RandomLookAroundGoal(this));
@@ -2979,7 +2979,7 @@ index ee9194ffb3cc6d660d4f99a3914ede7e4a3643fe..1f789b1d481234cafaa6e75c36a272bb
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D); return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index cfdb631500962ec19007db55bd4453687b91c2f8..3ab601ded08c435825202b295bbdb06eb26ce730 100644 index d47002d45dabd66f38d25d398d8943f4b911cdc5..3e14ad3c66ff2e14e9f746a0d03bc34e7a48c1c8 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -88,9 +88,22 @@ public class EnderMan extends Monster implements NeutralMob { @@ -88,9 +88,22 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -4538,7 +4538,7 @@ index 5aae88e20bc04560d6ad52cfcaa872d28bfcee8f..1ba59900ddf403453aeb4f82b097feaa
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3b7ee1954 100644 index c667baa2da8222eb66344c8f1cc0fed416c4df01..7be3a8ead9fc634ce990b689ac2cd2ae805030ea 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -542,6 +542,15 @@ public class CraftEventFactory { @@ -542,6 +542,15 @@ public class CraftEventFactory {
@@ -4557,7 +4557,7 @@ index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3
return event; return event;
} }
@@ -965,6 +974,7 @@ public class CraftEventFactory { @@ -971,6 +980,7 @@ public class CraftEventFactory {
damageCause = DamageCause.ENTITY_EXPLOSION; damageCause = DamageCause.ENTITY_EXPLOSION;
} }
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
@@ -4565,7 +4565,7 @@ index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3
} }
event.setCancelled(cancelled); event.setCancelled(cancelled);
@@ -1050,6 +1060,7 @@ public class CraftEventFactory { @@ -1056,6 +1066,7 @@ public class CraftEventFactory {
if (!event.isCancelled()) { if (!event.isCancelled()) {
event.getEntity().setLastDamageCause(event); event.getEntity().setLastDamageCause(event);
} }
@@ -4573,7 +4573,7 @@ index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3
return event; return event;
} }
@@ -1109,6 +1120,7 @@ public class CraftEventFactory { @@ -1115,6 +1126,7 @@ public class CraftEventFactory {
EntityDamageEvent event; EntityDamageEvent event;
if (damager != null) { if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a33c9089d96ab8e66557be7880e562c88b5d56f9..52d8c713a6653f5b28b63a5ad1769a471fe5aaa9 100644 index 5c1a9dc4eab3ecdf7f8ea35733717a3de501d85a..7af5b443983d557199100c0ab5044e96ebf52d9b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -149,7 +149,7 @@ import org.bukkit.plugin.PluginManager; @@ -149,7 +149,7 @@ import org.bukkit.plugin.PluginManager;
@@ -34,7 +34,7 @@ index 03adc3b746e05bb4b0514ba4a66c101b9742ceed..ec261673ac444fd5de9c8556cde5d788
@Override @Override
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 6953ff6f4f1b607f9294ca37022226fde260150b..c2a71319be3340d50bd8b15f39ae8d4937aeb7ac 100644 index 76209fd395c65a30201d731448f870610a1e27f2..77cde266fcd6e7d0c10fdcb5380bc80811a05016 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
@@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity { @@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity {
@@ -589,10 +589,10 @@ index a91152df3d443d70b1aa9aff97b3746e0331c0a6..9f7203608e15fdce1bfbaf4198387687
@Override @Override
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 fb4af69075323a1d6c5e252115d5973dbdcadcd2..7a2a8365a8bb5b0f497b7f10d351f535a683cd96 100644 index 3dfab1062824eee91280d8de4cd50be519bf6176..6e09dbeb6478fa32d8c46da30e45f8c64f214e30 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
@@ -108,6 +108,21 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -111,6 +111,21 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public boolean isSaddled() { public boolean isSaddled() {
return super.isSaddled() || (isTamed() && getSwag() != null); return super.isSaddled() || (isTamed() && getSwag() != null);
} }
@@ -845,7 +845,7 @@ index 1f789b1d481234cafaa6e75c36a272bbd064482e..e25374b06e3babd93cd5bbdd58ea401a
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 3ab601ded08c435825202b295bbdb06eb26ce730..357a7cdcd98cc2c840ca3f9c164d66cfd7565138 100644 index 3e14ad3c66ff2e14e9f746a0d03bc34e7a48c1c8..e5ddb64d1a212266c05170359e27927a5f9e243e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -98,6 +98,11 @@ public class EnderMan extends Monster implements NeutralMob { @@ -98,6 +98,11 @@ public class EnderMan extends Monster implements NeutralMob {

View File

@@ -25,10 +25,10 @@ index 721971f7618751a2e95f1c49fdc48a9c0c672cab..7b141c495095afcd9c8b04c059d692e8
double d = this.llama.distanceToSqr(this.llama.getCaravanHead()); double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
if (d > 676.0D) { if (d > 676.0D) {
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 7a2a8365a8bb5b0f497b7f10d351f535a683cd96..4738d98c256b7167a13edf94db5b4f8e4cb4f75e 100644 index 6e09dbeb6478fa32d8c46da30e45f8c64f214e30..1195f307ec827c206480fed63deb3775ba3eb22b 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
@@ -66,6 +66,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -69,6 +69,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
private Llama caravanHead; private Llama caravanHead;
@Nullable @Nullable
private Llama caravanTail; private Llama caravanTail;
@@ -36,7 +36,7 @@ index 7a2a8365a8bb5b0f497b7f10d351f535a683cd96..4738d98c256b7167a13edf94db5b4f8e
public Llama(EntityType<? extends Llama> type, Level world) { public Llama(EntityType<? extends Llama> type, Level world) {
super(type, world); super(type, world);
@@ -150,7 +151,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -160,7 +161,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
if (!this.inventory.getItem(1).isEmpty()) { if (!this.inventory.getItem(1).isEmpty()) {
nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag())); nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag()));
} }
@@ -45,7 +45,7 @@ index 7a2a8365a8bb5b0f497b7f10d351f535a683cd96..4738d98c256b7167a13edf94db5b4f8e
} }
@Override @Override
@@ -162,6 +163,12 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -172,6 +173,12 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem"))); this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem")));
} }
@@ -58,7 +58,7 @@ index 7a2a8365a8bb5b0f497b7f10d351f535a683cd96..4738d98c256b7167a13edf94db5b4f8e
this.updateContainerEquipment(); this.updateContainerEquipment();
} }
@@ -484,6 +491,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -511,6 +518,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public void leaveCaravan() { public void leaveCaravan() {
if (this.caravanHead != null) { if (this.caravanHead != null) {
@@ -66,7 +66,7 @@ index 7a2a8365a8bb5b0f497b7f10d351f535a683cd96..4738d98c256b7167a13edf94db5b4f8e
this.caravanHead.caravanTail = null; this.caravanHead.caravanTail = null;
} }
@@ -491,6 +499,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -518,6 +526,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
} }
public void joinCaravan(Llama llama) { public void joinCaravan(Llama llama) {
@@ -74,7 +74,7 @@ index 7a2a8365a8bb5b0f497b7f10d351f535a683cd96..4738d98c256b7167a13edf94db5b4f8e
this.caravanHead = llama; this.caravanHead = llama;
this.caravanHead.caravanTail = this; this.caravanHead.caravanTail = this;
} }
@@ -508,6 +517,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -535,6 +544,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
return this.caravanHead; return this.caravanHead;
} }
@@ -89,7 +89,7 @@ index 7a2a8365a8bb5b0f497b7f10d351f535a683cd96..4738d98c256b7167a13edf94db5b4f8e
protected double followLeashSpeed() { protected double followLeashSpeed() {
return 2.0D; return 2.0D;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
index 6ad12711a82d7be42ba41c0428779f86536fd900..4dd47cac823a63056985079e75588dd3d81f0af4 100644 index ae05f526f9ec70a2992ef3ee66b7f57eca2351fc..b010d7398c657367651fc576af5b0514164cd51c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
@@ -64,4 +64,46 @@ public class CraftLlama extends CraftChestedHorse implements Llama, com.destroys @@ -64,4 +64,46 @@ public class CraftLlama extends CraftChestedHorse implements Llama, com.destroys

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance
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 8780eed3ee4ba8ffb72e411d47dbd6fb3337d8d2..aa39670f465ce4687dd443d564a119d59461aae1 100644 index 77cde266fcd6e7d0c10fdcb5380bc80811a05016..bdbe89f21408c46a3ab1f6d8a58d93c94e50975f 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
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity { @@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity {
@@ -27,7 +27,7 @@ index 8780eed3ee4ba8ffb72e411d47dbd6fb3337d8d2..aa39670f465ce4687dd443d564a119d5
if (!landedState.isAir()) { if (!landedState.isAir()) {
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D); double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
@@ -1890,7 +1891,7 @@ public abstract class LivingEntity extends Entity { @@ -1904,7 +1905,7 @@ public abstract class LivingEntity extends Entity {
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP); MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1); float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
@@ -37,7 +37,7 @@ index 8780eed3ee4ba8ffb72e411d47dbd6fb3337d8d2..aa39670f465ce4687dd443d564a119d5
protected void playBlockFallSound() { protected void playBlockFallSound() {
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 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 8a34dd179eecb84ca3975fa8a0ae2e7bc2d57cee..56694c9918ab2e8d0ff5cfda6d60360b0cd16674 100644 index c6ee03e25adac9ecebd1e1718588b84f57184ce9..0be0c81f2b0a58eba75eb8559f78d8a58014d0ae 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -323,7 +323,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @@ -323,7 +323,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -50,7 +50,7 @@ index 8a34dd179eecb84ca3975fa8a0ae2e7bc2d57cee..56694c9918ab2e8d0ff5cfda6d60360b
protected int getInventorySize() { protected int getInventorySize() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index c67f33f2e2e0ff5c2a85782185103325a6bf4535..a8ffdc8810152d77668aad7bad15a00c4d194d4c 100644 index a6f3cac3c6ee6129f61ab43e9afd82cc7b83e058..d1756353b9fc22f6e9b957a708073545ab3c941a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java --- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java +++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -12,6 +12,7 @@ import net.minecraft.world.level.LevelReader; @@ -12,6 +12,7 @@ import net.minecraft.world.level.LevelReader;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable outdated build check
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index a10cebac752fdf5186eb86bd314f19313864fee0..1533e958718d695b50a3e0c46d005cba49eca6cb 100644 index 8806d26c8d121194dbb8b71edc92e6782a5ea2bb..51c2e0e71a7b69835453c48911fc2be9f2323b7f 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -269,7 +269,7 @@ public class Main { @@ -271,7 +271,7 @@ public class Main {
System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
} }

View File

@@ -5,22 +5,24 @@ Subject: [PATCH] Disable loot drops on death by cramming
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 ed11d49f27fdb85f3682b0b79ec4d1fb68ef0466..5ae294293cd9d813e22d251e567d1fc0929edc49 100644 index bdbe89f21408c46a3ab1f6d8a58d93c94e50975f..c577fd1f3e89ee5749c5dc952c0b9a722098bac4 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
@@ -1704,8 +1704,10 @@ public abstract class LivingEntity extends Entity { @@ -1711,10 +1711,12 @@ public abstract class LivingEntity extends Entity {
this.dropEquipment(); // CraftBukkit - from below this.dropEquipment(); // CraftBukkit - from below
if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
+ if (!(source == DamageSource.CRAMMING && level.purpurConfig.disableDropsOnCrammingDeath)) { // Purpur + if (!(source == DamageSource.CRAMMING && level.purpurConfig.disableDropsOnCrammingDeath)) { // Purpur
this.dropFromLootTable(source, flag); this.dropFromLootTable(source, flag);
this.clearEquipmentSlots = false; // Paper
this.dropCustomDeathLoot(source, i, flag); this.dropCustomDeathLoot(source, i, flag);
this.clearEquipmentSlots = true; // Paper
+ } // Purpur + } // Purpur
} }
// CraftBukkit start - Call death event // CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> {
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 b9257b444a9fae83cd42757eec84559185fe4971..1533c1a126b4602db25772662d313d5b0b4eab15 100644 index f7c261eb407aa1c5f7cf72d02605254910ca0272..6125cc91382db970ea1c708a76c7320835eb3a77 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
@@ -215,6 +215,11 @@ public class PurpurWorldConfig { @@ -215,6 +215,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix the dead lagging the server
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 52d8c713a6653f5b28b63a5ad1769a471fe5aaa9..633e41c4b0ab440be6594d892dc6434c19d4fd76 100644 index 7af5b443983d557199100c0ab5044e96ebf52d9b..36569048c8ba952270b8ca1e492292cab5f13ae6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1736,6 +1736,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -1736,6 +1736,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -17,10 +17,10 @@ index 52d8c713a6653f5b28b63a5ad1769a471fe5aaa9..633e41c4b0ab440be6594d892dc6434c
public void absMoveTo(double x, double y, double z) { public void absMoveTo(double x, double y, double z) {
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 47d7e28063f94e41724f62c2fa1fc0abe55638e6..be7ff10b8f1e7b44c2c9b67e5db6dd66f2f0dac3 100644 index c577fd1f3e89ee5749c5dc952c0b9a722098bac4..000283ea471b4755fa63f965579f98f0b746f15c 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
@@ -2896,7 +2896,7 @@ public abstract class LivingEntity extends Entity { @@ -2910,7 +2910,7 @@ public abstract class LivingEntity extends Entity {
} }
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 79719f259090da6f41a75ac4910e925ce66d067b..635af0bde7aca3431ab930be7d018a43f34a4bb3 100644 index b7e3091e9ce5b634c73ac573cf205278507270d5..b0e2f5c98ab1bea6962312fa05cd6d61fc81cb98 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1234,6 +1234,7 @@ public abstract class Mob extends LivingEntity { @@ -1236,6 +1236,7 @@ public abstract class Mob extends LivingEntity {
if (!this.isAlive()) { if (!this.isAlive()) {
return InteractionResult.PASS; return InteractionResult.PASS;
} else if (this.getLeashHolder() == player) { } else if (this.getLeashHolder() == player) {
@@ -17,7 +17,7 @@ index 79719f259090da6f41a75ac4910e925ce66d067b..635af0bde7aca3431ab930be7d018a43
// Paper start - drop leash variable // Paper start - drop leash variable
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, !player.getAbilities().instabuild); org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, !player.getAbilities().instabuild);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 4849d347677a689de1da276c604daeece78a437d..a44a0eaa5f8b1f6dc0b2570fafc5a20c669f07bd 100644 index 3c4393f28483a454b59264c90a76d4d18f6eabee..7396963b9b405f7c0ff022176ce55b6f27ac3f4c 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -174,6 +174,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -174,6 +174,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -49,7 +49,7 @@ index 2f0bcf917af26fb7628bda134b650a8b296091ea..c5dbb1c8210b71f7d9d91089cb139f65
@Override @Override
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 eeb678ce1922d5e8fe8745ffcbfaefd82b93eeaa..d14d525a50b154baed229da5269ed491f082dc40 100644 index ccb95d43ec3835c0cec82eca7d8b81d48ffc7f28..fede1cdfdca7b006d33d50aa0380b4be87537cae 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
@@ -1247,6 +1247,7 @@ public class PurpurWorldConfig { @@ -1247,6 +1247,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 633e41c4b0ab440be6594d892dc6434c19d4fd76..66906467235aa24a08eeef43bee0cb79c7bddd8f 100644 index 36569048c8ba952270b8ca1e492292cab5f13ae6..99e383d2d7403b19d207d912608e03daac0d5847 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -782,7 +782,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -782,7 +782,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -18,10 +18,10 @@ index 633e41c4b0ab440be6594d892dc6434c19d4fd76..66906467235aa24a08eeef43bee0cb79
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) { && this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
// Paper end // Paper 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 be7ff10b8f1e7b44c2c9b67e5db6dd66f2f0dac3..fd5459c77e615db4bc805c58489260270b09d608 100644 index 000283ea471b4755fa63f965579f98f0b746f15c..87cf71ae44c361770a8d5143dd2091395cbd0130 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
@@ -2388,7 +2388,7 @@ public abstract class LivingEntity extends Entity { @@ -2402,7 +2402,7 @@ public abstract class LivingEntity extends Entity {
@Override @Override
protected void outOfWorld() { protected void outOfWorld() {
@@ -31,7 +31,7 @@ index be7ff10b8f1e7b44c2c9b67e5db6dd66f2f0dac3..fd5459c77e615db4bc805c5848926027
protected void updateSwingTime() { protected void updateSwingTime() {
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 951d908051d8af0f68edef4f7b2d62dacc894f1c..bc84484e8592603c26598a92515eebd3f4f12c89 100644 index 5923b7abc9ff75ab555e636f0652fa10e49949e5..e9315b298ff51296a5a10b750d53c8a93b4ee81e 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
@@ -222,10 +222,14 @@ public class PurpurWorldConfig { @@ -222,10 +222,14 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 635af0bde7aca3431ab930be7d018a43f34a4bb3..d936cf11ece70d528e5a0d1176fdbafd9b8f9d93 100644 index b0e2f5c98ab1bea6962312fa05cd6d61fc81cb98..3249ea9a4b7dc05a1b53373955c267e7a4c7903b 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -63,6 +63,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -63,6 +63,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
@@ -16,7 +16,7 @@ index 635af0bde7aca3431ab930be7d018a43f34a4bb3..d936cf11ece70d528e5a0d1176fdbafd
import net.minecraft.world.level.GameRules; import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
@@ -1090,6 +1091,12 @@ public abstract class Mob extends LivingEntity { @@ -1092,6 +1093,12 @@ public abstract class Mob extends LivingEntity {
} }
@@ -43,7 +43,7 @@ index baa7e055d8ee4a153842128b07984b9f6deac6ca..014dd3aa8a7313d978d4781a1b7c6f53
// CraftBukkit start // CraftBukkit start
Level world = pointer.getLevel(); Level world = pointer.getLevel();
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 794c6adf2a4af7fe59b5b1067c1337275b941760..0868835769e4d85fbac81fbb0dbd27e6ae5f8020 100644 index e9315b298ff51296a5a10b750d53c8a93b4ee81e..3fe23111b84dbb6aceeae023d086d0f70ca7c508 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
@@ -232,6 +232,11 @@ public class PurpurWorldConfig { @@ -232,6 +232,11 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 8be7a3527018f9f6ecb91576c928c255b3089342..68072fae050fb83735725f3dc2525bfc
if (entry != null) { if (entry != null) {
ItemStack itemstack = (ItemStack) entry.getValue(); ItemStack itemstack = (ItemStack) entry.getValue();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 8f2f516b1f473ce18a07e9f130b49b795dd6b46e..8f0cdf883cdf6825ed53e856b9dc279f3bcd0e1d 100644 index f9b7292c2eb2588c9769fcd8f56cc8da5259e7ce..fd973d153a47a5911df7fdb183d7c9851cba1175 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -515,6 +515,16 @@ public final class ItemStack { @@ -514,6 +514,16 @@ public final class ItemStack {
return this.isDamageableItem() && this.getDamageValue() > 0; return this.isDamageableItem() && this.getDamageValue() > 0;
} }
@@ -73,7 +73,7 @@ index 7bc5aa35b52de0027cf58a6127a9903464ccaf47..f3ec99d2eae31ba7ce7d4b8e7399a56d
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving); Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
return entry != null ? entry.getValue() : ItemStack.EMPTY; return entry != null ? entry.getValue() : ItemStack.EMPTY;
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 6380c028150c3012f5da45c644cd5f590c00e862..f2807fac5533e995975cf35e014b7fc361576d32 100644 index 47abad8327f7aae85a61c525567d60c3fa0220f1..f1255e97cc13d33e43f4f7e10ee93dff363e40b4 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
@@ -219,6 +219,7 @@ public class PurpurWorldConfig { @@ -219,6 +219,7 @@ public class PurpurWorldConfig {

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 fd5459c77e615db4bc805c58489260270b09d608..b4c07823da0c18bd59bf44583d4e1f17c6d13820 100644 index 87cf71ae44c361770a8d5143dd2091395cbd0130..68415084deacf8d1f82f27e6fbaae1d0d598510c 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
@@ -3367,7 +3367,16 @@ public abstract class LivingEntity extends Entity { @@ -3381,7 +3381,16 @@ public abstract class LivingEntity extends Entity {
int j = i / 10; int j = i / 10;
if (j % 2 == 0) { if (j % 2 == 0) {
@@ -54,10 +54,10 @@ index 543a08f920319a2547258640bafebb1e70af65c4..dd211aa7c4ef1e158933a89898b9e5bc
itemStack.shrink(1); itemStack.shrink(1);
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory(); } else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 8f0cdf883cdf6825ed53e856b9dc279f3bcd0e1d..7ed8ae3a92d631dcfc155790dbc2fdd4a3e39d1c 100644 index fd973d153a47a5911df7fdb183d7c9851cba1175..03c7746f3ab9212dec455d05c45c687645cdd9af 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -544,7 +544,7 @@ public final class ItemStack { @@ -543,7 +543,7 @@ public final class ItemStack {
int j; int j;
if (amount > 0) { if (amount > 0) {
@@ -66,7 +66,7 @@ index 8f0cdf883cdf6825ed53e856b9dc279f3bcd0e1d..7ed8ae3a92d631dcfc155790dbc2fdd4
int k = 0; int k = 0;
for (int l = 0; j > 0 && l < amount; ++l) { for (int l = 0; j > 0 && l < amount; ++l) {
@@ -598,6 +598,12 @@ public final class ItemStack { @@ -597,6 +597,12 @@ public final class ItemStack {
if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent
breakCallback.accept(entity); breakCallback.accept(entity);
Item item = this.getItem(); Item item = this.getItem();
@@ -99,7 +99,7 @@ index 998758be827efbcb7693ed36ab1dffc0ef0369bf..5beaafec0759543d3bddf99028c97d0d
entityhuman.startAutoSpinAttack(20); entityhuman.startAutoSpinAttack(20);
if (entityhuman.isOnGround()) { if (entityhuman.isOnGround()) {
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 90a01edb79f9662fcf18c7c762772629fe09d06f..95b42ca5b54a45715f19e36492c9f86cf30ff8eb 100644 index f1255e97cc13d33e43f4f7e10ee93dff363e40b4..726c2bc0a6f8df467022c1c446c385dfbb5b08bf 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
@@ -99,6 +99,19 @@ public class PurpurWorldConfig { @@ -99,6 +99,19 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 42b4292152d4b17c49c9cc1f488abf892a4883a5..577c2e83437a6330586ef16038c9f6e54cca664b 100644 index d8d1b8cd0104f1c916de443af291ec36988405c2..281f8e451af47f3155c7fc86bceb0c1df11e5394 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -2251,7 +2251,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -2255,7 +2255,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public class TrackedEntity { public class TrackedEntity {
@@ -18,7 +18,7 @@ index 42b4292152d4b17c49c9cc1f488abf892a4883a5..577c2e83437a6330586ef16038c9f6e5
private final int range; private final int range;
SectionPos lastSectionPos; SectionPos lastSectionPos;
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 703ac671b19636859648f16a5431b2700791e7d5..38d5e710146c817b1cd3d0930de3257f01667529 100644 index 9a6c67b614944f841813ec2892381c3342bc365c..45d2bf0e22e03db05dd954bf8c9e748bf3cea9d4 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java --- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -67,7 +67,7 @@ public class ServerEntity { @@ -67,7 +67,7 @@ public class ServerEntity {
@@ -147,7 +147,7 @@ index 342345eb04d00efb58392ccf209e3c51c1064173..5f5c37fb447a4c1790714158f4b41f15
+ // Purpur end + // Purpur end
} }
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 95b42ca5b54a45715f19e36492c9f86cf30ff8eb..f17126997ff22261e10d8ad3b2adc0451658e432 100644 index 726c2bc0a6f8df467022c1c446c385dfbb5b08bf..7fcc992546d83733bb1c32b6f405b20c1cd32d83 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
@@ -112,6 +112,49 @@ public class PurpurWorldConfig { @@ -112,6 +112,49 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Entity lifespan
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index d936cf11ece70d528e5a0d1176fdbafd9b8f9d93..198fe041d20e7ed21b47d5c22dcc121a8d388623 100644 index 3249ea9a4b7dc05a1b53373955c267e7a4c7903b..78f7022c6584e634b000cc0c079112fc6cc8e869 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -129,6 +129,7 @@ public abstract class Mob extends LivingEntity { @@ -129,6 +129,7 @@ public abstract class Mob extends LivingEntity {
@@ -80,7 +80,7 @@ index d936cf11ece70d528e5a0d1176fdbafd9b8f9d93..198fe041d20e7ed21b47d5c22dcc121a
} }
@Override @Override
@@ -1605,6 +1639,7 @@ public abstract class Mob extends LivingEntity { @@ -1607,6 +1641,7 @@ public abstract class Mob extends LivingEntity {
this.setLastHurtMob(target); this.setLastHurtMob(target);
} }
@@ -89,7 +89,7 @@ index d936cf11ece70d528e5a0d1176fdbafd9b8f9d93..198fe041d20e7ed21b47d5c22dcc121a
} }
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 f871295169e6ea75a3e6da9bc9cc15b48835dd4c..48d207b696acebb9be35b43f46e98dd11448f0e6 100644 index 3e58c569253c0162e506c07527bf7306c88ff8c1..971fef23a4381221164834e2c8f30aaf7ee7cd45 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
@@ -112,6 +112,11 @@ public class PurpurWorldConfig { @@ -112,6 +112,11 @@ public class PurpurWorldConfig {

View File

@@ -25,7 +25,7 @@ index 2c29c125edac43cdf13da8eababe60fb7a87df15..28c84432d0125dad414e623a317f665b
world.scheduleTick(pos, this, 1); world.scheduleTick(pos, this, 1);
return super.updateShape(state, direction, neighborState, world, pos, neighborPos); return super.updateShape(state, direction, neighborState, world, pos, neighborPos);
diff --git a/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java b/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java b/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java
index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..f96fe5197d1af10fd98e6c8403e25da248e4ba1e 100644 index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..b456cb8efd8f0be8a6860c82462ce9bdde3a8383 100644
--- a/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java --- a/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java +++ b/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java
@@ -22,29 +22,65 @@ public class HugeMushroomBlock extends Block { @@ -22,29 +22,65 @@ public class HugeMushroomBlock extends Block {
@@ -52,12 +52,12 @@ index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..f96fe5197d1af10fd98e6c8403e25da2
- return this.defaultBlockState().setValue(DOWN, Boolean.valueOf(!blockGetter.getBlockState(blockPos.below()).is(this))).setValue(UP, Boolean.valueOf(!blockGetter.getBlockState(blockPos.above()).is(this))).setValue(NORTH, Boolean.valueOf(!blockGetter.getBlockState(blockPos.north()).is(this))).setValue(EAST, Boolean.valueOf(!blockGetter.getBlockState(blockPos.east()).is(this))).setValue(SOUTH, Boolean.valueOf(!blockGetter.getBlockState(blockPos.south()).is(this))).setValue(WEST, Boolean.valueOf(!blockGetter.getBlockState(blockPos.west()).is(this))); - return this.defaultBlockState().setValue(DOWN, Boolean.valueOf(!blockGetter.getBlockState(blockPos.below()).is(this))).setValue(UP, Boolean.valueOf(!blockGetter.getBlockState(blockPos.above()).is(this))).setValue(NORTH, Boolean.valueOf(!blockGetter.getBlockState(blockPos.north()).is(this))).setValue(EAST, Boolean.valueOf(!blockGetter.getBlockState(blockPos.east()).is(this))).setValue(SOUTH, Boolean.valueOf(!blockGetter.getBlockState(blockPos.south()).is(this))).setValue(WEST, Boolean.valueOf(!blockGetter.getBlockState(blockPos.west()).is(this)));
+ // Purpur start + // Purpur start
+ return this.defaultBlockState() + return this.defaultBlockState()
+ .setValue(DOWN, this != blockGetter.getTypeIfLoaded(blockPos.below()).getBlock()) + .setValue(DOWN, this != blockGetter.getBlockStateIfLoaded(blockPos.below()).getBlock())
+ .setValue(UP, this != blockGetter.getTypeIfLoaded(blockPos.above()).getBlock()) + .setValue(UP, this != blockGetter.getBlockStateIfLoaded(blockPos.above()).getBlock())
+ .setValue(NORTH, this != blockGetter.getTypeIfLoaded(blockPos.north()).getBlock()) + .setValue(NORTH, this != blockGetter.getBlockStateIfLoaded(blockPos.north()).getBlock())
+ .setValue(EAST, this != blockGetter.getTypeIfLoaded(blockPos.east()).getBlock()) + .setValue(EAST, this != blockGetter.getBlockStateIfLoaded(blockPos.east()).getBlock())
+ .setValue(SOUTH, this != blockGetter.getTypeIfLoaded(blockPos.south()).getBlock()) + .setValue(SOUTH, this != blockGetter.getBlockStateIfLoaded(blockPos.south()).getBlock())
+ .setValue(WEST, this != blockGetter.getTypeIfLoaded(blockPos.west()).getBlock()); + .setValue(WEST, this != blockGetter.getBlockStateIfLoaded(blockPos.west()).getBlock());
+ // Purpur end + // Purpur end
} }
@@ -125,7 +125,7 @@ index 16e11e31077f160198e0b04abdfeabb97ed20c6f..7dd423f6b92b7f27dd43e5ef3f4029a1
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c2da5339ef01410d218bf48c919700939910d5d0..4f8a4b053a996589bf6c9f9107da3cabc8c791da 100644 index 4a685f527331df28dcd91586140916e3a1df6716..d4497231fa4a4ca104e78bade9c75c49f0d06ee7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -244,6 +244,15 @@ public class PurpurConfig { @@ -244,6 +244,15 @@ public class PurpurConfig {

View File

@@ -257,10 +257,10 @@ index dcbbff3a8dfcac869f07025e0e8e3d9c47956093..d6b522aa7c7ce87caf55f91ee9d661e0
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
index 1adcc0321b5528a4a173027be67139a9e9be5770..c846f62611d99867e3d39aa07e292e1e0903659c 100644 index aca9d1c2cf92ee47c646de060ae8e8f4eb7b3ddd..7cb922be9b976eb06ba06f25a50599d80c385bc8 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java
@@ -302,4 +302,11 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie @@ -306,4 +306,11 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie
} }
} }
@@ -289,7 +289,7 @@ index 2867e841e73a3edfdeb83af9d96e0d0cd4116a68..8613008090a9d7cf5cd7c2a598f2c725
+ // Purpur end + // Purpur end
} }
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 16be9ddb79404db1d65b36b2b79cdb15cb8b122c..8721b4b757776e8d2d66c1ec492b5e7249850459 100644 index 9d56369c98ae5d45f7433923d7b4e3f3a9239cde..5000c1ce19adab15f5867b8e8fd5f5df3056ba1a 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
@@ -273,6 +273,35 @@ public class PurpurWorldConfig { @@ -273,6 +273,35 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Furnace uses lava from underneath
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index fb15ece736dde16066818216749fb2efba0b3b21..600a71b8da335ddfc70f782cbbb08647ae98a89c 100644 index fb15ece736dde16066818216749fb2efba0b3b21..0d9b592ebfd22dc679ba7dbfd339db4d6bc5ad44 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -40,6 +40,7 @@ import net.minecraft.world.level.Level; @@ -40,6 +40,7 @@ import net.minecraft.world.level.Level;
@@ -24,7 +24,7 @@ index fb15ece736dde16066818216749fb2efba0b3b21..600a71b8da335ddfc70f782cbbb08647
+ boolean usedLavaFromUnderneath = false; + boolean usedLavaFromUnderneath = false;
+ if (world.purpurConfig.furnaceUseLavaFromUnderneath && !blockEntity.isLit() && itemstack.isEmpty() && !blockEntity.items.get(0).isEmpty() && world.getGameTime() % 20 == 0) { + if (world.purpurConfig.furnaceUseLavaFromUnderneath && !blockEntity.isLit() && itemstack.isEmpty() && !blockEntity.items.get(0).isEmpty() && world.getGameTime() % 20 == 0) {
+ BlockPos below = blockEntity.getBlockPos().below(); + BlockPos below = blockEntity.getBlockPos().below();
+ BlockState belowState = world.getTypeIfLoaded(below); + BlockState belowState = world.getBlockStateIfLoaded(below);
+ if (belowState != null && belowState.is(Blocks.LAVA)) { + if (belowState != null && belowState.is(Blocks.LAVA)) {
+ FluidState fluidState = belowState.getFluidState(); + FluidState fluidState = belowState.getFluidState();
+ if (fluidState != null && fluidState.isSource()) { + if (fluidState != null && fluidState.isSource()) {
@@ -48,7 +48,7 @@ index fb15ece736dde16066818216749fb2efba0b3b21..600a71b8da335ddfc70f782cbbb08647
private static boolean canBurn(@Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) { private static boolean canBurn(@Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) {
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 41cd7abb09259eedfb8ea21d273b0cbb6d6ae35e..bb0a8fc8d37a44b5ec2fdb008d48796d50182c14 100644 index bc7753f9d7b2c6833916a7a7aef97e920a73bac9..78347d0b58936a9c38eb5449446a442ad0dd24fb 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
@@ -406,6 +406,17 @@ public class PurpurWorldConfig { @@ -406,6 +406,17 @@ public class PurpurWorldConfig {

View File

@@ -47,7 +47,7 @@ index b26d5482d89e28897bcc9dc8a15042a557727037..400db4ff64701e229ec208666a7acb1b
other.resetLove(); other.resetLove();
world.addFreshEntityWithPassengers(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason world.addFreshEntityWithPassengers(entityageable, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index b29c1c66d4bed98514aa5ae0ba52d83f579fac4a..5fafd26e77f100cf94bf16f05fa09276bdd56136 100644 index 64ad501a6bce58f06b38ea2d758664c19b4d7996..b7d6d88aa9f60090b88ac35084b9810b6fef0cfa 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -215,6 +215,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -215,6 +215,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -63,7 +63,7 @@ index b29c1c66d4bed98514aa5ae0ba52d83f579fac4a..5fafd26e77f100cf94bf16f05fa09276
@Override @Override
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 5cb689e8a22e8ba58a69acbf717baa51aeb4732c..8f6c3e9eaefc0a15aefde7119f2e123894d434b7 100644 index da496f1c3728cbe8aa009d2533f166cb6736d1b9..e9a165b7bb66dd4ae1c1befc67c671f45ec8271b 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
@@ -145,6 +145,11 @@ public class Cat extends TamableAnimal { @@ -145,6 +145,11 @@ public class Cat extends TamableAnimal {
@@ -79,7 +79,7 @@ index 5cb689e8a22e8ba58a69acbf717baa51aeb4732c..8f6c3e9eaefc0a15aefde7119f2e1238
public ResourceLocation getResourceLocation() { public ResourceLocation getResourceLocation() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 7fd330c77159dc21d5170b386d27128fe03eea1e..249e01f0be9aeeed764bd102b7a9fa4ca9e7b473 100644 index ca584a5a801d0909f4bdbaa8a635608ee49d096e..0b1ba6f25d13296fbcd6a2aee3b7ab5edbf4b22a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java --- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java +++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -70,6 +70,11 @@ public class Chicken extends Animal { @@ -70,6 +70,11 @@ public class Chicken extends Animal {
@@ -95,7 +95,7 @@ index 7fd330c77159dc21d5170b386d27128fe03eea1e..249e01f0be9aeeed764bd102b7a9fa4c
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index d2d971f3a135c9bebbda618eb5a0d4a4f81ca221..95ef459c804e9aff02c80cd31612185096413cd0 100644 index 0db4dd5423508acb5214ed3205bb5632cd337e05..2c838d71105d2b88934efd154c7ec69a7ba47681 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -57,6 +57,11 @@ public class Cow extends Animal { @@ -57,6 +57,11 @@ public class Cow extends Animal {
@@ -111,7 +111,7 @@ index d2d971f3a135c9bebbda618eb5a0d4a4f81ca221..95ef459c804e9aff02c80cd316121850
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index d334321f3947288861066038eb70b98cad63582b..856e348b45fcaf8fc1710cd7382eb6ac10424fb8 100644 index a2e56aadf75918d3b2c30b54ec53ba4dc332a004..f7f5a75f29a5092a7d8ee689cd3679d8eaac7c7d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -177,6 +177,11 @@ public class Fox extends Animal { @@ -177,6 +177,11 @@ public class Fox extends Animal {
@@ -156,7 +156,7 @@ index ffe2f135c6e9396ff106ca7f889ca31290c4d30d..8fb2f77571370c80dbafdf5c9a3c57c8
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
index b1fb4f64ea567a96e69aa483fec5f39eecfd9a8d..e5ad9c33f21920f434647e4f632adbaa29182efa 100644 index ccb18fea0e03d08405b0fff5e9df5025f02cebf7..4bf4403cb65b8e1fee9c253c7932ad839a99c92e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java --- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -84,6 +84,11 @@ public class Ocelot extends Animal { @@ -84,6 +84,11 @@ public class Ocelot extends Animal {
@@ -172,7 +172,7 @@ index b1fb4f64ea567a96e69aa483fec5f39eecfd9a8d..e5ad9c33f21920f434647e4f632adbaa
public boolean isTrusting() { public boolean isTrusting() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index c98a143e525f55606d37e3fa14751c97e37218c0..a02562550d9392eb9105ad8b63d7adfc7a6234ea 100644 index 1a4434432516f8b7f2bbbc64f9554c340530ce89..a3f04f6b4df1c7d8759addecaa4ea16e08b456f5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -132,6 +132,11 @@ public class Panda extends Animal { @@ -132,6 +132,11 @@ public class Panda extends Animal {
@@ -188,7 +188,7 @@ index c98a143e525f55606d37e3fa14751c97e37218c0..a02562550d9392eb9105ad8b63d7adfc
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index d5dfa6b9480c4314eaa53bbd95efd02e0f89a75b..7441dbdc630a4ea80aed18a622bc061eb91579a5 100644 index 1c3d1ce288d3446291fb729b0c6caeab4202fcb7..a5e6a6271b88ff16914c5d1d067552b36af0772a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -186,6 +186,11 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal { @@ -186,6 +186,11 @@ public class Parrot extends ShoulderRidingEntity implements FlyingAnimal {
@@ -204,7 +204,7 @@ index d5dfa6b9480c4314eaa53bbd95efd02e0f89a75b..7441dbdc630a4ea80aed18a622bc061e
@Nullable @Nullable
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 0973fb94748170fbf51d78b3ead657b61fb637b5..454f683bc339f65605b212ba9a64fcc123c0ca67 100644 index f4ae6de32bc1d854c54da829e45ca2cd15090433..998cfee2bb20ed4536843a7bb56d9e346665f612 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -79,6 +79,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -79,6 +79,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
@@ -220,7 +220,7 @@ index 0973fb94748170fbf51d78b3ead657b61fb637b5..454f683bc339f65605b212ba9a64fcc1
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 5dc981130464027f9af02f1d10ec80441c4cc050..00ea9461c1ce55d3219b3829990b0a77434c83e1 100644 index 0b5d4416ad4dc0a90cbd1826c45c47412d2e85ed..9b3870ad371e2c7df1587479291fd821c3e9ee4a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java --- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java +++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -115,6 +115,11 @@ public class PolarBear extends Animal implements NeutralMob { @@ -115,6 +115,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -236,7 +236,7 @@ index 5dc981130464027f9af02f1d10ec80441c4cc050..00ea9461c1ce55d3219b3829990b0a77
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 9ddb39fb7028e91c97039887afeaf711e13a9182..b4314eb2b69dd56176bb33972181fe75c03b90bd 100644 index c1c2909728197dcb9137fb380ed210e7ee13e5d9..dd6e51be94189679d169f55805c9252107560be2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -135,6 +135,11 @@ public class Rabbit extends Animal { @@ -135,6 +135,11 @@ public class Rabbit extends Animal {
@@ -252,7 +252,7 @@ index 9ddb39fb7028e91c97039887afeaf711e13a9182..b4314eb2b69dd56176bb33972181fe75
// CraftBukkit start - code from constructor // CraftBukkit start - code from constructor
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index cfad0b694c50b3dd2b91570717992b670d18479f..7d3a8324eabe65c7ca89be0ad954a6fad5983b84 100644 index fbab9473e4ccce29ed55ebf707a5aacd128820cb..efd416c472815cc0fea0bebc3db2588a4012036b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java --- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java +++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -131,6 +131,11 @@ public class Sheep extends Animal implements Shearable { @@ -131,6 +131,11 @@ public class Sheep extends Animal implements Shearable {
@@ -268,7 +268,7 @@ index cfad0b694c50b3dd2b91570717992b670d18479f..7d3a8324eabe65c7ca89be0ad954a6fa
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 730f0fdf968554e9e306ad984d6bd01861402705..76657c68577030f65ce87036c12149c4eccf4908 100644 index 3d30ea6f2392e6ed2c7294a9194daee31dadc7d8..0aec4ed51072948b9257e9d4b07eed92d95d902f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -101,6 +101,11 @@ public class Turtle extends Animal { @@ -101,6 +101,11 @@ public class Turtle extends Animal {
@@ -284,7 +284,7 @@ index 730f0fdf968554e9e306ad984d6bd01861402705..76657c68577030f65ce87036c12149c4
public void setHomePos(BlockPos pos) { public void setHomePos(BlockPos pos) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index da7b3b5d683a3d48bb1726981a63999724032f44..2e20a37663f48bd606157e22d466267699c8ed21 100644 index 277637692e504cca04bfca7683c052295c2c5a86..9f23279f7e3aedb758082c672656d5e4b160c074 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -119,6 +119,11 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -119,6 +119,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -300,7 +300,7 @@ index da7b3b5d683a3d48bb1726981a63999724032f44..2e20a37663f48bd606157e22d4662676
@Override @Override
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 f88f979cc66bf85ad3f1458581a82b0ed91c3f16..7afe0e3a91b3b88da2b5ab034a45163880ff12bf 100644 index a2b2d3f670cd200d7fba40f8227964ef95c5b455..4020f631f4f02834550a60630d5d429004d71269 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
@@ -111,6 +111,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { @@ -111,6 +111,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -364,10 +364,10 @@ index 9f7203608e15fdce1bfbaf419838768763d61378..2c5cb1b759a0b6e0233345da5a968288
@Override @Override
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 e2271a52448583cdbda844bc55b42dd3665a2a26..4108202537f9f150e2a65427f3d71765783f835c 100644 index 1195f307ec827c206480fed63deb3775ba3eb22b..20f778fbcd393baa769c005dfe4163bb4e92a655 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
@@ -124,6 +124,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -127,6 +127,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public double generateRandomSpeed() { public double generateRandomSpeed() {
return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax); return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax);
} }
@@ -444,7 +444,7 @@ index 48b72eb4051d612648a1978b38299c0c37a3a289..b6d9ba8dd5694952ca2eba54726ac5e5
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index ff76fbb1618edc1aa6a58e9649e99291c90beffb..672801ab77a10917147f12b2117a3390885b39b0 100644 index e65eaf393b118e38fde8f525ac9b1d6e6f98e729..74d11bf608ff26093d7995a09a463cac24304fa1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -112,6 +112,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -112,6 +112,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -476,7 +476,7 @@ index 3ec9b8343cf80ceea8503ad78863a4b539c6ef6b..c536b0f0d0ebe5b6b6409972eb711f84
@Override @Override
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 96229ee36ff6d6f18d371095baaa9e2833c88ae0..92f303aa5122183073abf2043c0ed3cb54fbc782 100644 index 6bace9c0f4defae8f454fc3765dad819c44ecf49..b26b936f5f350eaadfee3537a3c03cabb2c3eb03 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
@@ -481,9 +481,11 @@ public class PurpurWorldConfig { @@ -481,9 +481,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index eea702d4d62583f3fba646a260e3299de3f80366..7b67e1febe49fced5507db87f9269007680d8c9b 100644 index 78f7022c6584e634b000cc0c079112fc6cc8e869..2f75ebe8088d70f73a17557fe525ae119a1e19e9 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1223,7 +1223,7 @@ public abstract class Mob extends LivingEntity { @@ -1225,7 +1225,7 @@ public abstract class Mob extends LivingEntity {
@Nullable @Nullable
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE)); this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE));
@@ -18,7 +18,7 @@ index eea702d4d62583f3fba646a260e3299de3f80366..7b67e1febe49fced5507db87f9269007
} else { } else {
this.setLeftHanded(false); this.setLeftHanded(false);
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 fdf7291b8b6f8963bba2d579f28f8520adcd9dc2..549c23b75167ddb655aec861a978be52047bb77b 100644 index 11ad8027c40ae431385fb9675438abc178b79ccd..3e0dbe1831d57edf90aff42cc8ed0f4b431fb54f 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
@@ -130,8 +130,10 @@ public class PurpurWorldConfig { @@ -130,8 +130,10 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ 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 bb101512f4d1d26f8df50b50841a5952abb64fcc..679ceed9d18b59b35572145e0fa21e51e4760d27 100644 index acefb8f2ca9fe3ec389e85e88601fefebb39c662..38dd50d9f815f7f3df74ebac227b82cbb0ddf63f 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
@@ -1677,7 +1677,7 @@ public abstract class LivingEntity extends Entity { @@ -1683,7 +1683,7 @@ public abstract class LivingEntity extends Entity {
boolean flag = false; boolean flag = false;
if (this.dead && adversary instanceof WitherBoss) { // Paper if (this.dead && adversary instanceof WitherBoss) { // Paper
@@ -18,7 +18,7 @@ index bb101512f4d1d26f8df50b50841a5952abb64fcc..679ceed9d18b59b35572145e0fa21e51
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 7b67e1febe49fced5507db87f9269007680d8c9b..33868c78d5e435230cbfdfcf01795c82411ac7c7 100644 index 2f75ebe8088d70f73a17557fe525ae119a1e19e9..861dd2603a82b26cb0f003b5defc34446feb6fdf 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -664,7 +664,7 @@ public abstract class Mob extends LivingEntity { @@ -664,7 +664,7 @@ public abstract class Mob extends LivingEntity {
@@ -79,7 +79,7 @@ index 14ed3f0524773e22a792efb8b41a9217bad50f27..8a4080a77bd5b73ac812e3ae67c6f21d
this.level.setBlock(blockposition1, Blocks.DIRT.defaultBlockState(), 2); this.level.setBlock(blockposition1, Blocks.DIRT.defaultBlockState(), 2);
} }
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
index a618b50ac8448528ac6ac64b400fa3d0882dbaf9..7ca4e20ec53408573921bed07dd81849abd62227 100644 index 027ef44d46cb1dda19c5c239f6970c90285fb961..fd0ed33487305093bbdf6c9bf23313a58c81b231 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java --- a/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java +++ b/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
@@ -40,7 +40,7 @@ public class RemoveBlockGoal extends MoveToBlockGoal { @@ -40,7 +40,7 @@ public class RemoveBlockGoal extends MoveToBlockGoal {
@@ -179,7 +179,7 @@ index bb32bc0989ebbdd7522fe5f70ae3e6414f909388..8ac278f8e55ad7a090ad332db2da1e1e
// CraftBukkit start // CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index cc4009934d279e15a6a1d30dbea45fda1f6310e8..188c56ac98e88507f09f8603970ba2238629b8e3 100644 index a15be819a3c73cf3bdd5da148d6f2d56dd5db404..bd58dbee7f2922d341a6c201b762a52e78366106 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -501,7 +501,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -501,7 +501,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -354,7 +354,7 @@ index b4fd9af8805f451c87a91f319c15fa132b91faf7..e9087a46e401bc99b73c2cf2731fdac3
} }
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
index 56233465693943e0fdb998e44a34f8029e3928cb..caf40e3df0896492be959f9e0bcfb1fad0bfa2ef 100644 index f55a32c7c4e260b41a36b9fc3be01edb50b4951a..4c80e2a10715ce4d4442ea4636808d1e10025494 100644
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java --- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
@@ -99,7 +99,7 @@ public class FarmBlock extends Block { @@ -99,7 +99,7 @@ public class FarmBlock extends Block {
@@ -393,7 +393,7 @@ index b942e7c85e6c8f9a7664d9e5bf93bcd79e0651f1..5b29f3fced5435e172dd69f6f4eb265e
return true; return true;
// Purpur end // Purpur end
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 45b4ac35cb0b596c5ad6c9ab03739e337425becc..b3631cb89f1ac4486596d438215724a29ca883e4 100644 index 7b6ada310586de6313c426d88c28cba4fe6535ac..7891f3bf4424071d4a0a01d35c484af9369f3d3b 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
@@ -381,8 +381,11 @@ public class PurpurWorldConfig { @@ -381,8 +381,11 @@ public class PurpurWorldConfig {

View File

@@ -21,7 +21,7 @@ index ca2bf36120ba09ed27ad7b1064431f9feffa3420..2feec97ffe62cfe063085e3767937e8a
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 33868c78d5e435230cbfdfcf01795c82411ac7c7..2d20c36149433304aa420f66c39a66caddb8ed19 100644 index 861dd2603a82b26cb0f003b5defc34446feb6fdf..1c819db60f278ba902471ae69720f6ff30930886 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -868,7 +868,7 @@ public abstract class Mob extends LivingEntity { @@ -868,7 +868,7 @@ public abstract class Mob extends LivingEntity {
@@ -479,10 +479,10 @@ index 2c5cb1b759a0b6e0233345da5a968288ec338837..16755249c4700fa59f704b7c88e3490d
@Override @Override
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 a13ccd308277fbead585cf452f65e4b30a00fa8a..81957c9daa27682ee701092e207d72166e159382 100644 index 20f778fbcd393baa769c005dfe4163bb4e92a655..fde47de12ffa43bff9cfd1500a35e49325223291 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
@@ -129,6 +129,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -132,6 +132,11 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return this.level.purpurConfig.llamaBreedingTicks; return this.level.purpurConfig.llamaBreedingTicks;
} }
@@ -668,7 +668,7 @@ index e25374b06e3babd93cd5bbdd58ea401a92dbb001..0aa4d8e506462cfe6fb69414a30cc5eb
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 188c56ac98e88507f09f8603970ba2238629b8e3..b050f2d16a6aed98654f51fa4ede496a0be07b45 100644 index bd58dbee7f2922d341a6c201b762a52e78366106..1ab913281012305cba379ba7301a76501f7d3ed5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -293,7 +293,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -293,7 +293,7 @@ public class EnderMan extends Monster implements NeutralMob {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man!
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 679ceed9d18b59b35572145e0fa21e51e4760d27..934bb735c1948113b01f9ba6799ecc1ad92dbb76 100644 index 38dd50d9f815f7f3df74ebac227b82cbb0ddf63f..2de5d21239c89b1e00d75d9c418b661be2d4f7aa 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
@@ -2123,6 +2123,20 @@ public abstract class LivingEntity extends Entity { @@ -2137,6 +2137,20 @@ public abstract class LivingEntity extends Entity {
((ServerPlayer) damagesource.getEntity()).awardStat(Stats.DAMAGE_DEALT_ABSORBED, Math.round(f2 * 10.0F)); ((ServerPlayer) damagesource.getEntity()).awardStat(Stats.DAMAGE_DEALT_ABSORBED, Math.round(f2 * 10.0F));
} }
@@ -30,7 +30,7 @@ index 679ceed9d18b59b35572145e0fa21e51e4760d27..934bb735c1948113b01f9ba6799ecc1a
if (human) { if (human) {
// PAIL: Be sure to drag all this code from the EntityHuman subclass each update. // PAIL: Be sure to drag all this code from the EntityHuman subclass each update.
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 a34471e1164803565a4746284da4a75aa10274e8..660e801acdfd25d51a1177065a1a10544fe0b3b4 100644 index 71a8f7960bc60626d88dc0e258d47db41c7b8cb8..a6ea7b2f86f0a946f0744b57e10ca7f56765cddf 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
@@ -302,6 +302,7 @@ public class PurpurWorldConfig { @@ -302,6 +302,7 @@ public class PurpurWorldConfig {

View File

@@ -19,10 +19,10 @@ index 7b141c495095afcd9c8b04c059d692e829259e7a..ad30f2d678cfc4b0d693e84e6e152c63
List<Entity> list = this.llama.level.getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> { List<Entity> list = this.llama.level.getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
EntityType<?> entityType = entity.getType(); EntityType<?> entityType = entity.getType();
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 81957c9daa27682ee701092e207d72166e159382..e09e44f15b6802261f83795bf5162686942bcdf5 100644 index fde47de12ffa43bff9cfd1500a35e49325223291..7656c933a835f15c40e75851e7a2348bdef4010e 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
@@ -509,7 +509,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -536,7 +536,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
} }
public void joinCaravan(Llama llama) { public void joinCaravan(Llama llama) {
@@ -32,7 +32,7 @@ index 81957c9daa27682ee701092e207d72166e159382..e09e44f15b6802261f83795bf5162686
this.caravanHead.caravanTail = this; this.caravanHead.caravanTail = this;
} }
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 bec3d78e87ec1e1c683c5fbaa12b8d8fada870f6..ad573cabf2c369fdaa9a0a7f97de2f8d365d847e 100644 index d6ac762cdd9bb004298b578cf35214dc03faaab3..7281fe5ad723967fba66e69de4d768d24255b1cb 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
@@ -1209,6 +1209,7 @@ public class PurpurWorldConfig { @@ -1209,6 +1209,7 @@ public class PurpurWorldConfig {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev> Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 9a2230a19800742c586f7d5925a6b88cca51ce3e..2a8bdc91486876327cee54960e05f6e8d4b6fa92 100644 index 549417d7bf6953f668bb8b0ab38f8c8b877b7a90..953506523b7bd5835bd727d9d4e6759f946e2afc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4345,5 +4345,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -4345,5 +4345,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -29,7 +29,7 @@ index 9a2230a19800742c586f7d5925a6b88cca51ce3e..2a8bdc91486876327cee54960e05f6e8
// 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 2c5d453f57b28008e5b98cf6aec044cb3ffb2385..b4e33ccc2e62a0183867cbf11394ce637fae058d 100644 index b7c03d7d872599476e92b0ba62af8c473f04fcad..ca7e980732b4017f5147e2c372bd4c8dc7f7315c 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
@@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity { @@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity {
@@ -60,7 +60,7 @@ index 2c5d453f57b28008e5b98cf6aec044cb3ffb2385..b4e33ccc2e62a0183867cbf11394ce63
} }
// CraftBukkit start // CraftBukkit start
@@ -3387,6 +3394,27 @@ public abstract class LivingEntity extends Entity { @@ -3401,6 +3408,27 @@ public abstract class LivingEntity extends Entity {
this.hurt(DamageSource.DROWN, 1.0F); this.hurt(DamageSource.DROWN, 1.0F);
} }
@@ -89,10 +89,10 @@ index 2c5d453f57b28008e5b98cf6aec044cb3ffb2385..b4e33ccc2e62a0183867cbf11394ce63
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 2d20c36149433304aa420f66c39a66caddb8ed19..852ffb5c661f525b61fa95eccf1a0eb44c6fb4e2 100644 index 1c819db60f278ba902471ae69720f6ff30930886..c0c69fc680b713794bfafe64d356341b80d7c47e 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1656,17 +1656,7 @@ public abstract class Mob extends LivingEntity { @@ -1658,17 +1658,7 @@ public abstract class Mob extends LivingEntity {
} }
public boolean isSunBurnTick() { public boolean isSunBurnTick() {

View File

@@ -40,7 +40,7 @@ index 8bbb9bdcf95989f1737714655f6f6a269d46d7f2..8d569eb2ec1b2bdbd415094ae04ae531
((ServerPlayer) entityhuman).connection.send(new ClientboundSetHealthPacket(((ServerPlayer) entityhuman).getBukkitEntity().getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel)); ((ServerPlayer) entityhuman).connection.send(new ClientboundSetHealthPacket(((ServerPlayer) entityhuman).getBukkitEntity().getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel));
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 361bf78d87631d164b11831a8fc551eaa1a3615b..e2688f6467b9e395f64df4d90bb9747cab57506d 100644 index 07d2e7c062a1bc1e58de6fb14d4be516818151f8..b9f6fd06b0320e1abd8a1c5b7461b9bbcb0314fe 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
@@ -283,6 +283,21 @@ public class PurpurWorldConfig { @@ -283,6 +283,21 @@ public class PurpurWorldConfig {

View File

@@ -1,197 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 28 May 2021 12:24:45 -0500
Subject: [PATCH] Fix advancement triggers on entity death
This fixes PaperMC/Paper#3729 and PaperMC/Paper#4252
Paper changes logical order revolving around making the EntityDeathEvent
cancellable. Reordering this logic has ended up with entity equipment being
cleared _before_ advancement criteria can run, causing things like killing
raid captains not giving the voluntary exile advancement.
This fixes the issue by storing a copy of the equipment in a new field just
before doing the death event logic where the equipment is cleared and then
restoring it back to the entity just before the criterion triggers run and
then finally clearing the equipment again right after the criterion is done.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index b4e33ccc2e62a0183867cbf11394ce637fae058d..cbda521957675303270c3308819c544fee549c18 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1657,10 +1657,13 @@ public abstract class LivingEntity extends Entity {
}
// Paper start
+ List<List<ItemStack>> equipmentSnapshotBefore = this.cloneEquipment(); // Purpur
org.bukkit.event.entity.EntityDeathEvent deathEvent = this.dropAllDeathLoot(source);
if (deathEvent == null || !deathEvent.isCancelled()) {
if (this.deathScore >= 0 && entityliving != null) {
+ this.restoreEquipment(equipmentSnapshotBefore); // Purpur
entityliving.awardKillScore(this, this.deathScore, source);
+ this.clearEquipment(); // Purpur
}
if (this.isSleeping()) {
@@ -2534,6 +2537,12 @@ public abstract class LivingEntity extends Entity {
@Override
public abstract void setItemSlot(EquipmentSlot slot, ItemStack stack);
+ // Purpur start
+ public abstract List<List<ItemStack>> cloneEquipment();
+ public abstract void restoreEquipment(List<List<ItemStack>> list);
+ public abstract void clearEquipment();
+ // Purpur end
+
protected void verifyEquippedItem(ItemStack stack) {
CompoundTag nbttagcompound = stack.getTag();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 852ffb5c661f525b61fa95eccf1a0eb44c6fb4e2..bd39ab8959a805021d365813b5672b39368481a8 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1039,6 +1039,41 @@ public abstract class Mob extends LivingEntity {
}
+ // Purpur start
+ public List<List<ItemStack>> cloneEquipment() {
+ List<List<ItemStack>> list = new java.util.ArrayList<>();
+ List<ItemStack> handItems = new java.util.ArrayList<>();
+ for (ItemStack item : this.handItems) {
+ handItems.add(item.copy());
+ }
+ list.add(handItems);
+ List<ItemStack> armorItems = new java.util.ArrayList<>();
+ for (ItemStack item : this.armorItems) {
+ armorItems.add(item.copy());
+ }
+ list.add(armorItems);
+ return list;
+ }
+
+ public void restoreEquipment(List<List<ItemStack>> list) {
+ this.handItems.clear();
+ List<ItemStack> handItems = list.get(0);
+ for (int i = 0; i < handItems.size(); i++) {
+ this.handItems.set(i, handItems.get(1));
+ }
+ this.armorItems.clear();
+ List<ItemStack> armorItems = list.get(1);
+ for (int i = 0; i < armorItems.size(); i++) {
+ this.armorItems.set(i, armorItems.get(i));
+ }
+ }
+
+ public void clearEquipment() {
+ this.handItems.clear();
+ this.armorItems.clear();
+ }
+ // Purpur end
+
@Override
protected void dropCustomDeathLoot(DamageSource source, int lootingMultiplier, boolean allowDrops) {
super.dropCustomDeathLoot(source, lootingMultiplier, allowDrops);
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 8634431cabae82b71f409f02c84dda2d8eca8504..46717e8979c3fb4a3bf9cc46f3b741a63002b8e7 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -204,6 +204,41 @@ public class ArmorStand extends LivingEntity {
this.noTickEquipmentDirty = true; // Paper - Allow equipment to be updated even when tick disabled
}
+ // Purpur start
+ public List<List<ItemStack>> cloneEquipment() {
+ List<List<ItemStack>> list = new java.util.ArrayList<>();
+ List<ItemStack> handItems = new java.util.ArrayList<>();
+ for (ItemStack item : this.handItems) {
+ handItems.add(item.copy());
+ }
+ list.add(handItems);
+ List<ItemStack> armorItems = new java.util.ArrayList<>();
+ for (ItemStack item : this.armorItems) {
+ armorItems.add(item.copy());
+ }
+ list.add(armorItems);
+ return list;
+ }
+
+ public void restoreEquipment(List<List<ItemStack>> list) {
+ this.handItems.clear();
+ List<ItemStack> handItems = list.get(0);
+ for (int i = 0; i < handItems.size(); i++) {
+ this.handItems.set(i, handItems.get(1));
+ }
+ this.armorItems.clear();
+ List<ItemStack> armorItems = list.get(1);
+ for (int i = 0; i < armorItems.size(); i++) {
+ this.armorItems.set(i, armorItems.get(1));
+ }
+ }
+
+ public void clearEquipment() {
+ this.handItems.clear();
+ this.armorItems.clear();
+ }
+ // Purpur end
+
@Override
public boolean canTakeItem(ItemStack stack) {
net.minecraft.world.entity.EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 4252ff0201cbfbecc7b95ca86c1763dc5d88a4d7..5a73b085782dad9e4e35af18e6c70aca70793a5b 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1990,6 +1990,52 @@ public abstract class Player extends LivingEntity {
}
+ // Purpur start
+ public List<List<ItemStack>> cloneEquipment() {
+ List<List<ItemStack>> list = new java.util.ArrayList<>();
+ List<ItemStack> invItems = new java.util.ArrayList<>();
+ for (ItemStack item : this.inventory.items) {
+ invItems.add(item.copy());
+ }
+ list.add(invItems);
+ List<ItemStack> armorItems = new java.util.ArrayList<>();
+ for (ItemStack item : this.inventory.armor) {
+ armorItems.add(item.copy());
+ }
+ list.add(armorItems);
+ List<ItemStack> offhandItems = new java.util.ArrayList<>();
+ for (ItemStack item : this.inventory.offhand) {
+ offhandItems.add(item.copy());
+ }
+ list.add(offhandItems);
+ return list;
+ }
+
+ public void restoreEquipment(List<List<ItemStack>> list) {
+ this.inventory.items.clear();
+ List<ItemStack> invItems = list.get(0);
+ for (int i = 0; i < invItems.size(); i++) {
+ this.inventory.items.set(i, invItems.get(1));
+ }
+ this.inventory.armor.clear();
+ List<ItemStack> armorItems = list.get(1);
+ for (int i = 0; i < armorItems.size(); i++) {
+ this.inventory.armor.set(i, armorItems.get(1));
+ }
+ this.inventory.offhand.clear();
+ List<ItemStack> offhandItems = list.get(2);
+ for (int i = 0; i < offhandItems.size(); i++) {
+ this.inventory.offhand.set(i, offhandItems.get(1));
+ }
+ }
+
+ public void clearEquipment() {
+ this.inventory.items.clear();
+ this.inventory.armor.clear();
+ this.inventory.offhand.clear();
+ }
+ // Purpur end
+
public boolean addItem(ItemStack stack) {
this.equipEventAndSound(stack);
return this.inventory.add(stack);

View File

@@ -26,7 +26,7 @@ index 423560afba1bc03c0bb2b7d5d028451f34e59ec5..080694a06c9fdf57317dd281c4ddbd6c
} else { } else {
return effectRange; return effectRange;
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 e2688f6467b9e395f64df4d90bb9747cab57506d..fc5279fee33682f48442e21950183ad788d690c6 100644 index b9f6fd06b0320e1abd8a1c5b7461b9bbcb0314fe..06d74d252ce95b54a3bc68dc85c44357fc04daf7 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
@@ -512,6 +512,17 @@ public class PurpurWorldConfig { @@ -512,6 +512,17 @@ public class PurpurWorldConfig {

View File

@@ -27,7 +27,7 @@ index 0c94b4cb6ee0c3dffe0b67a2291d0160ae0ef96f..92a9869dbabcaa704a0da8bc86f75786
} }
// Paper end - fix sand duping // Paper end - fix sand duping
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 fc5279fee33682f48442e21950183ad788d690c6..fc183f9910f4d8f873261a29a23406270c19671e 100644 index 06d74d252ce95b54a3bc68dc85c44357fc04daf7..98068e0ef909fae4a50c2fe9861798507618f6e3 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
@@ -686,6 +686,11 @@ public class PurpurWorldConfig { @@ -686,6 +686,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2a8bdc91486876327cee54960e05f6e8d4b6fa92..a0017c92d8e52b6cfaf8d82fb4d74266c23f1191 100644 index 953506523b7bd5835bd727d9d4e6759f946e2afc..d965fa9b1f7ab84268a4a8e2d4898a0eb59706a0 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2764,7 +2764,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -2764,7 +2764,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -45,7 +45,7 @@ index bd4f980f68330fc46a02a6f4bb4403fac3a91919..8601ea0575323ea7cf07c4909a495bf5
entity.portalWorld = ((ServerLevel)world); entity.portalWorld = ((ServerLevel)world);
entity.portalBlock = pos.immutable(); entity.portalBlock = pos.immutable();
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 fc183f9910f4d8f873261a29a23406270c19671e..c99792ab6f1ab547726453406fad6b05c06db7f7 100644 index 98068e0ef909fae4a50c2fe9861798507618f6e3..907daf5e078ae3877db5830f7494ea02697da2c6 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
@@ -626,6 +626,11 @@ public class PurpurWorldConfig { @@ -626,6 +626,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Flying Fall Damage API
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 5a73b085782dad9e4e35af18e6c70aca70793a5b..e25b8b0023d4f0368f3104a9b2a015585e65b9f9 100644 index 4252ff0201cbfbecc7b95ca86c1763dc5d88a4d7..535bc6d57d153a62f2cbf57747586de3d4c41b1f 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -180,6 +180,7 @@ public abstract class Player extends LivingEntity { @@ -180,6 +180,7 @@ public abstract class Player extends LivingEntity {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make lightning rod range configurable
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index f4f87fb9ce5ebdb44ae4568c4b0d151f5c108fee..3ddf11e24e0d05e3ee6c9e17eebee4e177ed63fe 100644 index 75301b4bcd62e7091bf164d04f1a517d17643274..56ae23fdd7880dd7ad5ef5be369972f74cf83f08 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Burp after eating food fills hunger bar completely
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index e25b8b0023d4f0368f3104a9b2a015585e65b9f9..824365f63052cae797e53bf3a30fea78e3b60492 100644 index 535bc6d57d153a62f2cbf57747586de3d4c41b1f..055e11c1a180f74a6d2bd3d20e1451ff027b10e2 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -193,6 +193,8 @@ public abstract class Player extends LivingEntity { @@ -193,6 +193,8 @@ public abstract class Player extends LivingEntity {
@@ -30,7 +30,7 @@ index e25b8b0023d4f0368f3104a9b2a015585e65b9f9..824365f63052cae797e53bf3a30fea78
this.noPhysics = this.isSpectator(); this.noPhysics = this.isSpectator();
if (this.isSpectator()) { if (this.isSpectator()) {
this.onGround = false; this.onGround = false;
@@ -2344,7 +2352,7 @@ public abstract class Player extends LivingEntity { @@ -2298,7 +2306,7 @@ public abstract class Player extends LivingEntity {
public ItemStack eat(Level world, ItemStack stack) { public ItemStack eat(Level world, ItemStack stack) {
this.getFoodData().eat(stack.getItem(), stack); this.getFoodData().eat(stack.getItem(), stack);
this.awardStat(Stats.ITEM_USED.get(stack.getItem())); this.awardStat(Stats.ITEM_USED.get(stack.getItem()));
@@ -55,7 +55,7 @@ index 2934b6de1f1fb914a532ee20184df99d1acd8e65..65421cfff05c0493f5fef1bdff03172c
public void eat(Item item, ItemStack stack) { public void eat(Item item, ItemStack stack) {
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 c99792ab6f1ab547726453406fad6b05c06db7f7..b29928291e866419719c0f4c70b41c48b2b5615a 100644 index 907daf5e078ae3877db5830f7494ea02697da2c6..025a069dab527ee38f92c209c564e577520958cd 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
@@ -342,6 +342,7 @@ public class PurpurWorldConfig { @@ -342,6 +342,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add permission bypass for portal waiting
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 824365f63052cae797e53bf3a30fea78e3b60492..a527b048e2fe4716609778f03060e13b8b88c544 100644 index 055e11c1a180f74a6d2bd3d20e1451ff027b10e2..175b839a8b8c52b05b59c40f6b30b6e374d83cf1 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -181,6 +181,7 @@ public abstract class Player extends LivingEntity { @@ -181,6 +181,7 @@ public abstract class Player extends LivingEntity {

View File

@@ -61,7 +61,7 @@ index f812a75985d26785639491c9a980387a3f261f2d..b11fb39b69f5225ca7da72ca1a2200c7
+ // Purpur end + // Purpur end
} }
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 b29928291e866419719c0f4c70b41c48b2b5615a..4433a1da011a607d488464274b8fee5b021ae110 100644 index 025a069dab527ee38f92c209c564e577520958cd..5dfc69bc0716c083ed0957b69491999649d24730 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
@@ -1777,6 +1777,11 @@ public class PurpurWorldConfig { @@ -1777,6 +1777,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 85329295afacad3edb6865846166aa56ebae0ed2..513343d225a71e242b0f237eefcd2514
public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE, CreativeModeTab.TAB_DECORATIONS); public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE, CreativeModeTab.TAB_DECORATIONS);
public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT, CreativeModeTab.TAB_DECORATIONS); public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT, CreativeModeTab.TAB_DECORATIONS);
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 4433a1da011a607d488464274b8fee5b021ae110..af1c22c3e59ad0ee260d90f24c0b43a53d342acd 100644 index 5dfc69bc0716c083ed0957b69491999649d24730..58ef50e3b833d2fca133a77d358376245ba6045a 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
@@ -174,6 +174,7 @@ public class PurpurWorldConfig { @@ -174,6 +174,7 @@ public class PurpurWorldConfig {

View File

@@ -34,7 +34,7 @@ index 4d2bb12b8168fceae71622a9f8bd5102d0024208..a592fb29097232d5d9c6e6d946fb326f
@Override @Override
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 af1c22c3e59ad0ee260d90f24c0b43a53d342acd..59b5878b51628cc8fa9edce8b4d5a4cf2a928e50 100644 index 58ef50e3b833d2fca133a77d358376245ba6045a..afc80bab4e9ae61da09afeac9c96531ae57ee218 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
@@ -1008,6 +1008,7 @@ public class PurpurWorldConfig { @@ -1008,6 +1008,7 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 65421cfff05c0493f5fef1bdff03172c9e33f33e..63584faeec4e5013be7a377e3203ec16
this.tickTimer = 0; this.tickTimer = 0;
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 cc33716dd6257927a16c5acf784cbf82c9c4d6d6..ca6672a885eba237100c78816f50dea750310ba1 100644 index afc80bab4e9ae61da09afeac9c96531ae57ee218..b90cd1fcb0ec48c649df09ac729443d098286e4f 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
@@ -2371,4 +2371,9 @@ public class PurpurWorldConfig { @@ -2371,4 +2371,9 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Armor click equip options
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 6954d96cf4324f8b608a867463b2b8feb2acd494..ff159296b0d8acef3af74cd578b00a93fba08f36 100644 index 7649742f5e37d875e79c169c709ae82529b0db77..61d0fcaf3c96a2b241b35b2b21104b9fbf403160 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -497,7 +497,7 @@ public class ServerPlayerGameMode { @@ -497,7 +497,7 @@ public class ServerPlayerGameMode {
@@ -58,7 +58,7 @@ index 42f79d418ec4e2dbeac9a217d9dc144cda2ef714..250c0e31825f772d3fee7a523f150cb2
return InteractionResultHolder.fail(itemStack); return InteractionResultHolder.fail(itemStack);
} }
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 2e0710cf3e930417772bd483eeda2023d23160ef..9382ffcf60cf50d37d53940a8842d68d0d101bfe 100644 index b90cd1fcb0ec48c649df09ac729443d098286e4f..81698e6507c3d52136c8522147b60f991467ff25 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
@@ -345,6 +345,8 @@ public class PurpurWorldConfig { @@ -345,6 +345,8 @@ public class PurpurWorldConfig {

View File

@@ -109,7 +109,7 @@ index a5c2d6f0c0850a99224a1a8d622fe6b341cee88b..d8777ab86465e25236e7abbafd7ff668
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 9382ffcf60cf50d37d53940a8842d68d0d101bfe..89584a299d163d36dfab27a2b5e585c0b361f8a1 100644 index 81698e6507c3d52136c8522147b60f991467ff25..d2a2c83d51565ff8b270850c551a5547a4fb1a55 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
@@ -472,6 +472,153 @@ public class PurpurWorldConfig { @@ -472,6 +472,153 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 03271cdffd99ab443904a5d1da05d79c0566cbb4..dbc7bebaa4b14ee0eca51cb82e1aa80774f57fa5 100644 index e82f465536a7f99e2dcbc7aeea1d5d2c93807351..5478fb15d9a9e6b916a9f20740205e502b28d77e 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -384,6 +384,7 @@ public final class ItemStack { @@ -383,6 +383,7 @@ public final class ItemStack {
world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710 world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710
for (BlockState blockstate : blocks) { for (BlockState blockstate : blocks) {
blockstate.update(true, false); blockstate.update(true, false);
@@ -16,7 +16,7 @@ index 03271cdffd99ab443904a5d1da05d79c0566cbb4..dbc7bebaa4b14ee0eca51cb82e1aa807
} }
world.preventPoiUpdated = false; world.preventPoiUpdated = false;
@@ -413,6 +414,7 @@ public final class ItemStack { @@ -412,6 +413,7 @@ public final class ItemStack {
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, itemactioncontext); // Paper - pass itemactioncontext block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, itemactioncontext); // Paper - pass itemactioncontext
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Customizable sleeping actionbar messages
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 3ddf11e24e0d05e3ee6c9e17eebee4e177ed63fe..d2b88b33149f5fa6360396f65088abd6b8e0f8f7 100644 index 56ae23fdd7880dd7ad5ef5be369972f74cf83f08..5418cb8489869f5c1881937c7b5a98532fd9991e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -942,11 +942,29 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -942,11 +942,29 @@ public class ServerLevel extends Level implements WorldGenLevel {

View File

@@ -19,7 +19,7 @@ index 8175bb6331727440da2232998bdad068a1c47ae8..be47543240bd573cd2cc08f84b7eab1c
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack); CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
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 89584a299d163d36dfab27a2b5e585c0b361f8a1..36202f69545fffa244013336ae1473571c56a3a7 100644 index d2a2c83d51565ff8b270850c551a5547a4fb1a55..852a61e4d369bec342765e6e5ed823f3bfd320a1 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
@@ -175,6 +175,7 @@ public class PurpurWorldConfig { @@ -175,6 +175,7 @@ public class PurpurWorldConfig {

View File

@@ -24,7 +24,7 @@ index 02fc3ede12eadbf72e26e31b1c475c7f5b2ad73a..2288e727929ffb3a3bca138fb0289408
+ // Purpur end + // Purpur end
} }
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 b8c8a04a6c9c92658e6a7fa7e171147193a61a9a..55f11d3a7baa39e684e84b7c8c5d8c82e3233e39 100644 index 852a61e4d369bec342765e6e5ed823f3bfd320a1..b496d649e45e740402f6e56fec8c96d0b2e07f8d 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
@@ -696,6 +696,11 @@ public class PurpurWorldConfig { @@ -696,6 +696,11 @@ public class PurpurWorldConfig {

View File

@@ -24,7 +24,7 @@ index 3f434ac77611a81889b15c118a0fca57cc10a6bb..36d65d85d3cc030551fc0957c1ebbff6
if (i != -1) { if (i != -1) {
world.scheduleTick(blockposition, (Block) this, i); world.scheduleTick(blockposition, (Block) this, i);
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 e3254df008f77efa6d67e5c94414a30dc2d7d772..966d2ee872fe8e48930b54f2d29d29364d81f834 100644 index b496d649e45e740402f6e56fec8c96d0b2e07f8d..b2f7212c33ba02294cc5c2ef6c9bf22ae1dec0d4 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
@@ -696,6 +696,22 @@ public class PurpurWorldConfig { @@ -696,6 +696,22 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player ridable in water option
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index a527b048e2fe4716609778f03060e13b8b88c544..4f3bd5847143692a611e5785b9d1fe3493b4f778 100644 index 175b839a8b8c52b05b59c40f6b30b6e374d83cf1..d03b2609762ef31a1d15d1fbd739cb747adc7118 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2061,6 +2061,11 @@ public abstract class Player extends LivingEntity { @@ -2015,6 +2015,11 @@ public abstract class Player extends LivingEntity {
return this.inventory.armor; return this.inventory.armor;
} }
@@ -21,7 +21,7 @@ index a527b048e2fe4716609778f03060e13b8b88c544..4f3bd5847143692a611e5785b9d1fe34
if (!this.isPassenger() && this.onGround && !this.isInWater() && !this.isInPowderSnow) { if (!this.isPassenger() && this.onGround && !this.isInWater() && !this.isInPowderSnow) {
if (this.getShoulderEntityLeft().isEmpty()) { if (this.getShoulderEntityLeft().isEmpty()) {
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 966d2ee872fe8e48930b54f2d29d29364d81f834..7ec1201fce2ab106032bb929acdecf07963ad175 100644 index b2f7212c33ba02294cc5c2ef6c9bf22ae1dec0d4..3bf28cdc25724ed8065b44f53bfa35ebed2feea3 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
@@ -349,6 +349,7 @@ public class PurpurWorldConfig { @@ -349,6 +349,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index fd06b697b810e4e74345c636cb3a02bc23959e76..2439af153aa2d6ae62bca41a794042fc5d0db1db 100644 index bba5ce10a4dc06272936ca26d1ac0e5a98c2da1f..8923274fc04282cf97398b997603f699d92e6699 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -400,7 +400,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -400,7 +400,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -18,7 +18,7 @@ index fd06b697b810e4e74345c636cb3a02bc23959e76..2439af153aa2d6ae62bca41a794042fc
boolean flag; boolean flag;
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 7ec1201fce2ab106032bb929acdecf07963ad175..e229f1ce7e8d8466bfd7a0bcb277d4b49a5d6fc9 100644 index 3bf28cdc25724ed8065b44f53bfa35ebed2feea3..aee40fd438225fa5eb0b023ed047eb95136f2093 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
@@ -1255,6 +1255,7 @@ public class PurpurWorldConfig { @@ -1255,6 +1255,7 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index 04aa3a9d98ff4de3ce0bbacb07dc30170ff232b1..d81e3073d0e905388e1390d849f77990
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 7bbe7349bbc3a5eaccdecf57bc7334d5dcfdfe2b..dc93e2a4db920350da4a723836807372ec2cf042 100644 index 6d643998ee32de7f96b94e10fbd0b08a75628978..e2e83d8b39ddb154c0e69b63d5b996644926ac43 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -257,6 +257,7 @@ public class ServerPlayer extends Player { @@ -257,6 +257,7 @@ public class ServerPlayer extends Player {
@@ -111,7 +111,7 @@ index 049bf902e8e77d7eac8dc868593c215bf04838a9..2b90f0aa67e3ed19e29c5ec72cf89473
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat);
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 e229f1ce7e8d8466bfd7a0bcb277d4b49a5d6fc9..154a35886ee07be1f7ab174028ffa7680dde4ef0 100644 index aee40fd438225fa5eb0b023ed047eb95136f2093..619d1295836ac51ff5b5bc8400ee59f296788455 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
@@ -176,6 +176,7 @@ public class PurpurWorldConfig { @@ -176,6 +176,7 @@ public class PurpurWorldConfig {

View File

@@ -20,7 +20,7 @@ index 0be0c81f2b0a58eba75eb8559f78d8a58014d0ae..f7088aaf65ee5725e928845a63485211
} }
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 154a35886ee07be1f7ab174028ffa7680dde4ef0..ec355e570e86dd2ebdfffec2ca4842aae38c2b29 100644 index 619d1295836ac51ff5b5bc8400ee59f296788455..7459e7bc62bfd4a6f97f7ed62a11de47c3d0a82c 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
@@ -1453,6 +1453,7 @@ public class PurpurWorldConfig { @@ -1453,6 +1453,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
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 cbda521957675303270c3308819c544fee549c18..42463d6823b4f045af22665fd5e4685e98e484a1 100644 index ca7e980732b4017f5147e2c372bd4c8dc7f7315c..8ca536d4c7ba1ec860638cdebcfbd2832c91eded 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
@@ -2791,7 +2791,11 @@ public abstract class LivingEntity extends Entity { @@ -2796,7 +2796,11 @@ public abstract class LivingEntity extends Entity {
if (f4 > 0.0F) { if (f4 > 0.0F) {
this.playSound(this.getFallDamageSound((int) f4), 1.0F, 1.0F); this.playSound(this.getFallDamageSound((int) f4), 1.0F, 1.0F);
@@ -22,7 +22,7 @@ index cbda521957675303270c3308819c544fee549c18..42463d6823b4f045af22665fd5e4685e
} }
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 ec355e570e86dd2ebdfffec2ca4842aae38c2b29..ef8d6fb33bbcdc531dfd6ce45e2381116c9c2123 100644 index 7459e7bc62bfd4a6f97f7ed62a11de47c3d0a82c..defa4da1a8fbe788b8c6f0b1dd998def78ea4821 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
@@ -138,12 +138,14 @@ public class PurpurWorldConfig { @@ -138,12 +138,14 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 4a34a08a1d46e4d3020644a51d9e30a36a18791a..be28b5aba28383058548cfb68f982664
} }
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 ef8d6fb33bbcdc531dfd6ce45e2381116c9c2123..354468e045811c8ff3e9cc8d64b7ee799863ac79 100644 index defa4da1a8fbe788b8c6f0b1dd998def78ea4821..0da814c002dc9c4419db4e022a9c5dfb1ad94fd7 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
@@ -321,6 +321,11 @@ public class PurpurWorldConfig { @@ -321,6 +321,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 96e5d1210e27b0bca7a354366e5c805709ae4fec..c6ba41c2b4cc96bc97ed2e2220c0f3fa
this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition()); this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition());
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 50fb46df1085dc6d07dc4c4cffb6610e9ceb8d08..231fbef1b227abe88a1fc46defc1ffaf881dee38 100644 index 0da814c002dc9c4419db4e022a9c5dfb1ad94fd7..d875224b179239773697d079091fc2bb97b5cf1e 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
@@ -2519,6 +2519,8 @@ public class PurpurWorldConfig { @@ -2519,6 +2519,8 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 97b4e3c0d2b1bbde77b135b8595c3bfa190a14cb..02b98cfe47d5d2f3c362a84c6b05e734
++i; ++i;
if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur
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 079c75d8d5c6db1d8abe02aabc98b64dd718792c..a975e29b58d669129aa86a4b78fb8bbd8f8b6950 100644 index d875224b179239773697d079091fc2bb97b5cf1e..a87399446cf56eec799c4aca5afc0db32e612d4c 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
@@ -912,9 +912,11 @@ public class PurpurWorldConfig { @@ -912,9 +912,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 46b8886b6b17fa145db42aeb380f22ec0ae99ec0..1cab4c037c99babf4e35480de7ffc02b
// this.world.globalLevelEvent(1023, new BlockPosition(this), 0); // this.world.globalLevelEvent(1023, new BlockPosition(this), 0);
//int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API //int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API
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 e4c0f23780b7cdb83c75f873dc6271f13a61f20a..9ce640bc28c71eb398f8e97f4d16b47fa0f2ad8d 100644 index a87399446cf56eec799c4aca5afc0db32e612d4c..6c5996d72138e5d4e52bd82584ce1035d1b74daf 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
@@ -2374,6 +2374,7 @@ public class PurpurWorldConfig { @@ -2374,6 +2374,7 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index fa36ad3bb63764778aa7201d90e331e64292c7b4..dfa06b3c7323aeb12b1e234ca27c924a
return false; return false;
} }
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 35bf7ac52af2124a920b788abc930f262b0b6bbc..67a5ccb48fbbf588d4cdb6914b5d91f80e9fb0ec 100644 index 6c5996d72138e5d4e52bd82584ce1035d1b74daf..e619681d6255f975ff40c30be173cfafa8a94f07 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
@@ -728,6 +728,11 @@ public class PurpurWorldConfig { @@ -728,6 +728,11 @@ public class PurpurWorldConfig {

View File

@@ -26,7 +26,7 @@ index 111da6398bb561e58571e47743088ce80416234d..0a2c776b9b1da7d0d4481dd527e0068b
@Override @Override
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 67a5ccb48fbbf588d4cdb6914b5d91f80e9fb0ec..c199152ede194fadb4f38c496201492ec689b664 100644 index e619681d6255f975ff40c30be173cfafa8a94f07..ed96c5d8f5878b5cfeefa5561620b151fec16dcc 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
@@ -359,6 +359,7 @@ public class PurpurWorldConfig { @@ -359,6 +359,7 @@ public class PurpurWorldConfig {

View File

@@ -44,7 +44,7 @@ index 96b6e914441ee1faa059aa5ddcf77ffb74e76ae9..31af7d8111e73169d3e02aa52799a018
} }
CraftEventFactory.blockDamage = null; CraftEventFactory.blockDamage = null;
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 bbc5e20706b638fb39304ca93050a7849ad0281d..f6a2dae482f98eab406289497182ccc377ae9cd0 100644 index ed96c5d8f5878b5cfeefa5561620b151fec16dcc..53e9deb3c55dc20d38018599f4e2ea90c8086b85 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
@@ -2580,5 +2580,28 @@ public class PurpurWorldConfig { @@ -2580,5 +2580,28 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc
@Override @Override
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 f6a2dae482f98eab406289497182ccc377ae9cd0..d258a942d35e5aeca80629c19982791f5ba37365 100644 index 53e9deb3c55dc20d38018599f4e2ea90c8086b85..cefa14726dfc69c3d544e92a6373672e09a4c8d3 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
@@ -2603,5 +2603,12 @@ public class PurpurWorldConfig { @@ -2603,5 +2603,12 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config to allow mobs to pathfind over rails
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
index ce891b7d8e5cbc956c28b8bb8c5c9976b7377039..8ecc9099515e38bfe38a5f9ca034cd81250c4396 100644 index d7bdf3c2a5b99ff7adb3e960ff356a1fad169de0..3ca846cc78ec2ac8c9f840a9ac7f0b87b871f8d7 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
+++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
@@ -240,7 +240,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { @@ -240,7 +240,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
@@ -18,7 +18,7 @@ index ce891b7d8e5cbc956c28b8bb8c5c9976b7377039..8ecc9099515e38bfe38a5f9ca034cd81
if (node != null && (node.type == BlockPathTypes.OPEN || node.type == BlockPathTypes.WALKABLE) && this.mob.getBbWidth() < 1.0F) { if (node != null && (node.type == BlockPathTypes.OPEN || node.type == BlockPathTypes.WALKABLE) && this.mob.getBbWidth() < 1.0F) {
double g = (double)(x - direction.getStepX()) + 0.5D; double g = (double)(x - direction.getStepX()) + 0.5D;
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 ffec1ba86f2253e6591a83fba7f703dad69bb471..29ff256b2c24d76a33a1a6bf0a85f514c0fb206a 100644 index cefa14726dfc69c3d544e92a6373672e09a4c8d3..15b4894d6a4da9cbb8414835f772851675d184f9 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
@@ -654,6 +654,7 @@ public class PurpurWorldConfig { @@ -654,6 +654,7 @@ public class PurpurWorldConfig {

View File

@@ -47,7 +47,7 @@ index ec7c5f638573ee331112d91cdfaa8511801c6891..e9f4a1de40ab4d7a82d4f222b4aba0aa
@Override @Override
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 29ff256b2c24d76a33a1a6bf0a85f514c0fb206a..f28712e077171c465cdcfd298e833732842831c4 100644 index 15b4894d6a4da9cbb8414835f772851675d184f9..93e14812e93a668326a67755cfe37c015972129c 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
@@ -1986,6 +1986,7 @@ public class PurpurWorldConfig { @@ -1986,6 +1986,7 @@ public class PurpurWorldConfig {

View File

@@ -24,7 +24,7 @@ index 4adfc26062b322443828e94e6b0943884a18846b..0d9ecca25bff63f3428ccf93e2789fca
} else if (this.isFuel(itemstack1)) { } else if (this.isFuel(itemstack1)) {
if (!this.moveItemStackTo(itemstack1, 1, 2, false)) { if (!this.moveItemStackTo(itemstack1, 1, 2, false)) {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index 600a71b8da335ddfc70f782cbbb08647ae98a89c..e7387a287ac84dcf8f39c547538432e5bf967965 100644 index 0d9b592ebfd22dc679ba7dbfd339db4d6bc5ad44..f5fd6e0fd67c1b760000c2e75ce09d1c680b4cf6 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -205,6 +205,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit @@ -205,6 +205,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index d2b88b33149f5fa6360396f65088abd6b8e0f8f7..cdc4fc0312303ec869f86bac00444a4ba0e277d8 100644 index 5418cb8489869f5c1881937c7b5a98532fd9991e..fcb4fd7420d7c001c989cd12b35d2857c1fe386b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1103,6 +1103,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1103,6 +1103,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -25,7 +25,7 @@ index d2b88b33149f5fa6360396f65088abd6b8e0f8f7..cdc4fc0312303ec869f86bac00444a4b
// CraftBukkit start // CraftBukkit start
// If we stop due to everyone sleeping we should reset the weather duration to some other random value. // If we stop due to everyone sleeping we should reset the weather duration to some other random value.
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 f28712e077171c465cdcfd298e833732842831c4..fba7fdd89e1d51d41a24f0ad2d7828dcf5e8e871 100644 index 93e14812e93a668326a67755cfe37c015972129c..2f4fb33eb1e34399fbb974cbc4c080f45943212e 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
@@ -655,6 +655,8 @@ public class PurpurWorldConfig { @@ -655,6 +655,8 @@ public class PurpurWorldConfig {

View File

@@ -45,7 +45,7 @@ index 71e494b949541284b0642dae4b20a6b3ec459828..625ad12e43cc651c986a3b45ce9a7c5b
public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS))); public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS)));
public static final Block BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafBlock(BlockBehaviour.Properties.of(Material.PLANT).strength(0.1F).sound(SoundType.BIG_DRIPLEAF))); public static final Block BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafBlock(BlockBehaviour.Properties.of(Material.PLANT).strength(0.1F).sound(SoundType.BIG_DRIPLEAF)));
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 fba7fdd89e1d51d41a24f0ad2d7828dcf5e8e871..2055678b89ae64d90aabe9bbad85244d06a67b42 100644 index 2f4fb33eb1e34399fbb974cbc4c080f45943212e..951aeea89bc70ebeeb0bfef829096ba1de1c3e5b 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
@@ -688,6 +688,11 @@ public class PurpurWorldConfig { @@ -688,6 +688,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Shift right click to use exp for mending
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index ff159296b0d8acef3af74cd578b00a93fba08f36..ff025406e5755aa3654509bd98363f095cc11840 100644 index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32ff587e6b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -524,6 +524,7 @@ public class ServerPlayerGameMode { @@ -524,6 +524,7 @@ public class ServerPlayerGameMode {
@@ -36,7 +36,7 @@ index ff159296b0d8acef3af74cd578b00a93fba08f36..ff025406e5755aa3654509bd98363f09
+ // Purpur end + // Purpur end
} }
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 2380bab916cf628c928675229db0bbae76db92e2..57e62bc6a0cbad43822d389af6857531ed82963d 100644 index 379b437e45d4ae299118914d3525437d5e3737ff..ae8450fa09cb481d14db81364553d16e542aa182 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
@@ -1941,6 +1941,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -1941,6 +1941,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -48,7 +48,7 @@ index 2380bab916cf628c928675229db0bbae76db92e2..57e62bc6a0cbad43822d389af6857531
cancelled = event.useItemInHand() == Event.Result.DENY; cancelled = event.useItemInHand() == Event.Result.DENY;
} else { } else {
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 2055678b89ae64d90aabe9bbad85244d06a67b42..c7af3ed3e63b29d4b832bcf5da17777dfef5c5d4 100644 index 951aeea89bc70ebeeb0bfef829096ba1de1c3e5b..d04d0105d2d04a93ab09b390e85f9d7bdfdbbf4e 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
@@ -360,6 +360,7 @@ public class PurpurWorldConfig { @@ -360,6 +360,7 @@ public class PurpurWorldConfig {

View File

@@ -47,7 +47,7 @@ index 49e5a753aae7d72102ee700f3d8309f2f488cc12..022441af276cd9facba1ee4013d9d367
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
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 c7af3ed3e63b29d4b832bcf5da17777dfef5c5d4..c6f4211f559ad11e3f20122ed5e296b0b5d60259 100644 index d04d0105d2d04a93ab09b390e85f9d7bdfdbbf4e..c0538bf713edcc9166b9a8558112bab3f2cfa831 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
@@ -1169,6 +1169,7 @@ public class PurpurWorldConfig { @@ -1169,6 +1169,7 @@ public class PurpurWorldConfig {

View File

@@ -59,7 +59,7 @@ index 7042b95e92520c5e152af0fa71a553122ec814df..bbd210f8779138b225ce886b3917ca9c
@Override @Override
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 c6f4211f559ad11e3f20122ed5e296b0b5d60259..40f3874e5326bfb6c967ef3ebb03a9d59f0af667 100644 index c0538bf713edcc9166b9a8558112bab3f2cfa831..7106b9525e7c01b66bb16161641cd772a0c3bd8b 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
@@ -1122,7 +1122,14 @@ public class PurpurWorldConfig { @@ -1122,7 +1122,14 @@ public class PurpurWorldConfig {

View File

@@ -22,7 +22,7 @@ index fae4a7c79baac15a06b737b6081956a55b024c8d..e95210c6deee2c6431ef01d239531744
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
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 40f3874e5326bfb6c967ef3ebb03a9d59f0af667..509e64437a51067c40618d3d90f82a6981e55eb7 100644 index 7106b9525e7c01b66bb16161641cd772a0c3bd8b..fcb9c9139ea8dc0de141688462d15815fb838b69 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
@@ -707,11 +707,13 @@ public class PurpurWorldConfig { @@ -707,11 +707,13 @@ public class PurpurWorldConfig {

View File

@@ -60,7 +60,7 @@ index 735ecd9d768b9e579142810d5f03093dafad0fa3..cb5a04aacf5e9f0f024f3a1c3a38dd88
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.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 509e64437a51067c40618d3d90f82a6981e55eb7..dc82ccaf59c54191fda27ddd3d544f2351975095 100644 index fcb9c9139ea8dc0de141688462d15815fb838b69..6501dd086fe3d5be6f30c44da347fbd13d39286d 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
@@ -1473,6 +1473,13 @@ public class PurpurWorldConfig { @@ -1473,6 +1473,13 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 0b60b545271e62df86a0eb3c1f0f315a014b24cd..44df9e5034887c756c00bdcfb3ea04d4
@Override @Override
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 dc82ccaf59c54191fda27ddd3d544f2351975095..6cc99209520534ebbd78bcc98ea2b373b80ea788 100644 index 6501dd086fe3d5be6f30c44da347fbd13d39286d..eb6c34cd8da95546e1f2203d4b0144c828158367 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
@@ -951,6 +951,11 @@ public class PurpurWorldConfig { @@ -951,6 +951,11 @@ public class PurpurWorldConfig {

View File

@@ -46,7 +46,7 @@ index d5d84893c77b4e60a19032d765d76bfd24cbbb2b..ef265cec066ef3b84c2b3a4929af5183
protected void onHit(HitResult hitResult) { protected void onHit(HitResult hitResult) {
super.onHit(hitResult); super.onHit(hitResult);
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 6cc99209520534ebbd78bcc98ea2b373b80ea788..beb6a9d8ed40ab771c05ccf842065e4f4e85193e 100644 index eb6c34cd8da95546e1f2203d4b0144c828158367..70ee58e7e4c388a38607e7810b950a14dee193c3 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
@@ -179,6 +179,9 @@ public class PurpurWorldConfig { @@ -179,6 +179,9 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index c6ba41c2b4cc96bc97ed2e2220c0f3fa4f31dbe3..22a5d2f0de4bdd4432d1beff840f448a
itemstack.shrink(1); itemstack.shrink(1);
} }
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 28d817eaa5cbaa5a9f10896b29ad764551489763..6fb767d590a84b128312c46579e4e67eb52753d4 100644 index 70ee58e7e4c388a38607e7810b950a14dee193c3..460bbbc01b058d173e189e1ad944d2f458a9e069 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
@@ -2583,6 +2583,7 @@ public class PurpurWorldConfig { @@ -2583,6 +2583,7 @@ public class PurpurWorldConfig {

View File

@@ -191,7 +191,7 @@ index 5601d0c2fe635a2a4f073c333531e1a8adf1833c..9e7d2fbdfa89736807d2025a5814ddd8
+ // Purpur end + // Purpur end
} }
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 1d0fd0c39a6083d119bf3a5a8a8fbb381bf520ee..9745f27d0284aa086236455facd6591961b76770 100644 index 460bbbc01b058d173e189e1ad944d2f458a9e069..bf956c5b062ae21040d58f55abe6a50be2ee3a08 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
@@ -654,6 +654,7 @@ public class PurpurWorldConfig { @@ -654,6 +654,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index dc93e2a4db920350da4a723836807372ec2cf042..cf2e1e4c9da9e695ffb5b9d658f36f9a3c304738 100644 index e2e83d8b39ddb154c0e69b63d5b996644926ac43..a9885f92e0a3494b27376a7a01edbd0e22a31708 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1496,6 +1496,7 @@ public class ServerPlayer extends Player { @@ -1496,6 +1496,7 @@ public class ServerPlayer extends Player {
@@ -17,7 +17,7 @@ index dc93e2a4db920350da4a723836807372ec2cf042..cf2e1e4c9da9e695ffb5b9d658f36f9a
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
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 57e62bc6a0cbad43822d389af6857531ed82963d..f1629b07460f4135ada0f08ddbda97df463269f6 100644 index ae8450fa09cb481d14db81364553d16e542aa182..bea4a6d594b1fb266cbbe0a107f1a0a91d6fe682 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
@@ -3139,11 +3139,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -3139,11 +3139,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -70,7 +70,7 @@ index 6371176fba41218a209ea59b4cafe5b2d4a685fd..7666bca74f4f68bb4e902ec2eb7c4895
public CompoundTag getUpdateTag() { public CompoundTag getUpdateTag() {
return this.saveWithoutMetadata(); return this.saveWithoutMetadata();
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 9745f27d0284aa086236455facd6591961b76770..d1a4c90e0a350b08478cc1f330cf00851ff012c7 100644 index bf956c5b062ae21040d58f55abe6a50be2ee3a08..9a6491f7a3f10a9a0eb0b369b8d1dc26067a0aba 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
@@ -926,8 +926,10 @@ public class PurpurWorldConfig { @@ -926,8 +926,10 @@ public class PurpurWorldConfig {

View File

@@ -131,7 +131,7 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..913818656f058990270ed1e4303da1c4
+ // Purpur end + // Purpur end
} }
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 d1a4c90e0a350b08478cc1f330cf00851ff012c7..9e12856a114567e2de59efbac29b4bec81bbeb53 100644 index 9a6491f7a3f10a9a0eb0b369b8d1dc26067a0aba..8d5525c7b7b867360d6e0b4222e8c2452790d994 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
@@ -768,6 +768,26 @@ public class PurpurWorldConfig { @@ -768,6 +768,26 @@ public class PurpurWorldConfig {

View File

@@ -1,384 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ralph Goers <rgoers@apache.org>
Date: Sat, 4 Dec 2021 21:03:32 -0700
Subject: [PATCH] Backport log4j 2.15.0 bugfix
diff --git a/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java b/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
index ddac6663a164ce362773cab3257e867a418a17a0..2c6f065299431099e0066d9ad74421ecac1daa44 100644
--- a/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
+++ b/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java
@@ -21,8 +21,6 @@ import java.io.Serializable;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
-import javax.jms.JMSException;
-
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.Layout;
@@ -88,6 +86,15 @@ public class JmsAppender extends AbstractAppender {
@PluginBuilderAttribute
private boolean immediateFail;
+ @PluginBuilderAttribute
+ private String allowedLdapClasses;
+
+ @PluginBuilderAttribute
+ private String allowedLdapHosts;
+
+ @PluginBuilderAttribute
+ private String allowedJndiProtocols;
+
// Programmatic access only for now.
private JmsManager jmsManager;
@@ -100,8 +107,21 @@ public class JmsAppender extends AbstractAppender {
JmsManager actualJmsManager = jmsManager;
JmsManagerConfiguration configuration = null;
if (actualJmsManager == null) {
+ Properties additionalProperties = null;
+ if (allowedLdapClasses != null || allowedLdapHosts != null) {
+ additionalProperties = new Properties();
+ if (allowedLdapHosts != null) {
+ additionalProperties.put(JndiManager.ALLOWED_HOSTS, allowedLdapHosts);
+ }
+ if (allowedLdapClasses != null) {
+ additionalProperties.put(JndiManager.ALLOWED_CLASSES, allowedLdapClasses);
+ }
+ if (allowedJndiProtocols != null) {
+ additionalProperties.put(JndiManager.ALLOWED_PROTOCOLS, allowedJndiProtocols);
+ }
+ }
final Properties jndiProperties = JndiManager.createProperties(factoryName, providerUrl, urlPkgPrefixes,
- securityPrincipalName, securityCredentials, null);
+ securityPrincipalName, securityCredentials, additionalProperties);
configuration = new JmsManagerConfiguration(jndiProperties, factoryBindingName, destinationBindingName,
userName, password, false, reconnectIntervalMillis);
actualJmsManager = AbstractManager.getManager(getName(), JmsManager.FACTORY, configuration);
@@ -115,13 +135,13 @@ public class JmsAppender extends AbstractAppender {
LOGGER.error("No layout provided for JmsAppender");
return null;
}
- try {
+ //try {
return new JmsAppender(getName(), getFilter(), layout, isIgnoreExceptions(), getPropertyArray(),
actualJmsManager);
- } catch (final JMSException e) {
+ /*} catch (final JMSException e) {
// Never happens since the ctor no longer actually throws a JMSException.
throw new IllegalStateException(e);
- }
+ }*/
}
public Builder setDestinationBindingName(final String destinationBindingName) {
@@ -202,6 +222,21 @@ public class JmsAppender extends AbstractAppender {
return this;
}
+ public Builder setAllowedLdapClasses(final String allowedLdapClasses) {
+ this.allowedLdapClasses = allowedLdapClasses;
+ return this;
+ }
+
+ public Builder setAllowedLdapHosts(final String allowedLdapHosts) {
+ this.allowedLdapHosts = allowedLdapHosts;
+ return this;
+ }
+
+ public Builder setAllowedJndiProtocols(final String allowedJndiProtocols) {
+ this.allowedJndiProtocols = allowedJndiProtocols;
+ return this;
+ }
+
/**
* Does not include the password.
*/
@@ -212,7 +247,8 @@ public class JmsAppender extends AbstractAppender {
+ ", securityCredentials=" + securityCredentials + ", factoryBindingName=" + factoryBindingName
+ ", destinationBindingName=" + destinationBindingName + ", username=" + userName + ", layout="
+ getLayout() + ", filter=" + getFilter() + ", ignoreExceptions=" + isIgnoreExceptions()
- + ", jmsManager=" + jmsManager + "]";
+ + ", jmsManager=" + jmsManager + ", allowedLdapClasses=" + allowedLdapClasses
+ + ", allowedLdapHosts=" + allowedLdapHosts + ", allowedJndiProtocols=" + allowedJndiProtocols + "]";
}
}
@@ -224,24 +260,15 @@ public class JmsAppender extends AbstractAppender {
private volatile JmsManager manager;
- /**
- *
- * @throws JMSException not thrown as of 2.9 but retained in the signature for compatibility, will be removed in 3.0
- */
protected JmsAppender(final String name, final Filter filter, final Layout<? extends Serializable> layout,
- final boolean ignoreExceptions, final Property[] properties, final JmsManager manager) throws JMSException {
+ final boolean ignoreExceptions, final Property[] properties, final JmsManager manager) /*throws JMSException*/ {
super(name, filter, layout, ignoreExceptions, properties);
this.manager = manager;
}
- /**
- *
- * @throws JMSException not thrown as of 2.9 but retained in the signature for compatibility, will be removed in 3.0
- * @deprecated
- */
@Deprecated
protected JmsAppender(final String name, final Filter filter, final Layout<? extends Serializable> layout,
- final boolean ignoreExceptions, final JmsManager manager) throws JMSException {
+ final boolean ignoreExceptions, final JmsManager manager) /*throws JMSException*/ {
super(name, filter, layout, ignoreExceptions, Property.EMPTY_ARRAY);
this.manager = manager;
}
diff --git a/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java b/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java
index 267085788482dbc8f8252b8a4fc42259d3de45e4..2d7604fee68c27f644e1c2915f09758ee7c15cb8 100644
--- a/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java
+++ b/src/main/java/org/apache/logging/log4j/core/net/JndiManager.java
@@ -17,31 +17,69 @@
package org.apache.logging.log4j.core.net;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
import javax.naming.Context;
-import javax.naming.InitialContext;
+import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.InitialDirContext;
import org.apache.logging.log4j.core.appender.AbstractManager;
import org.apache.logging.log4j.core.appender.ManagerFactory;
import org.apache.logging.log4j.core.util.JndiCloser;
+import org.apache.logging.log4j.core.util.NetUtils;
+import org.apache.logging.log4j.util.PropertiesUtil;
/**
- * Manages a JNDI {@link javax.naming.Context}.
+ * Manages a JNDI {@link javax.naming.directory.DirContext}.
*
* @since 2.1
*/
public class JndiManager extends AbstractManager {
+ public static final String ALLOWED_HOSTS = "allowedLdapHosts";
+ public static final String ALLOWED_CLASSES = "allowedLdapClasses";
+ public static final String ALLOWED_PROTOCOLS = "allowedJndiProtocols";
+
private static final JndiManagerFactory FACTORY = new JndiManagerFactory();
+ private static final String PREFIX = "log4j2.";
+ private static final String LDAP = "ldap";
+ private static final String LDAPS = "ldaps";
+ private static final String JAVA = "java";
+ private static final List<String> permanentAllowedHosts = NetUtils.getLocalIps();
+ private static final List<String> permanentAllowedClasses = Arrays.asList(Boolean.class.getName(),
+ Byte.class.getName(), Character.class.getName(), Double.class.getName(), Float.class.getName(),
+ Integer.class.getName(), Long.class.getName(), Short.class.getName(), String.class.getName());
+ private static final List<String> permanentAllowedProtocols = Arrays.asList(JAVA, LDAP, LDAPS);
+ private static final String SERIALIZED_DATA = "javaSerializedData";
+ private static final String CLASS_NAME = "javaClassName";
+ private static final String REFERENCE_ADDRESS = "javaReferenceAddress";
+ private static final String OBJECT_FACTORY = "javaFactory";
+ private final List<String> allowedHosts;
+ private final List<String> allowedClasses;
+ private final List<String> allowedProtocols;
- private final Context context;
+ private final DirContext context;
- private JndiManager(final String name, final Context context) {
+ private JndiManager(final String name, final DirContext context, final List<String> allowedHosts,
+ final List<String> allowedClasses, final List<String> allowedProtocols) {
super(null, name);
this.context = context;
+ this.allowedHosts = allowedHosts;
+ this.allowedClasses = allowedClasses;
+ this.allowedProtocols = allowedProtocols;
}
/**
@@ -168,7 +206,54 @@ public class JndiManager extends AbstractManager {
* @throws NamingException if a naming exception is encountered
*/
@SuppressWarnings("unchecked")
- public <T> T lookup(final String name) throws NamingException {
+ public synchronized <T> T lookup(final String name) throws NamingException {
+ try {
+ URI uri = new URI(name);
+ if (uri.getScheme() != null) {
+ if (!allowedProtocols.contains(uri.getScheme().toLowerCase(Locale.ROOT))) {
+ LOGGER.warn("Log4j JNDI does not allow protocol {}", uri.getScheme());
+ return null;
+ }
+ if (LDAP.equalsIgnoreCase(uri.getScheme()) || LDAPS.equalsIgnoreCase(uri.getScheme())) {
+ if (!allowedHosts.contains(uri.getHost())) {
+ LOGGER.warn("Attempt to access ldap server not in allowed list");
+ return null;
+ }
+ Attributes attributes = this.context.getAttributes(name);
+ if (attributes != null) {
+ // In testing the "key" for attributes seems to be lowercase while the attribute id is
+ // camelcase, but that may just be true for the test LDAP used here. This copies the Attributes
+ // to a Map ignoring the "key" and using the Attribute's id as the key in the Map so it matches
+ // the Java schema.
+ Map<String, Attribute> attributeMap = new HashMap<>();
+ NamingEnumeration<? extends Attribute> enumeration = attributes.getAll();
+ while (enumeration.hasMore()) {
+ Attribute attribute = enumeration.next();
+ attributeMap.put(attribute.getID(), attribute);
+ }
+ Attribute classNameAttr = attributeMap.get(CLASS_NAME);
+ if (attributeMap.get(SERIALIZED_DATA) != null) {
+ if (classNameAttr != null) {
+ String className = classNameAttr.get().toString();
+ if (!allowedClasses.contains(className)) {
+ LOGGER.warn("Deserialization of {} is not allowed", className);
+ return null;
+ }
+ } else {
+ LOGGER.warn("No class name provided for {}", name);
+ return null;
+ }
+ } else if (attributeMap.get(REFERENCE_ADDRESS) != null
+ || attributeMap.get(OBJECT_FACTORY) != null) {
+ LOGGER.warn("Referenceable class is not allowed for {}", name);
+ return null;
+ }
+ }
+ }
+ }
+ } catch (URISyntaxException ex) {
+ // This is OK.
+ }
return (T) this.context.lookup(name);
}
@@ -176,13 +261,36 @@ public class JndiManager extends AbstractManager {
@Override
public JndiManager createManager(final String name, final Properties data) {
+ String hosts = data != null ? data.getProperty(ALLOWED_HOSTS) : null;
+ String classes = data != null ? data.getProperty(ALLOWED_CLASSES) : null;
+ String protocols = data != null ? data.getProperty(ALLOWED_PROTOCOLS) : null;
+ List<String> allowedHosts = new ArrayList<>();
+ List<String> allowedClasses = new ArrayList<>();
+ List<String> allowedProtocols = new ArrayList<>();
+ addAll(hosts, allowedHosts, permanentAllowedHosts, ALLOWED_HOSTS, data);
+ addAll(classes, allowedClasses, permanentAllowedClasses, ALLOWED_CLASSES, data);
+ addAll(protocols, allowedProtocols, permanentAllowedProtocols, ALLOWED_PROTOCOLS, data);
try {
- return new JndiManager(name, new InitialContext(data));
+ return new JndiManager(name, new InitialDirContext(data), allowedHosts, allowedClasses,
+ allowedProtocols);
} catch (final NamingException e) {
LOGGER.error("Error creating JNDI InitialContext.", e);
return null;
}
}
+
+ private void addAll(String toSplit, List<String> list, List<String> permanentList, String propertyName,
+ Properties data) {
+ if (toSplit != null) {
+ list.addAll(Arrays.asList(toSplit.split("\\s*,\\s*")));
+ data.remove(propertyName);
+ }
+ toSplit = PropertiesUtil.getProperties().getStringProperty(PREFIX + propertyName);
+ if (toSplit != null) {
+ list.addAll(Arrays.asList(toSplit.split("\\s*,\\s*")));
+ }
+ list.addAll(permanentList);
+ }
}
@Override
diff --git a/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java b/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
index 8a8353e7f907a009cba6664652ab69f25d12201c..661f74f90b1a731f5be76eca6b61b6cec33e2439 100644
--- a/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
+++ b/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
@@ -17,6 +17,8 @@
package org.apache.logging.log4j.core.util;
import java.io.File;
+import java.net.Inet4Address;
+import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.NetworkInterface;
@@ -25,11 +27,14 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.net.UnknownHostException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
+import java.util.List;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.util.Strings;
/**
* Networking-related convenience methods.
@@ -79,6 +84,49 @@ public final class NetUtils {
}
}
+ /**
+ * Returns all the local host names and ip addresses.
+ * @return The local host names and ip addresses.
+ */
+ public static List<String> getLocalIps() {
+ List<String> localIps = new ArrayList<>();
+ localIps.add("localhost");
+ localIps.add("127.0.0.1");
+ try {
+ final InetAddress addr = Inet4Address.getLocalHost();
+ setHostName(addr, localIps);
+ } catch (final UnknownHostException ex) {
+ // Ignore this.
+ }
+ try {
+ final Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
+ if (interfaces != null) {
+ while (interfaces.hasMoreElements()) {
+ final NetworkInterface nic = interfaces.nextElement();
+ final Enumeration<InetAddress> addresses = nic.getInetAddresses();
+ while (addresses.hasMoreElements()) {
+ final InetAddress address = addresses.nextElement();
+ setHostName(address, localIps);
+ }
+ }
+ }
+ } catch (final SocketException se) {
+ // ignore.
+ }
+ return localIps;
+ }
+
+ private static void setHostName(InetAddress address, List<String> localIps) {
+ String[] parts = address.toString().split("\\s*/\\s*");
+ if (parts.length > 0) {
+ for (String part : parts) {
+ if (Strings.isNotBlank(part) && !localIps.contains(part)) {
+ localIps.add(part);
+ }
+ }
+ }
+ }
+
/**
* Returns the local network interface's MAC address if possible. The local network interface is defined here as
* the {@link java.net.NetworkInterface} that is both up and not a loopback interface.

26
scripts/upstreamCommit.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
# requires curl & jq
# upstreamCommit <baseHash>
# param: bashHash - the commit hash to use for comparing commits (baseHash...HEAD)
(
set -e
PS1="$"
paper=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/PaperMC/Paper/compare/$1...HEAD | jq -r '.commits[] | "PaperMC/Paper@\(.sha[:7]) \(.commit.message | split("\r\n")[0] | split("\n")[0])"')
updated=""
logsuffix=""
if [ ! -z "paper" ]; then
logsuffix="$logsuffix\n\nPaper Changes:\n$paper"
updated="Paper"
fi
disclaimer="Upstream has released updates that appear to apply and compile correctly"
log="${UP_LOG_PREFIX}Updated Upstream ($updated)\n\n${disclaimer}${logsuffix}"
echo -e "$log" | git commit -F -
) || exit 1