ALE PCU Transferrer

LordTylus

Introduction

For administrators its a tedious job to paste grids in once CLANG demanded a new sacrifice to be given.

But to do that you have to paste the grid from workshop, or maybe even from a previous server iteration which results in OwnerID Changes. Also the "Keep Original Authorship" option in Space master is broken.

When you still want to enforce your own PCU and Block limits you need to make sure PCUs are properly set. However PCUs can only be transferred if you are the owner of them and you need to transfer all connected and subgrids.

This is what this plugin does

Commands

Space Master Commands

  • !freebuild
    • Increases all limits for the user to be able to paste limit exceeding grids. Run again to disable
  • !transfer <PlayerName>
    • Transfers all PCU and block ownership of the grid you are looking at over to the player.
  • !transfer <PlayerName> <GridName>
    • Transfers all PCU and block ownership of the named grid to the player.
  • !transferpcu <PlayerName>
    • Transfers only PCU of the grid you are looking at over to the player.
  • !transferpcu <PlayerName> <GridName>
    • Transfers only PCU of the named grid to the player.
  • !transferowner <PlayerName>
    • Transfers only block ownership of the grid you are looking at over to the player.
  • !transferowner <PlayerName> <GridName>
    • Transfers only block ownership of the named grid to the player.
  • !transfernobody [GrodName]
    • Transfers all PCU and block ownership of the grid with given name, or you are looking at over to nobody.
  • !transferpcunobody [GridName]
    • Transfers only PCU of the grid with given name, or you are looking at over to nobody.
  • !transferownernobody [GridName]
    • Transfers only block ownership of the grid with given name, or you are looking at over to nobody.
  • !forcetransfer <PlayerName>
    • Transfers all PCU and block ownership of the grid you are looking at over to the player ignoring ownership.
  • !forcetransfer <PlayerName> <GridName>
    • Transfers all PCU and block ownership of the named grid to the player ignoring limits.
  • !forcetransferpcu <PlayerName>
    • Transfers only PCU of the grid you are looking at over to the player ignoring limits.
  • !forcetransferpcu <PlayerName> <GridName>
    • Transfers only PCU of the named grid to the player ignoring limits.

When pasting some grids it may be possible they get some deformations or damage. To get rid of them easily there is also

  • !repair
    • Repairs all damaged and deformed blocks of the grid you are looking at.
  • !repair <GridName>
    • Repairs all damaged and deformed blocks of the given grid.

Unfinished blocks will not be fixed unless they are deformed or damaged. So blocks that are left on grid stage on purpose will not be changed.

Finally we have commands for world analysis

!listblocks <all|limited> [-pcu] [-player=<playerName>] [-faction=<factionTag>]

  • !listblocks all
    • Lists all blocks the world has.
  • !listblocks all -pcu
    • Lists all blocks and also outputs the total pcu.
  • !listblocks limited
    • similar to "!listblocks all" but shows only blocks that have block limits.
  • !listblocks limited -pcu
    • similar to "!listblocks all -pcu" but shows only blocks that have block limits.
  • !findblock <blockpairname> [-player=<PlayerName>] [-faction=<FactionTag>] [-groupby=<player|faction|grid>] [-metric=<author|owner>] [-findby=<blockpair|type|subtype>]
    • Shows which Faction or Player owns a specific block.

You can filter the results by adding -grid=Gridname, -faction=XYZ or -player=Playername. If any of these filters contains spaces you need to set the whole expression in "". Example: !listblocks all -pcu "-player=My Player".

Also sorting is possible with -orderby=blocks|name|pcu

