Vitals
Information about commands, permissions, and other extensive documentation for this plugin is available on our website: http://6d7.com/vitals You can also get the latest download there if it hasn't been approved yet here at DevBukkit.
Requirements
- Vault
- a Vault-compatible economy plugin like BOSeconomy
- All features of this plugin are turned off (set to false) by default. You must enable the modules you want!
If you install this plugin and don't turn any modules on, it will do nothing. This is so that it runs as efficiently as possible, giving you only the features you want and nothing else. Don't worry, this plugin is designed to run well even with everything turned on! (we have a very underpowered server, it's a necessity). Join our minecraft server 6d7.com which runs Vitals with almost every feature enabled if you want to see how something works.
Installation / Configuration
Just put the .jar file in your plugins folder, and when you start your server it will create the config.yml file for you.
You can then edit the config file while the server is running and type /vreload to load any changes you made to the file.
Or, you can modify settings with commands... See current settings with /vhelp, turn a module on or off with /vtoggle [modulename], or change config settings with /vsetting [setting] [value]
General Features
- Announcements: Setup a list of messages that are broadcast in sequential or random order every X seconds
- Arenas: Let your players participate in arena matches (pvp, spleef, hungergames, or racetothefinish) that start manually or automatically at a set interval
- Auctions: Players with the permission v.auction (default op) can put items up for auction with /auction and players with v.auction.bid (default everyone) can bid on items with /bid. Configurable fees, duration, announce interval, and fair queueing system. Items that are damaged or enchanted are noted in the auction description.
- BetterHelp: If enabled, /help shows a simple list of basic commands, /help advanced shows a simple list of advanced commands, /help [command] shows help for a specific command. The commands shown are chosen in config.yml, or can be changed with /help (addbasic,addadvanced,remove) [command] if you have permission v.help.edit. If BetterHelp is not enabled, the normal help system on your server is used
- BetterNews: Players see the latest news when they login or when they type /news. Ops can edit the latest news with /news [add|change|delete]
- Bounties: When a player kills another player, a bounty is offered to whoever can kill them. Additional unique kills by the killer increase the bounty on their head. Players can also create their own bounties with /bounty [player] [amount] (deducted from their balance)
- ChatWorlds: Players can only see chat messages from other players in the same world, unless they have the permission v.chatworlds.bypass
- CustomWarps: Define one or more custom warps using /customwarp [warpname], that players can then use by typing /[warpname]
- EconPromotions: Players can buy ranks/promotions with the command /buyrank [rank]. Configurable costs and rank prerequisites. They can type /buyrank by itself to see ranks that are available to them
- Gameplay: Many different game mechanics modifications that can be turned on or off individually...
- CancelFlyingWhenDamaged, VillagerPermission, VillagerProfessions, Superchainmail, BouncySponges, EmeraldBlockHaste, FeatherFly, BlazerodFireball
- DamagedItemSales (lets Essentials /sell work with damaged items, more damaged equals less value),
- DeathRetention (keep some or all items when you die),
- SafeJukebox (play records without putting them in jukebox),
- UsefulCompass (compasses point to the nearest player)
- HelperBot: Will answer with preprogrammed responses when it says certain pairs of words in chat, setup by the admin. For example, if it sees "where" and "shops?" it might respond with "The shops are located in the downtown area, type /downtown to get there."
- ModVote: Players can type /modvote [name] to vote for that person to be a moderator. They can only vote for 1 person at a time, but they can change their vote. Ops can see the top votes for mod with /modvote top or reset the votes with /modvote reset
- PlayerPasswords: Players can type /password [pass] to save a password to a flatfile on the server, which can be used for player authentication on a web server or other software
- Playtime: Records total playtime of each user in users.yml, and the info can be accessed with the command /playtime. Ops can see other players' playtime with /playtime [name], or the top 10 players with /playtime top. Also can display the average daily playtime over the last 30 days in addition to total playtime
- PlaytimePromotions: Ranks/groups can be specified to autopromote players after a certain playtime has been reached (from a specific rank or from 'any' rank)
- RegionLabels: Announce to players as they enter/leave regions on the map
- TownyMods: Enhancements to towny...
- Findmyplot to teleport to your own plot, Findplot to teleport to the cheapest plot for sale, PlotSaleSign to put a for-sale sign on a plot, SethomeReminder when you buy a plot, RestrictedPlots purchasable only by certain groups
- WorldDate: Keeps track of the game date as well as time, starting at a specified year. Optionally announces as dawn/dusk approaches and the current game date, or use /date to see it whenever you want
Admin Features
- ChunkRegen: Ops can use /chunkregen to regenerate the chunk they are standing on, and optionally to clear everything at the level they are standing or above after the regeneration occurs
- Countdown: Ops can use /countdown [seconds] [message] to start a countdown, with the message broadcasting more frequently as the countdown approaches zero
- GamemodeAll: Ops can see who is in which gamemode with /gmall (including op and flying), or a specific player with /gmall [name], or set everyone's gamemode with /gmall creative|survival
- ModWarnings: Ops/permissible players can warn other players with /warn [name] [reason]. Keeps track of warning level, and can have commands autoexecute at each level
- OnlinePlayers: Generates a flatfile list of players on the server, updated automatically as players join and leave
- RegionProtect: Protect regions from block placement/destruction
- RegionRestore: Save the current state of a region (block data, chest inventory, etc), then restore it at a set interval or manually
- ServerLogArchive: Archives the server log every X hours or when an op runs the command /serverlogarchive
- WordSwap: Ops can define words to be replaced in chat with new words
Antigriefing Features
- AbandonedMinecarts: No more minecarts left behind blocking rail usage! Removes minecarts if they have no passenger and have been motionless for X minutes
- Antiadvertising: Detects IP addresses and domain names in chat, and handles them in 1 of 4 ways: mute (cancel the message), secretmute (show the message only to the person who sent it and to ops), replace (delete the ip/domain in the message but show the rest), or mutekick (cancel the message and kick the player who sent it)
- Anticaps: Prevent players from sending chat messages in all or mostly-all caps, and give them a message why when it happens
- AntiStickyKeys: Characters repeated 5 or more times are reduced to one, so "LOL!!!!!!!!!" becomes "LOL!" and "really........ ya think?????" becomes "really. ya think?"
- Antiovercrowding: Prevents more than X entities (mobs/animals/villagers) from being in a 9x9x9 area
- CommandsThatAutokickIfNotOp: You can define a list of commands that automatically kick any player from the server that tries to execute them while not being an op. Many hacking/modding clients like Nodus by default run certain commands when they login to test the limits of the server, like /give, this will make players running those clients unable to logon to your server until/unless they change the default configuration of their modding client
- OpOnlyFromConsole: Makes it so the op command cannot be executed by a player, only by the console
- UnkillableVillagers: Makes villagers immortal
Author Message
We are not allowed to sell Minecraft plugins (or even sell premium features), so Vitals come packaged with ALL features for you to pick and choose from. However, it broadcasts this message once every 4 hours: "This server uses the Vitals plugin, made by 6d7.com". We ask that you leave this message in so that other people will hear about this great plugin.
Commands/Permissions
"module", "permission", "command", "description"
- "announcements", "v.announce", "/announce [list,add,edit,remove]", "List or edit announcements"
- "antiadvertising", "v.antiadvertising.bypass", "", "Can send domains and IP addresses"
- "anticaps", "v.anticaps.bypass", "", "Can speak in all-caps"
- "arena", "v.arena", "/arena", "Participate in arena matches"
- "arena", "v.arena.admin", "/arena setup [1,2,3...,race1,race2,race3...,spleef,hunger]", "Define the location of an arena so players can be teleported * appropriately"
- "arena", "v.arena.admin", "/arena list", "List all arenas that have been set up"
- "arena", "v.arena.admin", "/arena delete [arenaname]", "Delete the setup for an arena"
- "arena", "v.arena.admin", "/arena start", "Start an arena match immediately (random type, or specific type with /arena start [type])"
- "arena", "v.arena.admin", "/arena end", "Terminate an arena match early (don't award prizes)"
- "auctions", "v.auction", "/auction", "Put an item up for auction"
- "auctions", "v.auction.startingbid", "/auction [startingbid]", "Put an item up for auction with a minimum bid"
- "auctions", "v.auction.skipqueue", "", "Can auction repeatedly without waiting for someone else"
- "auctions", "v.auction.bid", "/bid", "Bid on an item that is being auctioned"
- "betterhelp", "v.help", "/help", "See a list of commands you can use"
- "betterhelp", "v.help", "/help [command]", "See the description and usage for a command"
- "betterhelp", "v.help.admin", "/help [addbasic,addadvanced,remove] [command", "Add or remove a command to the list of basic/advanced commands"
- "betternews", "v.news", "/news", "See the latest server news"
- "betternews", "v.news.admin", "/news [add,change,delete] [message]", "Add a news, change the latest news, or delete the latest news"
- "bounties", "v.bounty", "/bounty", "See the top bounties"
- "bounties", "v.bounty.buy", "/bounty [player] [amount]", "Put up a reward for whoever can kill your named enemy"
- "chatworlds", "v.chatworlds.bypass", "", "Can see chat from all worlds and send chat to all worlds"
- "chunkregen", "v.chunkregen", "/chunkregen", "Regenerate the chunk you are standing on"
- "countdown", "v.countdown", "/countdown [seconds] [message]", "Start a countdown for the specified number of seconds, with the message broadcasting more frequently as the countdown approaches zero"
- "customwarps", "v.customwarp", "/customwarp", "List the custom warps that have been defined"
- "customwarps", "v.customwarp", "/customwarp [warpname]", "Define a custom warp that can be used with /[warpname]"
- "customwarps", "v.customwarp", "/customwarp [warpname] delete", "Delete a custom warp"
- "customwarps", "v.customwarps.[warpname] or v.customwarps.*", "/[warpname]", "Teleport to the specified custom warp"
- "econpromotions", "v.buyrank", "/buyrank", "See list of ranks you can buy"
- "econpromotions", "v.buyrank", "/buyrank [rank]", "Buy a promotion to a higher rank"
- "gamemodeall", "v.gmall", "/gmall", "See which players are in which gamemode, or flying, or op"
- "gamemodeall", "v.gmall", "/gmall [name]", "See which gamemode a specific player is in"
- "gamemodeall", "v.gmall.admin", "/gmall [survival,creative,adventure]", "Change the gamemode of all online players"
- "gameplay_blazerodfireball", "v.blazerodfireball", "", "Right-clicking with a blaze rod casts a fireball, but uses up the blaze rod"
- "gameplay_bouncysponges", "v.bouncysponges", "", "Sponges make you bounce when you step on them, and you take no falling damage when * landing on a spone"
- "gameplay_deathretention", "v.deathretention.weapons", "", "Can keep weapons when you die"
- "gameplay_deathretention", "v.deathretention.armor", "", "Can keep armor when you die"
- "gameplay_deathretention", "v.deathretention.tools", "", "Can keep tools when you die"
- "gameplay_deathretention", "v.deathretention.allitems", "", "Can keep all items when you die"
- "gameplay_deathretention", "v.deathretention.experience", "", "Can keep experience when you die"
- "gameplay_bouncysponges", "v.bouncysponges", "", "Sponges make you jump high (bounce) when you walk on them"
- "gameplay_emeraldblockhaste", "v.emeraldblockhaste", "", "Emerald blocks make you sprint when you walk on them"
- "gameplay_featherfly", "v.featherfly", "", "Right-clicking with a feather lets you fly, but it uses up feathers over time"
- "gameplay_safejukebox", "v.safejukebox", "", "Clicking a jukebox with a record plays the record without inserting it into the jukebox"
- "gameplay_superchainmail", "v.superchainmail", "", "Your chainmail armor provides damage reduction"
- "gameplay_usefulcompass", "v.usefulcompass", "", "Your compass points toward the nearest player"
- "gameplay_villagerpermission", "v.villagerpermission", "", "Can trade with villagers"
- "helperbot", "v.helperbot", "", "HelperBot will respond to you when it sees a pair of words in your chat that match one of its responses"
- "helperbot", "v.helperbot.admin", "/helperbot [word1] [word2] [response]", "Set a response for HelperBot to give when it sees a pair of words in * chat"
- "modvote", "v.modvote", "/modvote [player]", "Vote for who you think would make the best moderator"
- "modvote", "v.modvote.top", "/modvote top", "See the top players voted to be moderator"
- "modvote", "v.modvote.reset", "/modvote reset", "Reset all the votes for moderator"
- "modvote", "v.modvote.mod", "", "You can't be voted for because you are already a moderator"
- "modwarnings", "v.warn", "/warn [player] [reason]", "Warns a player for inappropriate behavior"
- "modwarnings", "v.warn.exempt", "", "Immune from being warned"
- "playerpasswords", "v.password", "/password [password]", "Set a password associated with your account which is saved to a flatfile, for use in * * * external authentication such as on a website"
- "playtime", "v.playtime", "/playtime", "See how long you have been playing on the server"
- "playtime", "v.playtime.top", "/playtime top", "See the list of players with the highest playtime"
- "playtime", "v.playtime.others", "/playtime [player]", "See how long another player has been playing on the server"
- "playtime", "v.playtime.edit", "/playtime [player] [minutes]", "Set a player's total playtime manually"
- "playtime", "v.playtime.average", "", "Show the average daily playtime over the last 30 days (in addition to total playtime) on all playtime reports"
- "regionlabels", "v.regionlabels", "", "Tells you when you enter or leave a region that has been labeled"
- "regionlabels", "v.regionlabels.admin", "/regionlabel [name]", "Define a region to be announced to players as they enter or leave it (ignoring the Y * coordinate, thus going from bedrock to sky)"
- "regionlabels", "v.regionlabels.admin", "/regionlabel [name] exact", "Define an exact 3d region to be announced to players as they enter or leave it * (x,y,z cuboid)"
- "regionlabels", "v.regionlabels.admin", "/regionlabel [name] delete", "Delete a region label"
- "regionprotect", "v.regionprotect", "/regionprotect [name]", "Define a region to be protected from block placement and destruction"
- "regionprotect", "v.regionprotect", "/regionprotect [name] delete", "Unprotects a region"
- "regionprotect", "v.regionprotect.bypass", "", "Can place/break blocks in protected regions"
- "regionrestore", "v.regionrestore", "/regionsave [name] [inventory,all]", "Save the current state of a region (you'll be asked to click opposite corners * of the cuboid region)"
- "regionrestore", "v.regionrestore", "/regionsave [name] interval [minutes]", "Sets an interval for a saved region to be restored periodically"
- "regionrestore", "v.regionrestore", "/regionsave list", "Lists the regions saved for restoration"
- "regionrestore", "v.regionrestore", "/regionrestore [name]", "Restore the state of a region"
- "serverlogarchive", "v.serverlogarchive", "/serverlogarchive", "Archives the server log immediately"
- "townymods_findmyplot", "v.findmyplot", "/findmyplot", "Teleport to your plot"
- "townymods_findmyplot", "v.findmyplot.others", "/findmyplot [player] [plot#]", "Teleport to another player's plot"
- "townymods_findplot", "v.findplot", "/findplot", "Teleport to the cheapest plot for sale"
- "townymods_plotsalesign", "v.plotsalesign", "/plotsalesign", "Place a grass/wool for sale sign on the current plot"
- "townymods_plotsalesign", "v.plotsalesign", "/plotsalesign [material]", "Place a wool and [material] for-sale sign on the current plot"
- "townymods_plotsalesign", "v.plotsalesign", "/plotsalesign [material] remove", "Remove a for-sale sign on a plot, replacing it with [material]"
- "townymods_restrictedplots", "v.restrictedplots.buy", "", "Can buy restricted plots (all plots at the configured 'restricted price')"
- "wordswap", "v.wordswap", "/wordswap [word] [replacement]", "Replace words in chat with other words"
- "wordswap", "v.wordswap", "/wordswap [word]", "Cancel a word replacement"
- "worlddate", "v.date", "/date", "See the current in-character date and time"
- "worlddate", "v.date.admin", "/date [mm/dd/yyyy]", "Set the current game date"
@PorpoiseBrock
I would recommend re-installing the plugin and only editing the features by hand in the config not in-game, if you do this the announcements / playtime / and all other things should work fine. I haven't tried editing the settings in-game, but editing it in the config works fine for me.
I love the retainment of armor/tools/weapons bit. However, would it be possible to seperate the retaining of enchanted items from the retaining of normal items?
For example, a default player on my server would retain normal tools when they died, but the player could donate to receive the ability to retain enchanted items as well.
The reason I'm asking for this is because i run an RPG server and Knights have the ability to retain armor, however when a knight gets full protection 4 armor... their basically invincible lol.
Ok this sounds epic, because it could squash like 4 to 6 plugins that i'm running now to make certain things come together as one. So i have a question or two, 1. Does the Death Retention feature work like this? Group default can be set to like, vitals.deathretention.tools, but i can set what tools, like wood, stone ,or only iron, if they have on them, then they can only keep what tools i specified? with the tools "node" ? And then have like donate group (in my permissions) have vitals.deathretention.weapons/armor/tools/allitems/experience, to keep everything? Just wanted to know if i can make it tool specific? per group. If i add tools in the permission node. So if i only allow group default to always keep there iron tools/armor, and they have stone tools also on them, it will only drop stone tools? And also I would say its safe to run essentials with this? As it has a few settings that i use a lot for my server? Sorry tried to keep it as short as i could. Thanks! : )
Hi, Nice plugin! Two questions:
I keep getting this spammed in the console? Any ideas?
@pzxc
Also, seems your plugin is one of the many many plugin that's having issues with playerchatevent...
@94ge7j998 In the next version of the plugin (0.23) it will save the direction you're looking as well as the position for custom warps.
@PorpoiseBrock In the next version of the plugin (0.23) you'll be able to leave an arena with /arena leave as long as the signup period isn't closed (last 45 seconds)
In regards to losing items, the way I have it set up on my server is I have all my arenas in a separate world and use Multiverse-Inventories to give that world its own inventory. All the arenas are designed around this because they typically reset your inventory and give you items (like a few shovels for spleef). In the long term though, I'd like the arena part of my plugin to manage inventories itself so this won't be necessary, but right now that's the way to go. It's still a few versions off before I have inventory management as a built-in part of the arena system.
Possible to leave an arena after you join it during the signup period?
E.g /arena leave
Also, you lose items after a spleef match. A way to change that?
This is a fantastic plugin. Love it! Donating soon.
@94ge7j998
Just a note for the developer, for this to work, save the Pitch and Yaw from the location (If your using YAML to save, then parse it to a double) :)
Found a bug... when you use custom warps it only allows you to set them looking north on a map. If you set it a different way it will just turn you around to which ever way is north on that block.
@pzxc
Thank You! Im glad to see your a committed developer, I hate when i post on a plugin and don't get a response for weeks lol.
@94ge7j998
Yes, color codes are fully supported in most aspects of the plugin, including announcements and news.
@midnightfang22
The "/countdown stop" has been added to the code, it will be available in version 0.22. :) Since today is the alleged day for minecraft 1.3, it's going to be at least a couple days before 0.22 is published to make sure it works with mc 1.3.
Would it be possible to add a /countdown stop command? I've been using the countdown for the past 2 days to do events where you need to find a sign within a certain time frame, but sometimes they end up taking half of the time that I set and it just sits there until it hits 0. Its just a tiny suggestion and its probably not important to a lot of people, but it would be nice. At most, it just makes a bit of extra spam in the chat when they finish early.
Wow... This is a GREAT plugin! I'm surprised this is your only plugin and its this good, you should really consider making more! Also i would like to ask if this plugin supports color codes and the bold, underline, cross through, and italics text in the announcements and news?
Hi, I'd like to suggest adding a feature to reduce the time dropped items take to expire from 5 minutes to less than 1 minute (configurable, of course). I'm having dispenser trouble at my server and I can't find any plugin that solves that problem. =3
Wow, I only need Antigreif and Game Mechanics, but there is so much else xD
@pzxc
Okay, thank you :)
@midnightfang22
Found the bug, it's from rightclicking a jukebox with nothing in your hand while safejukebox is turned on. It checks if the item in your hand is a record but doesn't check if you HAVE an item in your hand, hence the nullpointerexception. Bug is fixed for v0.21 which will be out in a day or so.
Got this error today after updating to 0.2 http://pastebin.com/j5Yt8QaA The only things that I changed with the update was turning on the date/time module and the safe jukebox. I turned off the date after I set it up because I misread it (thought it was rl time/date) but kept the safejukebox on. While the jukebox was playing, I did break it by accident so that might have caused it, but I am not sure (the music looped for 3 times after I broke it) since it happened after I rolled back the break. Going to mess around with the safejukebox to see if I can recreate the event (if that is the cause).
Edit: Can't recreate with safejukebox so idk what its from...
@rythar @midnightfang22
I made a new, separate, tiny plugin called WaterproofRedstone that has just that one feature. It's like 3 kb. The project hasn't been approved on devbukkit yet but when it is, you can easily add this plugin if you want the waterproof functionality back. I'm not gonna put it back into Vitals because as vitals gets bigger I need to do everything I can to reduce lag, and that includes avoiding the use of events that fire more than once a second (like the BlockFromToEvent which is the only way to ensure waterproof redstone). Here's the url but you'll have to wait for the project to be approved by bukkit staff: http://dev.bukkit.org/server-mods/waterproofredstone/
I am planning on adding a whitelist to the antiadvertising feature as requested, and adding an option to specify a minimum bid on auctions as requested. Both of those features will be in version 0.21, coming soon! :)