Extra Hard Mode

Extra Hard Mode

63.1k Downloads

ExceptionInInitializerError on start-up 1.14.1

SlimeDog opened this issue ยท 12 comments

commented

Spigot 1.14.1
EHM 3.13.2-b3862a7

I appreciate that Spigot 1.14.1 support has not been announced, so just to get it on the radar...

[08:45:42] [Server thread/INFO]: [ExtraHardMode] Enabling ExtraHardMode v3.13.2-b3862a7
[08:45:42] [Server thread/ERROR]: Error occurred while enabling ExtraHardMode v3.13.2-b3862a7 (Is it up to date?)
java.lang.ExceptionInInitializerError: null
        at com.extrahardmode.config.EHMConfig.<init>(EHMConfig.java:107) ~[?:?]
        at com.extrahardmode.config.RootConfig.load(RootConfig.java:76) ~[?:?]
        at com.extrahardmode.config.RootConfig.starting(RootConfig.java:56) ~[?:?]
        at com.extrahardmode.ExtraHardMode.registerModule(ExtraHardMode.java:286) ~[?:?]
        at com.extrahardmode.ExtraHardMode.onEnable(ExtraHardMode.java:115) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352) [spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:416) [spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugin(CraftServer.java:458) [spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugins(CraftServer.java:372) [spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:440) [spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:258) [spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:761) [spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.IllegalArgumentException: Cannot get ID of Modern Material
        at org.apache.commons.lang.Validate.isTrue(Validate.java:136) ~[spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at org.bukkit.Material.getId(Material.java:3302) ~[spigot-1.14.1.jar-2019-05-16-0818:git-Spigot-8043ebc-02b466c]
        at com.extrahardmode.service.config.customtypes.BlockType.<init>(BlockType.java:36) ~[?:?]
        at com.extrahardmode.config.RootNode$DefaultHardBlocks.<init>(RootNode.java:1533) ~[?:?]
        at com.extrahardmode.config.RootNode.<clinit>(RootNode.java:99) ~[?:?]
        ... 14 more
commented

Looks like IDs are nearly gone for good. Yay, more refactoring.

commented

Yep! :-)

commented

Mitigated for now, will simply ignore all non-legacy materials. Probably will spend time properly removing this blocktype later before release or in the update after.

commented

Ok this isn't going to work since loadFromConfig basically puts everything in IDs. There are 100 usages of the BlockType class. This is gonna be fun.

commented

How's 1.14 stability going? Spigot 1.14.2 was out May 27, and Minecraft Forge is skipping 1.14.1 altogether.

commented

Nothing to do with stability, everything to do with this custom BlockType class that's based on material IDs that's practically used in about 80% or so of the project... not to mention the other classes that are used for organizing BlockTypes like BlockTypeList which has 36 usages and BlockRelationsList with 24, which uses BlockRelation...

I initially was trying to delete the BlockType class but then realized after a several lines of refactoring, I'd have to change/refactor hundreds of lines of code to use something more sane like a List of Materials or something... I'm currently trying to refactor BlockType now to just use Materials instead. But idk which approach would be faster at this point. Both are going to take a large chunk of time.

commented

You should make us a Discord. For updates and what not. (I'm also like really into how this plugin is developed and what goes into it haha). Quick question. Why'd you use BlockType instead of Material when 1.13 came out?

commented

No objection to expanding notifications to Discord, but please keep the main Spigot channel. Some of us are dedicated Discord-cutters.

commented

Why'd you use BlockType instead of Material when 1.13 came out?

I didn't... this was in the code long before I became the maintainer. Several years old.

You should make us a Discord.

I already have an IRC channel (which is bridged to dumcord). https://kiwiirc.com/client/irc.spi.gt/#robomwm

commented

I agree with that, he could, if he does go with the Discord idea, make a GitHub webhook, so any changes or publishes get posted in a certain text channel.

commented

Ohhh, okay my apologies.

And yeah! Ill check the IRC channel out!

commented

Probably fixed with different errors to appear in the log now. https://ci.appveyor.com/project/RoboMWM39862/extrahardmode/builds/25470128/artifacts

The above is super alpha, use at your own risk (i.e., use this on a test server, and probably with a blank config since @ metadata identifiers are no longer used).

Since there are probably new sets of errors due to refactoring away BlockType entirely, please make those reports in new issues. Thanks.