[Solved] Trying to make boat unbreakable..

Discussion in 'Plugin Development' started by Sodapop98, May 18, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    Sodapop98

    Hey guys im trying to make my boat unbreakable in the "BoatCars" Plugin I am making, But i cant figure out how to do it. Here is my code ATM:
    Code:
    package com.gmail.rykrobert.BoatCar;
     
     
    import org.bukkit.*;
    import org.bukkit.entity.*;
    import org.bukkit.event.*;
    import org.bukkit.event.block.*;
    import org.bukkit.event.player.*;
    import org.bukkit.event.vehicle.VehicleDestroyEvent;
     
    import org.bukkit.plugin.java.JavaPlugin;
    public class BoatCars extends JavaPlugin implements Listener
    {
     
        public void onDisable() {
        }
        public void onEnable() {
            getServer().getPluginManager().registerEvents(this, this);
        }
        public void stop(int i){
            Bukkit.getServer().getScheduler().cancelTask(i);
        }
           
        public void VehicleDestory(VehicleDestroyEvent e)
        {
            if(e.getVehicle() instanceof Boat)
            {
                e.setCancelled(true);
            }
        }
       
        @EventHandler(priority=EventPriority.MONITOR)
        public void onPlayerInteract(final PlayerInteractEvent e)
        {                                     
      if(e.getPlayer().getVehicle() != null && e.getAction() == Action.RIGHT_CLICK_AIR && e.getItem() != null && e.getItem().getType() == Material.IRON_INGOT && e.getPlayer().getVehicle() instanceof Boat)
              {
         
                if (!e.getPlayer().hasPermission("car.use"))
                {
                    return;
                }
               
                ((Boat) e.getPlayer().getVehicle()).setWorkOnLand(true);
                ((Boat) e.getPlayer().getVehicle()).setMaxSpeed(20);
                ((Boat) e.getPlayer().getVehicle()).setOccupiedDeceleration(0.4);
                e.getPlayer().sendMessage("Car is on");                                 
              }
     
      if(e.getAction() == Action.RIGHT_CLICK_AIR && e.getItem() != null && e.getItem().getType() == Material.STICK && e.getPlayer().getVehicle() instanceof Boat)
              {
          ((Boat) e.getPlayer().getVehicle()).setWorkOnLand(false);
          e.getPlayer().sendMessage("Car is off");
              }
        }
     
       
    }
    
    Please reply with any quests or answers you have :D
    P.S, Any help regarding how i am going to get this to "climb" blocks would be awesome. I was thinking about making a listener to tell if i am near a block and then have the boat teleport to top.
    Thanks.
     
  2. @EventHandler
    public void VehicleDestory(VehicleDestroyEvent e)
    {
    if(e.getVehicle() instanceof Boat)
    {
    e.setCancelled(true);
    }
    }

    You forgot the @EventHandler

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 25, 2016
  3. Offline

    Sodapop98

Thread Status:
Not open for further replies.

Share This Page