Added minecart classes, vehicle class, and the ability to spawn minecarts. StorageMinecart needs a getInventory(), but that is waiting on the addition of inventory code.

By: sk89q <the.sk89q@gmail.com>
This commit is contained in:
Bukkit/Spigot 2011-01-03 14:03:17 +08:00
parent b5fffb9a81
commit 339e57513a
5 changed files with 103 additions and 1 deletions

View file

@ -0,0 +1,22 @@
package org.bukkit;
/**
* Represents a minecart entity.
*
* @author sk89q
*/
public interface Minecart extends Vehicle {
/**
* Sets a minecart's damage.
*
* @param damage over 40 to "kill" a minecart
*/
public void setDamage(int damage);
/**
* Gets a minecart's damage.
*
* @param damage
*/
public int getDamage();
}

View file

@ -0,0 +1,10 @@
package org.bukkit;
/**
* Represents a powered minecart.
*
* @author sk89q
*/
public interface PoweredMinecart extends Minecart {
}

View file

@ -0,0 +1,9 @@
package org.bukkit;
/**
* Represents a storage minecart.
*
* @author sk89q
*/
public interface StorageMinecart extends Minecart {
}

View file

@ -0,0 +1,37 @@
package org.bukkit;
/**
* Represents a vehicle entity.
*
* @author sk89q
*/
public interface Vehicle extends Entity {
/**
* Gets the vehicle's velocity.
*
* @return velocity vector
*/
public Vector getVelocity();
/**
* Sets the vehicle's velocity.
*
* @param vel velocity vector
*/
public void setVelocity(Vector vel);
/**
* Gets the primary passenger of a vehicle. For vehicles that could have
* multiple passengers, this will only return the primary passenger.
*
* @return a living entity
*/
public LivingEntity getPassenger();
/**
* Returns true if the vehicle has no passengers.
*
* @return
*/
public boolean isEmpty();
}

View file

@ -71,4 +71,28 @@ public interface World {
* @return whether the tree was created * @return whether the tree was created
*/ */
public boolean generateBigTree(Location loc); public boolean generateBigTree(Location loc);
/**
* Spawns a regular passenger minecart.
*
* @param loc
* @return
*/
public Minecart spawnMinecart(Location loc);
/**
* Spawns a storage minecart.
*
* @param loc
* @return
*/
public StorageMinecart spawnStorageMinecart(Location loc);
/**
* Spawns a powered minecart.
*
* @param loc
* @return
*/
public PoweredMinecart spawnPoweredMinecart(Location loc);
} }