Patch Note:
- Doll connection thread is no longer blocking while server shutdown
- Fixed Doll cannot perform use command to interact to world
- Trying to fix teleport packet crash on Folia
- Fixed some exploits in remove command
- Fixed incorrect Doll fetching in spawn command
Teleport Packet Crash
It is known that in Folia, some servers might facing random crash due to Doll's teleport packet handling.
If you share the same problem, please reply to Github Discussion
Patch Note:
- all patches in v1.35
- Fixed doll connection did not handle respawn correctly
Patch Note [Dev]:
- Changed Doll connection from Socket to Netty, become more performant
- Changed packet to NMS, should be more resilient to packet change
- Should fix some connection bugs
- Changed Tracer class (NMS to plugin API)
- Changed related logics in Actionpack class (tracer)
- Supported 1.21 Folia Dev
Known issues:
- Bottom parts of Doll real inv are shifted, causing interaction to Doll's armor and offhand slot (Bug from plugin API)
Note:
- This is a Dev version, please use it carefully.
- Please report any problems when you have any difficulties
Patch Note:
- Setup Github Wiki for detailed information
- Improved Shift actions in Doll Inv GUI
- Fixed Doll Inv GUI causing item to disappear by certain interaction
- Added spam preventation for Doll Inv GUI (4ticks)
- Fixed Dropping Item through GUI in Folia server causes error
- Changed config key
proxy-auto-join-delay
toauto-join-delay
- Prevent plugin disable while Doll auto-join
- Removed grouped permission in plugin.yml
- Added wildcards for permissions in plugin.yml
- Fixed Doll auto-join not applying Doll Identifier
- Fixed an issue that when player attempts to pset a newly set player, flag did not set
Doll Inv GUI
In this version, shift actions in Inv do stack similar items together (not in old versions)
auto-join-delay
Now it will also work on non-BungeeCord connections
Wildcards for permissions
- playerdoll.command.* -> Wildcard for command
- playerdoll.globalflag.* -> Wildcard for global flag
- playerdoll.personalflag.* -> Wildcard for personal flag
Others
- Config version is now 28
- Grouped permission is no longer be used, please re-configure those permissions if you are using it
Patch Note (Beta):
- A relatively complex update is released, not all functions are well tested.
New Features
- Supported 1.20.2
- Added Config key
force-proxy-ip
- Added Config key
doll-identifier
Changes / Bug Fixes
- Improved packet processing
- Fixed Doll not dismount from Entity when Die / Disconnect
- Fixed Doll cannot Join server if server.properties has required resource pack set
- Fixed Doll
join-at-start
not working - Updated command system for configurable Doll identifier
- Updated Doll config system for configurable Doll identifier
- Added comments for serveral Config keys
- Adjusted Config key
server-max-doll
toserver-max-doll-spawn
Known Issues
- Doll cannot update Boat while mounting
- Doll cannot be push by piston with Slime block correctly
- Doll causes Crash in Folia servers when Map is tracking Regions containing Doll (Temporary Solution below)
Packet Processing
A new packet logic is used
Basic operations are fine
Please write issue if any problems found
Force Proxy Ip
default: false
A optional tweak should fix Doll not joining server while the default connection address is not working
Doll Identifier
default: "-"
The identifier that Doll spawns with
Can be empty or 1 character
Should avoid common character that is username available or being used by other plugins
Note: Some characters will cause confusion to Vanilla / Other Plugin Commands.
Set to '' for disabling identifier
BungeeCord
Updated corrisponding logic to adapt configurable Doll identifier
Notes
Doll config has updated, and the format has changed because of the configurable identifier.
Please let Doll owners to cleanup all Doll data before updating to this version
It is not encouraged to keep old configs, weird problems might occurr.
Suggested Upgrade Flow:
- Cleanup Doll data
- Remove all Doll configs in plugins/doll and in dat file world/playerdata
- Update plugin
- Create new Doll
Temporary Solution to fix Crash in Folia Servers:
Goto paper-world-defaults.yml
and change the value of item-frame-cursor-update-interval
to 0
Patch Note:
- Fixed teleport packet causing doll to disconnect when spawn
- Added
hidden
flag for gset and pset - Added config key
display-doll-when-ping
- Added config key
op-can-see-hidden-doll
- Added check for Error UUID when spawn
- Added support for flying
Hidden flag
permission: playerdoll.personalflag.hidden
default: disabled
With this flag enabled, all players (or specific player):
- cannot see or interact doll hitbox in the world
- not listed from tablist
- not listed from ping list
Pset overrides Gset
Display Doll When Ping
default: false
This control the online count, max player count when player ping the server.
if disabled:
- all dolls will be filtered from online count
- original max player count will be shown (if
adjustable-max-player
enabled)
Op Can See Hidden Doll
default: true
Does server operator bypass the hidden
flag
Flying
If caller is in Creative and the doll can fly, doll will remain flying when spawn
Other
- Config version is now 26
- Updated default.yml
Patch Note:
- Fixed Create command cannot bypass max-create limit using manage or in op
- Added Info command
- Removed gset/pset
info
flag - Added doll setting
hide_from_list
flag - Adjusted pset config-saving check (if pset player has identical settings from gset, the setting will not be saved)
- Fixed an error that trying to use pset to set a specific flag on a player that was never presented on doll config
- Optimized command suggestions (Hover Texts)
- Adjusted Doll teleportation (using packet)
Hide From List flag
permission: playerdoll.globalflag.hide_from_list
If hide_from_list
flag enabled, Doll will be hidden from suggestion list when player is typing info
command
- This flag does not affect op or owner
- This flag does not block
info
query made from other player
Info command
permission: playerdoll.command.info
A command for listing basic data of Doll
- Doll name
- Online status
- Owner
- Doll settings
- General settings
- Player settings
Command Suggestion Hover Text
Added a related Hover Text display on Doll target
selection to the command.
Can be seen by dragging the mouse cursor onto the tab suggestion
- spawn, give, remove -> owner name
- tp, despawn -> current coords
- look, turn -> current facing
- slot -> current handheld slot
- exp -> current level
- mount, dismount -> is riding
- sneak, unsneak -> is sneaking
- sprint, unsprint -> is sprinting
- set, gset -> enabled flags
- pset -> players being pset before
- actions -> items on both hands
Others
- Config version is now 25
- Updated
default.yml
andzh.yml
(available on Github) - Published the plugin in release channel (stable)
Patch Note:
- Changed disconnect method from server side to fake-client side
- Changed TP method from console command execution to API teleport
- Fixed perm.yml max-doll-create counts incorrectly
- Fixed Pset data is not loaded correctly when doll spawn
- Fixed Give command is not working (Now Give command require Doll to be offline, and the receiver to be online)
Patch Note:
- Fixed an issue that when Doll was Removed by non-owner, the max-creation-counter is not update correctly
- End Dev test
Others:
- No update for BungeeCord plugin, download if needed. See v1.29
- Simply tested on the latest clean Velocity with forward setting "modern", PlayerDoll should work fine without implementing a dedicated Velocity plugin. (for Doll connection)
Also no need to change config settings
Patch Note (dev version):
New Features
- Added messages to Doll caller about spawn result
- Added Lang config keys
spawn-success
andspawn-error
Bug Fixes & Changes
- Fixed an issue that in some versions and branches that cannot perform command through Shortcuts or GUI buttons
- (BungeeCord) Fixed Doll will no longer be able to join the server if an connection error occurred before
- Simplify some logging messages
Others
- Config version is now 24
- Dev test will end in this version if no specific problem was found
Patch Note (dev version):
BungeeCord Connection Support
New Features
- Support 1.21 Paper (experimental-build #9)
- Support 1.20.3 - 1.21 BungeeCord Connection
- Added config key
proxy-auto-join-delay
, to delay (in seconds) each Doll when joining automatically - Added doll config key
last-join-server
for server Name that will be used in auto join. (doll without no server name are not joining)
Bug Fixes & Changes
- Fixed a crashing issue that server reload command interferes with doll brigadier command
- Changed config key
server-ip
andserver-port
toproxy-ip
andproxy-port
respectively for Proxy connection - Doll will connect to the local address automatically when BungeeCord mode is off.
- When BungeeCord mode is on, Doll auto join feature requires at least 1 player in server. When the first player joined, doll will start joining 1 by 1 after 5 seconds.
Others
- BungeeCord-side plugin is available below (PlayerDoll-Bungee-1.28.jar)
- GUI command actions are not working in BungeeCord mode in some versions and server mods. Entering command in chat as an alternative
- Doll in BungeeCord mode might not joining the game rarely. Please try again (around 5%?)
- To trigger doll auto join after reload in Bungeecord mode, a player is required to join the server in order to start.