浏览代码

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

nossr50 6 年之前
父节点
当前提交
b68bbad766
共有 1 个文件被更改,包括 7 次插入0 次删除
  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();
             }
         }