From 1e873c123c469cefdd8808db85ebcdd8a797d43c Mon Sep 17 00:00:00 2001 From: fillefilip8 Date: Wed, 2 Mar 2016 10:37:43 +0100 Subject: [PATCH] Added that fancy message when 1.9 clients try to enter a Minecart :) --- .../us/myles/ViaVersion/ViaVersionPlugin.java | 2 ++ .../listeners/MinecartListener.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/main/java/us/myles/ViaVersion/listeners/MinecartListener.java diff --git a/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java b/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java index 0bdaf7820..83e620424 100644 --- a/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java +++ b/src/main/java/us/myles/ViaVersion/ViaVersionPlugin.java @@ -16,6 +16,7 @@ import org.bukkit.plugin.java.JavaPlugin; import us.myles.ViaVersion.api.ViaVersion; import us.myles.ViaVersion.api.ViaVersionAPI; import us.myles.ViaVersion.handlers.ViaVersionInitializer; +import us.myles.ViaVersion.listeners.MinecartListener; import us.myles.ViaVersion.util.ReflectionUtil; import java.util.Collections; @@ -52,6 +53,7 @@ public class ViaVersionPlugin extends JavaPlugin implements ViaVersionAPI { setPorted(e.getPlayer().getUniqueId(), false); } }, this); + Bukkit.getPluginManager().registerEvents(new MinecartListener(),this); } public void injectPacketHandler() throws Exception { diff --git a/src/main/java/us/myles/ViaVersion/listeners/MinecartListener.java b/src/main/java/us/myles/ViaVersion/listeners/MinecartListener.java new file mode 100644 index 000000000..3f95ca6fc --- /dev/null +++ b/src/main/java/us/myles/ViaVersion/listeners/MinecartListener.java @@ -0,0 +1,25 @@ +package us.myles.ViaVersion.listeners; + +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.vehicle.VehicleEnterEvent; +import us.myles.ViaVersion.api.ViaVersion; + +/** + * Created by fillefilip8 on 2016-03-02. + */ +public class MinecartListener implements Listener { + @EventHandler + public void onMinecartEnter(VehicleEnterEvent e){ + if(e.getEntered() instanceof Player) { + Player player = (Player) e.getEntered(); + if(ViaVersion.getInstance().isPorted(player)){ + e.setCancelled(true); + e.getEntered().sendMessage(ChatColor.RED + "Minecarts are not supported. Due to changes on minecarts in 1.9"); + } + } + + } +}