Skip to content

Commit a40541d

Browse files
jhg023aramperes
authored andcommitted
Implement VehicleEnterEvent (#939)
Related to #922.
1 parent 5d7d256 commit a40541d

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/main/java/net/glowstone/entity/GlowEntity.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import org.bukkit.entity.Entity;
5555
import org.bukkit.entity.EntityType;
5656
import org.bukkit.entity.Player;
57+
import org.bukkit.entity.Vehicle;
5758
import org.bukkit.event.entity.EntityDamageEvent;
5859
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
5960
import org.bukkit.event.entity.EntityPortalEnterEvent;
@@ -62,6 +63,7 @@
6263
import org.bukkit.event.entity.EntityUnleashEvent;
6364
import org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
6465
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
66+
import org.bukkit.event.vehicle.VehicleEnterEvent;
6567
import org.bukkit.inventory.ItemStack;
6668
import org.bukkit.metadata.MetadataStore;
6769
import org.bukkit.metadata.MetadataStoreBase;
@@ -1262,8 +1264,15 @@ public boolean addPassenger(Entity passenger) {
12621264
glowPassenger.vehicle.removePassenger(passenger);
12631265
}
12641266

1265-
EntityMountEvent event = new EntityMountEvent(passenger, this);
1266-
EventFactory.getInstance().callEvent(event);
1267+
if (this instanceof Vehicle) {
1268+
VehicleEnterEvent event = EventFactory.getInstance().callEvent(
1269+
new VehicleEnterEvent((Vehicle) this, passenger));
1270+
if (event.isCancelled()) {
1271+
return false;
1272+
}
1273+
}
1274+
EntityMountEvent event = EventFactory.getInstance().callEvent(
1275+
new EntityMountEvent(passenger, this));
12671276
if (event.isCancelled()) {
12681277
return false;
12691278
}

src/main/java/net/glowstone/entity/GlowLivingEntity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -836,6 +836,7 @@ public void setHealth(double health) {
836836
world.playSound(location, deathSound, getSoundVolume(), getSoundPitch());
837837
}
838838
playEffect(EntityEffect.DEATH);
839+
leaveVehicle();
839840
if (this instanceof GlowPlayer) {
840841
GlowPlayer player = (GlowPlayer) this;
841842
ItemStack mainHand = player.getInventory().getItemInMainHand();

0 commit comments

Comments
 (0)