Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [1.16.4] Config file will not update.
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 0
metword

[1.16.4] Config file will not update.

By metword, Wednesday at 04:20 PM in Modder Support

  • Reply to this topic
  • Start new topic

Recommended Posts

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Wednesday at 04:20 PM (edited)

Hello, I am having problems with my config file. Whenever I make changes in the file, they do not transfer over into my config variable.

 

Changes made in the config are not changing the actual config variable.

 

Config builder:

package com.metword.minecraftmod.config;

import com.electronwill.nightconfig.core.file.CommentedFileConfig;
import com.electronwill.nightconfig.core.io.WritingMode;
import com.metword.minecraftmod.ExampleMod;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.fml.common.Mod;

import java.io.File;

@Mod.EventBusSubscriber

public class Config {
    private static final ForgeConfigSpec.Builder server_builder = new ForgeConfigSpec.Builder();
    public static final ForgeConfigSpec server_config;
    private static final ForgeConfigSpec.Builder client_builder = new ForgeConfigSpec.Builder();
    public static final ForgeConfigSpec client_config;

    static {
        TextConfig.init(server_builder, client_builder);

        server_config = server_builder.build();
        client_config = client_builder.build();
    }

    public static void loadConfig(ForgeConfigSpec config, String path) {

        ExampleMod.LOGGER.info("Loading Config: " + path);
        final CommentedFileConfig file = CommentedFileConfig.builder(new File(path)).sync().autosave().writingMode(WritingMode.REPLACE).build();
        ExampleMod.LOGGER.info("Built Config: " + path);
        file.load();
        ExampleMod.LOGGER.info("Loaded Config: " + path);
        config.setConfig(file);
    }
}

 

Config loader:

ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, Config.server_config);
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, Config.client_config);

Config.loadConfig(Config.client_config, FMLPaths.CONFIGDIR.get().resolve("minecraftmod.client.toml").toString());
Config.loadConfig(Config.server_config, FMLPaths.CONFIGDIR.get().resolve("minecraftmod.server.toml").toString());

 

Edited Wednesday at 04:24 PM by metword
  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    160

ChampionAsh5357

ChampionAsh5357    160

  • World Shaper
  • ChampionAsh5357
  • Members
  • 160
  • 1017 posts
Posted Wednesday at 05:29 PM

Do not force load the configuration file. The client and common config will be available after registry and before common setup while the server isn't present until the associated server loads for the first time (these are on a per-save instance).

  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Wednesday at 06:01 PM (edited)
37 minutes ago, ChampionAsh5357 said:

Do not force load the configuration file

So I should remove the Config Loader code?

 

I'm a little confused what you mean by this.

 

Edited Wednesday at 06:08 PM by metword
  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    160

ChampionAsh5357

ChampionAsh5357    160

  • World Shaper
  • ChampionAsh5357
  • Members
  • 160
  • 1017 posts
Posted Wednesday at 08:57 PM
2 hours ago, metword said:

So I should remove the Config Loader code?

Yes, you should not even need to reference this at all.

  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Wednesday at 09:31 PM
32 minutes ago, ChampionAsh5357 said:

Yes, you should not even need to reference this at all.

I am still having issues. The config still reverts to the default value.

  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    160

ChampionAsh5357

ChampionAsh5357    160

  • World Shaper
  • ChampionAsh5357
  • Members
  • 160
  • 1017 posts
Posted Thursday at 12:32 AM
3 hours ago, metword said:

I am still having issues. The config still reverts to the default value.

When and how are you trying to access the values?

  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Thursday at 05:16 AM
4 hours ago, ChampionAsh5357 said:

When and how are you trying to access the values?

I’m trying to use the value as a string in my main class.

  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    160

ChampionAsh5357

ChampionAsh5357    160

  • World Shaper
  • ChampionAsh5357
  • Members
  • 160
  • 1017 posts
Posted Thursday at 05:40 AM

And when are you trying to access the value?

  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Saturday at 04:42 AM (edited)

Here:


"Config variable that will not update" is the variable that I'm trying to access. It simply reverts to the default value.

 

// Do something when certain thing is said in chat

    public static final Minecraft mc = Minecraft.getInstance();

    boolean serverFound = false;

    @SubscribeEvent
    public void onChat (ClientChatReceivedEvent event)
    {
        // Logger
        LOGGER.info("serverFound is now " + serverFound);

        String message = event.getMessage().getString();
        if (message.contains("CONFIG VARIABLE THAT WILL NOT UPDATE"))
        {
            serverFound = true;

            // Logger
            LOGGER.info("serverFound has been set to true");
        }

        if ((message.contains("entered the world.") && serverFound) == true)
        {

            // Logger
            LOGGER.info("serverFound is now true");

            Minecraft.getInstance().player.sendChatMessage("/teleport 0 150 0");
            serverFound = false;

            // Logger
            LOGGER.info("serverFound has been set to false");
        }
    }

}

 

Edited Saturday at 04:44 AM by metword
  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Saturday at 11:09 PM (edited)

Does anyone know how to fix my problem?

