Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.NevLo.SQTurrets_M.Types;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockFace;
- import org.bukkit.block.Sign;
- import org.bukkit.entity.Player;
- import me.NevLo.SQTurrets_M.Utils;
- import net.md_5.bungee.api.ChatColor;
- public class Turret {
- private String name;
- private String permission;
- private boolean onCooldown;
- public void fire(Player p){
- p.sendMessage("You are firing!");
- }
- public static void enter(Player p, Sign s){
- p.sendMessage(ChatColor.RED + "You have entered a turret! Right click while holding a clock to exit, or left click to fire.");
- Location l = Utils.getBlockBehindSign(s.getBlock()).getRelative(BlockFace.UP).getLocation();
- Location target = new Location(l.getWorld(), l.getX() + 0.5D, l.getY(), l.getZ() + 0.5D);
- target.getBlock().setType(Material.GLOWSTONE);
- p.teleport(target);
- s.setLine(1, ChatColor.RED + "OCCUPIED");
- }
- public void exit(Player p){
- Block b = p.getLocation().getBlock().getRelative(BlockFace.DOWN);
- BlockFace s = BlockFace.NORTH;
- BlockFace[] slocs = {BlockFace.NORTH, BlockFace.SOUTH, BlockFace.EAST, BlockFace.WEST};
- for(BlockFace bf : slocs){
- if(b.getRelative(bf).getType() == Material.WALL_SIGN
- && ((Sign)b.getRelative(bf).getState()).getLine(0).equalsIgnoreCase(ChatColor.BLUE + "Turret")){
- s = bf;
- }
- }
- Sign sign = (Sign) b.getRelative(s).getState();
- b.getRelative(BlockFace.UP).setType(Material.REDSTONE_LAMP);
- double[] xy = Utils.playerOffsetOnTeleport(s);
- int ymod = 0;
- p.teleport(new Location(p.getLocation().getWorld(), p.getLocation().getX() + xy[0], b.getY() - ymod, p.getLocation().getZ() + xy[1] ));
- if(sign != null){
- sign.setLine(1, ChatColor.GREEN + "UNOCCUPIED");
- sign.setLine(2, "");
- sign.setLine(3, "");
- sign.update(true);
- }
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getPermission() {
- return permission;
- }
- public void setPermission(String permission) {
- this.permission = permission;
- }
- public boolean isOnCooldown() {
- return onCooldown;
- }
- public void setOnCooldown(boolean onCooldown) {
- this.onCooldown = onCooldown;
- }
- }
Add Comment
Please, Sign In to add comment