Browse Source

Eject players from Minecarts if they cast a fishing rod (Anti-AFK)

nossr50 6 years ago
parent
commit
b68bbad766
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

+ 7 - 0
src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

@@ -34,6 +34,7 @@ import org.bukkit.Material;
 import org.bukkit.block.Block;
 import org.bukkit.block.BlockState;
 import org.bukkit.entity.*;
+import org.bukkit.entity.minecart.PoweredMinecart;
 import org.bukkit.event.EventHandler;
 import org.bukkit.event.EventPriority;
 import org.bukkit.event.Listener;
@@ -649,6 +650,12 @@ public class PlayerListener implements Listener {
         {
             if(heldItem.getType() == Material.FISHING_ROD || player.getInventory().getItemInOffHand().getType() == Material.FISHING_ROD)
             {
+                if(player.isInsideVehicle() && (player.getVehicle() instanceof Minecart || player.getVehicle() instanceof PoweredMinecart))
+                {
+                    player.getVehicle().eject();
+                    player.setVelocity(player.getEyeLocation().getDirection().multiply(10));
+                }
+
                 mcMMOPlayer.getFishingManager().setFishingRodCastTimestamp();
             }
         }