Change Log

Recent versions

Older changelogs

Version 3.5.1

  • Fixed null pointer exception from /clear trying to sell empty slots
  • Fixed null pointer exception from /clear trying to use economy when it wasn't enabled
  • Fixed support for Bukkit permissions
  • Removed workarounds for incorrect max stack sizes and durability values that existed prior to build 1000

Version 3.5 [Shoenberg]

  • There's a new set of permissions for teleporting between worlds. The general.teleport.into.<world> permission is required to teleport into <world> from any other world, while general.teleport.from.<world> is required to teleport from <world> to any other world. This does not affect teleporting within a world.
    • (Similar permissions exist for setting the spawn location; I don't expect them to be much use, but their existence is a side-effect of the teleport permissions.)
  • Added /masstake command, which is to /take as /items is to /give.
  • New config file for kits; your general.kits will be automatically converted to kits.yml when you start your server with General 3.5.
  • Expanded economy support!
    • Added a /general cost command which will "dry-run" a command and tell you what the cost of running it would be.
    • You can assign each item an individual price for use with the /give and /items commands. The same prices are used by the /take, /masstake, and /clear commands to make them function as selling items. This feature can be disabled so that you don't get money from them, or you can configure it so that selling only earns a percentage of their full value.
    • The /heal and /hurt commands support assigning a cost to them.
    • The /time command supports assigning a separate cost to each named time of day, plus a separate cost for setting the time to anything else.
    • The /weather command supports separate costs for storms, thunder, and lightning.
    • Fixed issue where General would crash if it didn't recognize the economy system you asked it to use.
    • The /teleport and /setspawn commands support setting a cost for the target (the type of thing you're teleporting or setting the spawn of).
    • The /teleport and /setspawn commands also support setting a cost for the destination, which is on top of the target-based cost. The destination cost can be based on the generic type of the destination; for teleporting across worlds, however, you can instead set the cost based on the source and destination world.
    • The /kit command supports costing either based on the contents of the kits (using the individual item costs as with /give) with an optional discount, or a per-kit cost as configured in the kits.yml.
    • The /mobspawn command supports assigning a cost on a number of factors, such as the type of mob, the variation of the mob, whether it's riding something, and the former two for whatever it's riding.
  • Proper support for 1.7 items.
  • Only allows Creaturebox data values in the /give command if Creaturebox is actually present.
  • Bugfix: /who and /item map now work.
  • Made the /away command optionally mark players as ignoring sleep.
  • Allow setting a pig zombie's anger level as well as just setting them arbitrarily to angry.
  • Partial name matches supported for spawning tamed wolves with a specific owner.
  • Added "natural" and "random" as valid sheep data values; both result in spawning a random colour of sheep.
  • Added individual permissions for each colour of sheep (except white), plus one for sheared sheep and a permission for just natural colours.
  • Op-based permissions now have a rudimentary understanding of wildcards.
  • Added optional support for native Bukkit permissions; if you want to use them, set your permissions system to Bukkit.
  • Added BookWorm support; you can summon a copy of any existing book provided you know its ID.
  • The permissions for /setspawn are now of the form general.setspawn.<target>, where <target> is one of self, other, or world. The old permissions are still supported, for now.
  • More subcommands of /general; apart from help, cost and motd, each one has its own permissions node under general.admin.
    • If you use ops-based permissions, you can dynamically alter which permissions require op status to use via the /general restrict and /general release commands.
    • Use the /general kit command to view and alter the definitions of kits.
    • Use the /general economy command to alter the cost of commands. This may be buggy.
    • Use the /general cost command to check the cost of any command.
    • Use the /general set command to set configuration values.
    • Use the /general item group command to view and alter the item white/blacklist groups.
  • Added an auto-save option to the config; if true, kits.yml and config.yml will be saved whenever the server stops. (The items.yml file is currently always saved regardless of this setting.)
  • Trying to use the /away command at the console will now tell you that this is impossible rather than just printing usage notes.
  • Added option for adding a per-player warmup period to the /teleport command
  • Fixed /weather thunder; it now works, and you can even specify a duration.
  • Weather info function added; use /weather <world> to see a weather report for <world>.
  • Some versions of General did nothing when you made a mistake in a command. Later versions showed the usage notes. Now, you can choose which behaviour you'd like.
  • You can provide an argument to /playerlist to restrict the scope to a specific world.
  • Added a per-world cooldown option to the /time and /weather commands.
  • The /time and /weather commands now give appropriate errors when used in the nether or in skylands.

Version 3.4.5

  • The /spawn command is gone altogether; I don't think it'll be returning. The same applies to /summon (/tphere, /s, etc). However, see the next point.
  • If you use CommandHelper (which I recommend), I have some alias definitions compatible with it which you can put in CommandHelper's config.txt file. They are found in the command-helper.txt file included with the download and include /summon, /spawn, /home, /sethome, and /reply. Of course you can pick and choose which ones your want.
  • Added a /worldinfo command which is like /playerinfo (canonically, /who) but for worlds instead. This is the new way to view a world's spawn location.
  • You will no longer suffocate slightly if you teleport next to a wall; you're automatically placed at the centre of the target block.
  • I have updated the help entries. This means both the ones sent to the Help plugin and the default ones available for some commands by typing '/command help'.
  • I decided not to accept data for tall grass, after all. It seems the data values are only effective for blocks.
  • Thanks to Bukkit soft dependencies, all plugins that General needs are now guaranteed to load first. This also makes it quite likely that General will load last, though, which means other plugins may steal its commands.
  • The alias handler gives a warning if you haven't defined any aliases in the config.
  • The alias handler informs you which plugin has stolen a given command.
  • The alias handler no longer erroneously claims that some other plugin has stolen the "general" command.
  • There is now a randomization factor on the /mobspawn location. This means that if you spawn multiple mobs with a single command, you won't get the effect of a single mob suddenly "exploding" into many, because each one will appear in a slightly different location (within 1 block of the "official" target).
  • Double teleport messages fixed.
  • The teleport command now fully supports partial name matching both for worlds and players.
  • The /tell command now supports @ as target. If you use this, it sends the message to the last person you sent you a /tell message. If you have just logged in, it won't work.

Version 3.4.4

  • Fix index out of bounds bug in the alias handler

Version 3.4.3

  • Data values for tallgrass are permitted now, though it seems they don't actually have any effect.
  • The whitelist/blacklist functionality for /give now definitely works correctly; I think this was already fixed in 3.4.2, but now there's no doubt.
  • Proper support for map data values, allowing you to give yourself only those maps that actually exist. In other words, if you want a copy of an existing map, you can use the /give command, but to get a brand-new map you still have to craft it (or use some other plugin).
  • Possible fix for the iConomy 5 balance being reported as zero when it's not.

Version 3.4.2

  • Fixed /give whitelist/blacklist not working.
  • Added general.teleport.basic permission node.

Version 3.4.1

  • Partial name matching for players is now case-insensitive.
  • The /who command once again works.
  • The /tele home function has been fixed (it broke due to the 1.6 update; it's the only thing that did, in fact).
  • It is now possible to choose any aliases you like for each command. See the included config file to see how it's done.

Version 3.4 [Hindemith]

  • Fix the NullPointerException that would occur if the items.yml file lacked a hooks section.
  • Added /general save to save all the config settings, including config.yml.
  • The /general reload command no longer disables and re-enables the plugin; instead, it merely reloads the config files.
  • Fixed an error when checking if a user is allowed to get a particular item.
  • Fixed inaccessible command constructors.

Version 3.4b1

  • Experimental support for iConomy 5 and BOSEconomy.
  • Some refactoring of permissions checking, separating it from informing the user of a lack of permissions.
  • The /who command now shows a player's home location if show-coords is enabled.
  • A limit to how many items can be given with /give has been instated; bypassable with the give.mass permission, and configurable in config.yml.
  • The /items command now respects whether the player is allowed to receive each item.
  • Added /weather thunder as a toggle command; it may or may not actually work though.
  • Spawning mobs with data requires special permissions.
  • Fine control of teleport permissions.
  • Improved player matching, and increased use of this functionality. Generally speaking, partial name matching should now work anywhere a player name is expected; previously, I believe it only worked in the teleport commands. A similar algorithm for matching world names was also introduced. Human-friendly durations in /weather.
  • The /spawn command now only shows the spawn location rather than teleporting you there. You can still teleport there using the teleport command.
  • The /setspawn command has been reintroduced for setting spawn locations. It can also set your home location; note that sleeping in a bed also does this.
  • Vastly improved /teleport command. You can now teleport to a number of special locations, and you can teleport nearby mobs or a mob under your cursor. See the documentation for details.
  • The /who command now shows the player's IP if show-ip is enabled globally and the player has permission to see it; players have permission to see their own IP automatically, and the general.who.ip permission is required to see the IP of other people.
  • Vastly improved /mobspawn command, with more data options. Saddled pigs, tamed/angry wolves, angry pig zombies, and powered creepers are now available. You can even summon a tamed wolf belonging to another player.
  • The /weather command requires permissions.
  • The plugin no longer assumes that the command is from the console if it's not from a player. This is a potential security hole if you have a plugin that defines its own type of command sender. I don't know if there are any such plugins yet, but it's possible.

Version 3.3.3

  • Support for different sapling types added.
  • Added /weather command

Version 3.3.2

  • Supports spawning wolves! Also added cookies and locked chests to the default items.yml
  • Using the /heal command on someone else now displays the correct amount (thanks to jtojnar)
  • You need the general.hurt permission to use the /hurt command on someone other than yourself (thanks to jtojnar)

Version 3.3.1

  • Updated for CraftBukkit 592-600
  • Multiworld support in /tele (you can specify a world name and you'll be teleported to that world's spawn)
  • Bugfix to the /give command (/give <item> <player> did not work correctly)
  • Bugfix to the /time command (didn't work from the console for some reason)

Version 3.3 [Dvorak]

  • Added /mobspawn command, based on the code of SpawnMob (with permission); the name was chosen to not conflict with that plugin (which doesn't have quite the same features)
    • Supports specifying sheep colour (or lack thereof) and slime size; note that the client won't correctly show a slime's size. Supports giants and (hostile) humans.
  • If you can't do something due to permissions, the error messages says what it is you can't do.
  • Fixed bug whereby the general.take.other permission was not correctly checked (thus anyone with general.take could take items from anyone).
  • You can now clear only part of your inventory: /clear quickbar, /clear pack, /clear armour.
    • Yes, armor works as well. There's also /clear all, which does the exact same thing as /clear.
  • Fixed a bug in the /kit command that would reject some valid kit definitions.
  • Improved validation checks for items.
    • You can now /give creaturebox-compatible mob spawners (requires creaturebox for full functionality).
  • The items.db file is no longer needed. If present, it will be read, and its data will be merged into the items.yml file.
    • After first running CraftBukkit with General 3.3, you can delete the items.db altogether.
  • The items.yml is now overwritten whenever the plugin is disabled. This is important, because you can edit it _from the console_ using the new "/general item" command.
  • Added an option to log every time a command executes successfully. (Unsuccessful commands are not logged, because they will appear anyway in the log as an error message).
    • Note that "executes successfully" just means there is no internal error. It doesn't mean the command actually did anything; it might have just printed usage notes to the sender.
  • The Help entries have been updated.
  • The internal help system has been improved. You can now put a file called <command-name>.help in your General folder, and its contents will be printed whenever a user types /<command> help. (The <command-name> must be the official name, so for example "teleport" rather than "tele".)
  • Fixed the /items command always showing usage notes.
  • Improved line-splitting algorithm.

Version 3.2.3

  • Added the general.away permission to control access to the /away command
  • Added the general.basic permission. This is equivalent to giving all of the following permissions:
    • general.time
    • general.playerlist
    • general.who
    • general.away
    • general.getpos
    • general.tell
  • Changes to the /time command:
    • Switched the arguments to make more sense; the world now comes first if present.
    • Now supports vanilla syntax, but with the extensions of General. This means /time set <time> and /time add <duration>.
    • You can set negative ticks; this is taken as the time remaining until the day "rolls over", which is just after sunrise.
  • Vanilla syntax for /give (and the equivalent on /take) is partially supported; with three arguments, the player can come either first or last. With two arguments, the player must still come last.
  • Fixed error in default items.db; RedMushroom actually pointed at the gold block.
  • Kit definitions in general.kits now support the names of items as well as the IDs.
  • Item aliases defined in items.db can now contain underscores, apostrophes, and hyphens in addition to letters and numbers
    • This means the fallback aliases (the Material enumerations) now work; that is, even if you choose not to use the items.db (or put it in the wrong place!), you can use the item names that Bukkit defines.
  • Bugfix: The kit loader no longer gives an error for empty lines
  • Players can be "tagged" by saying their name followed by a colon. If the player is marked as away, the person tagging them will be informed. Tagging does nothing else besides this.
    • If you don't like the "name:" format for tagging, you can set the "tag-fmt" configuration option. For example, "@name" will give Twitter-style naming.
  • Implemented what I, for lack of a better name, have called "hooks" in the /give command. Basically, this means that things like "axe:gold" will work as you might expect, provided that you copy over the new items.yml.
  • New MOTD variable, +p or &list;, to show a list of online players.
  • The time in the MOTD will be formatted just like with the /time command.
  • You can no longer specify what items are damageable and which ones cannot stack in the items.yml
  • An issue with /take was fixed where "/take lapis" would remove all dyes. It now removes just lapis lazuli. However, "/take dye" still removes all dyes; the difference is that the latter doesn't specify a data value in items.db.
  • Added an /items command to give several commands at once (requires general.give.mass)
  • Added /whois as an alias for /who
  • Removed /setspawn; use /spawn [world] set instead.
  • Changed the abbreviation of /teleport from /tp to /tele for TelePlus compatibility; hopefully this doesn't break some other plugin instead.
    • In a nutshell: /tp is now /tele

Version 3.2.2

  • Basic iConomy support added; you can now include the player balance and currency name in the MOTD. Note that the balance includes the currency name.
  • The /time command now supports human-friendly times and durations; also, the = is now optional for setting to a specific time.
  • The /time command also displays in human-friendly format. There are two config options to control how it does this (12-hr vs 24-hr, and whether to show the ticks).
  • Bugfix: /time midnight did not work. It now does.
  • The /away command is back (/afk is an alias)! If you are away, your away message is now shown if someone whispers to you and also in the /who display.
  • The /take command was not fully updated to match the new /give syntax; this is now done.
  • The /give and /take commands now show feedback when invoked from the console.
  • The /give command now says "infinite" instead of "-1".

Version 3.2.1

  • Updated argument order for the give command at the console to match the new argument order for the player.
  • Added a permissions mode to give access to non-whitelisted items when item whitelisting is enabled.

Version 3.2 [Sibelius]

  • Now supports WorldEdit as a permissions system. It's also now the default for new installs. This doesn't mean you need WorldEdit; if it's not detected, General will fall back to basic permissions.
  • Added support for whitelisting of items, as per Adam McFarland's suggestion. It's not complete, since if you enable it there is no way for anyone to get the items that are not whitelisted.
  • Fixed various errors related to missing configuration. Now, instead of cryptic, verbose errors, you'll get a warning explaining what's missing.
  • The /clear command now removes your armour as well as everything else.
  • Fixed issues with some of the MOTD variables not displaying correctly.
  • Eliminated the /give ambiguity. The syntax of /give has changed: if you want to specify a player, their name must come last of all. Supported forms are /give item, /give item amount, /give item player, /give item amount player. In the console, however, the player name still must come first. This was an oversight which will be fixed soon.

Version 3.1.2

  • Fixed error in default items.yml
  • Added show-motd config option

Version 3.1.1

  • Fixed formatting bug when saying that a player doesn't exist.

Version 3.1 [Wagner]

  • Permissions node general.summon has been removed; you now need general.teleport.other to use the /summon command.
  • If you have tkelly's Help plugin installed, /help will work. If not, General now has a minimalistic help system; see above for details.
  • Supports message of the day displaying on login.
  • Fixed the bug where /take with a specified amount didn't work if you didn't have a stack with exactly that amount. It should now take exactly the amount you specify. If you don't have that much, it takes all you have and informs you how much that was.
  • The /heal command now says "hurt" instead of "healed" if you specify a negative amount.

Version 3.0 [Bach]

  • Added /spawn set and /setspawn; now (theoretically) with multiworld support.
  • Rewrote /give. You can now do (for example) /give wool:blue.
  • Separated item aliases (the names used for the /give command) from item names (the names displayed to the user).
  • Commands now work from the console (except /summon)
  • /getpos, /compass, /where now take an optional player argument
  • Both /setspawn and /teleport allow specifying coordinates.
  • Fixed the /tell command, which (probably) didn't work in 2.3.
  • /who command now honours config settings
  • /give with an amount of 0 correctly gives a maximum size stack (somewhere during development it got changed to giving an infinite stack; not sure if that's before or after releasing 2.3)
  • Added optional display of a player's world in /who output
  • /time now accepts noon/midday and midnight
  • Theoretically supports GroupManager as a permissions system (untested)
  • Attempts to support WorldEdit as a permissions system
  • Added commands /take, /clear, and /heal

Version 2.3 [Hindenberg]

  • Code refactoring
  • Update to work with latest CraftBukkit (480 if I recall correctly)
  • Added alternate HTML-entity-like syntax for colours
  • Removed /afk, /reloaditems, /setspawn, /help, and /motd
  • Registered commands in plugin.yml
  • Implemented support for basic isOp permission checking
  • Updated to work with Permissions 2.4+
  • /time accepts dusk/sunset and dawn/sunrise.
  • Raw time access/set is removed.

Really old versions

Version through 2.2 were a separate fork by cjc343*, and were developed in parallel with this fork but are now discontinued.

Version 2.1 and earlier were by Nijikokun*, with contributions from Celtic Minstrel, verrier, OniTux, and others?


Posts Quoted:
Clear All Quotes