Please Read: The Infection plugin has come to a ever-standing halt. It was fun to work on in the beginning, but as of now, I have no desire to mod Minecraft. I have been working on Client mods, as well as Server mods, but Infection still doesn't have that grasp that it had when I first started to code it. Anyways, because I am leaving Infection, I am releasing the Source code publicly. If you wish to use it, please leave some credit to me somewhere, as it took many upon many hours to complete... The version that I am releasing is 1.3; I had almost finished the update when I decided to stop working on the project. I added some features, such as: Multi-Arena support, Gametimer, Intermission, and a better config file. I hope you guys can use the code, and create something fun and amazing with it.... Also, keep in mind that I am a self-taught Java programmer, therefore, my code may not be the most compact or cleanest. Source code download: http://www.mediafire.com/?60nmqkea77s3yb6 Plugin Information: =============== Plugin Name: Infected Type: MiniGame Plugin Version: 1.2 Bukkit Recommended Version: 1.2.5-R4.0 Now on Bukkit Dev Description: ========= This plugin is based off of MW3's Infected mod. As this is made for Minecraft, there is a little twist. This is not an overly advanced plugin, but I believe it has some cool features. Features: ======== Automation - This plugin was made for their to not be an admin watching every move. Simplicity - As I said in the description, this is not an overly advanced plugin. It should be easy to grasp a hold of. Block Damaging Disabled - This plugin comes with a built in block-breaking/block-placing stopper. (see "Config" for more info). Alpha Zombie Freezing - When the game starts, the Alpha Zombie is frozen for 15 seconds, giving the others a chance to hide. Disabled Vanilla Death Message - The "xxx was slain by ooo" has been disabled to stop interference with my plugin. Infected spawn with a Stone Sword Non-Infected spawn with a Bow and Leather armour. Commands: ========= * Red is for admin only commands. Blue is for regular commands (anyone can use them). /inf start - This will start the game if these conditions are met: The game has to be unlocked (see /inf lock for more info). There cannot already be a game in session The game has to be stopped. If it is starting, you cannot start it again. /inf lock - When the lock is set to "true," no-one will be able to start the game. /inf join - This command will allow the player to join a game, if not already in one, or not in session. /inf leave - If you are in a game, and wish to leave, then this command will take all your items, and send you back to spawn. /inf endgame - If a game was started on accident, this will end it for you. /inf infected - When a game is in session, this will display the infected players. /inf noninfected - When the game is in session, this will display the non-infected players. /inf spawn - If spawn is set (see /inf setspawn), then the player will be teleported to spawn. You can only teleport to spawn if you are not currently in game. /inf spectate - I setup my spectating a little differently. As so, when this command is used, you will teleported to a room where you can look over the whole arena. /inf commands - This command will list some useful commands to the user. /inf concept - This command will tell the player what the game is about. /inf setspawn - This will set the spawn. /inf setarena - This will set the starting point of the game inside the arena. /inf setspectating - This will set the room in which the player will be teleported to when he wishes to spectate. I recommend that this room be made of glass, as it is transparent, and will allow the user easy visibility to the arena. Configuration File: ============== As I feel that this plugin comes with some options that server owners may want to keep enabled/disabled, I have added the config with options to help you manage this plugin more for your taste. general.TpToSpawnOnEnter This node will enable/disable the player being TPed to the spawn you assigned with /inf setspawn upon entering the game. general.OverrideWorldSpawn This node will allow you, if set to true, to override the world spawn. Meaning that if this is true and you type '/inf setspawn;' the spawn will be set for the world. general.CreativeNotifier This node will shout a message if a player joins an infection game is in Creative. This is mostly to notify of this player having "god mode." If true, it will notify the server. If set to false, it will not do anything. game.NumberOfPlayersToStart This node will determine how many players are needed in order for a game of Infection to take place. i.e.: If it is set to 6, then the game will only start, when /inf start is typed, if 6 people are in it. block.CancelBlockBreakEvent If set to true, when a player attempts to break a block, it will re-appear. (OP will override) block.CancelBlockPlaceEvent If set to true, when a player attempts to place a block, it will re-appear. (OP will override) player.ErasePlayerFileOnLeave When the player joins, a personal file is created for him. This contains information like: isInGame, isZombie, isAlpha, etc... If this node is enabled, then when the player leaves, his personal file will be removed. This can potentially be used if you run a big server, and want to free space. player.AllowHealthRegen By default, the food bar is disabled. This node will allow you toggle the allowance of health regeneration. This means that the players health will/will not regenerate while in or out of a game. Instructions: ========== Load up the plugin into your /plugins directory Start console, or reload. Edit the config.yml that was created to your likings. After, in game, create a sign that has on the first line: "[Infected]" and on the second line: "[Join Game]". Set the spawns... Normal, Spectator, and Arena. (See the commands for more information on that.) Get player's to right click that sign. When the number of players you require is met, then get anyone to type in '/inf start' The game will start. Enjoy Things to come in v1.3 ================= Inventory Saving Alpha Zombie will no longer freeze, but will be chosen after 60 seconds. An Intermission in-between games. An Automatic game starter after Intermission. Customizable Starting, In-game, and Intermission time. Multi-Arena support A voting system allowing users, in the intermission period, to vote for the next played map. ChangeLog: ========= Version 1.2 Changed the timer from 15 seconds to 5 minutes. (I was using 15 sec. for debugging) Version 1.1 PvP has been fixed. Everyone can now fight each other freely without the plugin disabling it. Added a 5 minute time limit that will end the game when ran out. When the game ends, only the player's in the previous game will teleport to spawn. Not everyone. /inf commands will now list the correct commands. Added a Creative Notifier. (Check on BukkitDev for more info.) Fixed the signs. You can no long join a game by clicking any sign. Fixed when /inf setspectator is called, it will now say "Spectator point set" not "Arena point set." Added a /inf join command, so player's do not have to click a sign to join. Version 1.0 Initial Release Known Interferences: ================ To the best of my knowledge, this plugin does not interfere with any other plugin. If you find one, please report it in a reply, and I will try my best to fix it. Download: ========= Latest Version (1.2): Download Here Older versions: 1.1 Download Here 1.0 Download here Poster's Notes: =========== Thank you for downloading my plugin. This is my first one, so I hope you enjoy. I, myself, enjoy making these "minigame" type plugins. If you like them, please let me know, so I can continue to make more. Minecraft Nazi Zombies??? Let me know.