Extra Hard Mode

extra hard mode icon

Extra Hard Mode changes the game rules to create NEW, INTERESTING CHALLENGES for players who have mastered the core game. Unlike Mojang's "hard" mode or other plugins' "hardcore" modes which just punish you more for making mistakes without actually changing game mechanics, Extra Hard Mode delivers interesting new challenges for advanced players.

Important Info

  • You can enable specific features only for specific worlds, Check here
  • Here is a playlist of a few 1 minute clips showcasing some features
  • If you have any questions feel free to ask, post bugs / feature suggestions in ticket section

Recommended Plugins

  • For anti-grief, avoid plugins that disable explosions entirely, because that will undermine the cave-in mechanic and the new improved TNT.
  • Avoid plugins which allow players to teleport themselves out of danger when they're in combat or lost. Especially avoid plugins which add commands like /home, /back, and /tpa, since they will undermine the difficulty VERY much. Consider instead a teleportation plugin like Population Density, which allows players to teleport only between teleportation posts it places on the surface every 400 blocks.
  • You might want to look into balancing villagers. Having diamond gear tradable for very easily farmable materials will undermine the difficulty. I use Rebalance Villagers to make the trades harder.


This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version
  • Config options that are activated, allowing me to see what people use (or don't)

You can disable the stat collection via /plugins/PluginMetrics/config.yml if you wish. If you want to see the stats, you can go here


Sources can be found on github here. Contributions, pull requests and feedback are appreciated :).


Development builds of this project can be acquired on the projects github page. These builds have not been approved by the BukkitDev staff. Use them at your own risk. Please report bugs in the ticket section :)!


Servers running ehm

If you want to be added, add a comment with your server, preferably with a website and your ip.

Credits and Thanks

BigScary for creating this project
Mitsugaru for implementing awesome utility classes
Thank you for your donations
BrattPitt - 23.Nov 13, 14. Dec 14
TehSabbingSlayer - 30. Dec 13
WoodenAxeServer - 6. Dec 13
Netu - 4. July 13
MrYFory - 25. Feb 13

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of beerbubble beerbubble Mar 26, 2015 at 13:31 UTC - 0 likes

    First of all, love the plug-in and the idea of it. So props to you guys for putting this together.

    However... there are a few things that are pretty off-putting that I feel could be addressed to put better balance into the gameplay and give server administrators more control over the configuration of EHM.

    • Unable to be granular with stone hardness. I'd like to be able to set different hardness values of different types of stone and not just all hard stones.
    • Presently it just evaluates type of pick axe and how many hits it gets on all hardened stone (regardless of type) but completely disregards the effect that Unbreaking should have. If part of the nature of the plugin is to make getting that diamond weapon or pickaxe truly special then having the Unbreaking enchant should feel that same way and not as a throw-away. Degradation of the pickaxe should account for Unbreaking enchantments, too, not disregard them.
    • Bug? When you break a chunk of "overgrown grass" or a flower on top of a regular, unstable grass block, it still caves in. That just doesn't make sense. If I'm pulling a few blades of grass, it shouldn't cause a cave-in. Digging? Yes.
    • A better balance for tactical mob killing. I understand why the plug-in is configured to basically prevent a user from creating mob grinders, but it's too binary. When you've got quite a few mobs descending upon you, you have to find some tactical advantages to save your skin β€” water, height, depths, or other things that allow you to use tactics. AND you should get credit for those kills. Can you please make this portion of the plug-in allow for more granular control over mob kill tactics? With how much XP and drops I've "forfeited" because the mob was "out of reach" or I had a tactical advantage over, I'm about ready to say "screw it" have your mob grinder....can't get legitimate XP/drops simply because I was barely out of reach by a mob.

    Nice job on the plug-in though. If those four things could be addressed, I think you'd have a winner on our server. Those are the most commonly complained about things on our EHM server.

  • Avatar of bratpitt bratpitt Mar 25, 2015 at 19:58 UTC - 0 likes

    Hi there

    Am running this plugin with Grief Prevention and think it’s perfect combo.

    I have started to see some problem, people have started to misuse stone, placing it in front of doors, trying to build in players, uses it to make ugly landscape and so on.

    Do you have any thought how to get around this problem? Maybe option to block placement of stone ??

    Have looked into Grief Prevention for option to only allow placement inside own claim, but dosent seam to be possible..

  • Avatar of erdrickk erdrickk Mar 24, 2015 at 15:05 UTC - 0 likes

    is there a way to make the mob tweaks ignore spawners so the harder mobs only spawn in the wild and not in grinders?

  • Avatar of Bco1981 Bco1981 Mar 14, 2015 at 22:41 UTC - 0 likes

    feature request, wearing iron armor increases chance of getting struck by lightning during a thunder storm. Each iron armor piece you are wearing increases the chances.

  • Avatar of AstralRevenant AstralRevenant Mar 10, 2015 at 18:52 UTC - 0 likes

    EHM is similar to monster apocalypse in some ways, I like how it focuses on the gameplay aspects & makes it more challenging in a good way. I under-estimated this plugin at one point, definitely worth adding to your survival server! Keep up the great work! :-)


    Hosting a survival multiplayer minecraft server. The server address is "", (between the quotes). The client is spigot 1.8(latest). :-)

  • Avatar of JehZirO JehZirO Mar 09, 2015 at 02:39 UTC - 0 likes

    It's spamming my console trying to find the distance between two worlds for some reason.

    10:39:37 PM CONSOLE: ERROR]: Could not pass event CreatureSpawnEvent to ExtraHardMode v3.6.4 10:39:37 PM CONSOLE: java.lang.IllegalArgumentException: Cannot measure distance between spawn and Monde 10:39:37 PM CONSOLE: Source) [?:?]

  • Avatar of Bco1981 Bco1981 Mar 03, 2015 at 09:38 UTC - 0 likes

    I have a server i would like to add. http://www.planetminecraft.com/server/ber-ultra-hard-survival/ ip: minecraft.botono.dk

    Awesome plugin, keep up the great work :)

  • Avatar of lee3kfc lee3kfc Mar 02, 2015 at 01:21 UTC - 0 likes

    @Diemex: Go

    i tried previous build of spigot, then warning spam is disappeared. thx :D

  • Avatar of lee3kfc lee3kfc Mar 01, 2015 at 13:00 UTC - 0 likes

    @Diemex: Go

    can you tell me which spigot build is okay to use this plugin?

  • Avatar of Diemex Diemex Mar 01, 2015 at 07:43 UTC - 0 likes

    @lee3kfc: Go

    my code looks fine to me, must be a spigot bug.

    public static boolean arePlayersNearby(Location loc, double distance)
            double squared = Math.pow(distance, 2.0);
            List<Player> otherEntities = loc.getWorld().getPlayers();
            for (Player player : otherEntities)
                double playerDist = player.getLocation().distanceSquared(loc);
                if (playerDist < squared)
                    return true;
            return false;

    The code measures the distance of all players to a specific location. So I don't know how an error can come up that says that I'm measuring the distance between the overworld and nether. I guess getPlayers also returns players from the nether now. Not my bug to fix.



Date created
Sep 17, 2012
Last update
Feb 24, 2015
Development stage
GNU Affero General Public License version 3 (AGPLv3)
Curse link
Extra Hard Mode
Recent files
  • R: 3.6.4 for 1.8 Feb 24, 2015
  • R: 3.6.3 for 1.8.1 Feb 23, 2015
  • R: 3.6.2 for 1.8 Jan 06, 2015
  • R: 3.6.1 for 1.8 Jan 05, 2015
  • R: 3.6 for 1.8 Jan 04, 2015