use of me.legofreak107.vehicles.objects.Vehicle in project VehiclesPlus2.0 by legofreak107.
the class Main method enable.
public void enable() {
if (getCustomFuelConfig().contains("Fuel")) {
for (String s : getCustomFuelConfig().getConfigurationSection("Fuel").getKeys(false)) {
Fuel f = new Fuel();
f.name = s;
f.loadData(this);
fuelTypes.add(f);
}
}
Main pl = this;
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
public void run() {
if (getConfig().contains("Vehicles")) {
for (String s : getConfig().getConfigurationSection("Vehicles").getKeys(false)) {
Vehicle v = sal.loadVehicles(s);
v.plugin = pl;
vehicleTypeList.add(v);
}
}
for (Player p : Bukkit.getOnlinePlayers()) {
if (getCustomPlayerConfig("saved/" + p.getName() + ".yml", p).contains("SavedVehicles")) {
p.sendMessage("�2Loading in vehicles...");
for (String s2 : getCustomPlayerConfig("saved/" + p.getName() + ".yml", p).getConfigurationSection("SavedVehicles." + p.getName()).getKeys(false)) {
if (getCustomPlayerConfig("saved/" + p.getName() + ".yml", p).contains("SavedVehicles." + p.getName() + "." + s2 + ".forwardspeed")) {
Vehicle v = new Vehicle();
v.plugin = pl;
v.owner = p.getName();
if (checkInt(s2.replace("id", ""))) {
v.id = Integer.parseInt(s2.replace("id", ""));
}
v.loadVehicle();
}
}
p.sendMessage("�2Done!");
}
}
}
}, 40L);
}
use of me.legofreak107.vehicles.objects.Vehicle in project VehiclesPlus2.0 by legofreak107.
the class Main method openGarage.
public void openGarage(Player p, Integer page, Player owner) {
if (page == 0) {
page = 1;
}
Inventory inv = Bukkit.createInventory(null, 9 * 6, "�2" + p.getName() + "'s garage �6(Page: " + page + ")");
ArrayList<ItemStack> items = new ArrayList<ItemStack>();
if (playerVehicles.containsKey(p)) {
for (int i = 0; i < playerVehicles.get(p).size(); i++) {
Vehicle v = playerVehicles.get(p).get(i);
if (!v.broken) {
if (v.holder != null) {
items.add(genItem(v.skin, 1, "(" + i + ") �6" + v.name, "�cAlready spawned@�2Fuel: " + v.fuel + "@X " + v.holder.getLocation().getBlockX() + "@Y " + v.holder.getLocation().getBlockY() + "@Z " + v.holder.getLocation().getBlockZ()));
} else {
items.add(genItem(v.skin, 1, "(" + i + ") �a" + v.name, "�2Click to spawn@�2Fuel: " + v.fuel + "@�2Health: " + v.health + "@�2Storage: " + v.inv.getContents().length + "@�2Engine: Tier " + v.engineTier + "@�2Gearbox: Tier " + v.accelerationTier + "@�2Steering: Tier " + v.steeringTier + "@�2Fuel: Tier " + v.fuelTier + "@�2Fuel type: " + v.fuelType.name + "@�2Mileage: " + (int) v.mileAge));
}
} else {
items.add(genItem(v.skin, 1, "(" + i + ") �c" + v.name, "�cBroken@�2Click to repair"));
}
}
}
for (int i = 0; i < items.size(); i++) {
if (i >= 44 * (page - 1) && i <= 44 * page) {
inv.addItem(items.get(i));
}
}
inv.setItem(45, genItem(Material.STAINED_GLASS_PANE, 1, "�1 "));
inv.setItem(46, genItem(Material.STAINED_GLASS_PANE, 1, "�1 "));
inv.setItem(47, genItem(Material.PAPER, 1, "�2Previous"));
inv.setItem(48, genItem(Material.STAINED_GLASS_PANE, 1, "�1 "));
inv.setItem(49, genItem(Material.STAINED_GLASS_PANE, 1, "�1 "));
inv.setItem(50, genItem(Material.STAINED_GLASS_PANE, 1, "�1 "));
inv.setItem(51, genItem(Material.PAPER, 1, "�2Next"));
inv.setItem(52, genItem(Material.STAINED_GLASS_PANE, 1, "�1 "));
inv.setItem(53, genItem(Material.STAINED_GLASS_PANE, 1, "�1 "));
owner.openInventory(inv);
}
use of me.legofreak107.vehicles.objects.Vehicle in project VehiclesPlus2.0 by legofreak107.
the class Main method onCommand.
@SuppressWarnings({ "deprecation" })
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("vp")) {
if (args.length > 0) {
if (args[0].equalsIgnoreCase("add")) {
if (sender.hasPermission("vp.add")) {
if (args.length == 14) {
// vp add <name> <forwardspeed> <backwardspeed> <acceleration> <turnspeed> <seatamount>
if (checkFloat(args[2]) && checkFloat(args[3]) && checkFloat(args[4]) && checkFloat(args[5]) && checkInt(args[6]) && checkFloat(args[7]) && checkFloat(args[8]) && checkInt(args[10]) && checkInt(args[11]) && checkInt(args[12])) {
Fuel f = getFuel(args[13]);
if (isValidType(args[9])) {
if (f != null) {
if (((Player) sender).getInventory().getItemInMainHand().getType() != null && ((Player) sender).getInventory().getItemInMainHand().getType() != Material.AIR) {
Vehicle v = new Vehicle();
v.plugin = this;
v.name = args[1];
v.type = getType(args[9]);
v.skin = ((Player) sender).getInventory().getItemInMainHand();
v.fspeed = Float.parseFloat(args[2]);
v.bspeed = Float.parseFloat(args[3]);
v.acceleration = Float.parseFloat(args[4]);
v.turnSpeed = Float.parseFloat(args[5]);
v.maxFuel = Float.parseFloat(args[7]);
v.fualUsage = Float.parseFloat(args[8]);
v.price = Integer.parseInt(args[10]);
v.maxHealth = Integer.parseInt(args[12]);
v.fuelType = f;
Inventory inv = Bukkit.createInventory(null, Integer.parseInt(args[11]), "�2" + v.name);
v.inv = inv;
ArrayList<Seat> si = new ArrayList<Seat>();
for (int i = 0; i < Integer.parseInt(args[6]); i++) {
Seat s = new Seat();
if (i == 0) {
s.steer = true;
} else {
s.steer = false;
}
s.offset = new Vector(0, 0, 0);
si.add(s);
}
v.seats = si;
sal.addVehicle(v);
vehicleTypeList.add(v);
sender.sendMessage("�2Vehicle added!");
} else {
sender.sendMessage("�cMake sure that you are holding an item when you set up a car!");
}
} else {
sender.sendMessage("�cThis is not a valid fuel type, please type /vp fuel list for a list of fuels.");
}
} else {
sender.sendMessage("�cThis is not a valid type, please use: Car, Plane, Bike or Helicopter.");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp add <@name> <%forwardspeed> <%backwardspeed> <%acceleration> <%turnspeed> <&seatamount> <%maxfuel> <%fuelusage> <@type> <&price> <&trunksize> <&health> <@fuelType>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp add <@name> <%forwardspeed> <%backwardspeed> <%acceleration> <%turnspeed> <&seatamount> <%maxfuel> <%fuelusage> <@type> <&price> <&trunksize> <&health> <@fuelType>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("seatpos")) {
if (sender.hasPermission("vp.add")) {
if (args.length == 6) {
// vp seatpos <name> <seatno> <x> <y> <z>
if (isValidVehicle(args[1])) {
if (checkInt(args[2]) && checkFloat(args[3]) && checkFloat(args[4]) && checkFloat(args[5])) {
float x = Float.parseFloat(args[3]);
float y = Float.parseFloat(args[4]);
float z = Float.parseFloat(args[5]);
Integer no = Integer.parseInt(args[2]);
String name = args[1];
Vehicle v = getVehicle(name);
if (no <= v.seats.size() && no > -1) {
getConfig().set("Vehicles." + name + ".seat" + no + ".offsetX", x);
getConfig().set("Vehicles." + name + ".seat" + no + ".offsetY", y);
getConfig().set("Vehicles." + name + ".seat" + no + ".offsetZ", z);
saveConfig();
sender.sendMessage("�2Pos changed");
} else {
sender.sendMessage("�cInvalid seat number!");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp seatpos <@name> <&seats> <%x> <%y> <%z>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
} else {
sender.sendMessage("�cInvalid vehicle name");
}
} else {
sender.sendMessage("�cNot enough arguments.");
sender.sendMessage("�cError in command syntax, usage: /vp seatpos <@name> <&seats> <%x> <%y> <%z>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("spawn")) {
if (sender.hasPermission("vp.spawn")) {
if (args.length == 2) {
// vp spawn <name>
if (isValidVehicle(args[1])) {
Vehicle v = getVehicle(args[1]);
v.owner = sender.getName();
v.fuel = 25;
VPPlayer pla = new VPPlayer();
pla.p = ((Player) sender);
v.p = pla;
v.spawnLoc = ((Player) sender).getLocation();
v.spawn();
sender.sendMessage("�2Vehicle spawned!");
} else {
sender.sendMessage("�cThis is not a valid vehicle, try /vp list for a list of vehicles.");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp spawn <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("reset")) {
if (sender.hasPermission("vp.reset")) {
// vp spawn <name>
for (Vehicle v : playerVehicles.get(sender)) {
if (v.holder != null) {
((Player) sender).getInventory().removeItem(keys.get(v));
v.remove();
v.holder.remove();
v.holder = null;
}
}
sender.sendMessage("�2All your cars are now back in your garage!");
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("license")) {
if (sender.hasPermission("vp.license")) {
// vp spawn <name>
Player p = ((Player) sender);
for (Entity e : p.getWorld().getNearbyEntities(p.getLocation(), 2, 2, 2)) {
if (e instanceof ArmorStand) {
if (vehicleInfo.containsKey(e)) {
Vehicle c = vehicleInfo.get(e);
sender.sendMessage("�8===========================================");
sender.sendMessage("�6Vehicle info:");
sender.sendMessage("�6");
sender.sendMessage("�6Owner: " + c.owner);
sender.sendMessage("�6Type: " + c.type);
sender.sendMessage("�6Health: " + c.getHealth());
sender.sendMessage("�8===========================================");
break;
}
}
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("list")) {
if (sender.hasPermission("vp.list")) {
if (args.length == 1) {
sender.sendMessage("�2Available vehicles:");
for (Vehicle v : vehicleTypeList) {
sender.sendMessage("�3" + v.name + " �6|| �3" + v.type);
}
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("reload")) {
if (sender.hasPermission("vp.reload")) {
if (args.length == 1) {
disabe();
enable();
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("info")) {
if (sender.hasPermission("vp.info")) {
if (args.length == 2) {
if (isValidVehicle(args[1])) {
Vehicle v = getVehicle(args[1]);
sender.sendMessage("�2Vehicle info:");
sender.sendMessage("�3Forward speed: " + v.fspeed);
sender.sendMessage("�3Backward speed: " + v.bspeed);
sender.sendMessage("�3Acceleration: " + v.acceleration);
sender.sendMessage("�3Turn speed: " + v.turnSpeed);
sender.sendMessage("�3Seats: " + v.seats.size());
sender.sendMessage("�3Item: " + v.skin.getType().toString());
sender.sendMessage("�3ItemData: " + v.skin.getData());
sender.sendMessage("�3Price: " + v.price);
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp info <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("setskin")) {
if (sender.hasPermission("vp.add")) {
if (args.length == 2) {
if (isValidVehicle(args[1])) {
Vehicle v = getVehicle(args[1]);
if (((Player) sender).getInventory().getItemInMainHand() != null && ((Player) sender).getInventory().getItemInMainHand().getType() != Material.AIR) {
getConfig().set("Vehicles." + v.name + ".skin.material", ((Player) sender).getInventory().getItemInMainHand().getType().getId());
getConfig().set("Vehicles." + v.name + ".skin.data", ((Player) sender).getInventory().getItemInMainHand().getData().getData());
saveConfig();
sender.sendMessage("�2Updated vehicle skin");
} else {
sender.sendMessage("�cPlease make sure you are holding an item in your hand");
}
} else {
sender.sendMessage("�cThis is not a valid vehicle, try /vp list for a list of vehicles.");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp setskin <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("give")) {
if (sender.hasPermission("vp.give")) {
if (args.length == 3) {
Player p = Bukkit.getPlayer(args[1]);
if (p != null && isValidVehicle(args[2])) {
Vehicle v = getVehicle(args[2]);
ItemStack item = v.skin;
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2" + v.name);
im.setLore(Arrays.asList("�8Place to spawn"));
item.setItemMeta(im);
p.getInventory().addItem(item);
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp give <player> <name>");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp give <player> <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("givekey")) {
if (sender.hasPermission("vp.givekey")) {
if (args.length == 3) {
Player p = Bukkit.getPlayer(args[1]);
if (p != null && isValidVehicle(args[2])) {
Vehicle v = getVehicle(args[2]);
ItemStack item = new ItemStack(Material.TRIPWIRE_HOOK);
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2" + v.name + " key");
im.setLore(Arrays.asList("�8Press your vp to lock/unlock "));
item.setItemMeta(im);
p.getInventory().addItem(item);
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp givekey <player> <name>");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp givekey <player> <name>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("givewrench")) {
if (sender.hasPermission("vp.givewrench")) {
if (args.length == 2) {
Player p = Bukkit.getPlayer(args[1]);
if (p != null) {
ItemStack item = new ItemStack(Material.STICK);
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2Wrench");
im.setLore(Arrays.asList("�8Press you vehicle to upgrade/repair"));
item.setItemMeta(im);
p.getInventory().addItem(item);
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp givewrench <player>");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp givewrench <player>");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
} else if (args[0].equalsIgnoreCase("fuel")) {
if (args.length > 1) {
if (sender.hasPermission("vp.fuel")) {
if (args[1].equalsIgnoreCase("list")) {
sender.sendMessage("�8=========================================");
for (Fuel f : fuelTypes) {
sender.sendMessage(" �6" + f.name + " �8| �6$" + f.fuelPrice + " �8| �6Fills: " + f.fuelAmount);
}
sender.sendMessage("�8=========================================");
} else if (args[1].equalsIgnoreCase("give")) {
if (args.length == 5) {
Player p = Bukkit.getPlayer(args[2]);
Fuel f = getFuel(args[3]);
if (p != null && checkInt(args[4]) && f != null) {
Integer v = Integer.parseInt(args[4]);
for (int i = 0; i < v; i++) f.give(p);
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp fuel give <player> <fuel> <amount>");
}
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp fuel give <player> <fuel> <amount>");
}
} else if (args[1].equalsIgnoreCase("add")) {
if (args.length == 5) {
// vp addfuel <name> <price> <amount>
if (checkInt(args[3]) && checkInt(args[4])) {
if (((Player) sender).getInventory().getItemInMainHand() != null && ((Player) sender).getInventory().getItemInMainHand().getType() != Material.AIR) {
Fuel f = new Fuel();
f.fuelAmount = Integer.parseInt(args[4]);
f.fuelPrice = Integer.parseInt(args[3]);
f.name = args[2];
f.item = ((Player) sender).getInventory().getItemInMainHand();
f.save(this);
fuelTypes.add(f);
sender.sendMessage("�2Fuel added!");
} else {
sender.sendMessage("�cPlease make sure that you are holding an item in your hand!");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp fuel add <@name> <&price> <&fuelamount>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
} else {
sender.sendMessage("�cError in command syntax, usage: /vp fuel add <@name> <&price> <&fuelamount>");
sender.sendMessage("�cInput types for @ = Text, % = Decimal, & = Number");
}
}
} else {
sender.sendMessage("�cYou don't have permissions to perform this command!");
}
} else {
sender.sendMessage("�8=====================================================");
sender.sendMessage("�6/vp fuel list �8| �6Shows a list of fuels");
sender.sendMessage("�6/vp fuel give <player> <fuel> <amount> �8| �6Give fuel to a player");
sender.sendMessage("�6/vp fuel add <name> <price> <fillamount> �8| �6Add a new fuel type");
sender.sendMessage("�8=====================================================");
}
} else if (args[0].equalsIgnoreCase("lock")) {
if (args.length == 1) {
Player p = (Player) sender;
if (p.getVehicle() != null) {
Seat s = seatInfo.get(p.getVehicle());
Vehicle v = vehicleInfo.get(s.parent);
if (s.steer) {
if (v.owner.equals(p.getName())) {
v.locked = true;
p.sendMessage("�2Vehicle locked!");
} else {
p.sendMessage("�2You aren't the owner of this vp!");
}
} else {
p.sendMessage("�2You have to be in the driver's seat to do this!");
}
} else {
p.sendMessage("�2You have to be inside the vp to lock it!");
}
}
} else if (args[0].equalsIgnoreCase("enter")) {
if (args.length == 1) {
Player p = (Player) sender;
for (Entity e : p.getWorld().getNearbyEntities(p.getLocation(), 2, 2, 2)) {
if (e instanceof ArmorStand) {
if (seatInfo.containsKey(e)) {
Seat s = seatInfo.get(e);
Vehicle c = vehicleInfo.get(s.parent);
if (c.locked == null) {
c.locked = false;
}
if (!c.locked && !(s.seat.getPassengers().size() > 0)) {
s.seat.addPassenger(p);
break;
}
}
}
}
}
} else if (args[0].equalsIgnoreCase("trunk")) {
if (args.length == 1) {
Player p = (Player) sender;
if (p.getVehicle() != null) {
Seat s = seatInfo.get(p.getVehicle());
Vehicle v = vehicleInfo.get(s.parent);
if (s.steer) {
p.openInventory(v.inv);
} else {
p.sendMessage("�2You have to be in the driver's seat to do this!");
}
} else {
p.sendMessage("�2You have to be inside the vp to use the trunk!");
}
}
} else if (args[0].equalsIgnoreCase("unlock")) {
if (args.length == 1) {
Player p = (Player) sender;
if (p.getVehicle() != null) {
Seat s = seatInfo.get(p.getVehicle());
Vehicle v = vehicleInfo.get(s.parent);
if (s.steer) {
if (v.owner.equals(p.getName())) {
v.locked = false;
p.sendMessage("�2Vehicle unlocked!");
} else {
p.sendMessage("�2You aren't the owner of this vp!");
}
} else {
p.sendMessage("�2You have to be in the driver's seat to do this!");
}
} else {
p.sendMessage("�2You have to be inside the vp to unlock it!");
}
}
} else if (args[0].equalsIgnoreCase("shop")) {
if (args.length == 1) {
Player p = (Player) sender;
Inventory i = Bukkit.createInventory(p, 9 * 6, "�2Vehicle shop");
for (Vehicle v : vehicleTypeList) {
if (v.price != 0) {
i.addItem(genItem(v.skin, 1, "�6" + v.name, "�aClick to buy@�3Price: " + v.price));
}
}
p.openInventory(i);
}
} else if (args[0].equalsIgnoreCase("garage")) {
if (sender.hasPermission("vp.garage")) {
if (args.length == 1) {
Player p = (Player) sender;
openGarage(p, 0, p);
} else if (args.length == 2) {
Player p = (Player) sender;
Player p2 = Bukkit.getPlayer(args[1]);
if (sender.hasPermission("vp.admin")) {
if (playerVehicles.containsKey(p2) && p2 != null) {
openGarage(p2, 0, p);
} else {
p.sendMessage("�cThat player is not online");
}
} else {
sender.sendMessage("�cYou don't have permissions to do this!");
}
}
} else {
sender.sendMessage("�cYou don't have permissions to do this!");
}
} else if (args[0].equalsIgnoreCase("help")) {
if (sender.hasPermission("vp.help")) {
if (args.length == 1) {
sender.sendMessage("�2===================={�8Vehicles�6+�2}====================");
sender.sendMessage("�8/vp list �6|| �8Shows all vehicles");
sender.sendMessage("�8/vp give <name> <vehiclename>�6|| �8Gives vehicle.");
sender.sendMessage("�8/vp givekey <name> <vehiclename>�6|| �8Gives vehicle.");
sender.sendMessage("�8/vp reload �6|| �8Reloads config.");
sender.sendMessage("�8/vp help �6|| �8Shows this");
sender.sendMessage("�8/vp killall �6|| �8Kills all vehicles");
sender.sendMessage("�8/vp seatpos <name> <seat#> <x> <y> <z> �6|| �8Set the pos of a seat");
sender.sendMessage("�8/vp add <name> <forwardspeed> <backwardspeed> <acceleration> <turnspeed> <seatamount> <type> �6|| �8Add a new vehicle");
sender.sendMessage("�8/vp setskin <name> �6|| �8Set the skin to item in hand");
sender.sendMessage("�8/vp spawn <name> �6|| �8Spawn a vehicle");
sender.sendMessage("�8/vp info <name> �6|| �8Shows vehicle info");
sender.sendMessage("�8/vp fuel �6|| �8Fuel management");
sender.sendMessage("�8/vp givewrench <name> �6|| �8Gives fuel");
sender.sendMessage("�8/vp lock�6|| �8Locks vehicle");
sender.sendMessage("�8/vp unlock�6|| �8Unlocks vehicle");
sender.sendMessage("�8/vp trunk�6|| �8Opens vehicle trunk");
sender.sendMessage("�8/vp garage�6|| �8Opens vehicle garage");
sender.sendMessage("�8/vp garage <player>�6|| �8Opens vehicle garage (Admin mode)");
sender.sendMessage("�8/vp enter �6|| �8Enter the nearest seat within 2 blocks");
sender.sendMessage("�2===================={�8Vehicles�6+�2}====================");
} else {
sender.sendMessage("�cError in command arguments. Usage: /vp help");
}
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
}
} else {
if (sender.hasPermission("vp.add")) {
sender.sendMessage("�2===================={�8Vehicles�6+�2}====================");
sender.sendMessage("�8/vp list �6|| �8Shows all vehicles");
sender.sendMessage("�8/vp give <name> <vehiclename>�6|| �8Gives vehicle.");
sender.sendMessage("�8/vp givekey <name> <vehiclename>�6|| �8Gives vehicle.");
sender.sendMessage("�8/vp reload �6|| �8Reloads config.");
sender.sendMessage("�8/vp help �6|| �8Shows this");
sender.sendMessage("�8/vp killall �6|| �8Kills all vehicles");
sender.sendMessage("�8/vp seatpos <name> <seat#> <x> <y> <z> �6|| �8Set the pos of a seat");
sender.sendMessage("�8/vp add <name> <forwardspeed> <backwardspeed> <acceleration> <turnspeed> <seatamount> <type> �6|| �8Add a new vehicle");
sender.sendMessage("�8/vp setskin <name> �6|| �8Set the skin to item in hand");
sender.sendMessage("�8/vp spawn <name> �6|| �8Spawn a vehicle");
sender.sendMessage("�8/vp info <name> �6|| �8Shows vehicle info");
sender.sendMessage("�8/vp fuel �6|| �8Fuel management");
sender.sendMessage("�8/vp givewrench <name> �6|| �8Gives fuel");
sender.sendMessage("�8/vp lock�6|| �8Locks vehicle");
sender.sendMessage("�8/vp unlock�6|| �8Unlocks vehicle");
sender.sendMessage("�8/vp trunk�6|| �8Opens vehicle trunk");
sender.sendMessage("�8/vp garage�6|| �8Opens vehicle garage");
sender.sendMessage("�8/vp garage <player>�6|| �8Opens vehicle garage (Admin mode)");
sender.sendMessage("�8/vp enter �6|| �8Enter the nearest seat within 2 blocks");
sender.sendMessage("�2===================={�8Vehicles�6+�2}====================");
} else {
sender.sendMessage("�cYou don't have permissions to excecute this command!");
}
}
}
return false;
}
use of me.legofreak107.vehicles.objects.Vehicle in project VehiclesPlus2.0 by legofreak107.
the class Main method disabe.
public void disabe() {
for (Player p : Bukkit.getOnlinePlayers()) {
if (playerVehicles.containsKey(p))
for (Vehicle as : playerVehicles.get(p)) {
if (keys.containsKey(as)) {
p.getInventory().removeItem(keys.get(as));
keys.remove(as);
}
as.save();
as.remove();
}
for (Vehicle as : sal.tempVehicle) {
as.save();
as.remove();
}
}
fuelTypes.clear();
vehicleTypeList.clear();
seatInfo.clear();
vehicleInfo.clear();
}
use of me.legofreak107.vehicles.objects.Vehicle in project VehiclesPlus2.0 by legofreak107.
the class InventoryClick method onClick.
@EventHandler
public void onClick(InventoryClickEvent e) {
Player p = (Player) e.getWhoClicked();
if (e.getClickedInventory().getName().contains("Vehicle")) {
e.setCancelled(true);
Integer price = Integer.parseInt(e.getCurrentItem().getItemMeta().getLore().get(1).replace("�3Price: ", ""));
if (plugin.econ.getBalance(p.getName()) >= price) {
plugin.econ.withdrawPlayer(p, price);
Vehicle v = plugin.getVehicle(e.getCurrentItem().getItemMeta().getDisplayName().replace("�6", ""));
ItemStack item = v.skin;
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2" + v.name);
im.setLore(Arrays.asList("�8Place to spawn"));
item.setItemMeta(im);
p.getInventory().addItem(item);
p.sendMessage("�6You bought a " + v.name + " for $" + v.price + "!");
}
} else if (e.getClickedInventory().getName().contains("garage")) {
if (e.getAction() == InventoryAction.PICKUP_ALL) {
Integer page = Integer.parseInt(e.getClickedInventory().getName().replace("�2" + p.getName() + "'s garage �6(Page: ", "").replace(")", ""));
e.setCancelled(true);
if (e.getCurrentItem().getItemMeta().getDisplayName().contains("�6")) {
// Already spawned
String number = "";
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(1) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(1);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(2) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(2);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(3) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(3);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(4) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(4);
}
}
}
}
Vehicle v = plugin.playerVehicles.get(p).get(Integer.parseInt(number));
// Found it
v.remove();
if (v.holder != null) {
p.getInventory().removeItem(plugin.keys.get(v));
v.holder.remove();
v.holder = null;
}
p.closeInventory();
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("�a")) {
// Ready to spawn
String number = "";
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(1) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(1);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(2) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(2);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(3) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(3);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(4) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(4);
}
}
}
}
if (plugin.carsSpawned.containsKey(p)) {
if (plugin.carsSpawned.get(p) < plugin.maxCars) {
plugin.carsSpawned.put(p, plugin.carsSpawned.get(p) + 1);
Vehicle v = plugin.playerVehicles.get(p).get(Integer.parseInt(number));
// Found it
v.spawnLoc = e.getWhoClicked().getLocation();
ItemStack item = new ItemStack(Material.TRIPWIRE_HOOK);
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2" + v.name + " key");
im.setLore(Arrays.asList("�8Press your vehicle to lock/unlock", "�6Soulbound"));
item.setItemMeta(im);
p.getInventory().addItem(item);
plugin.keys.put(v, item);
p.closeInventory();
v.spawn2();
} else {
p.sendMessage("�cYou already have the max amount of vehicles spawned!");
}
} else {
plugin.carsSpawned.put(p, 1);
Vehicle v = plugin.playerVehicles.get(p).get(Integer.parseInt(number));
// Found it
v.spawnLoc = e.getWhoClicked().getLocation();
ItemStack item = new ItemStack(Material.TRIPWIRE_HOOK);
ItemMeta im = item.getItemMeta();
im.setDisplayName("�2" + v.name + " key");
im.setLore(Arrays.asList("�8Press your vehicle to lock/unlock", "�6Soulbound"));
item.setItemMeta(im);
p.getInventory().addItem(item);
plugin.keys.put(v, item);
p.closeInventory();
v.spawn2();
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("�c")) {
// Repair
String number = "";
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(1) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(1);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(2) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(2);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(3) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(3);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(4) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(4);
}
}
}
}
Vehicle v = plugin.playerVehicles.get(p).get(Integer.parseInt(number));
// Found it
v.spawnLoc = e.getWhoClicked().getLocation();
new Confirmation(p, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(p) >= v.price / 100) {
p.sendMessage("�2Vehicle repaired!");
v.repair();
p.closeInventory();
} else {
p.sendMessage("�2You don't have enough money to repair this vehicle!");
p.closeInventory();
}
}
}
}, this, "�2Repair vehicle for $" + v.price / 100);
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Next")) {
plugin.openGarage(p, page + 1, p);
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Previous")) {
if (page > 0) {
plugin.openGarage(p, page - 1, p);
}
}
} else if (e.getAction() == InventoryAction.PICKUP_HALF) {
if (p.hasPermission("vp.admin")) {
if (e.getCurrentItem().getItemMeta().getDisplayName().contains("�c") || e.getCurrentItem().getItemMeta().getDisplayName().contains("�a") || e.getCurrentItem().getItemMeta().getDisplayName().contains("�6")) {
e.setCancelled(true);
String number = "";
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(1) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(1);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(2) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(2);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(3) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(3);
if (plugin.checkInt(e.getCurrentItem().getItemMeta().getDisplayName().charAt(4) + "")) {
number = number + e.getCurrentItem().getItemMeta().getDisplayName().charAt(4);
}
}
}
}
final String number2 = number;
if (e.getCurrentItem().getItemMeta().getDisplayName().contains("�c")) {
new Confirmation(p, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (p.hasPermission("vp.admin")) {
Vehicle v = plugin.playerVehicles.get(p).get(Integer.parseInt(number2));
plugin.playerVehicles.get(p).remove(v);
p.sendMessage("�2Vehicle removed");
}
}
}
}, this, "�2Remove this vehicle?");
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("�a")) {
new Confirmation(p, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (p.hasPermission("vp.admin")) {
Vehicle v = plugin.playerVehicles.get(p).get(Integer.parseInt(number2));
plugin.playerVehicles.get(p).remove(v);
p.sendMessage("�2Vehicle removed");
}
}
}
}, this, "�2Remove this vehicle?");
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("�6")) {
new Confirmation(p, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (p.hasPermission("vp.admin")) {
Vehicle v = plugin.playerVehicles.get(p).get(Integer.parseInt(number2));
plugin.playerVehicles.get(p).remove(v);
p.sendMessage("�2Vehicle removed");
v.remove();
}
}
}
}, this, "�2Remove this vehicle?");
}
}
}
}
} else if (e.getClickedInventory().getName().contains("Upgrade menu")) {
e.setCancelled(true);
if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Engine") && !e.getCurrentItem().getItemMeta().getLore().get(0).contains("�c")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer tier = v.engineTier;
Integer price = 0;
Double toadd = 0D;
if (tier == 0) {
price = 15000;
toadd = 0.5;
v.engineTier = 1;
} else if (tier == 1) {
price = 30000;
toadd = 0.5;
v.engineTier = 2;
} else if (tier == 2) {
price = 45000;
toadd = 0.5;
v.engineTier = 3;
} else if (tier == 3) {
price = 60000;
toadd = 0.5;
v.engineTier = 4;
}
Integer percentage = (int) (0.5 / v.fspeed * 100);
final int price2 = price;
final Double toadd2 = toadd;
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price2) {
plugin.econ.withdrawPlayer(owner, price2);
owner.sendMessage("�2Upgrade confirmed! It should be installed in a couple of splugin.econds!");
v.fspeed += toadd2;
v.bspeed += toadd2;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Engine upgrade �6$" + price + " �a+" + percentage + "%");
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Gearbox") && !e.getCurrentItem().getItemMeta().getLore().get(0).contains("�c")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer price = 0;
Double toadd = 0D;
Integer tier = v.accelerationTier;
if (tier == 0) {
price = 15000;
toadd = 0.005;
v.accelerationTier = 1;
} else if (tier == 1) {
price = 30000;
toadd = 0.005;
v.accelerationTier = 2;
} else if (tier == 2) {
price = 45000;
toadd = 0.005;
v.accelerationTier = 3;
} else if (tier == 3) {
price = 60000;
toadd = 0.005;
v.accelerationTier = 4;
}
final int price2 = price;
final Double toadd2 = toadd;
Integer percentage = (int) (0.01 / v.acceleration * 100);
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price2) {
plugin.econ.withdrawPlayer(owner, price2);
owner.sendMessage("�2Upgrade confirmed! It should be installed in a couple of splugin.econds!");
v.acceleration += toadd2;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Acceleration upgrade �6$" + price + " �a+" + percentage + "%");
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Fuel") && !e.getCurrentItem().getItemMeta().getLore().get(0).contains("�c")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer price = 0;
Double toadd = 0D;
Integer tier = v.fuelTier;
if (tier == 0) {
price = 15000;
toadd = 50D;
v.fuelTier = 1;
} else if (tier == 1) {
price = 30000;
toadd = 50D;
v.fuelTier = 2;
} else if (tier == 2) {
price = 45000;
toadd = 50D;
v.fuelTier = 3;
} else if (tier == 3) {
price = 60000;
toadd = 50D;
v.fuelTier = 4;
}
final int price2 = price;
final Double toadd2 = toadd;
Integer percentage = (int) (50 / v.maxFuel * 100);
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price2) {
plugin.econ.withdrawPlayer(owner, price2);
owner.sendMessage("�2Upgrade confirmed! It should be installed in a couple of splugin.econds!");
v.maxFuel += toadd2;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Fuel upgrade �6$" + price + " �a+" + percentage + "%");
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Steering") && !e.getCurrentItem().getItemMeta().getLore().get(0).contains("�c")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer price = 0;
Double toadd = 0D;
Integer tier = v.steeringTier;
if (tier == 0) {
price = 15000;
toadd = 0.5D;
v.steeringTier = 1;
} else if (tier == 1) {
price = 30000;
toadd = 0.5D;
v.steeringTier = 2;
} else if (tier == 2) {
price = 45000;
toadd = 0.5D;
v.steeringTier = 3;
} else if (tier == 3) {
price = 60000;
toadd = 0.5D;
v.steeringTier = 4;
}
final int price2 = price;
final Double toadd2 = toadd;
Integer percentage = (int) (0.5 / v.turnSpeed * 100);
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price2) {
plugin.econ.withdrawPlayer(owner, price2);
owner.sendMessage("�2Upgrade confirmed! It should be installed in a couple of splugin.econds!");
v.steering += toadd2;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Steering upgrade �6$" + price + " �a+" + percentage + "%");
}
} else {
p.sendMessage("�cThis part is already the highest tier!");
}
} else if (e.getClickedInventory().getName().contains("Select menu")) {
e.setCancelled(true);
if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Repair")) {
if (plugin.select.containsKey(p)) {
Vehicle v = plugin.select.get(p);
plugin.openRepairMenu(p, v);
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Upgrade")) {
if (plugin.select.containsKey(p)) {
Vehicle v = plugin.select.get(p);
plugin.openUpgradeMenu(p, v);
}
}
} else if (e.getClickedInventory().getName().contains("Repair menu")) {
e.setCancelled(true);
if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Engine")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer price = 2000;
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price) {
plugin.econ.withdrawPlayer(owner, price);
owner.sendMessage("�2Repair confirmed! The new engine should be installed in a couple of splugin.econds");
v.parts.ENGINE = true;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Repair engine? Price: $" + price);
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Wheel Front Right")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer price = 200;
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price) {
plugin.econ.withdrawPlayer(owner, price);
owner.sendMessage("�2Repair confirmed! The new tire should be installed in a couple of splugin.econds");
v.parts.WHEELFR = true;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Replace tire? Price: $" + price);
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Wheel Front Left")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer price = 200;
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price) {
plugin.econ.withdrawPlayer(owner, price);
owner.sendMessage("�2Repair confirmed! The new tire should be installed in a couple of splugin.econds");
v.parts.WHEELFL = true;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Replace tire? Price: $" + price);
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Wheel Rear Right")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer price = 200;
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price) {
plugin.econ.withdrawPlayer(owner, price);
owner.sendMessage("�2Repair confirmed! The new tire should be installed in a couple of splugin.econds");
v.parts.WHEELRR = true;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Replace tire? Price: $" + price);
}
} else if (e.getCurrentItem().getItemMeta().getDisplayName().contains("Wheel Rear Left")) {
if (plugin.upgrading.containsKey(p)) {
Vehicle v = plugin.upgrading.get(p);
Player owner = v.p.p;
Integer price = 200;
new Confirmation(owner, new ConfirmCallback() {
public void callback(Player player, CallbackResponse response) {
// TODO Auto-generated method stub
if (response == CallbackResponse.YES) {
if (plugin.econ.getBalance(owner) >= price) {
plugin.econ.withdrawPlayer(owner, price);
owner.sendMessage("�2Repair confirmed! The new tire should be installed in a couple of splugin.econds");
v.parts.WHEELRL = true;
} else {
owner.sendMessage("�2You don't have enough money!");
}
}
}
}, this, "�2Replace tire? Price: $" + price);
}
}
}
}
Aggregations