Example #1
0
  @EventHandler
  public void onPlayerRespawn(PlayerRespawnEvent event) {
    Player player = event.getPlayer();
    if (!plugin.playerIsJailed(player)) return;
    event.setRespawnLocation(plugin.getJailLocation());

    World w = plugin.getJailLocation().getWorld();
    Wolf wolf = (Wolf) w.spawnCreature(plugin.getJailLocation(), EntityType.WOLF);
    wolf.setAdult();
    wolf.setTarget(player);
    wolf.setAngry(true);
    wolf.damage(0, player);

    plugin.setPotionEffects(player);
  }
Example #2
0
  @EventHandler
  public void onBlockBreak(BlockBreakEvent event) {
    Block block = event.getBlock();
    Player player = event.getPlayer();

    if (!plugin.hasPermission(player, "JailLikeHell.bypassProtection")) {
      if (isProtected(block)) {
        event.setCancelled(true);
        event.getPlayer().sendMessage(ChatColor.RED + "[JailLikeHell] You cannot escape the jail!");

        int jbt = plugin.getConfig().getInt("jailBreakPunishTime", 120);
        if (jbt > 0) {
          plugin.increaseSentence(player, jbt);
        }
      }
    }
  }
Example #3
0
 @EventHandler
 public void onPlayerInteract(PlayerInteractEvent event) {
   Player player = event.getPlayer();
   if (event.getPlayer().getItemInHand().getTypeId() == plugin.getConfig().getInt("jailwand")) {
     if (event.getAction() == Action.LEFT_CLICK_BLOCK) {
       loc.put(player, event.getClickedBlock().getLocation());
       player.sendMessage(ChatColor.YELLOW + "[JailLikeHell] First point has been set.");
       if (player.getGameMode().equals(GameMode.CREATIVE)) {
         event.setCancelled(true);
       }
     } else if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
       loc1.put(player, event.getClickedBlock().getLocation());
       player.sendMessage(ChatColor.YELLOW + "[JailLikeHell] Second point has been set.");
     }
   } /*
     Block block = event.getClickedBlock();
     if (event.getAction() == Action.RIGHT_CLICK_BLOCK || event.getAction() == Action.LEFT_CLICK_BLOCK) {
     	if (!plugin.hasPermission(player, "JailLikeHell.bypassProtection")) {
     		event.setCancelled(isProtected(block) || event.isCancelled());
     	}
     }*/
 }
Example #4
0
  @EventHandler
  public void onPlayerJoin(PlayerJoinEvent event) {
    final Player player = event.getPlayer();
    if ((!plugin.playerIsJailed(player)) && (!plugin.playerIsTempJailed(player))) {
      return;
    }

    if (plugin.playerIsTempJailed(player)) {
      int minutes =
          (int) Math.round((plugin.getTimeSentenced(player) - plugin.getTimeServed(player)) / 60.0);
      // int minutes = (int)((plugin.getTempJailTime(player) -
      // System.currentTimeMillis()) / 60000.0D);
      player.sendMessage(
          ChatColor.RED
              + "[JailLikeHell] You are jailed for "
              + plugin.prettifyMinutes(minutes)
              + ".");
    } else {
      player.sendMessage(ChatColor.RED + "[JailLikeHell] You are permanently jailed!");
      plugin
          .getServer()
          .getScheduler()
          .scheduleSyncDelayedTask(
              plugin,
              new Runnable() {
                @Override
                public void run() {
                  player.teleport(JL.plugin.getJailLocation());

                  World w = JL.plugin.getJailLocation().getWorld();
                  Wolf wolf = (Wolf) w.spawnCreature(JL.plugin.getJailLocation(), EntityType.WOLF);
                  wolf.setAdult();
                  wolf.setTarget(player);
                  wolf.setAngry(true);
                  wolf.damage(0, player);
                }
              },
              60L);
    }
  }
Example #5
0
 public boolean isProtected(Block block) {
   double bX, bY, bZ;
   boolean succeed = false;
   bX = block.getX();
   bY = block.getY();
   bZ = block.getZ();
   World world = plugin.getJailLocation().getWorld();
   if (!block.getWorld().equals(world)) return false;
   try {
     BufferedReader br = new BufferedReader(new FileReader("plugins/JailLikeHell/protection.txt"));
     String ln = br.readLine();
     String[] coords = ln.split("\\,");
     br.close();
     Location loc =
         new Location(
             block.getWorld(),
             Double.parseDouble(coords[0]),
             Double.parseDouble(coords[1]),
             Double.parseDouble(coords[2]));
     Location loc1 =
         new Location(
             block.getWorld(),
             Double.parseDouble(coords[3]),
             Double.parseDouble(coords[4]),
             Double.parseDouble(coords[5]));
     if (loc.getBlock().getX() < loc1.getBlock().getX()) {
       if (bX >= loc.getBlock().getX() && bX <= loc1.getBlock().getX()) {
         succeed = true;
       } else {
         return false;
       }
     } else {
       if (bX <= loc.getBlock().getX() && bX >= loc1.getBlock().getX()) {
         succeed = true;
       } else {
         return false;
       }
     }
     if (loc.getBlock().getY() < loc1.getBlock().getY()) {
       if (bY >= loc.getBlock().getY() && bY <= loc1.getBlock().getY()) {
         succeed = true;
       } else {
         return false;
       }
     } else {
       if (bY <= loc.getBlock().getY() && bY >= loc1.getBlock().getY()) {
         succeed = true;
       } else {
         return false;
       }
     }
     if (loc.getBlock().getZ() < loc1.getBlock().getZ()) {
       if (bZ >= loc.getBlock().getZ() && bZ <= loc1.getBlock().getZ()) {
         succeed = true;
       } else {
         return false;
       }
     } else {
       if (bZ <= loc.getBlock().getZ() && bZ >= loc1.getBlock().getZ()) {
         succeed = true;
       } else {
         return false;
       }
     }
   } catch (IOException x) {
     log.info(x.toString());
   }
   return succeed;
 }