Forked from tanyaofei/minecraft-fakeplayer.
Added the maximum number of spawn fake players determined based on permissions.
The following is the original introduction.
English | 简体中文
This is a server side plugin inspired by Carpet-Mod for Minecraft 1.20.x
and 1.21.x
and above.
Click me to visit a demo video.
If you want more supports, join my Discord
If you like this plugin, buy me a coffee On PayPal 🎉
- Lets you spawn fake players who look like real to the server, they can keep chunk loading
- Fake players can be recolonized by vanilla commands and plugin commands, such as
/ban
,/tp
- You can open and edit their inventory via
/fp invsee
or Right-Clicking on them - You can fully control their moving, jumping, attacking... What's better ? Make it periodical
- Each player can configure his personal configuration
- Paper or Purpur software
- CommandAPI Plugin
Fakeplayer only generates a template config file named config.tmpl.yml
.
You need to rename this file to config.yml
as your configuration file.
This approach can let you preview new content when you are upgrading it.
Command | Description | Permission | Note |
---|---|---|---|
/fp spawn | Spawn a fake player | fakeplayer.command.spawn | |
/fp kill | Kill a fake player | fakeplayer.command.kill | |
/fp killall | Kill all fake players on the server | OP | |
/fp select | Select a fake player as default | fakeplayer.command.select | Appears only when player spawned more then 1 fake players |
/fp selection | View selected fake player | fakeplayer.command.selection | Appears only when player spawned more then 1 fake players |
/fp list | List spawned fake players | fakeplayer.command.list | |
/fp distance | Show distance to a fake player | fakeplayer.command.distance | |
/fp drop | Drop held item | fakeplayer.command.drop | |
/fp dropstack | Drop entire stack of the held item | fakeplayer.command.dropstack | |
/fp dropinv | Drop all items in the inventory | fakeplayer.command.dropinv | |
/fp skin | Copy skin from another player | fakeplayer.command.skin | 60 seconds cooldown if copy from a offline player |
/fp invsee | Open an inventory of a fake player | fakeplayer.command.invsee | Right-clicking on fake players has the same effect |
/fp sleep | Sleep | fakeplayer.command.sleep | |
/fp wakeup | Wake up | fakeplayer.command.wakeup | |
/fp status | Show player status | fakeplayer.command.status | |
/fp respawn | Respawn a dead fake player | fakeplayer.command.respawn | Appears only when server config does not kick on fake player death |
/fp tp | Teleport to a fake player | fakeplayer.command.tp | |
/fp tphere | Teleport a fake player to you | fakeplayer.command.tphere | |
/fp tps | Swap positions with fake player | fakeplayer.command.tps | |
/fp set | Change the configuration of a fake player | fakeplayer.command.set | |
/fp config | Change default configuration | fakeplayer.command.config | |
/fp expme | Transfer exp to you | fakeplayer.command.expme | |
/fp attack | Attack | fakeplayer.command.attack | |
/fp mine | Mine | fakeplayer.command.mine | |
/fp use | Use/Interact/Place | fakeplayer.command.use | |
/fp jump | Jump | fakeplayer.command.jump | |
/fp stop | Stop all actions | fakeplayer.command.stop | |
/fp turn | Turn around | fakeplayer.command.turn | |
/fp look | Look at specified location | fakeplayer.command.look | |
/fp move | Move | fakeplayer.command.mvoe | |
/fp ride | Ride | fakeplayer.command.ride | |
/fp sneak | Sneak | fakeplayer.command.sneak | |
/fp sprint | Sprinting | fakeplayer.command.sprint | |
/fp swap | Swap main and off-hand items | fakeplayer.command.swap | |
/fp hold | Hold corresponding hotbar item | fakeplayer.command.hold | |
/fp cmd | Execute command | fakeplayer.command.cmd | |
/fp reload | Reload config file | OP |
Each player can configure his own configuration, it will take effect on the next spawning
Command examples:
/fp config list
- View all personalized configurations/fp config set collidable false
- Set personalized configuration
Configuration Item | Note |
---|---|
collidable | Whether collision box is enabled |
invulnerable | Whether invincible mode is enabled |
look_at_entity | Automatically look at nearby attackable entities (including players), can be combined with attack to automatically fight monsters |
pickup_items | Whether to pick up items |
skin | Whether to use your skin |
replenish | Whether to auto-replenish |
autofish | Whether to autofish |
Click to visit
Each command has its own permission node, but we provided some permissions packs
fakeplayer.spawn
includes the following permissions:
- fakeplayer.command.spawn - Create fake player
- fakeplayer.command.kill - Kill fake player
- fakeplayer.command.list - List fake players
- fakeplayer.command.distance - View distance
- fakeplayer.command.select - Select fake player
- fakeplayer.command.selection - View selected fake player
- fakeplayer.command.drop - Drop an item
- fakeplayer.command.dropstack - Drop entire stack of items
- fakeplayer.command.dropinv - Drop all inventory items
- fakeplayer.command.skin - Copy skin
- fakeplayer.command.invsee - View inventory
- fakeplayer.command.status - View status
- fakeplayer.command.respawn - Respawn fake player
- fakeplayer.command.config - Set default settings
- fakeplayer.command.set - Set fake player settings
fakeplayer.tp
includes the following permissions:
- fakeplayer.command.tp
- fakeplayer.command.tphere
- fakeplayer.command.tps
fakeplayer.action
includes the following permissions:
- fakeplayer.command.attack - Attack
- fakeplayer.command.mine - Mine
- fakeplayer.command.use - Use
- fakeplayer.command.jump - Jump
- fakeplayer.command.sneak - Sneak
- fakeplayer.command.sprint - Sprinting
- fakeplayer.command.look - Look
- fakeplayer.command.turn - Turn
- fakeplayer.command.move - Move
- fakeplayer.command.ride - Ride
- fakeplayer.command.swap - Swap main and off-hand items
- fakeplayer.command.sleep - Sleep
- fakeplayer.command.wakeup - Wake up
- fakeplayer.command.stop - Stop all actions
- fakeplayer.command.hold - Switch hotbar
- fakeplayer.config.replenish - Auto-replenish
- fakeplayer.config.replenish.chest - Can replenish from nearby chests when auto-replenishing
- fakeplayer.config.autofish - Autofish
If your server does not restrict various player commands, you can use this directly.
fakeplayer.basic
includes all secure permissions, except for /fp cmd
commands.
%fakeplayer_total%
: Total count of fake players%fakeplayer_creator%
: The creator name of a fake player%fakeplayer_actions
: Active actions of a fake player such as :USE|ATTACK
- Create a
message
folder inplugins/fakeplayer
- Copy this file to
message
folder - Rename the file to
message_language_region.properties
such asmessage_en_us.properties
- Edit your
config.yml
, seti18n.locale
to the name suffix which you just created such asen_us
- Type
/fp reload-translation
to reload translation file. If you changei18n.local
, you should/fp reload
first
Make sure the translation file is encoding with UTF-8
Some plugin change the Connection
of the fake player, You can set prevent-kicking
to ALWAYS
to solve it.
# config.yml
prevent-kicking: ALWAYS
By default, fake players are in invincible mode. Players need to manually turn off invincible mode with /fp config set invulnerable false
to attract aggression. After turning it off, they will
receive hunger and health effects. You may need to use res
or beacon to ensure the fake player's hunger
and health
.
This may be because plugins like AutheMe
detect that fake players have not logged in for a long time. You can include the login command in the configuration file's self-commands
to prevent the
plugin from kicking out players for being idle:
# Note: You should use a complex password, or AuthMe may reject it
self-commands:
- '/register abc123! abc123!'
- '/login abc123!'
See the introduction.