Jump to content

[1.17.1] Description: Exception initializing level java.lang.NoClassDefFoundError: Could not initialize class


Recommended Posts

Posted

I been further trying to figure this out and believe I've narrowed it down to my FMLCommonSetupEvent event. 

  Quote

    private void setup(final FMLCommonSetupEvent event) {
        event.enqueueWork(() -> {
            StructureInit.setupStructures();
            StructureInit.registerConfiguredStructures();
        });
    }

Expand  

It seems to call setup but not actually call either method inside the  event.enqueueWork() at any point. So my configured structure is never actually registered before my BiomeLoadingEvent event?

Do anyone know what would be causing this? 

Posted
  On 8/14/2021 at 3:55 PM, DireTook said:

It seems to call setup but not actually call either method inside the  event.enqueueWork() at any point. So my configured structure is never actually registered before my BiomeLoadingEvent event?

Expand  

answer: do not use event.enqueueWork

Posted

So I've essentially been trying to replicate this tutorial code as its the best info I could find on custom structures: https://github.com/TelepathicGrunt/StructureTutorialMod and it makes use of event.enqueueWork. I've tried replacing it but can't find anything else that would work.

You can see my methods in this gist: https://gist.github.com/DireTook/dd13728e54cc58a2615d8ebf9f7ed167

registerConfiguredStructures() should just register my structure as a configured structure whilst setupStructures() should add the separation settings.

What made me think it doesn't actually call the methods, is that I was simply putting a System.out.println("REACHED HERE"); and seeing if it printed. It did print if placed above event.enqueueWork but not when placed in the Structure methods.

Posted

Definitely my bad for not realising I didn't register my STRUCTURES DeferredRegister.

I've moved the Configured Structure code to its own class so it should only be accessed after registry. Not sure if that's the best solution? But it does work now.

Thanks very much for the help!

Posted (edited)

But since I'm using CONFIGURED_EXAMPLE_STRUCTURE in the biomeModification method and calling my new Configured Structure class using the setup method with event.enqueueWork, is a static initializer not the most efficient way?

  Quote

public void setup(final FMLCommonSetupEvent event) {
    event.enqueueWork(() -> {
        StructureInit.setupStructures();
        ConfiguredStructureInit.registerConfiguredStructures();
    }).whenComplete((v, err) -> {
        err.printStackTrace();
    });

 }

public void biomeModification(final BiomeLoadingEvent event) 
{
    event.getGeneration().getStructures().add(() -> ConfiguredStructureInit.CONFIGURED_EXAMPLE_STRUCTURE);
}

Expand  

 

Edited by DireTook
Posted

I guess I mean neater. This way I don't have to potentially use return CONFIGURED_EXAMPLE_STRUCTURE and possibly merging methods together in one class or... tbh I'm not entirely sure how I'd successfully go about not doing it as a static initializer whilst still functioning but I'm after attempting to for bit, it seems like it'd be a lot messier

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • 🔻 SERVER IP: 90.146.113.53 Watch the Server-Trailer now!     ArenaSMP is a brand new minecraft survival server combining the vanilla survival experience with the following exciting enhancements: In the PVE Arena, combat skeletons whom will when defeated by the player reward them with money which can be spent to purchase ranks with cool permissions such as disguising as a mob, setting multiple homes, accessing the enderchest by command and many more! To enhance your gameplay there are few tough named skeletons with a minor percent chance to drop highly enchanted tools when defeated! But that isn't all, theres a whole world dedicated to bring you the most exciting minecraft experience you've ever had. The treasurehunt world, a place made of massive scary abandoned mineshafts and underground ruins, is populated by very though skeletons and zombies guarding the most powerful treasures including armor and weapons with unique enchantments that will change the way you progress in survival forever! Some secret places hiding the most powerful treasures are difficult to find, only those who look behind every path and corner where nobody else would look might get the chance becomming an undefeatable GOD. The Enderdragon is yet alive, will you be the one to hunt it down first? Will you become the next GOD in arenasmp? Join now! As a bonus, the first 5 players joining will instantly recive a free rankup! What does ArenaSMP offer exactly? • Vanilla like Survival experience, Nether and End World • Hub with portals to various locations • PVE Arena • Treasurehunt World with many secrets • Powerful Hidden Gear • Ranks to be purchased with ingame-money • Landprotection for all players • Players with any minecraft version can join • Shields are disabled, we use the 1.8 combatsystem including sword blocking • Change your skin with the /skins command • Creepers don't destroy blocks and Phantoms are disabled • Defeated skeletons reward the player with ingame-money • Anticheat enabled • Survival World will never reset • Automatic Daily Server Backups Watch the Server-Trailer now! https://www.youtube.com/watch?v=xl5GfTizasI 🔻 SERVER IP: 90.146.113.53
    • I'm simply trying to start up a forever world with mods, but I don't understand what this crash report means. Can I get someone to diagnose the problem? https://pastebin.com/yRsq3C2A
    • I've successfully setup multi mc with two instances and i've split the audio going into my headset and another going into my quest, it works perfectly although whenever i tab out into instance 1 (pc) and go into instance 2 (vr) i can hear the pc audio still and i can also hear the vr audio but only when i am focused on the window it instantly goes mute when i lose focus im not sure what to do i've tried messing around with the sound system classes in my client build but i cant get my gradle build to work i cant find a simple tweak for this version that solves this issue i just need instance 2 to constantly play audio regardless if im tabbed in or not
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.