Archived /f Access All

This suggestion has been archived / closed and can no longer be voted on.
Joined
May 2, 2015
Messages
2,223
Reaction score
3,401
Points
403
Location
Atlanta, GA
I feel like this wouldnt be too time consuming to code... but like


A command that adds/removes /f access for a single player/faction over all faction chunks in 1 command.
 
This suggestion has been closed. Votes are no longer accepted.
This is a great suggestion and I second it! I recently ran into a situation where I hired a builder to decorate my castle and would have loved to have this kind of command.

I took a different approach in order to have the designer help me out. I put his faction under TRUCE and gave that Build/Door/Button/Etc.. access just as /f access would. It was easy for me since I only had factions under Enemies, Neutral or Allies and nobody under listed under Truce.
 
This is a great suggestion and I second it! I recently ran into a situation where I hired a builder to decorate my castle and would have loved to have this kind of command.

I took a different approach in order to have the designer help me out. I put his faction under TRUCE and gave that Build/Door/Button/Etc.. access just as /f access would. It was easy for me since I only had factions under Enemies, Neutral or Allies and nobody under listed under Truce.
Yes! And its even better for, like, if you have an officer who left or if you wanted to remove people from chunks... you can easily remove them from EVERYTHING at once without /f access v on EACH one
 
The frameworks really already exists to do this sort of thing. The code currently just sets a new true false value based on the opposite of the current value and applies this to whatever chunk you are currently in. I think the chunk value used here can be used

https://github.com/MassiveCraft/Fac...factions/cmd/CmdFactionsAccessPlayer.java#L35
https://github.com/MassiveCraft/Fac...ctions/cmd/CmdFactionsAccessAbstract.java#L45


It would basically take a fundamental re-work of the way that the command works as of now. Basically right now /f access p literally just gets the chunk you are in and passes the opposite of the current player level access as the new access level.

Code:
boolean newValue = this.readArg(!ta.isPlayerIdGranted(mplayer.getId()));
..snip..
chunk = PS.valueOf(me.getLocation()).getChunk(true); 
..snip..
ta = ta.withPlayerId(mplayer.getId(), newValue);
BoardColl.get().setTerritoryAccessAt(chunk, ta);

Basically, to do this, would have to generate a new command that gathers a set of all the chunks in the faction territory and passes the same permission level to each chunk.

IE: /f access allterritory IGN true,false

In the new command it could call a function similar to the one used /f unclaim all to gather a set of all chunks organized into a set:
https://github.com/MassiveCraft/Fac...craft/factions/cmd/CmdFactionsSetAll.java#L87

Then a for loop can be used to iterate through all of the items in the set and set the access to the passed access level (true or false) utilizing the same method .setTerritoryAccessAt(chunk,ta) except chunk will be one of the chunk iterations for each chunk and the ta (territory access) object used here is the specified player ID and the specified access level requested.

I can say I've also often wanted this feature.
 
I feel like this wouldn't be too time consuming to code... but like

A command that adds/removes /f access for a single player/faction over all faction chunks in 1 command.
I believe we stated previously that it is our intention to overhaul the faction access system with a much larger more powerful one.

Yes, although it is possible to create a command that does this without much effort, I must say that the Tech department does not believe in fixes, hot fixes or quick decisions.

Thousands of servers are using Factions and thus we are responsible for creating a good, well tested plugin.
We'd have to have several meetings about this and discuss what would have to be done. Overall, I guess the work needed to overhaul the system would go from 30 to 100 work hours.

If it is not dearly required we will not create such a command till we rework the access system all together. As in all, the last word has the direction department to whether or not it should be made priority.