# PokeNear

## Highlights

* Permission base radius, thus allowing different radius per permission.
* Permission base cooldown, thus allowing different cooldown per permission.
* Able to teleport directly at the pokemon\`s location.
* Configurable pokemon details shown in the user interface.

## Commands

<table><thead><tr><th width="257.33333333333326">Command</th><th width="277">Permission</th><th>Description</th></tr></thead><tbody><tr><td>/pokenear info</td><td>N/A</td><td>Shows the plugin information and commands.</td></tr><tr><td>/pokenear reload</td><td>pokenear.command.reload</td><td>Reloads the configuration files.</td></tr><tr><td>/pokenear open &#x3C;all/properties></td><td>pokenear.command.open</td><td>Opens the user interface that shows nearby wild pokemon.</td></tr></tbody></table>

## Extra Permissions

<table><thead><tr><th width="262">Permission</th><th>Description</th></tr></thead><tbody><tr><td>pokenear.bypass.cooldown</td><td>Bypasses the command cooldown.</td></tr><tr><td>pokenear.allow.teleportation</td><td>Allows the player to teleport at the pokemon`s location.</td></tr></tbody></table>

## Main Configuration

<details>

<summary>Expand</summary>

```json
{
  "CommandAlias": [
    "pokenear",
    "pnear"
  ],
  # If true, left click to teleport at the pokemon's location and right click to open pokemon's wiki.
  "InvertButtonClick": false,
  # "permission": radius - format
  "PermissionRadius": {
    "pokenear.radius.100": 100,
    "pokenear.radius.50": 50
  },
  # "permission": cooldown in seconds - format
  "PermissionCooldowns": {
    "pokenear.cooldown.120": 120,
    "pokenear.cooldown.60": 60
  },
  # List of lores that will added to PokemonSpriteLore in the user interface configuration.
  "PermissionLore": {
    # The required permission to add this lore.
    "pokenear.lore.teleportation": {
      # The line number to insert this lore.
      "18": [
        "&eClick to teleport at the pokemon`s location."
      ]
    }
  }
}
```

</details>

## Messages Configuration

<details>

<summary>Expand</summary>

```json
{
  "NoNearbyPokemonFound": "&cThere are no nearby pokemon.",
  "NoNearbySpecifiedPropertiesFound": "&cThere are no nearby pokemon with the properties, %properties%.",
  "OnCooldown": "&cPlease wait for %time% seconds before using the command again."
}
```

</details>

## User Interface Configuration

<details>

<summary>Expand</summary>

```json
{
  "NoneText": "&bNone",
  "HiddenAbilityText": " &b(Hidden Ability)",
  "PokemonSpriteTitle": "&a%pokemon%",
  "PokemonSpriteLore": [
    "&6Level: &b%level%",
    "&6Dynamax Level: &b%dynamax_level%",
    "&6Nature: &b%nature%",
    "&6Ability: &b%ability%",
    " ",
    "&6Size: &b%size%",
    "&6Friendship: &b%friendship%",
    "&6Held Item: &b%held_item%",
    "&6Aspects: &b%aspects%",
    " ",
    "&6IVs: &b%iv_hp%&7/&b%iv_atk%&7/&b%iv_def%&7/&b%iv_spe%&7/&b%iv_spa%&7/&b%iv_spd% &b(%iv_percentage%%)",
    "&6EVs: &b%ev_hp%&7/&b%ev_atk%&7/&b%ev_def%&7/&b%ev_spe%&7/&b%ev_spa%&7/&b%ev_spd% &b(%ev_total%)",
    " ",
    "&6Moves: &b%move_1%&7/&b%move_2%&7/&b%move_3%&7/&b%move_4%",
    " ",
    "&6Distance: &b%meter%m",
    "&6Coordinates: &b%posX%, %posY%, %posZ%"
  ],
  "UserInterfaceRows": 6,
  "UserInterfaceTitle": "&#404040PokeNear",
  "UserInterface": {
    "0": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "1": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "2": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "3": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "4": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "5": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "6": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "7": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "8": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "9": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "17": {
      "DisplayItem": "minecraft:red_stained_glass_pane"
    },
    "18": {
      "DisplayItem": "minecraft:black_stained_glass_pane"
    },
    "26": {
      "DisplayItem": "minecraft:black_stained_glass_pane"
    },
    "27": {
      "DisplayItem": "minecraft:black_stained_glass_pane"
    },
    "35": {
      "DisplayItem": "minecraft:black_stained_glass_pane"
    },
    "36": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    },
    "44": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    },
    "45": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    },
    "46": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    },
    "47": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    },
    "48": {
      "Type": "previous",
      "DisplayItem": "minecraft:spectral_arrow",
      "DisplayName": "&6Previous"
    },
    "49": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    },
    "50": {
      "Type": "next",
      "DisplayItem": "minecraft:spectral_arrow",
      "DisplayName": "&6Next"
    },
    "51": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    },
    "52": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    },
    "53": {
      "DisplayItem": "minecraft:white_stained_glass_pane"
    }
  }
}
```

</details>

## Dependencies

* Java 21
* [GooeyLibs Fabric 1.21.1](https://modrinth.com/mod/gooeylibs)
* [Cobblemon Fabric 1.21.1](https://modrinth.com/mod/cobblemon/)

## Example

<figure><img src="https://i.gyazo.com/110e5ab1c23f8d77f4f508930ca18eb3.png" alt=""><figcaption></figcaption></figure>