Moderator Commands

  • !checkowner
    • Lists the owners and amount of blocks they own in descending order of the grid you are looking at.
  • !checkowner <Gridname>
    • Lists the owners and amount of blocks they own in descending order of the grid with the given name.
  • !checkauthor
    • Lists the authors and amount of PCU they own in descending order of the grid you are looking at.
  • !checkauthor <Gridname>
    • Lists the authors and amount of PCU they own in descending order of the grid with the given name.
  • !listgridsowner <PlayerName>
    • Lists all grids the player has block ownership on
  • !listgridsowner <PlayerName> -gps
    • Lists all grids the player has block ownership on and adds gps to executing player
  • !listgridsowner <PlayerName> -position
    • Lists all grids the player has block ownership also shows GPS in the window can be combined with -gps
  • !listgridsowner <PlayerName> -id
    • Lists all grids the player has block ownership also shows EntityId of the grid
  • !listgridsauthor <PlayerName>
    • Lists all grids the player has PCU ownership on
  • !listgridsauthor <PlayerName> -gps
    • Lists all grids the player has PCU ownership on and adds gps to executing player
  • !listgridsauthor <PlayerName> -position
    • Lists all grids the player has PCU ownership also shows GPS in the window can be combined with -gps
  • !listgridsauthor <PlayerName> -id
    • Lists all grids the player has PCU ownership also shows EntityId of the grid
  • !listgrids [-player=<PlayerName>] [-faction=<FactionTag>] [-orderby=<pcu|name|blocks|faction|owner>] [-id]
    • Lists all Grids and allows for filtering by player or faction and custom sorting.
  • !listnoauthor [-gps] [-position] [-id]
    • Lists all grids which have at least 1 block without authorship.

Cleanup Commands

  • !gridcleanup <days>
    • Similar to !identity purge in essentials it deletes grids of inactive players, assigns ownership of shared grids to the biggest active owner and kicks inactives from the faction.
    • Unlike Essentials however it does not delete the Identity. Because identity purge will leave a then dead ID in the PCU ownership. Causing various issues depending on your world settings.
    • Auto reassinging PCU to the next player is a bad idea because that one player will most likely go over limits then. And just deleting blocks will destroy grids. Which is why just leaving the identity in there is probably the best solution.
  • !deleteblocks buildby <playername> <gridname>
    • Deletes all blocks on specified grid build by the given player. Use "allgrids" to delete the blocks on ALL grids.
  • !deleteblocks ownedby <playername> <gridname>
    • Deletes all blocks on specified grid owned by the given player. Use "allgrids" to delete the blocks on ALL grids.

Things to be aware of

  • Similar to the game itself when transferring ownership to an other player connectors will unlock. So you need to ensure beforehand that nothing can get damaged in the process.

  • Also when the grid you are transferring has no PCU owner it wont immediately be updated the player will see it in its info tab and block limits, but when looking with the welder at the block grid you just transferred it may be that it is not shown at the moment. Sadly there is some game features missing to do it right away. Transferring from Player to Player works without issue

  • You can also transfer to players that are currently online.

  • The plugin will respect PCU and block limits as well as block-type limits. The plugin will tell you what will be exceeded for the player if you perform the transfer and will not allow it.

    • With the exception of the force commands. These will ignore the any limits.

Executing via Console

An online character is needed in order to run the commands that require looking at a grid.

All commands that want you to pass a grid name can be run by console also.

Github

See Here

