Posted May 13, 20223 yr hey all, i cant seem to find an event that triggers before the server shuts down. I have found ServerStoppingEvent, but this event crashes the server because: Caused by: java.lang.IllegalArgumentException: Listener for event class net.minecraftforge.event.server.ServerStoppingEvent takes an argument that is not a subtype of the base type interface net.minecraftforge.fml.event.IModBusEvent
May 13, 20223 yr Author 3 minutes ago, diesieben07 said: What do you need this event for? The error you showed is caused by you using the wrong event bus for the event. I need to save an HashMap to the config
May 13, 20223 yr Author 7 minutes ago, diesieben07 said: Why are you changing the user's config file? I am changing the server config file, and i have to save data to it. (i want the data to be easily accessible and changeable) Would there be a different way to save this per-player data? its just three integers per player
May 13, 20223 yr Author 1 hour ago, diesieben07 said: Config files are not suitable for saving per player data. Config files are intended to be changed by the user to configure your mod. If your mod changes the config file on its own, this defeats the purpose of a config file, using which the user can decide how your mod behaves. If you want to save per-player data you need to use capabilities. For very simple data structures, you can also use Entity#getPersistentData for the player. If you want the data to persist after death, store it under the sub-tag Player.PERSISTED_NBT_TAG. Note that in both cases (persisting through death or not) you must use a sub-tag based on your ModID, to avoid collisions with other mods as this is a shared data storage. I would only recommend using getPersistentData for very simple data structures, as it requires constant (de-)serialization from and to NBT. So, if I understand correctly, capabilities are NBT tags? I want to make a method that saves an integer to a tag created by my mod, but I'm not entirely sure how to do that. Edited May 13, 20223 yr by guid118
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.