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, January 13 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 January 13 (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 January 13 by metword
  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    161

ChampionAsh5357

ChampionAsh5357    161

  • World Shaper
  • ChampionAsh5357
  • Members
  • 161
  • 1021 posts
Posted January 13

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 January 13 (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 January 13 by metword
  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    161

ChampionAsh5357

ChampionAsh5357    161

  • World Shaper
  • ChampionAsh5357
  • Members
  • 161
  • 1021 posts
Posted January 13
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 January 13
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    161

ChampionAsh5357

ChampionAsh5357    161

  • World Shaper
  • ChampionAsh5357
  • Members
  • 161
  • 1021 posts
Posted January 14
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 January 14
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    161

ChampionAsh5357

ChampionAsh5357    161

  • World Shaper
  • ChampionAsh5357
  • Members
  • 161
  • 1021 posts
Posted January 14

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 January 16 (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 January 16 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 January 16 (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 January 17 by metword
  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    161

ChampionAsh5357

ChampionAsh5357    161

  • World Shaper
  • ChampionAsh5357
  • Members
  • 161
  • 1021 posts
Posted January 17
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 January 17
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    161

ChampionAsh5357

ChampionAsh5357    161

  • World Shaper
  • ChampionAsh5357
  • Members
  • 161
  • 1021 posts
Posted January 17

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 January 17

https://github.com/metword/TextReaderMod

  • Quote

Share this post


Link to post
Share on other sites

ChampionAsh5357    161

ChampionAsh5357

ChampionAsh5357    161

  • World Shaper
  • ChampionAsh5357
  • Members
  • 161
  • 1021 posts
Posted January 17

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 January 17

??? 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    7614

diesieben07

diesieben07    7614

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7614
  • 55193 posts
Posted January 17
  • 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 January 17

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

    • AGENTO_PATENTO
      (1.16.4) Avalon, The Ragnarok is Here mod help.

      By AGENTO_PATENTO · Posted 21 minutes ago

      Cześć gdzie moge owy mod  POBRAĆ    
    • Luis_ST
      [1.16.5] Help with custom Glass Block

      By Luis_ST · Posted 1 hour ago

      okay i understand but if i understand this correctly i have to return 0.   but when i set the value to 0 it dosent work and when i set it to 1 (for testing) it also dosent work
    • awkx
      Server can't keep up - good hardware, 2 players

      By awkx · Posted 1 hour ago

      my forge 1.16.4 server is lagging from time to time, especially whem generating new chunks, but sometimes I'll also get the error message that it can't keep it / its overloaded even though we're not moving around very much. It's a 2 player server for me and a buddy. I have allocated 6gb of ram (from my 16gb) and they aren't being used completely, so that shouldn't be the issue I'm running the server on a home computer with a ryzen 7 3700x. I have 5 megabytes download and around 1 MB of upload speed. Any clues? I thought maybe I can use some more jvm arguments but I haven't found proper discussions for 1.16.x servers yet. We are using 71 mods, which sounds like a huge lot but can't be the problem since the server has been like this since we started out with 6 mods. The performance hasn't gotten worse nor better with the added mods.  Thanks in advance. 
    • kiou.23
      minecraft crashes as soon as I use shaders

      By kiou.23 · Posted 1 hour ago

      This problem is related to Java, not forge nor optifine I don't think. try updating the java version on your pc
    • Nitrix
      Forge dont want make any profile

      By Nitrix · Posted 1 hour ago

      yes it work thanks you so much 
  • Topics

    • SixSix
      1
      (1.16.4) Avalon, The Ragnarok is Here mod help.

      By SixSix
      Started December 24, 2020

    • Luis_ST
      6
      [1.16.5] Help with custom Glass Block

      By Luis_ST
      Started Friday at 07:35 AM

    • awkx
      0
      Server can't keep up - good hardware, 2 players

      By awkx
      Started 1 hour ago

    • JoehnMama
      1
      minecraft crashes as soon as I use shaders

      By JoehnMama
      Started 2 hours ago

    • Nitrix
      7
      Forge dont want make any profile

      By Nitrix
      Started Saturday at 06:53 PM

  • Who's Online (See full list)

    • kiou.23
    • Choonster
    • AzizD
    • dotifo7120
    • AGENTO_PATENTO
    • Kreepydude
  • 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