Mod

JavaProgArgOverride

Quick rating

JavaProgArgOverride

No reviews yet

Enable you to override the target main class's Java Program arguments with arbitrary arguments using Mixin (by SpongePowered). And without changing cmdlines(in Task Manager or Htop)!

This project has no files, we may still be syncing them.

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
Creative Commons Zero v1.0 Universal
Latest Version
0.0.1
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Before Running This Mod

This mod is designed for advanced Minecraft users / mod developers. If you do not know how Java handles Program arguments, don't run it.
WARN: ANY COMMAND CAN BE EXECUTED THROUGH THIS MOD LOADING, INCLUDING WHICH IS MALICIOUS. THE AUTHOR WILL NOT BE RESPONSIBLE FOR ANYTHING CAUSED BY RUNNING THIS MOD.

Mod Synopsis

This mod is a simple but powerful tool for overriding Java Program arguments.

How to Use This Mod

This mod uses 2 Java Properties: rege.rege.misc.javaprogargoverride.Util.overridingArgs (called overridingArgs below for convenience) and rege.rege.misc.javaprogargoverride.Util.overridingArgsType (called overridingArgsType below for convenience).
This is a simple example that works (for client-side):
1. Create overrideargs.py at the root directory of the Minecraft instance with following content:

#!/usr/bin/env python

from sys import stdin, stdout
stdout.write(stdin.read())
stdout.write(" --fullscreen")

2. Edit the content of Java Properties arguments (e.g. “Settings/Java arguments” in Prism Launcher), add these: -Drege.rege.misc.javaprogargoverride.Util.overridingArgs="python overrideargs.py" -Drege.rege.misc.javaprogargoverride.Util.overridingArgsType=exec.
3. Launch the game, and you will find that the Minecraft window is created in a fullscreen state.
Explanation of the example:

  1. This mod will first check whether Property overridingArgs is present. If no, this mod will do nothing.
  2. There are 2 types available for Property overridingArgsType: plain and exec. The default is plain. If it is plain, then the arguments specified by overridingArgs will be directly used as the overriding arguments, in UNIX-Shell-styled format. If it is exec, then the arguments specified by overridingArgs will be executed as a command (like Batch / Shell commands), the arguments to be overridden will be passed into STDIN in UNIX-Shell-styled format. The STDOUT of the command will be used as the overriding arguments, in UNIX-Shell-styled format.
    1. For example, raw argument string arg1 'arg2' "arg3" \a\r\g\4 will be resolved as 4 arguments arg1, arg2, arg3 and arg4; raw argument string arg\\1 'arg\\2' "arg\\3" 'a'"r"g\''4' "" will be resolved as 5 arguments arg\1, arg\\2, arg\3, arg'4 and ``(empty string); raw argument string "arg\"1" 'arg'\'"2" "arg\\\\3" arg\ \\4 will be resolved as 4 arguments arg"1, arg'2, arg\\3 and arg \4.
    2. For example, arguments --width, 1800, --height and 1200 will be passed to STDIN as --width 1800 --height 1200; arguments --version, ``(empty string), --gameDir and /home/this/is/a/path/with/"doubles"/'singles'/and/s p a c e s/and/even/\backslashes\ will be passed to STDIN as --version '' --gamedir /home/this/is/a/path/with/\"doubles\"/\'singles\'/and/s\ p\ a\ c\ e\ s/and/even/\\backslashes\\.
  • Appending arguments only is recommended (output the original arguments by using e.g. sys.stdout.write(sys.stdin.read()) in Python, System.out.write(System.in.readAllBytes()) in Java and cat - in Shell Script). But if you want, you can even make full use of the arguments!

Notice

This mod is “Client-side optional, Server-side optional”, and client-side and server-side version of this mod work independently, and they have nothing to do with each other.
The client-side mod JAR will not be run on the server-side and vice versa. Please ensure you are running the correct version of the mod JAR on the correct side.
If the argument format (by overridingArgs or the STDOUT when overridingArgsType is exec) is incorrect, Minecraft will crash:

  • Quote not close, for example: If the raw argument string is python "overrideargs.py, java.lang.IllegalArgumentException: quote at index 7 not closed will be thrown.
  • Unexpected escape character(\) at the end of the raw argument string, for example: If the raw argument string is python overrideargs.py\, java.lang.IllegalArgumentException: unexpected escape at the end will be thrown.
  • Command not found, for example: If the raw argument string is pyhon overrideargs.py, java.io.IOException: Cannot run program "pyhon": error=2, No such file or directory (may vary by operating system) will be thrown.

Report Issues

Please leave a comment about your issue under the gist.

Screenshots

Gallery

This project has no gallery images yet.

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~1,000
Downloads
Last Updated
CurseForge
Modrinth
Created
Last synced
When ModDex last fetched and imported data for this project from CurseForge or Modrinth. High-traffic and active projects are checked more often.
Next pipeline sync