package com.daveblencowe.chargefest;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.block.Sign;
import org.bukkit.material.Door;
public class Signs {
private static final BlockFace[] tollFaces = {BlockFace.SELF, BlockFace.DOWN, BlockFace.UP, BlockFace.EAST, BlockFace.NORTH, BlockFace.WEST, BlockFace.SOUTH, BlockFace.NORTH_EAST, BlockFace.NORTH_WEST, BlockFace.SOUTH_EAST, BlockFace.SOUTH_WEST};
private static boolean isTollSign (Sign sign) {
String[] contents = Signs.getSignContents(sign);
if (contents[0].equalsIgnoreCase("[Toll]")) return true;
return false;
}
private static String[] getSignContents (Sign sign) {
return sign.getLines();
}
public static void use (Sign sign) {
// Check to see if the right-clicked sign is a toll sign
if (Signs.isTollSign(sign)) {
// Locate the door
Door door = Signs.findDoor(sign);
System.out.println(door);
ChargeFest.log.info("Back in to main thread...");
// Economy stuff here
door.setOpen(door.isOpen());
} else return;
}
private static Block find (Sign sign, Material material) {
Block block = sign.getBlock();
for (BlockFace bf : tollFaces) {
Block faceBlock = block.getRelative(bf);
if (faceBlock.getType() == material) {
ChargeFest.log.info("Door found!");
return faceBlock;
}
}
return null;
}
private static Door findDoor (Sign sign)
{
Block block = sign.getBlock();
for (BlockFace bf : tollFaces)
{
Block faceBlock = block.getRelative(bf);
if (faceBlock.getState() instanceof Door)
{
return (Door) faceBlock.getState();
}
}
return null;
}
}