ModpackUtilities

ModpackUtilities

Mod

A (soon) multi-loader, multipurpose mod designed to address common annoyances when making a modpack!

Client Game MechanicsManagementUtility

58 downloads
2 followers
Follow Save

About

You can think of ModpackUtilities as your toolbox as a modpack developer. Copy files & folders, execute commands on world join, and much more to come! A single, simple mod to help you make the modpack you've always dreamed of, one feature at a time!

Features

Copy files & folders

Kinda like Configured Defaults or Your Options Should Be Respected (YOSBR), this allows you to copy any file or folder you put inside the copy directory to the game's directory.
Example:

  • If you want to copy the options.txt without overriding it, place it in /config/modpackutilities/copy/options.txt and it will end up in /options.txt, right where it should be!
  • Now let's say you want to overwrite the user's config even if he already has one. First set overwriteOnCopy to true in the config, then simply put your files and folders however you want them to be inside the user's game directory! It could look something like /config/modpackutilities/copy/config/fancymenu that will end up in /config/fancymenu for example.

And there is no limit to the files and folders you can copy. It's up to your needs! Whatever you put will be copied.

Execute commands on world join

As the name suggests. In the config, executionContext will be from who the commands will be executed. client will make it as if the player typed the commands, and server will make it as if they were typed from the server's console. Keep in mind that permissions matter. Example:

  • If executionContext is set to client, if you try commands like /give that require administrator permission and the player isn't one, thne the command will silently fail.
  • If executionContext is set to server, the commands will be executed as an administrator, so /give commands and others will work. However, since you can't target the player via the classic @ parameters, you can use a special @player one instead to target the player.

executionFrequency will run the commands either everytime the player joins the world, either once the first time, then never again. No example needed I hope.

commands is where you actually type the commands. They will be executed from right to left, so keep that in mind if order matters.
They have to start with a / and must be between double quotes, inside the already present square brackets. Example:

  • "commands": ["/give @s minecraft:diamond 64", "/tell @player Hello world!"] will first run the /tell command, then the /give command. You can note the use of @s and @player together.

How do I configure this mod?

Almost everything happens in modpackutilities.json, which is located at /config/modpackutilities/modpackutilities.json.
In order, you'll find:

  • overwriteOnCopy: true or false
  • executionContext: client or server
  • executionFrequency: once or everytime
  • commands: any valid Minecraft commands. @player can be used to get the player's username


Enjoy :)

Project members

Discorde

Member

Details

Licensed CC-BY-NC-ND-4.0
Published 4 months ago
Updated 3 months ago