From d47e4642dddfeef2ad8278f9928103cabaf14df1 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Mon, 3 Jan 2022 01:50:19 +0100 Subject: [PATCH] Stopped people from stealing VillagerShop villagers with a boat (or any vehicle) --- src/main/java/com/alttd/VillagerUI.java | 2 ++ .../java/com/alttd/events/VehicleEvent.java | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 src/main/java/com/alttd/events/VehicleEvent.java diff --git a/src/main/java/com/alttd/VillagerUI.java b/src/main/java/com/alttd/VillagerUI.java index 12e6523..6f06bb2 100644 --- a/src/main/java/com/alttd/VillagerUI.java +++ b/src/main/java/com/alttd/VillagerUI.java @@ -9,6 +9,7 @@ import com.alttd.config.WorthConfig; import com.alttd.database.Queries; import com.alttd.events.LoginEvent; import com.alttd.events.LogoutEvent; +import com.alttd.events.VehicleEvent; import com.alttd.events.VillagerEvents; import com.alttd.objects.EconUser; import com.alttd.util.Logger; @@ -80,6 +81,7 @@ public class VillagerUI extends JavaPlugin { getServer().getPluginManager().registerEvents(new VillagerEvents(), this); getServer().getPluginManager().registerEvents(new LogoutEvent(), this); getServer().getPluginManager().registerEvents(new LoginEvent(), this); + getServer().getPluginManager().registerEvents(new VehicleEvent(), this); } public Economy getEconomy() { diff --git a/src/main/java/com/alttd/events/VehicleEvent.java b/src/main/java/com/alttd/events/VehicleEvent.java new file mode 100644 index 0000000..af168a8 --- /dev/null +++ b/src/main/java/com/alttd/events/VehicleEvent.java @@ -0,0 +1,20 @@ +package com.alttd.events; + +import com.alttd.objects.LoadedVillagers; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Villager; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.vehicle.VehicleEnterEvent; + +public class VehicleEvent implements Listener { + + @EventHandler + public void onVehicleEnter(VehicleEnterEvent event) { + Entity entered = event.getEntered(); + if (!(entered instanceof Villager)) + return; + if (LoadedVillagers.getLoadedVillager(entered.getUniqueId()) != null) + event.setCancelled(true); + } +}