Finish loading cells and check for chest when we are removing a cell.
This commit is contained in:
@ -160,11 +160,14 @@ public class Jail {
|
||||
|
||||
/** Removes the cell from the jail. */
|
||||
public void removeCell(String name) {
|
||||
//Clear the chest and reset the sign
|
||||
this.cells.get(name).getChest().getInventory().clear();
|
||||
Cell c = this.cells.get(name);
|
||||
//If we have a chest, clear the inventory
|
||||
if(c.hasChest()) {
|
||||
c.getChest().getInventory().clear();
|
||||
}
|
||||
|
||||
//For each sign, clear the lines on the sign
|
||||
for(SimpleLocation s : this.cells.get(name).getSigns()) {
|
||||
for(SimpleLocation s : c.getSigns()) {
|
||||
if(s.getLocation().getBlock() instanceof Sign) {
|
||||
Sign sign = (Sign) s.getLocation().getBlock();
|
||||
for(int i = 0; i < 4; i++) {
|
||||
@ -174,7 +177,7 @@ public class Jail {
|
||||
}
|
||||
|
||||
//remove the information from the storage first as it requires an instance
|
||||
plugin.getJailIO().removeCell(this, this.cells.remove(name));
|
||||
plugin.getJailIO().removeCell(this, c);
|
||||
//now remove it from the local storage
|
||||
this.cells.remove(name);
|
||||
}
|
||||
|
@ -49,6 +49,23 @@ public class SimpleLocation {
|
||||
this.pitch = location.getPitch();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new Simple Location with all the inputs being in string.
|
||||
*
|
||||
* @param world the name of the world
|
||||
* @param x coordinate as a string
|
||||
* @param y coordinate as a string
|
||||
* @param z coordinate as a string
|
||||
*/
|
||||
public SimpleLocation(String world, String x, String y, String z) {
|
||||
this.world = world;
|
||||
this.x = Double.valueOf(x);
|
||||
this.y = Double.valueOf(y);
|
||||
this.z = Double.valueOf(z);
|
||||
this.yaw = 0;
|
||||
this.pitch = 0;
|
||||
}
|
||||
|
||||
/** Returns the instance from Bukkit of the world this location is in. */
|
||||
public World getWorld() {
|
||||
return Bukkit.getWorld(world);
|
||||
|
Reference in New Issue
Block a user