60 lines
1.8 KiB
Java
60 lines
1.8 KiB
Java
package com.spaceshipproject;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.Location;
|
|
import org.bukkit.World;
|
|
import org.bukkit.util.BoundingBox;
|
|
|
|
/**
|
|
* Représente un spaceship actuellement chargé dans le monde.
|
|
* Stocké en table spaceships_loaded.
|
|
*/
|
|
public class LoadedSpaceship {
|
|
|
|
private final long spaceshipId;
|
|
private final String worldName;
|
|
private final int originX;
|
|
private final int originY;
|
|
private final int originZ;
|
|
private final int sizeX;
|
|
private final int sizeY;
|
|
private final int sizeZ;
|
|
|
|
public LoadedSpaceship(long spaceshipId, String worldName,
|
|
int originX, int originY, int originZ,
|
|
int sizeX, int sizeY, int sizeZ) {
|
|
this.spaceshipId = spaceshipId;
|
|
this.worldName = worldName;
|
|
this.originX = originX;
|
|
this.originY = originY;
|
|
this.originZ = originZ;
|
|
this.sizeX = sizeX;
|
|
this.sizeY = sizeY;
|
|
this.sizeZ = sizeZ;
|
|
}
|
|
|
|
public long getSpaceshipId() { return spaceshipId; }
|
|
public String getWorldName() { return worldName; }
|
|
public int getOriginX() { return originX; }
|
|
public int getOriginY() { return originY; }
|
|
public int getOriginZ() { return originZ; }
|
|
public int getSizeX() { return sizeX; }
|
|
public int getSizeY() { return sizeY; }
|
|
public int getSizeZ() { return sizeZ; }
|
|
|
|
public World getWorld() {
|
|
return Bukkit.getWorld(worldName);
|
|
}
|
|
|
|
public BoundingBox getBoundingBox() {
|
|
return new BoundingBox(originX, originY, originZ,
|
|
originX + sizeX, originY + sizeY, originZ + sizeZ);
|
|
}
|
|
|
|
public boolean contains(Location loc) {
|
|
if (loc == null || loc.getWorld() == null) return false;
|
|
if (!loc.getWorld().getName().equals(worldName)) return false;
|
|
return getBoundingBox().contains(loc.toVector());
|
|
}
|
|
}
|