Commit graph

245 commits

Author SHA1 Message Date
LexManos
88595dd26b Fix extract inheritance not using proper classpath and update buildscript for FG asm changes. 2019-08-14 16:13:15 -07:00
cpw
0fd8fa2211
Bump modlauncher to 3.2.x. Add a sender modid and document IMC. Closes #5746
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-08-04 22:19:02 -04:00
cpw
5048739b7f
Turned minecraft into a proper Mod, with a "dummy" language provider.
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>
2019-08-04 20:16:01 -04:00
LexManos
ed1c55508f Fix userdev setup by moving SAS concept to FG. 2019-08-02 18:03:27 -07:00
LexManos
b009cedc0c Introduce new Side Annotation Stripper system to semi-automate the shipment of Sided methods and cleanup patches.
New forge:checkSAS task to validate this config file. Closes #5995
2019-07-31 21:15:39 -07:00
cpw
e17714583f
Crash report extended to show ModLauncher FML and Forge data.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-07-26 20:02:21 -04:00
cpw
0bdc2d04b4
Added a coremod, shush, don't tell Lex.
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>
2019-07-25 23:02:05 -04:00
David Quintana
ae3d002ac6 Fix & Improve state comparison when checking vanilla block replacements (#5922) 2019-07-22 19:23:20 -07:00
LexManos
00fc29d40d Fix javac compile issues. 2019-07-19 23:27:31 -07:00
cpw
27afdc8a27
Provisional update to 1.14.4. Missing a lot of playerinteractionmanager patches because everything moved and I'm tired.
Fix up immediate problems.

bump to 28.
2019-07-20 00:35:40 -04:00
cpw
eff42f6066
Update mappings to 20190719 in prep for 1.14.4..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-07-19 11:55:30 -04:00
cpw
ad64d383e1
Update modlauncher to the 3.x series.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-07-14 22:48:30 -04:00
LexManos
ce28c5794d Cleanup Forge's Access Transformer, and add ATs for Block.Properties#noDrop, and AxeItem/PickaxeItem. Closes #5866 and Closes #5921 2019-07-10 17:39:19 -07:00
LexManos
a01c1cdc3a Fix installer realms issue on server.
Uptake EventBus changes to fix some potential dead locks.
2019-07-05 13:26:23 -07:00
LexManos
bc23c1ddb2 Add installer processor to deobfuscate Mincraft's Realms library.
This task will processes the current realms library from the json, so the installer must be re-ran every time they update it.
2019-07-03 01:08:20 -07:00
cpw
943fedb073
Update coremods to newer version, with support for new targets.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-06-29 17:05:18 -04:00
LexManos
c284de366b Split userdev data entry point into it's own provider to fix duplicate mod issue. 2019-06-25 18:03:51 -07:00
LexManos
ff0bb8c83c Initial 1.14.3 update. 2019-06-24 19:01:03 -07:00
cpw
89baeb3d5d
Fix StartupQuery, and put tests back.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-06-22 19:58:10 -04:00
cpw
256bd01e0c
Fix server side loading, tweak mods command.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-06-22 12:31:27 -04:00
cpw
c10174d50d
Update mappings, move mod initialization to the async loader.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-06-21 22:42:16 -04:00
cpw
604987a005
Skip running the datagenerator on unrequested mods.
Add a run config for the data task for modders to use

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-06-16 00:47:50 -04:00
LexManos
e1cdb2e558 Expose the data entry point and generate Forge's Tags using it. 2019-06-13 20:58:03 -07:00
cpw
9fa4641cb0
Update mappings
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-06-08 10:45:28 -04:00
LexManos
b74b72e44c Fix NamespacedWrapper not delegating a new getter. Fixing data loading spam at world start.
Update red/yellow/green tags with new vanilla item names.
Reenabled test source directory in project and made ModelDataTest compile.
2019-06-07 19:34:16 -07:00
LexManos
a7df63e1a1
Update to 1.14.2 2019-06-07 16:50:47 -04:00
LexManos
d3e8804dbf Include new library in installer json.
Change order of versions on main menu, to prevent overlap with default window size.
Fix Forge update not displaying version info.
2019-05-27 19:13:55 -07:00
cpw
c57c6213ea
Enhance crash reports and logging to capture transformers on stack trace elements.
Moved log4j2.xml file to the launcher source set, so it loads first in the client.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-05-27 00:00:45 -04:00
LexManos
eae0858de6 Fix build script producing duplicated eclipse source folders.
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.
2019-05-13 19:11:24 -07:00
OhYea777
444ba7a7d5 Update 'build.gradle' to fix run configs for launching forge 2019-05-12 12:51:18 -04:00
cpw
6a1337aa92
Updated a couple of libraries. Fixed bug where modid could be in toml but
not found during loading, yet game continued to load.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-05-11 20:47:42 -04:00
tterrag
605c4a0adf Add test mods run configs 2019-05-11 18:58:45 -04:00
LexManos
a7204b5cd3 Bump ForgeSPI version, and add support for DistCleaner stripping interfaces from classes.
Add more detail to VersionChecker log info.
2019-05-06 15:52:12 -07:00
tterrag
f30d7bc845 Fix #5688 config values are unordered, update Night-Config 2019-04-18 22:13:13 -04:00
DaemonUmbra
e168d8e593 Remove Vanilla Logging Config (#5618)
This will re-enable Forge's logging configuration in "production"
2019-04-15 19:00:11 -07:00
cpw
cdbd842494
Refactor to use naming service, and provide an MCP naming service when
in userdev. Step 1 to supporting loading SRG mods in userdev.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-04-06 12:10:54 -04:00
tterrag
10a06157aa Update Night-Config to 3.5.0, improve defineEnum methods
Closes #5537
2019-03-23 00:12:48 -04:00
LexManos
3003e33074 Refactor Userdev and Forgedev launching.
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.
2019-03-06 20:59:32 -08:00
cpw
cbfa572acb
Tweak log4j2 config and allow access to classdump functionality from
modlauncher.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-02 15:31:35 -05:00
cpw
b4ccafe718
Enforce specversion number for forgeSPI so we don't crash with weird errors later.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-01 19:27:22 -05:00
cpw
7f1ea578d6
Fix problem with duplicate mods caused by duplicate classes found during scan.
File Scan results are now sets.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-27 23:34:23 -05:00
cpw
0bcc60fbe3
Tidy up server launch. The JAR will resolve it's libraries from a relative
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>
2019-02-26 10:28:48 -05:00
cpw
245d0b6282
Fix startup Query to actually display (fixed commit).
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-23 20:42:45 -05:00
cpw
bbdf52e038
Update to 0.10 modlauncher API with performance improvements..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-23 14:36:05 -05:00
LexManos
b7f6fbcfcb Merge extra and data jars. As Log4j has issues with it's config being in a different jar then the custom logger. 2019-02-21 04:24:39 -08:00
cpw
1d6536a53b
Move unsafehacks to separate JAR built separately..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-18 15:54:36 -05:00
Jack Taylor
2e2c57dbd1 Refactor forge and example run configs based on MinecraftForge/ForgeGradle#546
- Updated run config formats based on the refactored setup
- Removed old 'runclient' and 'runserver' JavaExec tasks, replacing them by creating the run configs using the refactored setup.
- Set 'assetIndex' environment variable from FG
- Updated MDK for new run config setup
2019-02-18 14:39:05 -05:00
cpw
bd1769b11f
Fix author and other strings in the mdk mods toml file, update coremods to 0.3.+
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-17 14:08:20 -05:00
cpw
738d54ff4c
Fixes #5446 Listening for the same registry event in two different mods fails
Tell the mod event bus not to track phasing for events.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-16 16:45:05 -05:00
cpw
1e6f3fc893
Use MC VERSION in the dependencies string for the extra jar
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-15 01:11:31 -05:00
cpw
b4d0ee9b3b
Publish to mainline
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-14 23:15:40 -05:00
LexManos
ca72710937 Initial 1.13.2 update. Major thing to note is that Dimensions have been completely revamped.
DimensionType is not unique per Dimension. See DimensionManager for more details.
Vanilla now has a chunk loading system, so Forge's will need to be deprecated/adapted.
2019-02-14 15:08:53 -08:00
cpw
c6afb2be3f
Move to using Minecrell's terminal logger directly, for better ANSI control and JLine support.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 14:35:21 -05:00
LexManos
aa91af865d Rework server launching at runtime to include needed default arguments and validate libraries exist.
Move Forge config loading to manual while config system is in development.
2019-02-04 18:23:58 -08:00
cpw
55691fce4e
Expose the ModFile in the scan data, so languages can read it and make
mod construction decisions.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-31 23:09:47 -05:00
ichttt
ad32b01d85 Reimplement update checker 2019-01-27 21:23:24 +01:00
cpw
043069dc8a
Update to 0.9.0 of modlauncher..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-26 17:38:59 -05:00
liach
c01b336095 Improves topological sort
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>
2019-01-21 03:06:27 +00:00
cpw
040cc4bf16
Expose a couple of mods.toml properties properly. Half-implemented
override namespace - still needs to be reviewed and determined how this
might work in detail.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-20 21:26:31 -05:00
cpw
f4d2d1a24b
Move Registry Events to the mod event bus.
Add infrastructure to allow parallel or synchronous dispatch of
mod events, and pass-through of events to the dispatch system.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-19 23:27:27 -05:00
cpw
99452a8b45 Update a bunch of libs, rename some of the mod events to more
meaningful names.
2019-01-14 00:39:00 -05:00
LexManos
36d2e67b07 Reimplement @ObjectHolder scanning, and expose system for others to add handlers.
Fix forgedev and userdev run configs.
Fix issue in log functions assuming String arguments.
2019-01-09 20:57:01 -08:00
LexManos
f7acc73282 Update userdev and runconfigs for ForgeGradle changes. 2019-01-08 00:29:36 -08:00
cpw
997a15c0f2 Update to 0.4.0 of modlauncher 2019-01-06 16:34:32 -05:00
cpw
1b40618f02 Fix classloading properly. ModLoadingClassLoader doesn't work
with the proper delegation model. Abandoned it, in favour of injecting
locators into the Transformer classloader directly.
2019-01-06 16:24:32 -05:00
cpw
fd9c83b65f Finish up classloading system. Use ModJARURL to locate resources
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.
2019-01-04 23:56:10 -05:00
cpw
6baddc7e26 client and server work standalone and in forge dev. Next up userdev.
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
2019-01-01 21:35:23 -05:00
cpw
e9580877b4 fix up some discovery code, and make regular runtime _mostly_ work.
Still WIP and doesn't quite get to main screen yet.
2019-01-01 16:50:04 -05:00
LexManos
440649bb95 Fix new launcher jar packaging.
Run license checker over new code.
2018-12-31 16:48:23 -08:00
cpw
48846bc0ba separated fmllauncher code from main forge mod code. This enables much
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.
2018-12-31 16:34:33 -05:00
mcenderdragon
0bfa76251d Added JVM argument so lwjgl dll extraction works with unicode os usernames, closes #5282 (#5283) 2018-12-20 12:09:34 -08:00
David Quintana
52b6da1759 Fix classloading issues in userdev (and possibly also for things like tests within forgedev) (#5275) 2018-12-13 15:33:35 -08:00
David Quintana
b7b5dd5bea Create a userdev-specific main, and include it as an injected file in the userdev jar. (#5231) 2018-12-11 20:04:23 -08:00
LexManos
76d912c0ba Include project group in ForgeVersion and determine path to patched jar.
While testing we install to net.minecraftforge.test. So don't hardcode it.
2018-12-04 11:55:50 -08:00
LexManos
7c0d94ce9c Patch work, most of block classes, and fix eclipse run configs. 2018-11-16 23:15:39 -08:00
LexManos
f1552ef20d Fix changelog classifier, and prevent jenkins from running concurrent builds.
And remove caching from setup, as it doesn't use the rangemap.
2018-11-15 12:40:30 -08:00
LexManos
de7eeed916 Make Forge group/name dynamic in MDK as well. 2018-11-14 13:42:11 -08:00
LexManos
93eabce1bc Include changelog in published artifacts. 2018-11-14 13:39:56 -08:00
LexManos
7f9acac469 Fix version number not having MC prefix, and build artifacts. 2018-11-13 16:49:03 -08:00
LexManos
506d5b18de Workaround for gradle issue with jar signing. 2018-11-13 16:32:55 -08:00
LexManos
1f65388118 Create jenkins file for new jenkins.
Change version scheme to tag based versions.
2018-11-12 19:54:39 -08:00
LexManos
20fea3f49d MDK progress. 2018-10-11 18:54:05 -07:00
cpw
e199e78a4f load languages on the server as well as the client, and fix up a bunch of data packs. 2018-10-05 21:42:15 -04:00
cpw
1c9b5fae5e Server run profile, also setup logging for client profile. 2018-10-05 01:25:27 -04:00
cpw
bdcc7d966f Fix the forge version presented to the game (remove MC prefix) 2018-10-04 20:04:03 -04:00
cpw
ca765b857b Move the version packages somewhere that is now filtered so it doesn't
load twice.
2018-10-04 19:28:45 -04:00
cpw
d5e04dbcb5 Better error passing from early to game client launch. 2018-10-04 00:57:08 -04:00
LexManos
4630741c7c Add SHAs for post processors to allow the installer to skip if matching.
SpecialSource needs a update to stabilize output before it can be cached.
2018-10-02 13:13:33 -07:00
cpw
0b11b0e6bb Launch in the vanilla launcher now. 2018-10-02 00:32:41 -04:00
LexManos
39307856b5 More installer related tweaks. 2018-10-01 20:27:05 -07:00
LexManos
2b4f7b1a86 Specify version information using Java 8's Package Version system. 2018-10-01 19:19:25 -07:00
LexManos
e8329ad2c2 Fix builds without crowdin key, and installer work.
Started moving version out of code.
Include expected vanilla class hashes in universal so we can validate them at runtime.
2018-10-01 16:59:46 -07:00
cpw
6485a48d79 Use latest paulscode (removes need for soundfix transformer) and fix gitignore. 2018-09-30 14:29:14 -04:00
LexManos
b8d305b869 Installer work, universal obfed to srg names, and binpatches against SRG named clients. 2018-09-30 02:54:20 -07:00
cpw
015ac2547e Fixup the config GUI and get things working again. 2018-09-29 01:29:49 -04:00
LexManos
b54bd33332 Work on installer json generation. 2018-09-28 20:50:01 -07:00
cpw
bb9eca96a8 Basic error display GUI. 2018-09-28 21:07:46 -04:00
LexManos
dec65732ce Work on publishing tasks.
Userdev/universal/mdk done.
mdk needs updating once FG3 user side is finished.
Installer waiting on Interaller project re-write to do install time deobf/patching.
2018-09-25 00:29:20 -07:00
cpw
09e2aeaec4 Some tweaks to get the launcher working. 2018-09-24 00:07:33 -04:00
LexManos
94e1a8e0a4 Update mappings to 09/21 snapshots.
Conflict with getMatrix in ITransformation, so renamed to getMatrixVec.
2018-09-22 03:40:22 -07:00