Plugin Requests: AutoLoot and BusyMode

Discussion in 'Archived: Plugin Requests' started by coolperez8, Aug 12, 2014.

  1. Offline

    coolperez8

    Plugin 1:

    Name: AutoLoot

    Description:
    This plugin is very basic, basically when a player interacts with a block or entity, it will check what it drops, and then put it in the player's inventory, and it can also tell if a block broken caused other blocks to break, and then put it in their inventory as well, like if you break sugarcane or a cactus from the bottom all 3 blocks will not be dropped, but placed in their inventory. You can also prevent players from dropping items, which if the player attempts they will be placed back in his inventory.

    Commands:
    /autoloot nodrop - Toggles whether or not the player who executed the command can be allowed to drop items. (Default: No)
    /autoloot toggle - Toggles whether or not the player who executed the command will get the item in their inventory. (Default: Yes)
    /autoloot dispose - When ran, a chest will pop up, players can put items in the chest then exit to dispose of them. (Default: N/A)
    /autoloot help - List the commands.
    /autoloot - List the commands if no arguments or an unknown argument is given. (EX: /autoloot or /autoloot puppy)
    /al - Can be used as an alternative to /autoloot

    Permissions:
    autoloot.nodrop - Allows the player to use /autoloot nodrop to toggle the player's ability to drop entities out of it's inventory.
    autoloot.toggle - Allows the player to use /autoloot toggle to allow items to spawn in the player's inventory on interaction instead of entities on the ground.
    autoloot.dispose - Allows the player to use the /autoloot dispose command.

    Plugin 2:

    Name: BusyMode

    Description:
    This would probably be a good idea, it allows players to toggle BusyMode and be busy or not. It generates a config.yml, an admins,yml, a blacklist.yml, and a whitelist,yml. In the config.yml you list how many classes you want it to generate, with the default set to 5. It will then generate files called class#.txt, with # being the number of the class, so let's say it's set to 5 classes, it will generate a class1.txt, a class2.txt, class3.txt, class4.txt, and class5.txt, Automatically when a player joins they will not be added to the text file but will be treated as a class 0, which is basically lower than class 1. Class1 is the lowest class, while the class with the highest number is the highest. You also have an admins.txt, you can only add Admins through modifying the server's files for security, and "admins" can only promote others to a class that is lower than theirs. Also, console can't promote players due to the fact that their are plugins out there that allow players to run commands as the console, if a player that's not an admin on this plugin uses that, he can easily manipulate himself to admin and the highest rank, also, Console is treated like a class -1 for extra security, can't even perform commands on class 0 without permission (or you can add a password you need to type as a command every time to override everything). Now, here's how the plugin really works.

    You can enable alt account overrides, which means that that player can still be able to override you even if his rank is lower than yours, and there is two types of override toggles, one is individual toggle and feature toggle, note that feature toggle does not modify the individual toggles, so let's use an example here.

    Let's say there is Player1, and he has one alt named Alt1 and another named Alt2. Let's say both alts are on and feature is on, he then toggles Alt2 off, then toggles feature off, then apparantly lags out and comes back on, and still feature is toggled off, when he toggles that back on, Alt1 is still toggled on and Alt2 is toggled off.

    Now that we got that out of the way, let's get on to how the plugin actually works.

    There are 5 modes, each in this override order., Completely Busy, Busy, Always Ask, Ask, and Free.

    The plugin basically watches everybody's commands, and predicts who they might be trying to execute a command on, it will also check if the player is busy, and in what mode, also, anything in the whitelist.yml is allowed to run even if they have blacklist off.

    Let's use a real world example here.

    Let's say there are three players online, their names are coolswagga24, coolperez8, and perezeh, and perezeh is trying to execute a command. Here's how it works.

    Step 1:
    If perezeh is trying to execute "/tp cool", the plugin will notice there's two players that have a name that starts in cool it will say "&4Which cool are you referring to? Enter in chat: (coolperez8, coolswagga24, or both?)" The player can then enter in chat one of the two or both, if he enters both, it will then go to step two checking the command with both players, but instead of executing "/tp cool" twice, the plugin will treat it like he executed "/tp coolperez8" then /tp coolswagga24. But, if instead he executed "/tp coolp", the plugin will know he's referring to coolperez8.

    Step 2:
    When perezeh executed the command to tp to coolperez8, it will check what mode coolperez8 is in. If he is in Busy or Completely busy, the plugin will send a message to perezeh saying "coolperez8 is busy" And, coolperez8 can setup something for if he's busy and perezeh attempts to do a command on him, he will be notified about the attempt and the command used, he can also toggle cooldown meaning that if the player attempts again, ususally by default the same command, he will not be notified unless he uses a different command, and he can also make it so he will not be notified if it's a different command but it's also the same player.

    But, what if coolperez8 is in Always Ask or Ask mode? Then, coolperez8 will be asked whether he wants the command to be allowed, he can also ignore the player from executing the commands to prevent spamming, that player will be notified that he is busy and coolperez8 will not be notified by the attempts.

    Commands:

    Now here it's a little more different than usual, let's dive in.

    The player can do /bm or /busymode to activate the plugin, Just like AutoLoot, busymode also has a /busymode help and will list the commands if an invalid argument is given or no arguments are given at all. Here's a basic rundown.

    /bm ask - Sets busymode to ask the player whether they want the commands to continue.
    /bm busy - Sets busymode to ignore requests from other players.
    /bm free - Sets busymode as free
    /bm blacklist - Toggles blacklist on or off, if it's on, the plugin will only watch for blacklisted commands on those players, and not anything, (EX: If /tell is not blacklisted, and a player is busy with blacklist on, players will be allowed to use "/tell" on him unless his blacklist if off, which it's off by default.)

    *NOTE*: Completely Busy is Busy with Blacklist Off, and Always Ask is Ask with Blacklist Off.

    /bm ignore - Ignore a player from sending you requests in Ask mode and treat the player like their busy.
    /bm accept - Accept a request from another player to run the command.
    /bm deny - Deny the request from the other player, and tell them your busy.
    /bm alt add - Add an alt account to a list of alts that is allowed to perform commands on you when busy.
    /bm alt delete - Remove an alt account from a list of alts.
    /bm alt ignore - Ignore an alt account for the time being, in case a friend is using it.

    *NOTE*: If there are three players, Player1, Player2, and Player3, Player1 attempts to add Player2 as an alt, and then Player2 attempts to add Player3, Player3 will also be treated as an alt to Player1.

    /bm alt accept - Accept an alt request from another player
    /bm alt deny - Deny an alt request from another player.
    #/bm promote (player) (class) - Promotes a player to another class.
    #/bm demote (player) (class) - Demotes a player to another class.

    Permissions:
    busymode.admin - Allows use of any command marked with #.

    When I want them by: August 13, 2014.
     

Share This Page