mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 12:27:59 +01:00
Ensure entity passenger world matches ridden entity
Bad plugins doing this would cause some obvious problems...
This commit is contained in:
parent
7b3898ad66
commit
636e993d37
@ -650,7 +650,7 @@
|
||||
this.hasImpulse = true;
|
||||
}
|
||||
|
||||
@@ -1858,9 +2223,21 @@
|
||||
@@ -1858,8 +2223,20 @@
|
||||
}
|
||||
|
||||
public boolean isPushable() {
|
||||
@ -661,17 +661,16 @@
|
||||
+ public boolean isCollidable(boolean ignoreClimbing) {
|
||||
+ // Paper end - Climbing should not bypass cramming gamerule
|
||||
return false;
|
||||
}
|
||||
|
||||
+ }
|
||||
+
|
||||
+ // CraftBukkit start - collidable API
|
||||
+ public boolean canCollideWithBukkit(Entity entity) {
|
||||
+ return this.isPushable();
|
||||
+ }
|
||||
}
|
||||
+ // CraftBukkit end
|
||||
+
|
||||
|
||||
public void awardKillScore(Entity entityKilled, DamageSource damageSource) {
|
||||
if (entityKilled instanceof ServerPlayer) {
|
||||
CriteriaTriggers.ENTITY_KILLED_PLAYER.trigger((ServerPlayer) entityKilled, this, damageSource);
|
||||
@@ -1889,74 +2266,133 @@
|
||||
}
|
||||
|
||||
@ -1032,7 +1031,7 @@
|
||||
leashable.setLeashedTo(player, true);
|
||||
}
|
||||
|
||||
@@ -2265,7 +2829,7 @@
|
||||
@@ -2265,15 +2829,15 @@
|
||||
}
|
||||
|
||||
public boolean showVehicleHealth() {
|
||||
@ -1041,7 +1040,8 @@
|
||||
}
|
||||
|
||||
public boolean startRiding(Entity entity, boolean force) {
|
||||
@@ -2273,7 +2837,7 @@
|
||||
- if (entity == this.vehicle) {
|
||||
+ if (entity == this.vehicle || entity.level != this.level) { // Paper - Ensure entity passenger world matches ridden entity (bad plugins)
|
||||
return false;
|
||||
} else if (!entity.couldAcceptPassenger()) {
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user