Mod
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)!
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
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.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
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:
- This mod will first check whether Property
overridingArgsis present. If no, this mod will do nothing. - There are 2 types available for Property
overridingArgsType:plainandexec. The default isplain. If it isplain, then the arguments specified byoverridingArgswill be directly used as the overriding arguments, in UNIX-Shell-styled format. If it isexec, then the arguments specified byoverridingArgswill 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.- For example, raw argument string
arg1 'arg2' "arg3" \a\r\g\4will be resolved as 4 argumentsarg1,arg2,arg3andarg4; raw argument stringarg\\1 'arg\\2' "arg\\3" 'a'"r"g\''4' ""will be resolved as 5 argumentsarg\1,arg\\2,arg\3,arg'4and ``(empty string); raw argument string"arg\"1" 'arg'\'"2" "arg\\\\3" arg\ \\4will be resolved as 4 argumentsarg"1,arg'2,arg\\3andarg \4. - For example, arguments
--width,1800,--heightand1200will be passed to STDIN as--width 1800 --height 1200; arguments--version, ``(empty string),--gameDirand/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\\.
- For example, raw argument string
- 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 andcat -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 closedwill be thrown. - Unexpected escape character(
\) at the end of the raw argument string, for example: If the raw argument string ispython overrideargs.py\,java.lang.IllegalArgumentException: unexpected escape at the endwill 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
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
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources