Skip to content

Commit

Permalink
Implement VehicleEnterEvent (#939)
Browse files Browse the repository at this point in the history
Related to #922.
  • Loading branch information
jhg023 authored and aramperes committed Jun 3, 2018
1 parent 5d7d256 commit a40541d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/main/java/net/glowstone/entity/GlowEntity.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.entity.Vehicle;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.EntityPortalEnterEvent;
Expand All @@ -62,6 +63,7 @@
import org.bukkit.event.entity.EntityUnleashEvent;
import org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.event.vehicle.VehicleEnterEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.metadata.MetadataStore;
import org.bukkit.metadata.MetadataStoreBase;
Expand Down Expand Up @@ -1262,8 +1264,15 @@ public boolean addPassenger(Entity passenger) {
glowPassenger.vehicle.removePassenger(passenger);
}

EntityMountEvent event = new EntityMountEvent(passenger, this);
EventFactory.getInstance().callEvent(event);
if (this instanceof Vehicle) {
VehicleEnterEvent event = EventFactory.getInstance().callEvent(
new VehicleEnterEvent((Vehicle) this, passenger));
if (event.isCancelled()) {
return false;
}
}
EntityMountEvent event = EventFactory.getInstance().callEvent(
new EntityMountEvent(passenger, this));
if (event.isCancelled()) {
return false;
}
Expand Down
1 change: 1 addition & 0 deletions src/main/java/net/glowstone/entity/GlowLivingEntity.java
Original file line number Diff line number Diff line change
Expand Up @@ -836,6 +836,7 @@ public void setHealth(double health) {
world.playSound(location, deathSound, getSoundVolume(), getSoundPitch());
}
playEffect(EntityEffect.DEATH);
leaveVehicle();
if (this instanceof GlowPlayer) {
GlowPlayer player = (GlowPlayer) this;
ItemStack mainHand = player.getInventory().getItemInMainHand();
Expand Down

0 comments on commit a40541d

Please sign in to comment.