Friend
Official compatibility
| Element | Reference |
|---|---|
TypeWriter | Required. Use the official TypeWriter release supported by the extension release. |
| Related extensions | Install the related extensions listed on this page before using entries that depend on them. |
The Friend Extension adds a player-to-player friend system to TypeWriter: players send and answer friend requests, browse their friend list in a GUI menu, and teleport to friends who are online.
Features
- Friend Requests — Send, accept, and decline requests between players.
- Friend List — A GUI menu listing friends with their online status.
- Teleportation — Teleport to a friend directly from the menu or command.
- Story Integration — Facts expose friendship state to your scripts, so quests and dialogue can react to who a player is friends with.
Commands
| Command | Description |
|---|---|
/friend help | Show the command help. |
/friend add <player> | Send a friend request. |
/friend accept <player> | Accept a pending request. |
/friend decline <player> | Decline a pending request. |
/friend remove <player> | Remove an existing friend. |
/friend list | Open the friend list. |
/friend toggle | Toggle friend request notifications. |
/friend tp <player> | Teleport to an online friend. |
Entries
- Actions — Send a friend request, Accept a friend request, Decline a friend request, Remove a friend, Teleport to a friend, Friend Menu.
- Facts — Check if player is Friend, Number of online friends.
User guide
- 1. Open the menu — Trigger the friend_menu action from a command, NPC, or item to let players manage their friends. → friend_menu
- 2. React in your story — Use the is_friend fact to gate dialogue or quests on friendship. → is_friend
Permissions
| Permission | Description |
|---|---|
friend.use | Use the friend system. |
friend.tp | Teleport to a friend. |
friend.admin | Administrate the friend system. |
Dependencies
| Extension | Required | Usage |
|---|---|---|
| GUI Extension | Required | Renders the friend menu (layoutPool, mainLayoutId). |
Troubleshooting
The extension is not visible
Check that the installed release matches the supported TypeWriter release and that the related extensions listed in the compatibility section are present.
An entry is missing
In the Typewriter Web panel, use the Search bar or the + button to find or create the entry with its exact identifier. Entry IDs and field names are case-sensitive; do not translate them.
The entry saves but nothing happens
Check that the entry is connected to the trigger, command, objective, event, or menu interaction required by its type. Test with optional permissions and criteria removed, then add them back one at a time.
An integration does not work
Verify the dependency and version shown in the extension card, then check the server log for the first error. Do not replace a missing dependency with a similarly named plugin unless the extension source explicitly supports it.