From 4b6191b7055dbe4b235a4496c47eb841dd4a082b Mon Sep 17 00:00:00 2001 From: fullwall Date: Sat, 10 Aug 2013 20:32:30 +0800 Subject: [PATCH] Eject player on quitting when mounted on an NPC --- src/main/java/net/citizensnpcs/Citizens.java | 3 ++- src/main/java/net/citizensnpcs/EventListen.java | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/citizensnpcs/Citizens.java b/src/main/java/net/citizensnpcs/Citizens.java index 0448918e6..ad32f0c55 100644 --- a/src/main/java/net/citizensnpcs/Citizens.java +++ b/src/main/java/net/citizensnpcs/Citizens.java @@ -98,7 +98,8 @@ public class Citizens extends JavaPlugin implements CitizensPlugin { Messaging.logTr(Messages.DATABASE_CONNECTION_FAILED); } } else if (type.equalsIgnoreCase("nbt")) { - saves = new NBTStorage(folder + File.separator + Setting.STORAGE_FILE.asString(), "Citizens NPC Storage"); + saves = new NBTStorage(new File(folder + File.separator + Setting.STORAGE_FILE.asString()), + "Citizens NPC Storage"); } if (saves == null) saves = new YamlStorage(new File(folder, Setting.STORAGE_FILE.asString()), "Citizens NPC Storage"); diff --git a/src/main/java/net/citizensnpcs/EventListen.java b/src/main/java/net/citizensnpcs/EventListen.java index 1d8e92265..e0193eff5 100644 --- a/src/main/java/net/citizensnpcs/EventListen.java +++ b/src/main/java/net/citizensnpcs/EventListen.java @@ -253,6 +253,12 @@ public class EventListen implements Listener { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerQuit(PlayerQuitEvent event) { Editor.leave(event.getPlayer()); + if (event.getPlayer().isInsideVehicle()) { + NPC npc = npcRegistry.getNPC(event.getPlayer().getVehicle()); + if (npc != null) { + event.getPlayer().leaveVehicle(); + } + } } @EventHandler(ignoreCancelled = true)