Beta? Version Note Date Download DL Count
v1.1.8.7 Added some secret command to yeet the asteroid seeds out of the world basically a light version of what essentials does. It doesnt belong in the plugin but didnt want to do a new one so undocumented secret command that wont annoy anyone it is then ^^ 6/29/20 6:38:58 PM Download 106
v1.1.8.6 Compatibility fixes and recompile for 195 Update. No new Features 6/24/20 7:05:39 PM Download 90
v1.1.8.5 Delete Blocks is no longer prevented by safezones 6/13/20 10:27:28 AM Download 98
v1.1.8.4 Added !deleteblocks noauthor and fixed error when player was not found by !deleteblocks buildby <playname> 6/11/20 4:31:03 PM Download 72
v1.1.8.3 !listnoauthor and !listgridsrange now also have the -id parameter 6/6/20 4:46:25 PM Download 88
v1.1.8.2 !listgrids !listgridsowner !listgridsauthor have now an -id parameter to display the entity ID. And !listblocks can now filter by gridname with wildcard as in Sm*223 or entityId 6/6/20 4:39:27 PM Download 13
v1.1.8.1 No longer blocks transfers if block limit mode is set to NONE 5/27/20 5:25:36 PM Download 94
v1.1.8.0 CheckOwner and CheckAuthor now open Dialog Messages instead of spamming the chat. 4/16/20 9:11:45 PM Download 156
v1.1.7.0 Improved Problem-Logging. Instead of just outputting the first Block that goes over limit there now is a Full List of all Blocks and how far they are over limit. Also We I added support for BlockLimiter Plugin which when installed can be asked if a Transfer is possible. This however is disabled by default. Also there are issues where BlockLimiter gets confused when transferring so the Limits may go out of sync, or it may even prevent the transfer alltogether. However neither of these issues is new. 4/11/20 1:22:52 PM Download 96
v1.1.6.0 added -findby=<type|subtype|blockpair> option to !listblocks and !findblock. Also Added -metric=<owner|author> filter to determine how the blocks will be filtered when -player or -faction is used. And !listgridsrange will now also output the range next to the gridname. 4/3/20 7:49:33 PM Download 106
v1.1.5.1 Just a recompile to fix various problems with new update no code changes 3/19/20 10:48:43 PM Download 128
v1.1.5.0 added !deleteblocks commands 2/15/20 6:49:11 PM Download 138
v1.1.4.9 Added -groupby=grid option to !findblock 2/8/20 6:18:25 PM Download 104
v1.1.4.8 Added !listnoauthor command 2/7/20 9:43:41 PM Download 88
v1.1.4.7 added a -owner option to !listgridsauthor and !listgridsowner to figure out easily which grids belong to an entirely different player 1/21/20 7:09:29 PM Download 120
v1.1.4.6 We now filter duplicates from the !listgridsrange command 1/19/20 2:31:34 PM Download 93
v1.1.4.5 Added a -grid Filter option to !listblocks 1/14/20 5:48:55 PM Download 101
v1.1.4.4 Added Debug Info to Plugin 12/17/19 11:13:19 AM Download 144
v1.1.4.3 No Functional Changes just reorganized the Project and updated Dependencies 12/16/19 9:55:39 PM Download 94
v1.1.4.1 Added !listgridsrange <range> command to see what grids are around your character 12/16/19 3:10:40 PM Download 97
v1.1.4.0 added !cleanupgrids command which works similar to !identity purge but without deleting the identity. 11/23/19 2:42:48 PM Download 129
v1.1.3.2 Bugfix: When transferowner did not found a player it no longer cause errors 11/23/19 12:42:19 PM Download 69
v1.1.3.1 Added way to transfer from nonexistent players, added option to transfer to nobody with !transfernobody 10/3/19 8:39:21 PM Download 162
v1.1.3.0 If Blocklimits are disabled / MaxBlocks set to 0 you can now transfer blocks also 9/20/19 8:28:48 PM Download 136
v1.1.2.6 !protect and !unportect commands added 9/15/19 2:35:07 PM Download 121
v1.1.2.5 !findblock command implemented, that shows which player has how many of which block. 9/10/19 7:32:01 PM Download 130
v1.1.2.4 New command !listgrids added that lists all grids and allows for custom filtering and sorting 9/10/19 5:52:48 PM Download 107
v1.1.2.3 -orderby=<blocks|name|pcu> added to !listblocks command 9/10/19 4:20:27 PM Download 92
v1.1.2.1 !checklimits command now shows "build / total (remaining)" for PCU and Blocks to be less confusing. 6/2/19 6:50:42 PM Download 240
v1.1.2.0 UI Added and Freebuild command can now be disabled again 5/23/19 6:10:30 PM Download 131
v1.1.1.0 filters for faction and player added to listBlocks command 5/19/19 2:45:41 PM Download 130
v1.1.0.1 checklimits command is now also available for moderators 5/18/19 8:36:39 PM Download 123
v1.1.0.0 Gridtransfer to offline players is now possible. Also there are a few new Analysis commands for Blocks, Grids and Players 5/18/19 8:34:30 PM Download 104
v1.0.3.0 New Command !freebuild that increases blocklimits of the user to be able to paste otherwise limit exceeding grids 5/5/19 9:07:25 PM Download 130
v1.0.2.0 New Commands listGridsOwner and listGridsAuthor to find all grids based on owner/authorship of an player 5/2/19 8:55:50 PM Download 113
v1.0.1.0 check commands for owner and authorchip and force option for transfer to ignore limits 5/1/19 7:33:31 PM Download 106
v1.0.0.2 Some small refactoring no new features 4/30/19 10:10:09 PM Download 110
v1.0.0.1 performance fixes & better logging 4/30/19 9:39:50 PM Download 101
v1.0.0.0 First Plugin Version 4/28/19 2:56:57 PM Download 107