File Manager is a plugin adding new procedure blocks allowing you to create and read your files!
File Types
- JSON
- TXT (simple file reader/writer)
- ZIP (5.7+)
Important Information
- This version supports Forge 1.19.4 and 1.20.1 and Fabric 1.20.1
The 2 following examples require File Manager 5.0 or after.
Create a JSON file
Read a JSON file
I made a tutorial covering this here.
Credits/License
Tutorial on sub-JSON objects by NorthWestTrees
Icon by Tobi-Wan#0482
Licensed under the GNU Lesser General Public License, version 2.1
- Appropriate credit must be provided to the creators and maintainers of this plugin.
- Forked versions of this plugin must be distributed under the same license as this with attribution if distributed.
- Changes must be stated if any modified works are to be distributed.
- Under no circumstances you can state that the original creator endorses modified works.
Changelog
To see a complete changelog of the plugin, check this file.
5.9
* Updated to MCreator 2024.1.15713
* Added support for NeoForge 1.20.4
5.8
* Removed support for Forge 1.18.2, 1.19.2
* Removed support for Fabric 1.19.2
* Re-organized File Manager's categories to use the new parent/children category system
* [#51] Add a Remove JSON property
* [#54] Add Get client's directory
* [#58] Add Get JSON property name at index
* [Bugfix #50] Is JSON object empty caused a build error
* [Bugfix #52] Copy url to file didn't work correctly
Comments
Yes that is the case. There isn't a SET option for FileManager variables so the only way I found was to unlock the code for the procedure and update: File myFile = new File("serverbasicsconfig.json");
with the actual name. This sets the filename before checking if it exists or not. Not ideal, but a workaround for now. Just have to check it in/out again when making changes to that procedure which is a pain initially.
Okay, we are wrong tho. There is a block to set file variable, just it's name is kinda misleading.
This block is "Create the file with name located at directory".
It creates a variable File and puts the directory into it.
When u used read blocks in procedure it checks if file exists in the directory and if it doesn't exist, it creates it. If it exists it does nothing, you have full access to info inside it.
I ran into the same issue and couldn't find any way to set the variable so that the file not found message would go away. I used a variable for the filename (in the example above and my use case). Details are in Issue-11 on Github. In short, I got the logic to read/write working be editing the code to explicitly set myFile variable in java: File myFile = new File("serverconfig.json");
Once I had that done first, then everything worked fine after that. I tried using a global variable to set the value but there wasn't any option in File Manager to use an element that allows setting of a variable's value.
I have 2 issues, I can't edit any boolean subgson's since they keep being overwritten and I can't access them outside the main prodecure since its a Local Variable and whenever I try to use a Public one it just gives me errors, Like I want to access the data if the value is true or false in another procedure but I can't since it's a local one. I followed your picture guide for gson
It isn't a complete working example. Take a look at my previous post to see why it doesn't work (as is).