Regular mods are now automatically de-duped based on the version number -
the highest version file of a "root mod id" is now selected automatically.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
off-thread GUIs in any way shape or form, and we need the main thread to do real work.
Fix forge fading in wrongly.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
As a result, we can now support coloured log output again, by default.
Regen run configs to get the change (you should do this every update, you
know :D)
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Also fixed the "translations" not being available early if an exception occurs
by force loading the forge and MC ones. Closes#5984
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
be overridden in the fml.toml config file if desired).
Will load any type of config tracked file from there - client, common, server
or custom tracked file. This means you can ship defaults for your pack
in a defaultconfig directory. I am thinking about ways to force a specific
config override for an existing config.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Seriously, this is how to do targeted changes to specific classes.
In this case, adding a fieldtomethod redirect for EffectInstance.potion
to allow substitution.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Implement properly scalable progress thanks to @gigaherz. Closes#5863.
Implement API for pushing messages to the startup screen from mods.
Add memory display.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Fix not including userdev source in sources jar.
Update license header of files that need it.
Delete patches_old folders. Most are unneeded in 1.13+ as the systems they effected were changed significantly. Any that need to be readdressed can be done as PRs.
Run injectSnapshot on the client thread, wait for result and
disconnect when injectSnapshot fails.
Fix DevServer to load MOD_CLASSES
Fix LaunchTesting to properly load log4j2 markers (don't use a
static variable in that class!)
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
This is simple: <modfile>.list is a newline separated list
of maven-like coordinates for mods to load into the game.
They are searched for in all known maven roots.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
Locating mods on the classpath in dev should solve linked MC sources when debugging.
As well as loading deobfed mods.
Rewrote how arguments are handled in dev, so users can overwrite any defaults we provide.
Added basic Yggdrasil auth support. Passing in --username and --password arguments.
ONLY USE IF NECESSARY. Forge is NOT responsible for your login information.
path. We just need to verify what we need is on the classpath, and
try and handle when it's not, cleanly (by recommending running the
installer).
The manifest now embeds the correct launch arguments to allow FML to
resolve - these were _never_ editable, and belong somewhere out of
the way.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
the two extra Let's Encrypt root certs installed into an auxiliary
keystore.
The keystore was generated using standard commands, documented in the
FixSSL class.
The Let's Encrypt certificates are not provided by default in Java 8
prior to update 101.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
This can be used for mod sorting, dependencies between registries, etc.
e.g. https://github.com/MinecraftForge/MinecraftForge/pull/4694#issuecomment-412520302
New features:
Now accepts guava graph
Performance improvement: no longer reverse the graph; changed dfs to bfs
Accepets a comparator for secondary order, e.g. natural order, index by map
Now properly reports all cycles in a graph with Tarjan's strongly connected component algorithm
Adds a test to prove the validity of the sort and cycle detection
Modified build.gradle for test source directory and dependencies
Mod loading changes:
Sort mod file info instead of suppliers (we don't have suppliers instances)
Moves cycle error reporting out of topological sort and into mod sorter
Prevent mod file dependencies between mods that share the same file
Signed-off-by: liach <liach@users.noreply.github.com>
and enable ModLauncher to use those instead. This allows all mods to load
within the scope of the game classloader, removing weird conflicts and
class discovery problems.
Moved some launchplugin code to the launcher. Moved servermain to
the launcher.
server currently needs cmdline arguments --fml.forgeVersion=24.0.51-1.13-pre --fml.mcVersion=1.13 --fml.mcpVersion=2018.09.12.04.11.00 --fml.forgeGroup=net.minecraftforge.test
stronger classloader separation between the two sides. Forge now
loads as a regular mod.
Still needs a bunch of debugging, but structure looks good and game loads
in forge dev.