Mayhem Tower Defense

This project is abandoned and its default file will likely not work with the most recent version of Minecraft. Whether this project is out of date or its author has marked it as abandoned, this project is no longer maintained.

Fan Logo

[ Issues? Suggestions? GO TO THE http://i1137.photobucket.com/albums/n515/7mayhem7/bluebutto1n.png ]



< . . . Description . . . >


(This page is being UPDATED!, please check the config.yml for further info, there're also links to updated pages =D)


Do you like Tower Defense Games? Well... I LOVE THEM! So here's my fully customizable Tower Defence Plugin for your Minecraft Server!

  • WARNING! THIS PLUGIN IS ULTRA SENSITIVE TO MINECRAFT VERSIONS!
    • That means you MUST use same version for your server as the specified for the plugin version.
    • SO! If a plugin jar(version) is coded to work for 1.7.2 WILL ONLY WORK IN 1.7.2.

  • NO DEPENDENCIES!
    • YES YOU'RE RIGHT! You don't need other plugins or external libraries to run this plugin yay!

      < . . . Features . . . >


  • Customizable Towers:
    • The plugin has a default Tower Preset in the config to let you play since first moment, anyway if you feel creative just modify/create your own towers in config anytime!
    • You can set "Building Locations" (gold block by default, changeable in config) to build towers.
    • You can sell Towers by a custom % of it's original cost.
    • Available Settings per Tower:
      • Name: tower name, used to link the tower to the construction/tower GUI.
      • Levels, you can set a custom amount of levels to upgrade with different stats/effects on each.
      • Cost: point cost to build/upgrade.
      • Damage: damage dealt per hit.
      • Delay: delay between shots (rate of fire)
      • Range: tower range in blocks.
      • (NOT YET!)Build Time: allows to set a time for the tower to be built.
      • Tower Blocks: you can customize Base and Top block ID and Data to build the tower as you wish, example: 35:5 = Lime Wool.
      • Sounds and Effects: you can customize sounds and effects for tower shoot and projectile impact(or if there's no projectile when just when affecting invaders in range) with pitch(sounds) and data(effects).
      • Projectile:
      • Upgrades: other tower names that can be upgraded to, so you can choose to upgrade the tower to higher levels or new towers like a construction tree.
    • Abilities -> http://dev.bukkit.org/bukkit-plugins/mayhemtowerdefense/pages/available-abilities/

  • Players: players inside a game/map.
    • Drops are disabled.
    • Block breaking is disabled.
    • Block placing is disabled.
    • GameMode is set to survival.
    • Fly mode is enabled.
      • Players are inmune to damage while playing.
      • (NOT YET!)Players can only execute commands in a whitelist.

  • Invaders (mobs):
    • Invader drops are disabled.
    • Invaders will only take damage/effects from Tower Proyectiles/Abilities.
    • Invaders will NOT be affected by projectile push (except if tower has the ability to do it).
    • Invaders DON'T target other players/entities to attack etc.
    • ONLY THIS MOBS ARE WORKING CURRENTLY: chicken, pig, sheep, cow, wolf, villager, mushroom-cow, ocelot, zombie and skeleton.
    • As with towers there're several parameters you can customize for the invaders, you can create as many as you wish with those parameters:
      • Name: custom mob name (shown in scoreboard and used in the wave configuration.)
      • Prefix: this will be shown in scoreboard, you can use it to warn players about the mob "kind", like a fast [F], boss [B], invisible(i called it ghost) [G]... color compatible.
      • Max Health: max mob health, 2 hp = 1 heart.
      • Speed: mob speed, can use decimals.
      • Lives Lost: amount of lives lost if the invader reaches the exit.
    • Invaders also has abilities/buffs:
      • REGENERATION: gives regeneration buff, recovers HP in time.
      • DAMAGE_RESISTANCE: gives resistance buff, harder to kill.
      • FIRE_RESISTANCE: gives fire resistance, prevents fire damage.
      • (NOT YET!)INVISIBILITY: gives invisibility buff, makes the invader invisible and untargetable, invisible mobs can be seen thanks to "Sonar" Tower Ability and stills get damage from AOE.

  • GUIs:
    • Builder GUI: you start every game with an special Anvil called "Builder" (you can change name and lore/description in the config aswell), which opens a GUI to build towers in building locations (custom block set in config), just place it like a normal block with rightclick to open.
    • Tower GUI: left click any built tower with the "Builder" Item to open it and...
      • Check tower stats.
      • LevelUp.
      • Upgrade to other Towers.
      • Sell the Tower.

  • Wave Customization:
    • Waves start from 1, plugin will finish the map when there're no more consecutive waves.
    • Invader Name: used in Invaders Customization.
    • Kill Reward: coins won by killing it.
    • Amount: is the amount of Invaders of the desired kind to spawn for that wave.
    • Delay: is the waiting time before sending another mob in seconds, for example delay 3 means 1 mob every 3 seconds.
    • Health Gain is used to increase difficulty, you set some stats for the Invaders below BUT, if you want to use them in more waves maybe amount is not enough, so you can give them an extra % of max health, for example if you set health gain 25 to a 20hp Invader, that wave will have a total of 25hp (25% of 20 is 5, plus 20 base = 25)

  • Coin System:
    • You win coins by killing invaders.
    • You can use coins to build/level up/upgrade towers.

  • ScoreBoards, will show this info while playing:
    • Current Map.
    • Current Wave / Last Wave.
    • Player Coins.
    • Lives Left.
    • Invaders Left.
    • Wave Counter (countdown between waves).
    • (NOT YET!)Current Invader Stats.
    • (NOT YET!)Coins for current Invader kill.
    • (NOT YET!)Lives lost for current Invader (if reaches end).

  • Rewards for Players:
    • You can customize 2 kind of rewards, default rewards (which are given by beating ANY map) and specific rewards for beating a desired map, you can use none, one of them or even both.
    • The item rewards allows to set up to 36 itemstacks (max player inventory size) with custom ID, Data, Amount, Name, Lore and Enchantments.
    • ItemStack rewards also supports potions and enchanted books.
    • And finally command rewards, you can configure a list of commands to execute by the console using the %player variable as player name (winner) and %map for the map name .

  • Other:
    • This plugin supports several maps at same time, so you can have same map cloned to let several players play or have tons of different ones to choose/play.
    • This plugin has several cool sounds/effects to enhance gameplay.

  • Win/Lose:
    • You lose if you run out of lives.
    • You win if you survive all map waves.

  • Extremely easy to setup:
    • You can set the starting location, end location, waypoints etc by clicking with custom tools i've coded instead of tons of commands!
    • You can disable any map with a simple command to prevent players from joining it while you're editing.

  • Bug Prevention:
    • If the server is reloaded/stopped/restarted (whatever) all maps are reset, that means:
      • Players are teleported to exit locations and they got back their stuff.
      • Build Towers are erased.
      • Spawned Invaders are erased.
    • If the player leaves the serve or is kicked from the server: map is reset (towers erased, invaders etc)
    • This plugin allows to enable chunk refreshing, which will ensure chunk loading for invader spaw and path locations to prevent bugs, you can also set a refresh ratio, useful if you have plugins handling the chunk unload time.

      < . . . How to Use . . . >


  • Plugin is almost ready to play from default, you just need to define a map to play, the plugin has default towers, invaders and waves to play!

  • Configurable parameters are fully explained inside the "config.yml" file with also tons of help, how to and tips.



    < . . . Commands & Permissions . . . >


CommandPermissionDescription
CORE PERMISSIONmtd.admin<Grants access to all Plugin features/commands>
CORE PERMISSIONmtd.user<Grants access to all User designed features/commands>
/mtd [help]mtd.admin<Shows a list of commands.>
/mtd reloadmtd.admin<Reloads the config.yml file.>
/mtd create <mapName> <startingCoins> <startingLives>mtd.admin<Saves the desired map to file with a custom name, amount of starting coins and lives to play, new maps are disabled by default.>
/mtd edit <mapName>mtd.admin<Saves your inventory and gives you some special tools to edit invader's spawning point and path waypoints... also allows to use other editing commands.>
/mtd playerstartmtd.admin<Saves your currrent location to teleport players while joining to play.>
/mtd playerexitmtd.admin<Saves your currrent location to teleport players while exiting a map (lose/leave/win).>
/mtd setwave <waveNumber> <invaderName> <invaderAmount> <spawnDelay> <healthGain> <killReward> <waveReward>mtd.admin<Customizes the desired wave for the map you're currently editing.>
/mtd reset <waves/waypoints> mtd.admin<Allows to reset/erase desired map waves or waypoints, requires confirmation "/mtd ok".>
/mtd donemtd.admin<Closes editing mode and gives back your inventory.>
/mtd enable <mapName>mtd.admin<Allows to enable a map.>
/mtd disable <mapName>mtd.admin<Allows to disable a map.>
/mtd play <mapName>mtd.user<Allows to join a map to play (if no one is playing), inventory is saved till player ends playing.>
/mtd leavemtd.user<Allows to leave a map, get your stuff back and resets the map (erase towers/invaders)>
  • [] Means Optional.
  • <> Means a MUST.

    < . . . Next Features . . . >


( I wish you to have the last word in this, so please comment, and tell me what do you want in the next version! )

  • Save player scores/stats and add some commands or maybe scoreboards or/and command to check best players.
  • Add player skills to allow the player to play with more than only towers.
  • Campaign Mode: able to telport a player to next map after clearing the current one.
  • Add signs to join (besides commands).
  • Enhance tower AI:
    • Make Towers with effects like "poison", "slow" etc to NOT attack Invaders already affected.
  • Show tower stats in the GUI when upgrading to a new tower.
  • Add some way to check towers range visually.
  • Add homming projectiles.

  • Allow multiplayer maps.

  • Command to launch next wave earlier.

  • Command to finish wave earlier charging lives depeding on invaders left in the map.

    < . . . Other Language Files . . . >


  • The Official languages supported for all my plugins are English and Spanish, for other translations just paste them in PASTEBIN and i'll paste your link here:





< . . . Errors / Issues - Troubleshooting . . . >


GETTING "Unsupported major.minor version 51.0" ON START?

ALL MY PLUGINS RUNS WITH JAVA 7! IF YOU HAVE JAVA 6, UNINSTALL IT AND INSTALL JAVA 7

  • Plugin won't load!
    • Your server version is the same as the plugin one?
  • I get tons of errors!
    • Try to remove all the plugin data (jar and folder), start/stop the server, paste again the jar in the plugins folder and start again.

      Nothing Works? Other Issue?

      POST A TICKET WITH AN ERROR LOG OR USEFUL INFO! (Top Page "Tickets" Button)



      < . . . About the Author . . . >


When i start a server with dozens of plugins i have the same fear... will plugins break with this build? Well I can guarantee my plugins WILL NOT! cause i'm an active programmer, i'll always update my plugins to work with latest RB CraftBukkit Builds, so relax and enjoy.


Also, you can hire me to make a custom plugin for your server, just ask!

< . . . Donations . . . >


This is a free work, i'm not gonna get rich with this, so if you like my work, want to speed up the development or get custom features, please feel free to donate, a simple $ is enought to buy me some cookies :)

Donate

About This Project

  • Project ID
    70625
  • Created
    Dec 13, 2013
  • Last Released File
    Oct 27, 2015
  • Total Downloads
    6,378
  • License

Categories

Members

Recent Files