mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 15:00:13 +01:00
SPIGOT-5903: EntityDismountEvent cannot be triggered asynchronously
This commit is contained in:
parent
92cbf65649
commit
23aac2a53f
1 changed files with 13 additions and 10 deletions
|
@ -447,7 +447,7 @@
|
|||
if (!this.world.isClientSide && entity instanceof EntityHuman && !(this.getRidingPassenger() instanceof EntityHuman)) {
|
||||
this.passengers.add(0, entity);
|
||||
} else {
|
||||
@@ -1604,15 +1872,33 @@
|
||||
@@ -1604,15 +1872,36 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -467,7 +467,10 @@
|
|||
+ (Vehicle) getBukkitEntity(),
|
||||
+ (LivingEntity) entity.getBukkitEntity()
|
||||
+ );
|
||||
+ Bukkit.getPluginManager().callEvent(event);
|
||||
+ // Suppress during worldgen
|
||||
+ if (this.valid) {
|
||||
+ Bukkit.getPluginManager().callEvent(event);
|
||||
+ }
|
||||
+ CraftEntity craftn = (CraftEntity) entity.getBukkitEntity().getVehicle();
|
||||
+ Entity n = craftn == null ? null : craftn.getHandle();
|
||||
+ if (event.isCancelled() || n != orig) {
|
||||
|
@ -482,7 +485,7 @@
|
|||
}
|
||||
|
||||
protected boolean q(Entity entity) {
|
||||
@@ -1661,11 +1947,17 @@
|
||||
@@ -1661,11 +1950,17 @@
|
||||
ResourceKey<World> resourcekey = this.world.getDimensionKey() == World.THE_NETHER ? World.OVERWORLD : World.THE_NETHER;
|
||||
WorldServer worldserver1 = minecraftserver.getWorldServer(resourcekey);
|
||||
|
||||
|
@ -502,7 +505,7 @@
|
|||
this.world.getMethodProfiler().exit();
|
||||
}
|
||||
|
||||
@@ -1765,6 +2057,13 @@
|
||||
@@ -1765,6 +2060,13 @@
|
||||
}
|
||||
|
||||
public void setSwimming(boolean flag) {
|
||||
|
@ -516,7 +519,7 @@
|
|||
this.setFlag(4, flag);
|
||||
}
|
||||
|
||||
@@ -1825,16 +2124,56 @@
|
||||
@@ -1825,16 +2127,56 @@
|
||||
}
|
||||
|
||||
public void setAirTicks(int i) {
|
||||
|
@ -576,7 +579,7 @@
|
|||
}
|
||||
|
||||
public void k(boolean flag) {
|
||||
@@ -1986,18 +2325,45 @@
|
||||
@@ -1986,18 +2328,45 @@
|
||||
|
||||
@Nullable
|
||||
public Entity a(WorldServer worldserver) {
|
||||
|
@ -628,7 +631,7 @@
|
|||
} else {
|
||||
double d0 = this.locX();
|
||||
double d1 = this.locZ();
|
||||
@@ -2023,7 +2389,16 @@
|
||||
@@ -2023,7 +2392,16 @@
|
||||
Vec3D vec3d1 = this.getPortalOffset();
|
||||
|
||||
blockposition = new BlockPosition(d0, this.locY(), d1);
|
||||
|
@ -646,7 +649,7 @@
|
|||
|
||||
if (shapedetector_shape == null) {
|
||||
return null;
|
||||
@@ -2033,6 +2408,11 @@
|
||||
@@ -2033,6 +2411,11 @@
|
||||
vec3d = shapedetector_shape.velocity;
|
||||
f = (float) shapedetector_shape.yaw;
|
||||
}
|
||||
|
@ -658,7 +661,7 @@
|
|||
|
||||
this.world.getMethodProfiler().exitEnter("reloading");
|
||||
Entity entity = this.getEntityType().a((World) worldserver);
|
||||
@@ -2042,9 +2422,17 @@
|
||||
@@ -2042,9 +2425,17 @@
|
||||
entity.setPositionRotation(blockposition, entity.yaw + f, entity.pitch);
|
||||
entity.setMot(vec3d);
|
||||
worldserver.addEntityTeleport(entity);
|
||||
|
@ -678,7 +681,7 @@
|
|||
}
|
||||
|
||||
this.bJ();
|
||||
@@ -2253,7 +2641,26 @@
|
||||
@@ -2253,7 +2644,26 @@
|
||||
}
|
||||
|
||||
public void a(AxisAlignedBB axisalignedbb) {
|
||||
|
|
Loading…
Reference in a new issue