Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 04:20:08 +01:00
SPIGOT-2397: More calls to VehicleEntityCollisionEvent
Dieser Commit ist enthalten in:
Ursprung
e2ff10bdcd
Commit
f642d4bcc3
@ -122,7 +122,7 @@
|
||||
if (this.v() == EntityMinecartAbstract.EnumMinecartType.RIDEABLE && this.motX * this.motX + this.motZ * this.motZ > 0.01D) {
|
||||
List list = this.world.getEntities(this, this.getBoundingBox().grow(0.20000000298023224D, 0.0D, 0.20000000298023224D), IEntitySelector.a(this));
|
||||
|
||||
@@ -278,6 +342,14 @@
|
||||
@@ -278,8 +342,24 @@
|
||||
Entity entity = (Entity) list.get(l);
|
||||
|
||||
if (!(entity instanceof EntityHuman) && !(entity instanceof EntityIronGolem) && !(entity instanceof EntityMinecartAbstract) && !this.isVehicle() && !entity.isPassenger()) {
|
||||
@ -136,8 +136,33 @@
|
||||
+ // CraftBukkit end
|
||||
entity.startRiding(this);
|
||||
} else {
|
||||
+ // CraftBukkit start
|
||||
+ VehicleEntityCollisionEvent collisionEvent = new VehicleEntityCollisionEvent(vehicle, entity.getBukkitEntity());
|
||||
+ this.world.getServer().getPluginManager().callEvent(collisionEvent);
|
||||
+
|
||||
+ if (collisionEvent.isCancelled()) {
|
||||
+ continue;
|
||||
+ }
|
||||
+ // CraftBukkit end
|
||||
entity.collide(this);
|
||||
@@ -301,7 +373,7 @@
|
||||
}
|
||||
}
|
||||
@@ -291,6 +371,14 @@
|
||||
Entity entity1 = (Entity) iterator.next();
|
||||
|
||||
if (!this.w(entity1) && entity1.isCollidable() && entity1 instanceof EntityMinecartAbstract) {
|
||||
+ // CraftBukkit start
|
||||
+ VehicleEntityCollisionEvent collisionEvent = new VehicleEntityCollisionEvent(vehicle, entity1.getBukkitEntity());
|
||||
+ this.world.getServer().getPluginManager().callEvent(collisionEvent);
|
||||
+
|
||||
+ if (collisionEvent.isCancelled()) {
|
||||
+ continue;
|
||||
+ }
|
||||
+ // CraftBukkit end
|
||||
entity1.collide(this);
|
||||
}
|
||||
}
|
||||
@@ -301,7 +389,7 @@
|
||||
}
|
||||
|
||||
protected double o() {
|
||||
@ -146,7 +171,7 @@
|
||||
}
|
||||
|
||||
public void a(int i, int j, int k, boolean flag) {}
|
||||
@@ -312,16 +384,20 @@
|
||||
@@ -312,16 +400,20 @@
|
||||
this.motX = MathHelper.a(this.motX, -d0, d0);
|
||||
this.motZ = MathHelper.a(this.motZ, -d0, d0);
|
||||
if (this.onGround) {
|
||||
@ -173,7 +198,7 @@
|
||||
}
|
||||
|
||||
}
|
||||
@@ -509,7 +585,7 @@
|
||||
@@ -509,7 +601,7 @@
|
||||
}
|
||||
|
||||
protected void r() {
|
||||
@ -182,7 +207,7 @@
|
||||
this.motX *= 0.996999979019165D;
|
||||
this.motY *= 0.0D;
|
||||
this.motZ *= 0.996999979019165D;
|
||||
@@ -854,4 +930,26 @@
|
||||
@@ -854,4 +946,26 @@
|
||||
|
||||
}
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren