A Minecraft server-side mod that adds various teleportation related commands
1# Teleport Commands <img alt="Teleport Commands Logo" src="https://raw.githubusercontent.com/MrSn0wy/TeleportCommands/main/common/src/main/resources/teleport_commands.png" width="30"/>
2
3A Minecraft server-side mod that adds various teleportation related commands, like /home /tpa and /back
4
5Here is the [Changelog](https://github.com/MrSn0wy/TeleportCommands/blob/main/CHANGELOG.md)
6
7## Currently available commands:
8
9- `/worldspawn [<Disable Safety>]` - Teleports you to the world spawn (in the overworld), if given true it will not do safety checks
10- `/back [<Disable Safety>]` - Teleports you to the location where you last died, if given true it will not do safety checks
11<br><br>
12 **Homes are player specific locations that only that player can teleport to**
13- `/sethome <name>` - Creates a new home
14- `/home [<name>]` - Teleports you to the home, if no name is giving it will go to the default home
15- `/delhome <name>` - Deletes a home
16- `/renamehome <name> <newName>` - Renames a home
17- `/homes` - Shows a list of your homes
18- `/defaulthome <name>` - Sets the default home
19<br><br>
20 **Warps are op managed locations that all players can teleport to**
21- `/warp <name>` - Teleports you to the warp
22- `/warps` - Shows a list of the available warp
23- `/setwarp <name>` - Sets a warp. Permission level of 4 required (op)
24- `/delwarp <name>` - Deletes a warp. Permission level of 4 required (op)
25- `/renamewarp <name> <newName>` - Renames a warp. Permission level of 4 required (op)
26<br><br>
27 **With tpa you can teleport to other players or make them teleport to you**
28- `/tpa <player>` - Sends a tpa request to another player
29- `/tpahere <player>` - Sends a tpaHere request to another player
30- `/tpaaccept <player>` - Accepts the tpa/tpahere request of that player
31- `/tpadeny <player>` - Denies the tpa/tpaHere request of that player
32
33<br>
34
35## TODO:
36### Planned commands:
37- [ ] `/wild` - Teleports you to a random location in the Overworld
38- [x] `/worldspawn` - Teleports you to the worldspawn
39- [ ] `/spawn <dimension>` - Teleports you to your spawn point in a dimension, defaults to your current dimension
40- [ ] `/previous` - Go to the last teleported location
41
42### Improvements:
43- [ ] Look into changing the mod into the more safe and sane kotlin (I love java)
44- [ ] Add game tests
45- [ ] Find the easiest way to backport the mod to older version (help)
46- [ ] Create a config to add any delays and disable commands, with commands for operators in game
47- [ ] Add a perm system
48- [ ] Optimize the translation strings (They are getting out of hand)
49- [ ] Potentially setup a better translation system (Maybe I will self-host texterify)
50- [x] Find a way to combine the mod loader specific jars into one
51- [x] Json Storage automatic updater & cleaner
52- [x] Modify /back to check if the location is safe and automatically choose a nearby location that is safe
53- [x] Limit tpa requests for a player
54- [x] Add translation system
55- [x] Improve responses for commands
56- [x] Add Quilt support and NeoForge
57
58
59## Want to help?
601. You can create a translation file so other people can use the mod in their native language: [translations.md](./common/src/main/resources/assets/teleport_commands/lang/translations.md)
61
62
63## How to build
64### Getting the correct environment
65#### Nixos
66If you are on nixos you can simply go into the folder of where you cloned the repo, and run `nix develop .`. This will give you the environment I use (apart from the IDE) :3.
67
68#### Generic linux
69On any other linux distro, just install the jetbrains jdk, or try openjdk21.
70
71#### Windows
72On windows probably go to the openjdk website and install the 21 version? Idk goodluck.
73
74### Building
75Then on linux just run `./gradlew build`. To make it into a single mod jar just run `./gradlew mergeJars`.
76
77Or on windows, just do `.\gradlew.bat build` and `.\gradlew.bat mergeJars`.
78Note that this isn't tested for windows, but I think that is how it works.
79
80### Getting the jars
81Then you can find your jars in `fabric/build/libs/` (for fabric), `neoforge/build/libs/` (for neoforge) or `merged/build/libs/` (if you made the merged jar file).
82
83If you have any issues just make an issue or contact me on Discord `@mrsnowy_`
84
85## Random notes lol
86Text Colors:
87- Green = When something succeeds and an action will happen
88- Aqua = When something needs attention
89- White = When something is done
90- Red = When something fails