Jump to content

Recommended Posts

Posted

Hi,

 

My mod requires access to some content files that are stored in the mods/ folder. Client-side, I access that folder this way:

 

new File(Minecraft.getMinecraft().mcDataDir, "mods")

 

This seems to work fine even for people with customised setup.

 

For servers however I currently do this:

 

new File(new File("."), "mods")

 

Which works fine with a default install but apparently cause issues for people with customized setups.

 

Is there a cleaner way to do this on servers? An equivalent to Minecraft.getMinecraft().mcDataDir? It seems a little odd to me that this method only exists client-side. Otherwise I suppose I could instead check the location of the jar my mod is running from, that feels hacky.

 

Thanks

 

K.

Posted

You can use Loader#getConfigDir to get the configuration directory then step a directory higher and enter the mods directory since both config and mods directories are located within the same directory. 

You could also use reflection to access Loader.canonicalModsDir. 

There might be a better way that I am unaware of though.

  • Thanks 1
Posted

If you need to read something out of the jar file, use Class#getClassLoader().getResourceAsStream(resourceName);

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

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

    • Add crash-reports with sites like https://mclo.gs/   Make a test without Treasure2
    • Cobblemon GTS requires LuckPerms to work If you already have Luckperms, try different builds of both mods until you find a working combination
    • hey so i fixed the last problem but now i am having this problem and i haven't seen any helpful forums so if anyone could help  these r the logs [02:31:18] [Render thread/FATAL]:Preparing crash report with UUID c7a623c8-7037-45db-a9e0-8244e17555c5 [02:31:18] [Render thread/FATAL]:Preparing crash report with UUID 7de6af3e-8b72-4697-ab8c-34a41966ed26 at mod.gottsch.forge.treasure2.core.item.KeyItem.isDamageable(KeyItem.java:626) ~[Treasure2-mc1.19.2-f43.2.0-3.9.1.jar%23465!/:mc1.19.2-f43.2.0-3.9.1] at net.minecraftforge.common.capabilities.ICapabilityProvider.getCapability(ICapabilityProvider.java:33) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.getCapability(CapabilityProvider.java:182) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.getCapabilities(CapabilityProvider.java:87) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.doGatherCapabilities(CapabilityProvider.java:72) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:516) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:522) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%2385!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%2385!/:?] at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.3.jar%2385!/:?] at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.3.jar%2385!/:?] at com.infamous.dungeons_libraries.capabilities.builtinenchants.AttacherBuiltInEnchantments.attach(AttacherBuiltInEnchantments.java:49) ~[dungeons_libraries-1.19.2-3.0.12-beta-all.jar%23354!/:1.19.2-3.0.12-beta] at net.minecraft.world.item.ItemStack.m_41792_(ItemStack.java:832) ~[client-1.19.2-20220805.130853-srg.jar%23489!/:?] at net.minecraft.world.item.Item.m_8120_(Item.java:303) ~[client-1.19.2-20220805.130853-srg.jar%23489!/:?] at mod.gottsch.forge.treasure2.core.item.KeyItem.isDamageable(KeyItem.java:626) ~[Treasure2-mc1.19.2-f43.2.0-3.9.1.jar%23465!/:mc1.19.2-f43.2.0-3.9.1] at net.minecraftforge.common.capabilities.ICapabilityProvider.getCapability(ICapabilityProvider.java:33) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.getCapability(CapabilityProvider.java:182) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.getCapabilities(CapabilityProvider.java:87) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.doGatherCapabilities(CapabilityProvider.java:72) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:516) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:522) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%2385!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%2385!/:?] at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.3.jar%2385!/:?] at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.3.jar%2385!/:?] at com.infamous.dungeons_libraries.capabilities.builtinenchants.AttacherBuiltInEnchantments.attach(AttacherBuiltInEnchantments.java:49) ~[dungeons_libraries-1.19.2-3.0.12-beta-all.jar%23354!/:1.19.2-3.0.12-beta] at net.minecraft.world.item.ItemStack.m_41792_(ItemStack.java:832) ~[client-1.19.2-20220805.130853-srg.jar%23489!/:?] at net.minecraft.world.item.Item.m_8120_(Item.java:303) ~[client-1.19.2-20220805.130853-srg.jar%23489!/:?] at mod.gottsch.forge.treasure2.core.item.KeyItem.isDamageable(KeyItem.java:626) ~[Treasure2-mc1.19.2-f43.2.0-3.9.1.jar%23465!/:mc1.19.2-f43.2.0-3.9.1] at net.minecraftforge.common.capabilities.ICapabilityProvider.getCapability(ICapabilityProvider.java:33) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.getCapability(CapabilityProvider.java:182) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.getCapabilities(CapabilityProvider.java:87) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.common.capabilities.CapabilityProvider.doGatherCapabilities(CapabilityProvider.java:72) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:516) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:522) ~[forge-1.19.2-43.4.0-universal.jar%23494!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.3.jar%2385!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.3.jar%2385!/:?]    
    • hello, I've been trying to resolve this problem on curseforge for a while because I can't find a solution, can someone help me? I put the logs of the problem above:       [23Jan2025 06:58:39.109] [main/INFO][cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, cochon93, --version, forge-47.3.10, --gameDir, C:\Users\claey\curseforge\minecraft\Instances\create, --assetsDir, C:\Users\claey\curseforge\minecraft\Install\assets, --assetIndex, 5, --uuid, fd8a812c9e7a4ecbb8c750f0b8ffddf4, --accessToken, ????????, --clientId, OWM0NDE0ZmMtOWJiMS00OTBhLWIxYWYtMmI0ODM4Y2FkYTFl, --xuid, 2535422576924500, --userType, msa, --versionType, release, --width, 1024, --height, 768, --quickPlayPath, C:\Users\claey\curseforge\minecraft\Install\quickPlay\java\1737611916744.json, --launchTarget, forgeclient, --fml.forgeVersion, 47.3.10, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] [23Jan2025 06:58:39.124] [main/INFO][cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.13 by Eclipse Adoptium; OS Windows 11 arch amd64 version 10.0 [23Jan2025 06:58:42.749] [main/INFO][net.minecraftforge.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [23Jan2025 06:58:42.835] [main/INFO][EARLYDISPLAY/]: Trying GL version 4.6 [23Jan2025 06:58:43.030] [main/INFO][EARLYDISPLAY/]: Requested GL version 4.6 got version 4.6 [23Jan2025 06:58:43.145] [main/INFO][mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/claey/curseforge/minecraft/Install/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%23100!/ Service=ModLauncher Env=CLIENT [23Jan2025 06:58:43.195] [pool-2-thread-1/INFO][EARLYDISPLAY/]: GL info: NVIDIA GeForce RTX 4060 Laptop GPU/PCIe/SSE2 GL version 4.6.0 NVIDIA 561.03, NVIDIA Corporation [23Jan2025 06:58:44.664] [main/WARN][net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\claey\curseforge\minecraft\Install\libraries\net\minecraftforge\fmlcore\1.20.1-47.3.10\fmlcore-1.20.1-47.3.10.jar is missing mods.toml file [23Jan2025 06:58:44.668] [main/WARN][net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\claey\curseforge\minecraft\Install\libraries\net\minecraftforge\javafmllanguage\1.20.1-47.3.10\javafmllanguage-1.20.1-47.3.10.jar is missing mods.toml file [23Jan2025 06:58:44.670] [main/WARN][net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\claey\curseforge\minecraft\Install\libraries\net\minecraftforge\lowcodelanguage\1.20.1-47.3.10\lowcodelanguage-1.20.1-47.3.10.jar is missing mods.toml file [23Jan2025 06:58:44.674] [main/WARN][net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\claey\curseforge\minecraft\Install\libraries\net\minecraftforge\mclanguage\1.20.1-47.3.10\mclanguage-1.20.1-47.3.10.jar is missing mods.toml file [23Jan2025 06:58:45.326] [main/WARN][net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [23Jan2025 06:58:45.329] [main/WARN][net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: cloth_config. Using Mod File: C:\Users\claey\curseforge\minecraft\Instances\create\mods\cloth-config-11.1.136-forge.jar [23Jan2025 06:58:45.329] [main/INFO][net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 48 dependencies adding them to mods collection     thank you very much for your help
    • After adding all my mods and everything loading up fine, I go to create a singleplayer world and it load to 100 then crashes saying: The game crashed: exception in server tick loop Error: java.lang.NoClassDefFoundError: net/luckperms/api/LuckPermsProvider Crash Report: https://pastebin.com/nmTTFBB4
  • Topics

×
×
  • Create New...

Important Information

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