mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@b89e6a0 Readd more patches PaperMC/Paper@be8ac7a Fix respawn error due to null location PaperMC/Paper@8d91b85 Prioritize vanilla commands in function parsing (#11011)
This commit is contained in:
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
|
||||
version = 1.21-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion = 1.21
|
||||
paperCommit = 8c8b227547fa78b8f3295e4ac8ee066777e04e98
|
||||
paperCommit = 8d91b859cbeb64ecbc3916249fce26a085b320aa
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
@@ -36,10 +36,10 @@ index 92e9a5e38cc60e3ef6d7e2216bf4a85cb2464cdd..47afcbc699a992358871fe90929f71b4
|
||||
public void displayClientMessage(Component message, boolean overlay) {
|
||||
this.sendSystemMessage(message, overlay);
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index ef177f21d654d69c128f3f39ea58f2d8ee598628..2642b0519e05da47694d68c19fc37e30cc2bb6ba 100644
|
||||
index 5f20606cc2c79ad9a4c4d4d6c9e6a2a31a88b282..5263a5eb7860f3b0ae18dbb65f562593630e01ee 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1015,6 +1015,20 @@ public abstract class PlayerList {
|
||||
@@ -1016,6 +1016,20 @@ public abstract class PlayerList {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -81,10 +81,10 @@ index bb1a60180e58c1333e7bb33e8acf1b0225eda8a8..c83e80ebdbbfb2d0e08561a44486a308
|
||||
return this.type().msgId();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2519c08a45ce3febcf51ac308ad98ac0e2657cf3..aafae1a6711a248627abe1bad148a2404c0974e3 100644
|
||||
index 83f3ffdd8fa901b3de580d2359cdb5ead0d762cb..d88b56c7ceb4c46c00126beebf78a00ea173e2ba 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4015,6 +4015,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -4016,6 +4016,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ index 646d1947351eb9dea1e301698ed4a03a96e03f8a..c6aea5dde7fe84800996be05bc44167e
|
||||
this.profiler.push(() -> {
|
||||
String s = String.valueOf(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 2d97ca1f3c625c0206d35b785c57d9587924ed0a..3610c7a9e8415f310653d2769a2cb8d6724a69ba 100644
|
||||
index e079f4db4e4738f60a6fdbdbf5e4d1baf593a62f..0d07bc9b57336191ba788fb1eed24010af33ff3d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -229,6 +229,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -79,10 +79,10 @@ index 7796e191747be545e744564a2b0b65790f69114d..82f60de72bc0f9b01eb97dbc0e296e80
|
||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index aafae1a6711a248627abe1bad148a2404c0974e3..050b54b4b527831316964fb5b2d8b7d86932b2b9 100644
|
||||
index d88b56c7ceb4c46c00126beebf78a00ea173e2ba..2312c0c55c9e6a3555934e3bf9bb08142f30ba20 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -383,7 +383,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -384,7 +384,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
private final Set<String> tags;
|
||||
private final double[] pistonDeltas;
|
||||
private long pistonDeltasGameTime;
|
||||
@@ -91,7 +91,7 @@ index aafae1a6711a248627abe1bad148a2404c0974e3..050b54b4b527831316964fb5b2d8b7d8
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2963,6 +2963,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2964,6 +2964,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ index aafae1a6711a248627abe1bad148a2404c0974e3..050b54b4b527831316964fb5b2d8b7d8
|
||||
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
|
||||
}
|
||||
}
|
||||
@@ -3002,6 +3009,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3003,6 +3010,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return false;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -120,7 +120,7 @@ index aafae1a6711a248627abe1bad148a2404c0974e3..050b54b4b527831316964fb5b2d8b7d8
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4834,4 +4849,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -4835,4 +4850,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end - Expose entity id counter
|
||||
@@ -190,7 +190,7 @@ index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..aa76a24421cdb3908a3544d92eb3d1e3
|
||||
protected ParticleOptions getInkParticle() {
|
||||
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
|
||||
index e980c8c356b30d25e2fc5a73b91ad2c6edd4fe05..661db9eb343b32f97d6e7ccb93e56e24213b6367 100644
|
||||
index b9cef93fe382b666bec04ca95eeaf2d8acbb3c40..1da16005b98be1fc01f277407579516df591e50e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -237,9 +237,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -223,7 +223,7 @@ index e980c8c356b30d25e2fc5a73b91ad2c6edd4fe05..661db9eb343b32f97d6e7ccb93e56e24
|
||||
|
||||
@Override
|
||||
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
|
||||
@@ -3498,8 +3499,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3503,8 +3504,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.pushEntities();
|
||||
this.level().getProfiler().pop();
|
||||
// Paper start - Add EntityMoveEvent
|
||||
@@ -236,7 +236,7 @@ index e980c8c356b30d25e2fc5a73b91ad2c6edd4fe05..661db9eb343b32f97d6e7ccb93e56e24
|
||||
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());
|
||||
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
||||
@@ -3509,6 +3512,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3514,6 +3517,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -1895,7 +1895,7 @@ index 3d03ffe2e12eca82dfa2f414471d12bb362d4552..18dcb67d246b63637d8c948b6c3f48c5
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
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 4bfa947531c4a67989e18032754dabf4c69e989c..960eaebcb12d32bc51026c48e4b5e09effb66dda 100644
|
||||
index caf4120721be8f2f7e2d737abbf73296cbe170b5..7357680b4fdf9250e086ba01531ade2bad7eb07b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -87,6 +87,23 @@ public class Turtle extends Animal {
|
||||
@@ -1920,7 +1920,7 @@ index 4bfa947531c4a67989e18032754dabf4c69e989c..960eaebcb12d32bc51026c48e4b5e09e
|
||||
+ // Purpur end
|
||||
+
|
||||
public void setHomePos(BlockPos pos) {
|
||||
this.entityData.set(Turtle.HOME_POS, pos);
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
@@ -189,6 +206,7 @@ public class Turtle extends Animal {
|
||||
|
||||
|
||||
@@ -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
|
||||
index f332458dbc26bb0e77ca9b7446f4ae800c359d13..6ff9e8bb038e7e1b89796a2e9d271371052ccf22 100644
|
||||
index 2312c0c55c9e6a3555934e3bf9bb08142f30ba20..d2831ea1480607af84beb7ff7796975d876712a5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -168,7 +168,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -34,7 +34,7 @@ index aa76a24421cdb3908a3544d92eb3d1e3c2ebedc4..8211c152e6f4232e82e452b08047e457
|
||||
protected ParticleOptions getInkParticle() {
|
||||
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
|
||||
index 661db9eb343b32f97d6e7ccb93e56e24213b6367..305fb567e5407bbdc9fbc30bf8ce2839e8fb15c9 100644
|
||||
index 1da16005b98be1fc01f277407579516df591e50e..930b3d5e75fd1c1ec717904070b58e66b737c246 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -314,6 +314,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -446,7 +446,7 @@ index 18dcb67d246b63637d8c948b6c3f48c58d71c339..327b1805d9d4069212a8772ff189c9ab
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
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 960eaebcb12d32bc51026c48e4b5e09effb66dda..41d47141bfd77b17cbf163bffdfeb002135035ca 100644
|
||||
index 7357680b4fdf9250e086ba01531ade2bad7eb07b..60736df3b726c6a408c8b6aae6f0bd3e3efd32b0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -104,6 +104,12 @@ public class Turtle extends Animal {
|
||||
@@ -460,7 +460,7 @@ index 960eaebcb12d32bc51026c48e4b5e09effb66dda..41d47141bfd77b17cbf163bffdfeb002
|
||||
+ }
|
||||
+
|
||||
public void setHomePos(BlockPos pos) {
|
||||
this.entityData.set(Turtle.HOME_POS, pos);
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
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 1ae38914582cfb17da882304c8bcba84a7793f79..3268f07668eaa0322aeb77a158dfb2996d16dfcb 100644
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 2642b0519e05da47694d68c19fc37e30cc2bb6ba..8bf5db384a283086334e739942f12e97108d8c2f 100644
|
||||
index 5263a5eb7860f3b0ae18dbb65f562593630e01ee..ce62bea3341dc7b653180da74b156a591b3088d1 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1140,6 +1140,27 @@ public abstract class PlayerList {
|
||||
@@ -1141,6 +1141,27 @@ public abstract class PlayerList {
|
||||
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
||||
this.server.getCommands().sendCommands(player);
|
||||
} // Paper - Add sendOpLevel API
|
||||
@@ -37,7 +37,7 @@ index 2642b0519e05da47694d68c19fc37e30cc2bb6ba..8bf5db384a283086334e739942f12e97
|
||||
|
||||
public boolean isWhiteListed(GameProfile profile) {
|
||||
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 0f7c4e39d5569c8f6387bc003d29d4b7d59d77e0..ce184181529a9743cc6a7685dcb7cf572be65350 100644
|
||||
index 92200ab909a9ecabd75e98d4e15e8759dd2b9c86..9cfaab798a08b749f0920de0e2a9497d55d8d9f2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -196,6 +196,7 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 3610c7a9e8415f310653d2769a2cb8d6724a69ba..149165bfe4bdab02233416677d72e5afd5f64225 100644
|
||||
index 0d07bc9b57336191ba788fb1eed24010af33ff3d..c0690dd005e51b8cd41ffefeac6811c4bdb8c07f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -831,10 +831,18 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -837,10 +837,18 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper - Configurable spawn chances for skeleton horses
|
||||
|
||||
if (flag1) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 9803b348fdcb8a6250277afc8de260777993ac8e..746390a7ccf87476b07f125469ff80f1dd8777c6 100644
|
||||
index d2831ea1480607af84beb7ff7796975d876712a5..4014acb8f83a68c7d3938fdc7a3f002b606ddc1f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -343,6 +343,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -344,6 +344,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
public double xOld;
|
||||
public double yOld;
|
||||
public double zOld;
|
||||
@@ -16,7 +16,7 @@ index 9803b348fdcb8a6250277afc8de260777993ac8e..746390a7ccf87476b07f125469ff80f1
|
||||
public boolean noPhysics;
|
||||
public final RandomSource random;
|
||||
public int tickCount;
|
||||
@@ -4657,7 +4658,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -4658,7 +4659,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
public float maxUpStep() {
|
||||
|
||||
@@ -5,10 +5,10 @@ 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
|
||||
index 305fb567e5407bbdc9fbc30bf8ce2839e8fb15c9..d6c550b11c99dcc5beced14f03317e5973de6550 100644
|
||||
index 930b3d5e75fd1c1ec717904070b58e66b737c246..476fedac37b1cb3b6b75417996685ad0b38b26f4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1831,7 +1831,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1836,7 +1836,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
boolean flag = this.lastHurtByPlayerTime > 0;
|
||||
|
||||
this.dropEquipment(); // CraftBukkit - from below
|
||||
@@ -18,7 +18,7 @@ index 305fb567e5407bbdc9fbc30bf8ce2839e8fb15c9..d6c550b11c99dcc5beced14f03317e59
|
||||
this.dropFromLootTable(damageSource, flag);
|
||||
// Paper start
|
||||
final boolean prev = this.clearEquipmentSlots;
|
||||
@@ -1840,6 +1841,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1845,6 +1846,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
// Paper end
|
||||
this.dropCustomDeathLoot(world, damageSource, flag);
|
||||
this.clearEquipmentSlots = prev; // Paper
|
||||
@@ -27,7 +27,7 @@ index 305fb567e5407bbdc9fbc30bf8ce2839e8fb15c9..d6c550b11c99dcc5beced14f03317e59
|
||||
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
|
||||
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, damageSource, this.drops, () -> {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 437aebf391819fac0d17b1f21d179282a5ff3a4d..8e31ffae5263a2394f9ae04d8ae7f168274da6ff 100644
|
||||
index 2591b4f0d0e4e4d9e77efb821c9ae775182713b6..830ba18f1695bbf4099a9579166e29618206ba83 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -96,6 +96,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Skip events if there's no listeners
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 3e454515360c22a26c9329e4032d525579110d7e..4b8dbdc43e85c08846a4e2ae50e59a6ca59758f3 100644
|
||||
index 1d1e76de60e40224f5cb81893f9ee50fe987badb..7e291ffff86bdcdb8a0a15c211c3f84d6ae18e38 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -518,6 +518,7 @@ public class Commands {
|
||||
@@ -515,6 +515,7 @@ public class Commands {
|
||||
private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
|
||||
// Paper end - Perf: Async command map building
|
||||
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, true).callEvent(); // Paper - Brigadier API
|
||||
@@ -16,7 +16,7 @@ index 3e454515360c22a26c9329e4032d525579110d7e..4b8dbdc43e85c08846a4e2ae50e59a6c
|
||||
PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
|
||||
event.getPlayer().getServer().getPluginManager().callEvent(event);
|
||||
|
||||
@@ -528,6 +529,7 @@ public class Commands {
|
||||
@@ -525,6 +526,7 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 8bf5db384a283086334e739942f12e97108d8c2f..7aec825af7d07b1701519e413432739612527747 100644
|
||||
index ce62bea3341dc7b653180da74b156a591b3088d1..e60111517e9b04a39dcdb36a5f46d8fa868a5adc 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1132,6 +1132,7 @@ public abstract class PlayerList {
|
||||
@@ -1133,6 +1133,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
b0 = (byte) (24 + permissionLevel);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index fee22c6de2faf2dbfb7472fe734a148679f5d026..495f6774d64ee885424e6d069f405bcb92e46742 100644
|
||||
index 4014acb8f83a68c7d3938fdc7a3f002b606ddc1f..bb16b73b6a99ca8fa1b25cc1f8a0aa77c5009d27 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2761,6 +2761,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2762,6 +2762,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
if (this.isAlive() && this instanceof Leashable leashable) {
|
||||
if (leashable.getLeashHolder() == player) {
|
||||
if (!this.level().isClientSide()) {
|
||||
|
||||
@@ -5,10 +5,10 @@ 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
|
||||
index 5d910738b610041487fc63f1657b827c4ca03107..44149646438b03b85c300e9fbb5982c998fa32de 100644
|
||||
index bb16b73b6a99ca8fa1b25cc1f8a0aa77c5009d27..04c6736d792f9341e21ff76f0ee8efaf375f6af3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -912,7 +912,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -913,7 +913,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
|
||||
public void checkBelowWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
@@ -18,10 +18,10 @@ index 5d910738b610041487fc63f1657b827c4ca03107..44149646438b03b85c300e9fbb5982c9
|
||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||
// Paper end - Configurable nether ceiling damage
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index d6c550b11c99dcc5beced14f03317e5973de6550..f51d4d93ce91eff11889f814256fdef36115cc04 100644
|
||||
index 476fedac37b1cb3b6b75417996685ad0b38b26f4..c8e31fd851026123e2938052cad3c5d227aa12cf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2576,7 +2576,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2581,7 +2581,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
protected void onBelowWorld() {
|
||||
@@ -31,7 +31,7 @@ index d6c550b11c99dcc5beced14f03317e5973de6550..f51d4d93ce91eff11889f814256fdef3
|
||||
|
||||
protected void updateSwingTime() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 13da48e261251fec8ef180acceb08b230905bc84..aa42e20e1e960bc0ab28b1215f314c5cc7a31bd0 100644
|
||||
index ed8f3c606984f83b77ca96cbfc8bcd454ad63ff8..022cebe27d305073a05475cb045e863135de5446 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -99,10 +99,14 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 44149646438b03b85c300e9fbb5982c998fa32de..a90bee7735b4b12371a28e57c6cc4ab88e0c9f9c 100644
|
||||
index 04c6736d792f9341e21ff76f0ee8efaf375f6af3..4293e514579b1f4e392e46955d0d535781e9c2b2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -530,6 +530,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -531,6 +531,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return this.getIndirectPassengersStream().anyMatch((entity) -> entity instanceof Player);
|
||||
}
|
||||
// Paper end - rewrite chunk system
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Dispenser curse of binding protection
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index f51d4d93ce91eff11889f814256fdef36115cc04..e7853a16674ee748ebbf378044cb484cfdf6b73e 100644
|
||||
index c8e31fd851026123e2938052cad3c5d227aa12cf..cfd22afaf82b1f88d3d67e11b69ae82af41231cf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -4497,6 +4497,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -4502,6 +4502,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return EquipmentSlot.MAINHAND;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ index 647a4601deace52f8d855f512a73671f82b4762a..d05b1e129eee07434d162e1b949fd563
|
||||
// CraftBukkit start
|
||||
Level world = pointer.level();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index aa42e20e1e960bc0ab28b1215f314c5cc7a31bd0..d5872f83a4345023c75af3cded5c54e0aa0bc550 100644
|
||||
index 022cebe27d305073a05475cb045e863135de5446..68ab094b44d693612dd0858d5a2caa2aae63c75a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -225,6 +225,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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
|
||||
index e7853a16674ee748ebbf378044cb484cfdf6b73e..0c607578b493496e79ea08cdf752828252a66c47 100644
|
||||
index cfd22afaf82b1f88d3d67e11b69ae82af41231cf..7f69f6bd5d4b3e67dc222deec851372e1d40ba98 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3558,7 +3558,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3563,7 +3563,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
int j = i / 10;
|
||||
|
||||
if (j % 2 == 0) {
|
||||
@@ -65,7 +65,7 @@ index f1b2d388a1a40a1d909a2e726f32d6c15e1eb0eb..4934bae61114b49a9f8d0ed044fbb881
|
||||
entityhuman.startAutoSpinAttack(20, 8.0F, stack);
|
||||
if (entityhuman.onGround()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 230aede0b10e0999a6043e2bd0e2fe381a232f9d..79dd69c0e17c07e92b1bf8caf7e8d25ba351cb09 100644
|
||||
index c3f652ff39d9736e1ff2faac1ce8999d99d38524..238cec1e37fcc9ca676a680ee616b43f1312dbd0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -113,6 +113,17 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -27,10 +27,10 @@ index 321188173918d0d60858a258400dfd682ccdb21c..af47074f3a61a8518697d7851e43d543
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 9b81f4c7d504065837bee4533bac978807c35663..edd0f51826ebf77a790bcb8c465a116ab9830922 100644
|
||||
index 9e3a8875bec30db2ec2de9bb0995b2dbb862aa3b..b06d7ac5bb109bf88cf526d3bf5ac1416927a03b 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1592,4 +1592,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -1602,4 +1602,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
return null;
|
||||
}
|
||||
// Paper end - optimize redstone (Alternate Current)
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index d207f9107b2d78bbe5f4eb400f825829ea4f4688..62bf75a8adbe267663b88c2709d042c4b473907c 100644
|
||||
index 131f6aa7678d026c3ea64006693439a45019be95..c0e0725408bf0a3937e19e28b2c05c2b23c9cdf7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1630,6 +1630,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1635,6 +1635,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index d207f9107b2d78bbe5f4eb400f825829ea4f4688..62bf75a8adbe267663b88c2709d042c4
|
||||
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
|
||||
event.setCancelled(itemstack == null);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5053c57bfc39bcc5b383795fe6e85dc9e5d1e421..b16b141e0f44211579adae187e48b8c2224537f5 100644
|
||||
index 41e07eec0ba1cc2e31b967fdc616e59f7cd76b28..d320a16646d0e15278c7d459f49627293b96a0f9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -242,6 +242,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index ae9c6d929a9aae184e6bc06aab8ae1767cabee3b..8ab7afec7dea74dbc5c28e91ac8911a5263fd50e 100644
|
||||
index 4293e514579b1f4e392e46955d0d535781e9c2b2..963482bc8eeaa421453950cb831b2365a57b8b58 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4319,6 +4319,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -4320,6 +4320,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return Mth.lerp(delta, this.yRotO, this.yRot);
|
||||
}
|
||||
|
||||
|
||||
@@ -268,7 +268,7 @@ index a14db0ec9ebcde24d5b7340a08002eddc8ebd421..fb429dce94bfad6aba3c63a4694e7c8d
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
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 41d47141bfd77b17cbf163bffdfeb002135035ca..8f02a1b39db0581efb8ccd2c889f048bfd7b3e04 100644
|
||||
index 60736df3b726c6a408c8b6aae6f0bd3e3efd32b0..751fe2afdea34a6776d428675c3924112668d530 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -110,6 +110,11 @@ public class Turtle extends Animal {
|
||||
@@ -281,7 +281,7 @@ index 41d47141bfd77b17cbf163bffdfeb002135035ca..8f02a1b39db0581efb8ccd2c889f048b
|
||||
+ }
|
||||
+
|
||||
public void setHomePos(BlockPos pos) {
|
||||
this.entityData.set(Turtle.HOME_POS, pos);
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
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 3268f07668eaa0322aeb77a158dfb2996d16dfcb..da375fb6907e0c46ed176bc76a84f2666227547c 100644
|
||||
|
||||
@@ -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
|
||||
index 62bf75a8adbe267663b88c2709d042c4b473907c..fc560ddef3542f9bf566917c3af9072857f1bd04 100644
|
||||
index c0e0725408bf0a3937e19e28b2c05c2b23c9cdf7..2c2af2b2fcebb17c2aeb7431e79d3d82dfe898fc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1808,7 +1808,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1813,7 +1813,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
boolean flag = false;
|
||||
|
||||
if (this.dead && adversary instanceof WitherBoss) { // Paper
|
||||
|
||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index f23e932e86a92a796e56d1e994d3d631ad39c8ff..295acb77be8a2219e1f6cfe6e215695d763cfbd9 100644
|
||||
index 963482bc8eeaa421453950cb831b2365a57b8b58..401ecc34f385e1be22440e8988bb7cfaff10f6e2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1822,7 +1822,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1823,7 +1823,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return this.isInWater() || flag;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ index a37054d39ee142e5f3ca3c5e1e3a15c150a3ba32..ea3cad6c9cc561b225cd41f04bd204c9
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 001547cc8fca4d6f5b88c9f7b4f759fd1776018b..43ed2d8376784a7b674d6ec3716399a7c04fd1bb 100644
|
||||
index 6958742eb8bafab17f79bb29137dde3f9d9ba5e2..fe262538b7c4f3f69cb481303d4b16b55e8b1082 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -100,10 +100,16 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -17,10 +17,10 @@ index a1ef38422631b3856160e054daa14eacb8f13c57..794f5ccc2147ad101e06576a704bb153
|
||||
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
|
||||
this.connection.resetPosition();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index f63430ca14b746419103994e03707610fcc059bf..d729c66ef03339b2a7cd982082c2e646601e2441 100644
|
||||
index 401ecc34f385e1be22440e8988bb7cfaff10f6e2..a96985384f7b44470f5d3961371ba7764a8078ab 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3102,13 +3102,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3103,13 +3103,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
|
||||
@@ -379,7 +379,7 @@ index 327b1805d9d4069212a8772ff189c9ab24ae1183..4ac998e9d96aed3b0ea0ec3f9dcd5fdd
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
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 8f02a1b39db0581efb8ccd2c889f048bfd7b3e04..49e6479d7aece02c4fedc86aa83e5e0a982381cc 100644
|
||||
index 751fe2afdea34a6776d428675c3924112668d530..099fd99cf3d455329487fbbf572bb0b27b662e72 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -115,6 +115,11 @@ public class Turtle extends Animal {
|
||||
@@ -392,7 +392,7 @@ index 8f02a1b39db0581efb8ccd2c889f048bfd7b3e04..49e6479d7aece02c4fedc86aa83e5e0a
|
||||
+ }
|
||||
+
|
||||
public void setHomePos(BlockPos pos) {
|
||||
this.entityData.set(Turtle.HOME_POS, pos);
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
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 edf12c4f81f8a113a87b70bf4ab91888fc648cd5..43fcaa66b1c3a53a625aca63c50793e91b97d30f 100644
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index d729c66ef03339b2a7cd982082c2e646601e2441..99562b8eb24c39a1771edf4b9084c26179c4f382 100644
|
||||
index a96985384f7b44470f5d3961371ba7764a8078ab..13afec25f9d08401d9c5adee211e422159f2ba02 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3321,7 +3321,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3322,7 +3322,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
public int getMaxAirSupply() {
|
||||
@@ -18,7 +18,7 @@ index d729c66ef03339b2a7cd982082c2e646601e2441..99562b8eb24c39a1771edf4b9084c261
|
||||
|
||||
public int getAirSupply() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index d76e8cf2a2d48548b0ad33c78dbf435b61bf91c4..da28941d9a374be39cf7c1620f48ddaaa89a9010 100644
|
||||
index 6e00e7a1cd6916a482dca9d55ca70c8baf6df6a9..b1e50b7617e06a58ae0b381ce2b32bee0afc139e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -474,7 +474,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
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
|
||||
index 99562b8eb24c39a1771edf4b9084c26179c4f382..586410044c969569f8b55b0b71b08faa8a2bb578 100644
|
||||
index 13afec25f9d08401d9c5adee211e422159f2ba02..0d4eb7fb3a62db8691d49d6963aec7ca5a5240c9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -536,6 +536,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -537,6 +537,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -33,7 +33,7 @@ index 99562b8eb24c39a1771edf4b9084c26179c4f382..586410044c969569f8b55b0b71b08faa
|
||||
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
|
||||
this.passengers = ImmutableList.of();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index ee48e98e6981225b486ea933d51fb4b9cc73fa18..9367e0f148d3aa9a60dfd8881a3c337630a53129 100644
|
||||
index 6da2be7115f50f1839f3610bfdd4262f70d11b07..8b6f8c6dd4c7acbceb0925bd6fd3d23e5186a578 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -64,7 +64,7 @@ index ee48e98e6981225b486ea933d51fb4b9cc73fa18..9367e0f148d3aa9a60dfd8881a3c3376
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -3580,6 +3587,34 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3585,6 +3592,34 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().drown(), 1.0F);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ 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
|
||||
index f2362ebe16440fd611ed80f056294c28611cf944..0db8ecab2a27410059c7c131a4a903ee543e1801 100644
|
||||
index a1dcda6339f29bf361c62440669a7443e0a5959d..ddb2e8d5a692cd76d67f867fc8bcca3c9b24bab3 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -994,7 +994,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1013,7 +1013,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
return holder.is(PoiTypes.LIGHTNING_ROD);
|
||||
}, (blockposition1) -> {
|
||||
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
|
||||
|
||||
@@ -5,10 +5,10 @@ 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
|
||||
index 0db8ecab2a27410059c7c131a4a903ee543e1801..0faac1e8358b7095190f170e981874d52eb31914 100644
|
||||
index ddb2e8d5a692cd76d67f867fc8bcca3c9b24bab3..be87e350b0d808305a389baf447c0ed00b1cbfc0 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1043,11 +1043,27 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1062,11 +1062,27 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
if (this.canSleepThroughNights()) {
|
||||
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
|
||||
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
|
||||
@@ -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
|
||||
index 9367e0f148d3aa9a60dfd8881a3c337630a53129..6b76ca326d08853a8a508ec22d7bc6cf370223dd 100644
|
||||
index 8b6f8c6dd4c7acbceb0925bd6fd3d23e5186a578..d8be57f2ff13c9492acb1d07c1aa6198793832d8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2983,6 +2983,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2988,6 +2988,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (f3 > 0.0F) {
|
||||
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);
|
||||
|
||||
@@ -5,10 +5,10 @@ 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
|
||||
index 0faac1e8358b7095190f170e981874d52eb31914..3f5460eef103b0c664f52838fb4f7e000c216879 100644
|
||||
index be87e350b0d808305a389baf447c0ed00b1cbfc0..ebcf9afd13940922f288d651afff32fdbcf36317 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1203,6 +1203,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1222,6 +1222,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@VisibleForTesting
|
||||
public void resetWeatherCycle() {
|
||||
// CraftBukkit start
|
||||
@@ -16,7 +16,7 @@ index 0faac1e8358b7095190f170e981874d52eb31914..3f5460eef103b0c664f52838fb4f7e00
|
||||
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents
|
||||
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
||||
// Not that everyone ever manages to get the whole server to sleep at the same time....
|
||||
@@ -1210,6 +1211,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1229,6 +1230,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
this.serverLevelData.setRainTime(0);
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -373,7 +373,7 @@ index 4ac998e9d96aed3b0ea0ec3f9dcd5fdd74c45d24..2d04addd17d2c358fff598012b323cd7
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
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 49e6479d7aece02c4fedc86aa83e5e0a982381cc..55d83c57d76e73d73dca1400f4c0c18661d49a94 100644
|
||||
index 099fd99cf3d455329487fbbf572bb0b27b662e72..15a8c4e2772e1529204e3892914e49f9a17852aa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -120,6 +120,11 @@ public class Turtle extends Animal {
|
||||
@@ -386,7 +386,7 @@ index 49e6479d7aece02c4fedc86aa83e5e0a982381cc..55d83c57d76e73d73dca1400f4c0c186
|
||||
+ }
|
||||
+
|
||||
public void setHomePos(BlockPos pos) {
|
||||
this.entityData.set(Turtle.HOME_POS, pos);
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
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 b79707bafd7c18eda8ea64bc33d2262515d80642..a2df7cf565157db2f8e0f0d33778c8d8dea1cd95 100644
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 3f5460eef103b0c664f52838fb4f7e000c216879..dfb25c24237d98159e3c58b3d800c6ab5dc5e81b 100644
|
||||
index ebcf9afd13940922f288d651afff32fdbcf36317..744702d92ba01f2fe889d4bd989e8687b558a7a9 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -2598,7 +2598,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -2617,7 +2617,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
// Spigot Start
|
||||
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
|
||||
// Paper start - Fix merchant inventory not closing on entity removal
|
||||
|
||||
@@ -7,10 +7,10 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
|
||||
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 586410044c969569f8b55b0b71b08faa8a2bb578..ef24ef826ab825ce0a22ff3c5ad84d9494d63aef 100644
|
||||
index 0d4eb7fb3a62db8691d49d6963aec7ca5a5240c9..126f0ddc96193d482ebe00ff157fe08b0a641a9d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -559,7 +559,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -560,7 +560,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.bb = Entity.INITIAL_AABB;
|
||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
this.nextStep = 1.0F;
|
||||
|
||||
@@ -336,7 +336,7 @@ index 64ed296cfbe7e5d27286b8cee70454fd1d99ebb0..be22cbe607876fdf39120d6957db5411
|
||||
gameprofilerfiller.pop();
|
||||
gameprofilerfiller.pop();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index dfb25c24237d98159e3c58b3d800c6ab5dc5e81b..c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3 100644
|
||||
index 744702d92ba01f2fe889d4bd989e8687b558a7a9..c4dfa08163f563218eac34941abaff0159517dbe 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -703,7 +703,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -409,25 +409,25 @@ index dfb25c24237d98159e3c58b3d800c6ab5dc5e81b..c2aaca3cdc77f14e1d19eb4ac8cbf10a
|
||||
gameprofilerfiller.pop();
|
||||
this.tickBlockEntities();
|
||||
}
|
||||
@@ -911,7 +911,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -920,7 +920,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
} // Paper - Option to disable ice and snow
|
||||
|
||||
gameprofilerfiller.popPush("tickBlocks");
|
||||
- timings.chunkTicksBlocks.startTiming(); // Paper
|
||||
+ //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
|
||||
if (randomTickSpeed > 0) {
|
||||
LevelChunkSection[] achunksection = chunk.getSections();
|
||||
|
||||
@@ -944,7 +944,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
}
|
||||
// Paper start - optimize random block ticking
|
||||
LevelChunkSection[] sections = chunk.getSections();
|
||||
@@ -954,7 +954,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
}
|
||||
// Paper end - optimise random block ticking
|
||||
|
||||
- timings.chunkTicksBlocks.stopTiming(); // Paper
|
||||
+ //timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
|
||||
gameprofilerfiller.pop();
|
||||
}
|
||||
|
||||
@@ -1268,8 +1268,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1287,8 +1287,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
// Spigot end
|
||||
// Paper start- timings
|
||||
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
|
||||
@@ -438,7 +438,7 @@ index dfb25c24237d98159e3c58b3d800c6ab5dc5e81b..c2aaca3cdc77f14e1d19eb4ac8cbf10a
|
||||
// Paper end - timings
|
||||
entity.setOldPosAndRot();
|
||||
ProfilerFiller gameprofilerfiller = this.getProfiler();
|
||||
@@ -1285,7 +1285,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1304,7 +1304,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
entity.postTick(); // CraftBukkit
|
||||
} else { entity.inactiveTick(); } // Paper - EAR 2
|
||||
this.getProfiler().pop();
|
||||
@@ -447,7 +447,7 @@ index dfb25c24237d98159e3c58b3d800c6ab5dc5e81b..c2aaca3cdc77f14e1d19eb4ac8cbf10a
|
||||
Iterator iterator = entity.getPassengers().iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -1302,8 +1302,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1321,8 +1321,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
|
||||
// Paper - EAR 2
|
||||
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger);
|
||||
@@ -458,7 +458,7 @@ index dfb25c24237d98159e3c58b3d800c6ab5dc5e81b..c2aaca3cdc77f14e1d19eb4ac8cbf10a
|
||||
// Paper end
|
||||
passenger.setOldPosAndRot();
|
||||
++passenger.tickCount;
|
||||
@@ -1333,7 +1333,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1352,7 +1352,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
this.tickPassenger(passenger, entity2);
|
||||
}
|
||||
|
||||
@@ -467,7 +467,7 @@ index dfb25c24237d98159e3c58b3d800c6ab5dc5e81b..c2aaca3cdc77f14e1d19eb4ac8cbf10a
|
||||
}
|
||||
} else {
|
||||
passenger.stopRiding();
|
||||
@@ -1355,7 +1355,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1374,7 +1374,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
|
||||
if (!savingDisabled) {
|
||||
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(this.getWorld())); // CraftBukkit
|
||||
@@ -476,7 +476,7 @@ index dfb25c24237d98159e3c58b3d800c6ab5dc5e81b..c2aaca3cdc77f14e1d19eb4ac8cbf10a
|
||||
if (progressListener != null) {
|
||||
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
|
||||
}
|
||||
@@ -1365,10 +1365,10 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1384,10 +1384,10 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
progressListener.progressStage(Component.translatable("menu.savingChunks"));
|
||||
}
|
||||
|
||||
@@ -491,10 +491,10 @@ index dfb25c24237d98159e3c58b3d800c6ab5dc5e81b..c2aaca3cdc77f14e1d19eb4ac8cbf10a
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 7b215f334c75d0e8714c3a9b3efef46272fa1ceb..10c59d30da3c4713fb7cdcf2e600508c0dd3acf0 100644
|
||||
index 3b3403e07023a70f9d53c22a288cb68925ed6f21..74c6f43a26ca1b36e7121dddd9f065b2a9254493 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1220,11 +1220,11 @@ public abstract class PlayerList {
|
||||
@@ -1221,11 +1221,11 @@ public abstract class PlayerList {
|
||||
|
||||
public void saveAll() {
|
||||
io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
|
||||
@@ -558,7 +558,7 @@ index 85b4b24361e785acf75571ff98f924c00ae80748..09a7b418ddf564c0be13297f7c216db2
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 9810b1cb4c771a01df93fd45e2f94019edabf6a5..1b85d31a81404ea817c892ac0bd055058fe8f079 100644
|
||||
index cf9525f94058e9c3e84d71b08b49c21c960f6e99..ff97d43ca93dfd204d42be45233885312b9a6b93 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -990,15 +990,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -580,7 +580,7 @@ index 9810b1cb4c771a01df93fd45e2f94019edabf6a5..1b85d31a81404ea817c892ac0bd05505
|
||||
// Spigot start
|
||||
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
|
||||
boolean flag = this.tickRateManager().runsNormally();
|
||||
@@ -1027,7 +1027,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -1029,7 +1029,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
}
|
||||
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Remove Mojang Profiler
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index c32d172c161e6e537ee8e60b36bcb402e1ddb876..03c6ed862cc391b104b6c0ff0b8adf62824d293d 100644
|
||||
index a66e2d78722847dec4e9d4aba8e6968ef009fcf4..24cb04cd33cfe578286c85a892b20bbf3fc843e6 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -165,7 +165,7 @@ public class Commands {
|
||||
@@ -17,7 +17,7 @@ index c32d172c161e6e537ee8e60b36bcb402e1ddb876..03c6ed862cc391b104b6c0ff0b8adf62
|
||||
DefaultGameModeCommands.register(this.dispatcher);
|
||||
DifficultyCommand.register(this.dispatcher);
|
||||
EffectCommands.register(this.dispatcher, commandRegistryAccess);
|
||||
@@ -349,9 +349,9 @@ public class Commands {
|
||||
@@ -346,9 +346,9 @@ public class Commands {
|
||||
// Paper end
|
||||
CommandSourceStack commandlistenerwrapper = (CommandSourceStack) parseresults.getContext().getSource();
|
||||
|
||||
@@ -29,7 +29,7 @@ index c32d172c161e6e537ee8e60b36bcb402e1ddb876..03c6ed862cc391b104b6c0ff0b8adf62
|
||||
ContextChain contextchain = this.finishParsing(parseresults, s, commandlistenerwrapper, label); // CraftBukkit // Paper - Add UnknownCommandEvent
|
||||
|
||||
try {
|
||||
@@ -381,7 +381,7 @@ public class Commands {
|
||||
@@ -378,7 +378,7 @@ public class Commands {
|
||||
Commands.LOGGER.error("'/{}' threw an exception", s, exception);
|
||||
}
|
||||
} finally {
|
||||
@@ -585,7 +585,7 @@ index be22cbe607876fdf39120d6957db541146e6e589..63b03939a15150eeafc0498a6c810153
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3..72f529cbe455377c2a2b4938693fa7858fc2ce9c 100644
|
||||
index c4dfa08163f563218eac34941abaff0159517dbe..099be5d1b510866fb7294b304ce294e0dc591c80 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -661,16 +661,16 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -711,7 +711,7 @@ index c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3..72f529cbe455377c2a2b4938693fa785
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -861,9 +861,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -865,9 +865,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
boolean flag = this.isRaining();
|
||||
int j = chunkcoordintpair.getMinBlockX();
|
||||
int k = chunkcoordintpair.getMinBlockZ();
|
||||
@@ -720,10 +720,10 @@ index c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3..72f529cbe455377c2a2b4938693fa785
|
||||
|
||||
- gameprofilerfiller.push("thunder");
|
||||
+ //gameprofilerfiller.push("thunder"); // Purpur
|
||||
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder
|
||||
BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15));
|
||||
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
|
||||
|
||||
@@ -900,7 +900,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder
|
||||
@@ -906,7 +906,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -732,7 +732,7 @@ index c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3..72f529cbe455377c2a2b4938693fa785
|
||||
|
||||
if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow
|
||||
for (int l = 0; l < randomTickSpeed; ++l) {
|
||||
@@ -910,7 +910,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -919,7 +919,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
}
|
||||
} // Paper - Option to disable ice and snow
|
||||
|
||||
@@ -740,26 +740,9 @@ index c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3..72f529cbe455377c2a2b4938693fa785
|
||||
+ //gameprofilerfiller.popPush("tickBlocks"); // Purpur
|
||||
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
|
||||
if (randomTickSpeed > 0) {
|
||||
LevelChunkSection[] achunksection = chunk.getSections();
|
||||
@@ -925,7 +925,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
for (int l1 = 0; l1 < randomTickSpeed; ++l1) {
|
||||
BlockPos blockposition1 = this.getBlockRandomPos(j, k1, k, 15);
|
||||
|
||||
- gameprofilerfiller.push("randomTick");
|
||||
+ //gameprofilerfiller.push("randomTick"); // Purpur
|
||||
BlockState iblockdata = chunksection.getBlockState(blockposition1.getX() - j, blockposition1.getY() - k1, blockposition1.getZ() - k);
|
||||
|
||||
if (iblockdata.isRandomlyTicking()) {
|
||||
@@ -938,14 +938,14 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
fluid.randomTick(this, blockposition1, this.random);
|
||||
}
|
||||
|
||||
- gameprofilerfiller.pop();
|
||||
+ //gameprofilerfiller.pop(); // Purpur
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Paper start - optimize random block ticking
|
||||
@@ -955,7 +955,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
// Paper end - optimise random block ticking
|
||||
|
||||
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
|
||||
- gameprofilerfiller.pop();
|
||||
@@ -767,7 +750,7 @@ index c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3..72f529cbe455377c2a2b4938693fa785
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -1272,19 +1272,19 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1291,19 +1291,19 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
//try { // Purpur
|
||||
// Paper end - timings
|
||||
entity.setOldPosAndRot();
|
||||
@@ -792,7 +775,7 @@ index c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3..72f529cbe455377c2a2b4938693fa785
|
||||
//} finally { timer.stopTiming(); } // Paper - timings // Purpur
|
||||
Iterator iterator = entity.getPassengers().iterator();
|
||||
|
||||
@@ -1307,12 +1307,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1326,12 +1326,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
// Paper end
|
||||
passenger.setOldPosAndRot();
|
||||
++passenger.tickCount;
|
||||
@@ -809,7 +792,7 @@ index c2aaca3cdc77f14e1d19eb4ac8cbf10a3ae0b6d3..72f529cbe455377c2a2b4938693fa785
|
||||
// Paper start - EAR 2
|
||||
if (isActive) {
|
||||
passenger.rideTick();
|
||||
@@ -1324,7 +1324,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1343,7 +1343,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
vehicle.positionRider(passenger);
|
||||
}
|
||||
// Paper end - EAR 2
|
||||
@@ -1078,10 +1061,10 @@ index a715ecf4a8ac91d3e5e5c6269d89e54b2c1cd279..223c3665126c576eddb1a8f7c9f5bc60
|
||||
};
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4afd7ad8142 100644
|
||||
index 126f0ddc96193d482ebe00ff157fe08b0a641a9d..badf612b7ef717996037b7eacecd74a7ada6c371 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -859,7 +859,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -860,7 +860,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
// CraftBukkit end
|
||||
|
||||
public void baseTick() {
|
||||
@@ -1090,7 +1073,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Prevent entity loading causing async lookups
|
||||
this.inBlockState = null;
|
||||
if (this.isPassenger() && this.getVehicle().isRemoved()) {
|
||||
@@ -924,7 +924,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -925,7 +925,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
Leashable.tickLeash((Entity & Leashable) this); // CraftBukkit - decompile error
|
||||
}
|
||||
|
||||
@@ -1099,7 +1082,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
}
|
||||
|
||||
public void setSharedFlagOnFire(boolean onFire) {
|
||||
@@ -1102,7 +1102,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1103,7 +1103,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1108,7 +1091,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
|
||||
movement = movement.multiply(this.stuckSpeedMultiplier);
|
||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
@@ -1111,7 +1111,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1112,7 +1112,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
// Paper start - ignore movement changes while inactive.
|
||||
if (isTemporarilyActive && !(this instanceof ItemEntity) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
|
||||
setDeltaMovement(Vec3.ZERO);
|
||||
@@ -1117,7 +1100,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
return;
|
||||
}
|
||||
// Paper end
|
||||
@@ -1132,8 +1132,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1133,8 +1133,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
|
||||
}
|
||||
|
||||
@@ -1128,7 +1111,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
boolean flag = !Mth.equal(movement.x, vec3d1.x);
|
||||
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
|
||||
|
||||
@@ -1152,7 +1152,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1153,7 +1153,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
|
||||
this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition);
|
||||
if (this.isRemoved()) {
|
||||
@@ -1137,7 +1120,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
} else {
|
||||
if (this.horizontalCollision) {
|
||||
Vec3 vec3d2 = this.getDeltaMovement();
|
||||
@@ -1255,7 +1255,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1256,7 +1256,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.setRemainingFireTicks(-this.getFireImmuneTicks());
|
||||
}
|
||||
|
||||
@@ -1146,7 +1129,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3142,7 +3142,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3143,7 +3143,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.processPortalCooldown();
|
||||
if (this.portalProcess != null) {
|
||||
if (this.portalProcess.processPortalTeleportation(worldserver, this, this.canUsePortal(false))) {
|
||||
@@ -1155,7 +1138,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
this.setPortalCooldown();
|
||||
DimensionTransition dimensiontransition = this.portalProcess.getPortalDestination(worldserver, this);
|
||||
|
||||
@@ -3154,7 +3154,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3155,7 +3155,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1164,7 +1147,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
} else if (this.portalProcess.hasExpired()) {
|
||||
this.portalProcess = null;
|
||||
}
|
||||
@@ -3655,7 +3655,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3656,7 +3656,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1173,7 +1156,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
Entity entity2 = worldserver1.dimension() == worldserver.dimension() ? this : this.getType().create(worldserver1);
|
||||
|
||||
if (entity2 != null) {
|
||||
@@ -3691,7 +3691,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3692,7 +3692,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
teleportTarget.postDimensionTransition().onTransition(entity2);
|
||||
}
|
||||
|
||||
@@ -1183,7 +1166,7 @@ index ef24ef826ab825ce0a22ff3c5ad84d9494d63aef..8b234996acfcb9f22e32ce94984ae4af
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index a9833d805aa51755a15fd98ca546c119e7e4bdf9..c8c931135133ef3d1d491034d578d9af47d9a9bd 100644
|
||||
index d739cebb744be5936487721dd282bc179dc1c1ee..40b32d8af233a880ed4d9d05160c5efb873243a0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -445,7 +445,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1204,7 +1187,7 @@ index a9833d805aa51755a15fd98ca546c119e7e4bdf9..c8c931135133ef3d1d491034d578d9af
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -3217,10 +3217,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3222,10 +3222,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.run += (f3 - this.run) * 0.3F;
|
||||
@@ -1218,7 +1201,7 @@ index a9833d805aa51755a15fd98ca546c119e7e4bdf9..c8c931135133ef3d1d491034d578d9af
|
||||
|
||||
// Paper start - stop large pitch and yaw changes from crashing the server
|
||||
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
|
||||
@@ -3232,7 +3232,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3237,7 +3237,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
|
||||
// Paper end
|
||||
|
||||
@@ -1227,7 +1210,7 @@ index a9833d805aa51755a15fd98ca546c119e7e4bdf9..c8c931135133ef3d1d491034d578d9af
|
||||
this.animStep += f2;
|
||||
if (this.isFallFlying()) {
|
||||
++this.fallFlyTicks;
|
||||
@@ -3472,19 +3472,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3477,19 +3477,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.setDeltaMovement(d0, d1, d2);
|
||||
@@ -1252,7 +1235,7 @@ index a9833d805aa51755a15fd98ca546c119e7e4bdf9..c8c931135133ef3d1d491034d578d9af
|
||||
if (this.jumping && this.isAffectedByFluids()) {
|
||||
double d3;
|
||||
|
||||
@@ -3511,8 +3511,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3516,8 +3516,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.noJumpDelay = 0;
|
||||
}
|
||||
|
||||
@@ -1263,7 +1246,7 @@ index a9833d805aa51755a15fd98ca546c119e7e4bdf9..c8c931135133ef3d1d491034d578d9af
|
||||
this.xxa *= 0.98F;
|
||||
this.zza *= 0.98F;
|
||||
this.updateFallFlying();
|
||||
@@ -3537,8 +3537,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3542,8 +3542,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.travel(vec3d1);
|
||||
}
|
||||
|
||||
@@ -1274,7 +1257,7 @@ index a9833d805aa51755a15fd98ca546c119e7e4bdf9..c8c931135133ef3d1d491034d578d9af
|
||||
if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API
|
||||
int i = this.getTicksFrozen();
|
||||
|
||||
@@ -3555,15 +3555,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3560,15 +3560,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().freeze(), 1.0F);
|
||||
}
|
||||
|
||||
@@ -1806,7 +1789,7 @@ index bff83fe413c7baef4ba56a3270ea4463a58c792f..3ee7bf7e10f8120258baaae8f77cdcbb
|
||||
|
||||
if (this.fire) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 1b85d31a81404ea817c892ac0bd055058fe8f079..9b7831f326e6cf8f84e5c420749b43cd7edcfd87 100644
|
||||
index ff97d43ca93dfd204d42be45233885312b9a6b93..743a3203b035846aecec1c329b66fe3a1cbf21f5 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -268,7 +268,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -1839,7 +1822,7 @@ index 1b85d31a81404ea817c892ac0bd055058fe8f079..9b7831f326e6cf8f84e5c420749b43cd
|
||||
//this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
|
||||
this.tickingBlockEntities = true;
|
||||
if (!this.pendingBlockEntityTickers.isEmpty()) {
|
||||
@@ -1030,7 +1030,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -1032,7 +1032,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
//this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
|
||||
this.tickingBlockEntities = false;
|
||||
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
|
||||
@@ -1848,7 +1831,7 @@ index 1b85d31a81404ea817c892ac0bd055058fe8f079..9b7831f326e6cf8f84e5c420749b43cd
|
||||
this.spigotConfig.currentPrimedTnt = 0; // Spigot
|
||||
}
|
||||
|
||||
@@ -1235,7 +1235,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -1237,7 +1237,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
|
||||
@Override
|
||||
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
|
||||
@@ -1857,7 +1840,7 @@ index 1b85d31a81404ea817c892ac0bd055058fe8f079..9b7831f326e6cf8f84e5c420749b43cd
|
||||
// Paper start - rewrite chunk system
|
||||
final List<Entity> ret = new java.util.ArrayList<>();
|
||||
|
||||
@@ -1261,7 +1261,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -1263,7 +1263,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest,
|
||||
final AABB boundingBox, final Predicate<? super T> predicate,
|
||||
final List<? super T> into, final int maxCount) {
|
||||
@@ -1866,7 +1849,7 @@ index 1b85d31a81404ea817c892ac0bd055058fe8f079..9b7831f326e6cf8f84e5c420749b43cd
|
||||
|
||||
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
|
||||
if (maxCount != Integer.MAX_VALUE) {
|
||||
@@ -1556,6 +1556,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -1566,6 +1566,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
}
|
||||
|
||||
public ProfilerFiller getProfiler() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 541fbd5b90cc6a2dd98733bc90602256d2ef59ed..58afe42685536bed08b24ddcf11404b5a4d6c7cd 100644
|
||||
index badf612b7ef717996037b7eacecd74a7ada6c371..53bc3cde4075dc01f2449de413563c7f5f3ab8c9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -430,6 +430,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -431,6 +431,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
private UUID originWorld;
|
||||
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
|
||||
public boolean fixedPose = false; // Paper - Expand Pose API
|
||||
@@ -16,7 +16,7 @@ index 541fbd5b90cc6a2dd98733bc90602256d2ef59ed..58afe42685536bed08b24ddcf11404b5
|
||||
|
||||
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||
this.origin = location.toVector();
|
||||
@@ -1765,7 +1766,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1766,7 +1767,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
public boolean fireImmune() {
|
||||
@@ -25,7 +25,7 @@ index 541fbd5b90cc6a2dd98733bc90602256d2ef59ed..58afe42685536bed08b24ddcf11404b5
|
||||
}
|
||||
|
||||
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
||||
@@ -2474,6 +2475,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2475,6 +2476,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
nbttagcompound.putBoolean("Paper.FreezeLock", true);
|
||||
}
|
||||
// Paper end
|
||||
@@ -37,7 +37,7 @@ index 541fbd5b90cc6a2dd98733bc90602256d2ef59ed..58afe42685536bed08b24ddcf11404b5
|
||||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
||||
@@ -2621,6 +2627,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2622,6 +2628,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 11fd2c306979c9e8d85ff563b098426b94859146..4a3a05324d1c732abc344c17242368a3cbaf81f3 100644
|
||||
index 53bc3cde4075dc01f2449de413563c7f5f3ab8c9..2b93f9b006ec01a77354d6571563fe3bf3d774c8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -938,6 +938,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -939,6 +939,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||
// Paper end - Configurable nether ceiling damage
|
||||
|
||||
@@ -5,31 +5,31 @@ Subject: [PATCH] Configurable-villager-search-radius
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
|
||||
index e8aa27547e3fa1a42720889c7038d4fb0273e7b5..2638c5502016da62c54ec02a1d62834cba8e69d3 100644
|
||||
index e1b6fe9ecda25f86431baf414f1bfd3a26a8b2bd..ecd1bbd17cb0134cf1f4e99a3fea9e205d38f46b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/AcquirePoi.java
|
||||
@@ -72,7 +72,7 @@ public class AcquirePoi {
|
||||
}
|
||||
@@ -73,7 +73,7 @@ public class AcquirePoi {
|
||||
};
|
||||
Set<Pair<Holder<PoiType>, BlockPos>> set = poiManager.findAllClosestFirstWithType(
|
||||
- poiPredicate, predicate2, entity.blockPosition(), 48, PoiManager.Occupancy.HAS_SPACE
|
||||
+ poiPredicate, predicate2, entity.blockPosition(), world.purpurConfig.villagerAcquirePoiSearchRadius, PoiManager.Occupancy.HAS_SPACE // Purpur
|
||||
)
|
||||
.limit(5L)
|
||||
.collect(Collectors.toSet());
|
||||
// Paper start - optimise POI access
|
||||
java.util.List<Pair<Holder<PoiType>, BlockPos>> poiposes = new java.util.ArrayList<>();
|
||||
- io.papermc.paper.util.PoiAccess.findNearestPoiPositions(poiManager, poiPredicate, predicate2, entity.blockPosition(), 48, 48*48, PoiManager.Occupancy.HAS_SPACE, false, 5, poiposes);
|
||||
+ io.papermc.paper.util.PoiAccess.findNearestPoiPositions(poiManager, poiPredicate, predicate2, entity.blockPosition(), world.purpurConfig.villagerAcquirePoiSearchRadius, world.purpurConfig.villagerAcquirePoiSearchRadius*world.purpurConfig.villagerAcquirePoiSearchRadius, PoiManager.Occupancy.HAS_SPACE, false, 5, poiposes); // Purpur
|
||||
Set<Pair<Holder<PoiType>, BlockPos>> set = new java.util.HashSet<>(poiposes);
|
||||
// Paper end - optimise POI access
|
||||
Path path = findPathToPois(entity, set);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java
|
||||
index d5a549f08b98c80a5cf0eef02cb8a389c32dfecb..222c87e80cb089867ce9a7d2dceebe21b4bfe0de 100644
|
||||
index 92731b6b593289e9f583c9b705b219e81fcd8e73..9104d7010bda6f9f73b478c11490ef9c53f76da2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/NearestBedSensor.java
|
||||
@@ -54,7 +54,7 @@ public class NearestBedSensor extends Sensor<Mob> {
|
||||
}
|
||||
};
|
||||
Set<Pair<Holder<PoiType>, BlockPos>> set = poiManager.findAllWithType(
|
||||
- holder -> holder.is(PoiTypes.HOME), predicate, entity.blockPosition(), 48, PoiManager.Occupancy.ANY
|
||||
+ holder -> holder.is(PoiTypes.HOME), predicate, entity.blockPosition(), world.purpurConfig.villagerNearestBedSensorSearchRadius, PoiManager.Occupancy.ANY
|
||||
)
|
||||
.collect(Collectors.toSet());
|
||||
Path path = AcquirePoi.findPathToPois(entity, set);
|
||||
@@ -56,7 +56,7 @@ public class NearestBedSensor extends Sensor<Mob> {
|
||||
// Paper start - optimise POI access
|
||||
java.util.List<Pair<Holder<PoiType>, BlockPos>> poiposes = new java.util.ArrayList<>();
|
||||
// don't ask me why it's unbounded. ask mojang.
|
||||
- io.papermc.paper.util.PoiAccess.findAnyPoiPositions(poiManager, type -> type.is(PoiTypes.HOME), predicate, entity.blockPosition(), 48, PoiManager.Occupancy.ANY, false, Integer.MAX_VALUE, poiposes);
|
||||
+ io.papermc.paper.util.PoiAccess.findAnyPoiPositions(poiManager, type -> type.is(PoiTypes.HOME), predicate, entity.blockPosition(), world.purpurConfig.villagerNearestBedSensorSearchRadius, PoiManager.Occupancy.ANY, false, Integer.MAX_VALUE, poiposes); // Purpur
|
||||
Path path = AcquirePoi.findPathToPois(entity, new java.util.HashSet<>(poiposes));
|
||||
// Paper end - optimise POI access
|
||||
if (path != null && path.canReach()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5f807e0abb572ace1b05ef315ef23b0bc7f2d6f3..8321de8fa989c47f0f777cc399264898f646ff8b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
|
||||
Reference in New Issue
Block a user