Extra Hard Mode
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.
Support this project on Patreon!
Important Info
- Detailed rundown of all features and configuration help Check here or here (alternate formatting)
- You can enable specific features only for specific worlds, Check here
- Save yourself some time! Check "Troubleshooting and Common Questions" for the answer to your question.
- 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
- Make tree logs and branches fall when chopped with GraviTree. Set "FallingLogsDamagePlayers" to true in its config for an extra challenge!
- 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.
Metrics
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
Source
Source can be found on github here. Contributions, pull requests and feedback are appreciated :).
Credits and Thanks
- Coding
- BigScary for creating this project
- Mitsugaru for implementing awesome utility classes
- Thank you for your donations
- Jemrada - 1.Dec 15, 21. Dec 15, 4.Feb 16
- BrattPitt - 23.Nov 13, 14. Dec 14
- TehSabbingSlayer - 30. Dec 13
- WoodenAxeServer - 6. Dec 13
- Netu - 4. July 13
- MrYFory - 25. Feb 13
Sponsors:
SurfHosting: 50% discount with code "Robo": https://billing.surfhosting.co/aff.php?aff=82
@Diemex
Yeah I am on 1.8.6 Spigot right now.
@Mike7493
I downloaded 3.6.5 and it works on my server. But my spigot version is from January :D Is anyone else experiencing a crash on start?
@CyberDrifter
You mean to add support for multiple config files? Yes sometime. Testing if it actually works correctly this time will take some time.
@erdrickk
I plan on giving the option to completely switch of features which will also switch off all the bugs from those features. The explosion module is particularly wonky, there are lots of workarounds because of limitations of the bukkit api.
Off topic: Those anyone of you plan on switching to the sponge API?
@Diemex
The latest version fails to start up on my server and give the following error:
[14:59:41] [Server thread/ERROR]: Could not load 'plugins/ExtraHardMode-3.6.5.jar' in folder 'plugins' org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:162) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:291) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:528) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_65] Caused by: java.util.zip.ZipException: invalid END header (bad central directory offset) at java.util.zip.ZipFile.open(Native Method) [?:1.7.0_65] at java.util.zip.ZipFile.<init>(ZipFile.java:215) [?:1.7.0_65] at java.util.zip.ZipFile.<init>(ZipFile.java:145) [?:1.7.0_65] at java.util.jar.JarFile.<init>(JarFile.java:154) [?:1.7.0_65] at java.util.jar.JarFile.<init>(JarFile.java:118) [?:1.7.0_65] at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:150) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] ... 5 more [14:59:41] [Server thread/INFO]: Set PluginClassLoader as parallel capable
I am back to using the older version.
something is not working right at all with custom explosions. I have all custom explosions disabled because they bypass other plugin protection systems like Mob Arena.
Anyways when they are disabled Creepers, tnt etc.. cause no health damage at all. Yes they blow up the ground like default creepers and TNT but they don't hurt players. They only hurt players if custom explosions are on.
I would think that with custom explosions disabled that things like TnT and Creepers would act as default but they don't
@Diemex Are there any plans to fix mult-world support? Thanks.
@Mike7493
Should be fixed in version 3.6.5 :)
@Diemex
It is always the same task number for us. The whole error is below.
[17:03:32] [Server thread/WARN]: [ExtraHardMode] Task #36 for ExtraHardMode v3.6.2 generated an exception java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:922) [?:1.7.0_65] at java.util.HashMap$KeyIterator.next(HashMap.java:956) [?:1.7.0_65] at com.extrahardmode.task.WeightCheckTask.run(WeightCheckTask.java:37) [?:?] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:726) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:367) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:657) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:560) [spigot-1.8.6-20150525a.jar:git-Spigot-6a6b839-b0e81a4] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_65]
@Mike7493
If you copy the whole error I can tell you. The task number is always different.
Task #36 is generating an exception. Do you know what this is? If its a certain feature I'd love to disable it because it throws lots and lots of errors.
WARN Task #36 for ExtraHardMode v3.6.2 generated an exception
Creepers don't do damage to players. Is this a bug with the mod or with something in our config?
@palipali
confirm
This is my favour plugin, but make a lot of error message on log files :-( I used 1.8 spigot and the newest version EHM.
@Diemex
Could be clientside, since the server has 1gb/s uplink at a dedicated host. Thanks for getting back to me on this, appreciate it!
@kemmeo
Seems like the client and the server are not in sync. As far as I know the server tells the client that there is a FallingBlock entity and the client shows it and calculates the position. The server also has to tell the client that the block has actually landed. Somehow that is no happening quick enough. Laggy internet?
The Better Treefelling is acting very very weird. I'm on the newest spigot build and one of my player sent me this video of the bug. https://www.youtube.com/watch?v=XIfMoE4_9wA
@TheLecturer
Sorry if I take very long to respond. I check the project from time to time and try to fix errors that I can fix. But sadly I have to scratch my head with most errors posted. For example the one ArrayIndexOutBoundsException you posted points to MineCraft internal code, there is no Array at that position in my code.... If I don't know what causes the error I can't fix it.
Developing for spigot is not that easy. Everyone basically has a dev build, there is no versioning. It just depends on the date you have build your own spigot version. On top of that the devs working on spigot aren't that familiar with the code like the original bukkit devs. So they are more likely to break things.
I try to keep the plugin working, but will most likely not change anything in how the plugin works. I hope that the Sponge API releases some time this year, so I can leave Spigot behind.
Hello Devs.
Thank you for a great plugin. Just wondering if it is still being maintained? I can see a bunch of tickets building up. If it's no longer active, then I'll retire it from our server network. If it will still be maintained, then happy to wait.
Many thanks for letting us know.
There's a bug in Extra Hard Mode when used in an environment with multiple worlds (e.g. World1, World1_nether, World2, World2_nether etc.) but not enabled for some of those worlds. I noticed that in the Nether (on a world where EHM is NOT being used or configured for), when a ghast appears, users still get the EHM notification about the ghast difficulty level.
I wonder how many other facets of the plugin are not taking into account the worlds that they are configured for.
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.
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.
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..