TheMisterFish / Fabric_OfflinePlayersReworked

Allows a user to logout, leaving a fake player that loads the chunks
Creative Commons Zero v1.0 Universal
1 stars 0 forks source link

Fabric Offline Players Mod - Reworked

Installing

Download/Build the .jar file and place it in the /mods/ folder of your Minecraft Fabric server. If the server is already running, restart it.

Note: This is a Server-side mod only.

Dependencies and Compatibility

This mod is built for Minecraft version 1.21 & 1.21.1 and is build using the following dependencies:

Other dependencies:

Versions

Goal

This mod allows players to go AFK on a server without leaving their computers on. Simply use the /offline command to spawn an exact copy of your player, called an offline player. Depending on the configuration, you'll be kicked after the offline player has spawned.

If the offline player is killed, it won't drop loot but will be kicked from the server. When you rejoin, the inventory and XP levels from the offline player are copied to you, and you'll be killed. This gives you time to retrieve your items.

If the offline player survives until you rejoin, its inventory and gained experience will be transferred to you.

How to Use

Type /offline to spawn an offline player.

Actions

You can add actions to your offline player. Available actions include:

Name Description
attack Player left click
place / use Player right click
crouch Player crouching
jump Player jumping
eat Player eating (only if hungry & having food in one hand)
drop_item Drops an item from the active slot
drop_stack Drops all items from the active slot
move_forward Moves the player forward
move_backward Moves the player backwards
disconnect Automatically disconnects the offline player after a set interval

To use an action, type /offline [action], e.g., /offline attack.

Tip: use /offline actions to see a list of available actions

Interval/Offset

You can execute actions with set intervals or offsets:

Time Parsing

Besides using ticks (the default), it is also possible to set the interval and offset to milliseconds, seconds, minutes, hours, and even days.

Example: /offline use:100ms, /offline attack:1s, /offline attack:1.5m, /offline eat:0.25h, /offline disconnect:1d

Chaining

You can chain actions, for example:

Actions are executed in the order specified.

Config

After initialization, the configuration file is located at config/OfflinePlayersReworked.json in your Minecraft server's root folder.

The configuration looks as follows:

{
  "opRequired": false,
  "autoOp": true,
  "autoWhitelist": false,
  "autoDisconnect": true,
  "killOnDeath": true,
  "respawnKickedPlayers": true,
  "informAboutKickedPlayer": true,
  "copySkin": true,
  "databaseLocation": "./offlineplayersreworked/",
  "offlinePlayerPrefix": "[OFF]",
  "availableOptions": ["attack","use","etc..."]
}

Reporting Issues

If you encounter any bugs or have suggestions for improvements, please create an issue on our GitHub repository. To create an issue:

  1. Go to the Issues tab of this repository.
  2. Click on "New Issue".
  3. Choose between "Bug report" or "Feature request" template.
  4. Fill out the template with as much detail as possible.
  5. Submit the issue.

Screenshots

Offline Player

Able to spawn a offline player with the prefix [OFF] OfflinePlayersScreenshot

Updated death message

When the offline player dies because of, for example, a creeper; the original player will have a updated death message OfflinePlayersScreenshot_Dead

Player list

Player list will show 0/20 online when only offline players are online but will still show them in the small preview list. OfflinePlayersScreenshot_PlayerList

Setup

For setup instructions, please see the Fabric wiki page relevant to your IDE.

Credits

This mod incorporates classes from the Carpet mod, which served as a valuable reference for implementation. We extend our gratitude to the Carpet mod developers for their work.

License

This template is available under the CC0 license. Feel free to learn from it and incorporate it into your own projects.