|
|
|
|
@@ -4181,7 +4181,7 @@ index 14fab63346d56c72cd7534a04760efd10eef4295..745e792482f61c571e2efbd4200dd1bd
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
|
|
|
index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d454a4ce2a3 100644
|
|
|
|
|
index b4ab2cfb7a5fa0d2efd1a759d754d5203aaac077..e71eca3ddbbeb3168dd73433b6d6ffe9f6755f77 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
|
|
|
@@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager;
|
|
|
|
|
@@ -4211,7 +4211,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
private float eyeHeight;
|
|
|
|
|
public boolean isInPowderSnow;
|
|
|
|
|
public boolean wasInPowderSnow;
|
|
|
|
|
@@ -400,6 +400,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -401,6 +401,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
private UUID originWorld;
|
|
|
|
|
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
|
|
|
|
|
public boolean collidingWithWorldBorder; // Paper
|
|
|
|
|
@@ -4219,7 +4219,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
|
|
|
|
|
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
|
|
|
|
this.origin = location.toVector();
|
|
|
|
|
@@ -579,7 +580,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -580,7 +581,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
this.bb = Entity.INITIAL_AABB;
|
|
|
|
|
this.stuckSpeedMultiplier = Vec3.ZERO;
|
|
|
|
|
this.nextStep = 1.0F;
|
|
|
|
|
@@ -4228,7 +4228,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
this.remainingFireTicks = -this.getFireImmuneTicks();
|
|
|
|
|
this.fluidHeight = new Object2DoubleArrayMap(2);
|
|
|
|
|
this.fluidOnEyes = new HashSet();
|
|
|
|
|
@@ -824,7 +825,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -825,7 +826,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// Pufferfish end - entity TTL
|
|
|
|
|
@@ -4237,7 +4237,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
|
|
|
|
|
this.feetBlockState = null;
|
|
|
|
|
if (this.isPassenger() && this.getVehicle().isRemoved()) {
|
|
|
|
|
@@ -885,7 +886,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -886,7 +887,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.firstTick = false;
|
|
|
|
|
@@ -4246,7 +4246,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setSharedFlagOnFire(boolean onFire) {
|
|
|
|
|
@@ -894,10 +895,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -895,10 +896,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
|
|
|
|
|
public void checkOutOfWorld() {
|
|
|
|
|
// Paper start - Configurable nether ceiling damage
|
|
|
|
|
@@ -4259,7 +4259,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
this.outOfWorld();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1059,7 +1061,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -1060,7 +1062,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -4268,7 +4268,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
|
|
|
|
|
movement = movement.multiply(this.stuckSpeedMultiplier);
|
|
|
|
|
this.stuckSpeedMultiplier = Vec3.ZERO;
|
|
|
|
|
@@ -1068,7 +1070,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -1069,7 +1071,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
// Paper start - ignore movement changes while inactive.
|
|
|
|
|
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
|
|
|
|
|
setDeltaMovement(Vec3.ZERO);
|
|
|
|
|
@@ -4277,7 +4277,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// Paper end
|
|
|
|
|
@@ -1089,8 +1091,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -1090,8 +1092,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -4288,7 +4288,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
boolean flag = !Mth.equal(movement.x, vec3d1.x);
|
|
|
|
|
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
|
|
|
|
|
|
|
|
|
|
@@ -1109,7 +1111,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -1110,7 +1112,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
|
|
|
|
|
this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition);
|
|
|
|
|
if (this.isRemoved()) {
|
|
|
|
|
@@ -4297,7 +4297,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
} else {
|
|
|
|
|
if (this.horizontalCollision) {
|
|
|
|
|
Vec3 vec3d2 = this.getDeltaMovement();
|
|
|
|
|
@@ -1250,7 +1252,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -1251,7 +1253,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
this.setRemainingFireTicks(-this.getFireImmuneTicks());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -4306,7 +4306,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// Paper start - detailed watchdog information
|
|
|
|
|
@@ -1677,7 +1679,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -1678,7 +1680,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean fireImmune() {
|
|
|
|
|
@@ -4315,7 +4315,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
|
|
|
|
@@ -1746,7 +1748,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -1747,7 +1749,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
return this.isInWater() || flag;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -4324,7 +4324,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
Entity entity = this.getVehicle();
|
|
|
|
|
|
|
|
|
|
if (entity instanceof Boat) {
|
|
|
|
|
@@ -2339,6 +2341,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -2340,6 +2342,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
nbt.putBoolean("Paper.FreezeLock", true);
|
|
|
|
|
}
|
|
|
|
|
// Paper end
|
|
|
|
|
@@ -4336,7 +4336,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
return nbt;
|
|
|
|
|
} catch (Throwable throwable) {
|
|
|
|
|
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
|
|
|
|
@@ -2507,6 +2514,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -2508,6 +2515,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
|
|
|
|
|
}
|
|
|
|
|
// Paper end
|
|
|
|
|
@@ -4348,7 +4348,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
|
|
|
|
|
} catch (Throwable throwable) {
|
|
|
|
|
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
|
|
|
|
@@ -2823,6 +2835,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -2824,6 +2836,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
this.passengers = ImmutableList.copyOf(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -4362,7 +4362,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
this.gameEvent(GameEvent.ENTITY_MOUNT, entity);
|
|
|
|
|
}
|
|
|
|
|
return true; // CraftBukkit
|
|
|
|
|
@@ -2864,6 +2883,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -2865,6 +2884,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// Spigot end
|
|
|
|
|
@@ -4377,7 +4377,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
|
|
|
|
this.passengers = ImmutableList.of();
|
|
|
|
|
} else {
|
|
|
|
|
@@ -2923,12 +2950,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -2924,12 +2951,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
return Vec3.directionFromRotation(this.getRotationVector());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -4394,7 +4394,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.isInsidePortal = true;
|
|
|
|
|
@@ -2946,7 +2976,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -2947,7 +2977,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
|
|
|
|
|
|
|
|
|
|
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
|
|
|
|
|
@@ -4403,7 +4403,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
this.portalTime = i;
|
|
|
|
|
// Paper start
|
|
|
|
|
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
|
|
|
|
|
@@ -2964,7 +2994,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -2965,7 +2995,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
} // Paper
|
|
|
|
|
// CraftBukkit end
|
|
|
|
|
@@ -4412,7 +4412,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.isInsidePortal = false;
|
|
|
|
|
@@ -2979,7 +3009,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -2980,7 +3010,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.processPortalCooldown();
|
|
|
|
|
@@ -4421,7 +4421,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -3161,7 +3191,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -3162,7 +3192,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int getMaxAirSupply() {
|
|
|
|
|
@@ -4430,7 +4430,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int getAirSupply() {
|
|
|
|
|
@@ -3431,14 +3461,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -3432,14 +3462,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
// Paper end
|
|
|
|
|
if (this.level instanceof ServerLevel && !this.isRemoved()) {
|
|
|
|
|
@@ -4447,7 +4447,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
|
|
|
|
|
|
|
|
|
|
if (shapedetectorshape == null) {
|
|
|
|
|
@@ -3472,7 +3502,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -3473,7 +3503,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
this.unRide();
|
|
|
|
|
// CraftBukkit end
|
|
|
|
|
|
|
|
|
|
@@ -4456,7 +4456,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
// Paper start - Change lead drop timing to prevent dupe
|
|
|
|
|
if (this instanceof Mob) {
|
|
|
|
|
((Mob) this).dropLeash(true, true); // Paper drop lead
|
|
|
|
|
@@ -3495,10 +3525,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -3496,10 +3526,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.removeAfterChangingDimensions();
|
|
|
|
|
@@ -4469,7 +4469,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
return entity;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
@@ -3618,7 +3648,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -3619,7 +3649,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean canChangeDimensions() {
|
|
|
|
|
@@ -4478,7 +4478,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
|
|
|
|
|
@@ -3915,6 +3945,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -3916,6 +3946,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
return SlotAccess.NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -4499,7 +4499,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
@Override
|
|
|
|
|
public void sendSystemMessage(Component message) {}
|
|
|
|
|
|
|
|
|
|
@@ -4196,6 +4240,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -4197,6 +4241,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
this.yRotO = this.getYRot();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -4512,7 +4512,7 @@ index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..f31f4ecf8fb07f6cf01eea0aa14f5d45
|
|
|
|
|
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
|
|
|
|
if (false && this.touchingUnloadedChunk()) { // Pufferfish - cost of a lookup here is the same cost as below, so skip
|
|
|
|
|
return false;
|
|
|
|
|
@@ -4724,4 +4774,64 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
@@ -4725,4 +4775,64 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
|
|
|
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
|
|
|
|
}
|
|
|
|
|
// Paper end
|
|
|
|
|
@@ -4650,7 +4650,7 @@ index 8af0918d3a62de58a4b2af55022c812bb0e46092..3fc26a8976f4bfa28c2c6a862aac997d
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
|
|
|
|
index a9f20e6a73e2e1875abd1e122a5d08c4ef44f9d8..0c0f422ef0c20477295cea0b6b3c4b2d0a7db265 100644
|
|
|
|
|
index 89699aaccd45a5a928a97d1b3ad06f5de5b9fad1..186d6b06194eb2120c9cec6218c87e8cf2f11f65 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
|
|
|
|
@@ -306,7 +306,7 @@ public class ExperienceOrb extends Entity {
|
|
|
|
|
@@ -15552,10 +15552,10 @@ index c4f4a26e016eea744f587461af80461074d48303..10b109de5abc015b61a896d363ad37a0
|
|
|
|
|
public void tick() {
|
|
|
|
|
super.tick();
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
|
|
|
|
index e6f87e1e3c99195ed11c81162cb54e7f5750c4ba..220690cbd6552b06626f4edf5c71bed5cf1f12c4 100644
|
|
|
|
|
index 85260fd93ca8d5ffd0ba7a98f1d47093d58f0f87..505a60605ff2282f2c460c81464d60a433f41eda 100644
|
|
|
|
|
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
|
|
|
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
|
|
|
|
@@ -307,6 +307,6 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
|
|
|
|
@@ -318,6 +318,6 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
|
|
|
|
public boolean mayInteract(Level world, BlockPos pos) {
|
|
|
|
|
Entity entity = this.getOwner();
|
|
|
|
|
|
|
|
|
|
@@ -20789,7 +20789,7 @@ index 4d7a2c4c1001aefe9fcd4be8dbcb414f721bfff9..2c7716a9d65ebda209a144b82c2126b6
|
|
|
|
|
+ // Purpur end
|
|
|
|
|
}
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
|
index 5f0146255b050dfc873789e7dd4bc1dc4a929f02..69fe6480a52dca86b09a331345347e88f77a298d 100644
|
|
|
|
|
index be64633c8bcee96f2ad5247525cac965b7b031b1..e363891e8ab872ed24c557e3f94110f36c6fb277 100644
|
|
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
|
@@ -534,10 +534,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
|
|
|
@@ -21029,7 +21029,7 @@ index e43fd3e59fd8c74828ae65965fade27f56beef65..b2f133c8baabba1cffa6e92ea0f85453
|
|
|
|
|
+ // Purpur end
|
|
|
|
|
}
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
|
|
|
index 221f5088953b3452966d07eabd4ea8b38c465fd9..bfb8039a65fbfdb6d2fa6fc4fdeb146fbc4e147f 100644
|
|
|
|
|
index a153c134cf26e86d49ef419eca35994539af0db3..e9599e0f3d2122c3843ebde81743bc8d558bfd30 100644
|
|
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
|
|
|
@@ -563,6 +563,15 @@ public class CraftEventFactory {
|
|
|
|
|
|