File Manager

Published by Goldorion on
Supported MCreator versions
2023.4
Tags / plugin type
Procedures
Variables
Icon
Downloads:
5001
Upvotes: 182
Plugin forum topic
About the plugin

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

https://storage.ko-fi.com/cdn/brandasset/kofi_button_blue.png

The 2 following examples require File Manager 5.0 or after.

Create a JSON file

Create a json file

Read a JSON file

Read a JSON file

I made a tutorial covering this here.

Credits/License

Tutorial by NorthWestTrees

Tutorial on sub-JSON objects by NorthWestTrees

Tutorial by Cursed Warrior

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.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
Project members
Lead developer
License
GNU Lesser General Public License version 2.1 (LGPLv2.1)

Plugin downloads
File Manager 5.8 - file-manager.zipUploaded on: 02/08/2024 - 02:45   File size: 65.32 KB

Comments

Can I create a normal file or a MOD plug-in file that I am making?

Hey,
I think there's an mistake in File.mkdirs(); method.
File object is a directory and not a file.
As the result of this program creates a folder named file.json instead of file with json expansion xdd.

You can change it to something like:
File file = new File(filePath);
file.getParentFile().mkdirs();

Sorry, my small mistake.
Yes, file variable is file or directory.

But mkdirs() method is only directory so when you want to create file AND new folder hierarchy to it, it creates a folder instead of the file. In that situation it is a mistake, but you just have to add .getParentFile() before .mkdirs() to fix it.

I just read javadoc to be sure >:3.

I can't have this working. Anything I do (I also copy your tutorial) my config file is not created
Im using Mcreator 2021.2 - forge 1.16.5

Could you create one with a read json file? The two examples for writing the file look great, but that assumes the file is already present. There is a [Set Local: configFile to _____] element (purple), but no way to attach the text of the filename. I cannot find any element that can be used to set the file name to read the json file (or check if the file exists) without locking the code and manually updating File file = new File("configfile.json);
Thanks!!

When i try to use the Write text in the file block it makes a folder instead. Is this intended?

Hello
im only able to create files with File Manager but if i try write things in the files i get a silent error with
https://pastebin.com/reAnj4Hb

If i do it like your example picture in the plugin description it wont work.
if i remove the write part it works.
it wont generate or change the code of the class with the write parts.

Already tested the latest build of file manager and one version lower too and also installed all snapshots of mcreator for 1.16.5 to test it with all versions.
Also builded the file manager with gradle on my own to test if uploaded version is maybe broken but nothing help.

Same error everytime.

What im doing wrong xD

since I cannot add screenshots here, take a look at the git hub issues report: https://github.com/Goldorion/File-Manager-MCreator/issues/11 where I provided screenshots and what was done to get it working. Yes, working on latest update as well :-)
-Steve

Okayy,
But im pretty sure there's still no option to check which file doesn't exist (that if condition). It'd be good add it cause right now this condition is pretty useless (before creating file)

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.

Heya, I'm using a Gobal Variable and II have the "not Does Exist" if statement in the beginning but it keeps being reset like it's rewriting the config on every startup (I'm using Mod loaded in the game as my event trigger)

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.