Its some issue with the text edit file and the code not syncing. The text edit file for config not updating the code.

Edited Sunday at 12:45 AM by metword
  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    160

ChampionAsh5357

ChampionAsh5357    160

  • World Shaper
  • ChampionAsh5357
  • Members
  • 160
  • 1017 posts
Posted Sunday at 01:32 AM
2 hours ago, metword said:

Does anyone know how to fix my problem?

Patience, you can't expect everyone to get back so fast. As for the issue, it probably is that your singleton reference to the configuration is not actually linked to the spec for updating the variables. I would suggest looking at how forge sets up their configuration. However, these are all guesses as they are snippets of code and not the entire repository context.

  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Sunday at 03:01 AM
1 hour ago, ChampionAsh5357 said:

it probably is that your singleton reference to the configuration is not actually linked to the spec for updating the variables.

Sorry, after reading the Minecraft Forge code I am still confused at how to link these two...

  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    160

ChampionAsh5357

ChampionAsh5357    160

  • World Shaper
  • ChampionAsh5357
  • Members
  • 160
  • 1017 posts
Posted Sunday at 03:22 AM

Please link your repository then. I'm questioning a few things regarding that TextConfig class and context surrounding what you are using on the client and server configuration.

  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Sunday at 03:31 AM

https://github.com/metword/TextReaderMod

  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    160

ChampionAsh5357

ChampionAsh5357    160

  • World Shaper
  • ChampionAsh5357
  • Members
  • 160
  • 1017 posts
Posted Sunday at 04:02 AM

It seems your testing if the value changed using the logger, which will always be the default value when first initialized.

 

This is not to mention that the entirety of the code is reaching across sides and still trying to force load the config.

  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Sunday at 04:56 AM

??? The logger is just to help me read more clearly what is going on in the code.

 

I am still confused how I should connect the two.

  • Quote

Share this post


Link to post
Share on other sites

diesieben07    7592

diesieben07

diesieben07    7592

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7592
  • 55027 posts
Posted Sunday at 11:02 AM
  • Your repository is incomplete. The MDK comes with a properly configured .gitignore file, please use it and a proper Git client instead of uploading via the web interface.
  • You do not own metword.com. Do not use it as your package name.
  • You are registering your config as a server config, this means it will be separate per World (read the javadocs).
  • You should not be loading your config manually. Forge does this for you.
  • Your mod will crash on servers. If you have a client-only mod, it should just do nothing when installed on the server.
  • Quote

Share this post


Link to post
Share on other sites

metword    0

metword

metword    0

  • Tree Puncher
  • metword
  • Members
  • 0
  • 17 posts
Posted Sunday at 09:04 PM

Thank you all so much. Loading the config was my problem.

I think it is all in order now!

  • Quote

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

    • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 0
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Alexalien
      Some Obj models not working

      By Alexalien · Posted 13 minutes ago

      Yeah, no worries i'm going to keep looking. Thanks for your help. 
    • Huntpor
      1.16.5 Loot Tables

      By Huntpor · Posted 21 minutes ago

      I am able to Generate new Blocks and Items into my very simple mod ( just has Copper Ore ) while I learn. When it comes to those items I am able to generate the texture just fine, but I get a little stuck how how to allow the new blocks to generate their own item. Is Loot tables the correct thing? or should I be looking for something else? Don't even know where to begin, so details would be helpful.    Thank you in advice.   
    • diesieben07
      Some Obj models not working

      By diesieben07 · Posted 27 minutes ago

      I don't know enough about the OBJ format and models in general to know if this is a wrongly formatted model or an issue with the loader, sorry.
    • diesieben07
      [1.14.3] Where to put Item.getItemFromBlock

      By diesieben07 · Posted 33 minutes ago

      1.14 is no longer supported. If you have an issue with a modern version, make your own thread.
    • LEXISMILES
      lexi

      By LEXISMILES · Posted 36 minutes ago

      fkwefwwefewklfjewuhfeufhuih4u74u34y43urhewrur4yy4ryw4rwruwerhywertryryewtryetwgretwtewyreyrewhewfhyefytire
  • Topics

    • Alexalien
      9
      Some Obj models not working

      By Alexalien
      Started 3 hours ago

    • Huntpor
      0
      1.16.5 Loot Tables

      By Huntpor
      Started 21 minutes ago

    • VGLyen
      6
      [1.14.3] Where to put Item.getItemFromBlock

      By VGLyen
      Started July 24, 2019

    • LEXISMILES
      0
      lexi

      By LEXISMILES
      Started 37 minutes ago

    • GenElectrovise
      3
      [ForgeGradle] Publish project to GitHub Packages

      By GenElectrovise
      Started Friday at 09:04 PM

  • Who's Online (See full list)

    • Heinzchen
    • Thorius
    • Luis_ST
    • vemerion
    • diesieben07
    • CookieLukas
    • monkey123
    • Alexalien
    • Veo
    • Jonbo187
    • Godis_apan
    • philip-elsner@gmx.net
    • Huntpor
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [1.16.4] Config file will not update.
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community