Commit Graph

1280 Commits

Author SHA1 Message Date
AbrarSyed d2d36880b0 Step 1: The Purge 2013-11-09 14:28:53 -05:00
Christian 7831555a7f Add in the ability to strip interface references for specific interfaces - this is probably mostly useful for
scala scenarios where sythetic methods are generated and is not a substitute for using Optional.Method where appropriate.
Closes #300
2013-11-09 14:27:15 -05:00
Christian 3b42a14dba Change a couple of warnings, as a prelude to 1.7- preinit is now required for all GameRegistry activity, and every item and block REQUIRES registration. 2013-11-06 16:18:41 -05:00
Christian 83d8713bea Fix derp with custom properties. They work now! 2013-11-05 22:23:24 -05:00
Christian 289678252b Fix recursive API dependency resolution. Allows nested APIs, such as BuildCraft's 2013-10-31 09:39:34 -04:00
Christian cfeebf7810 Fix up duplicate entries 2013-10-30 22:46:19 -04:00
Christian ee8630bc55 Add in an API marker for API type packages.
This does several things:
1. Packages marked as API will generate a new "modid" (the provides) that can be depended on.
2. Packages marked as API will be searched systemwide, and anything declaring that package (even without the API marker)
will get an implicit dependency on the API package.
3. The API package itself will get a soft dependency on the "owner" package.

@Optional elements can refer to the API packages instead of a concrete mod as well.
2013-10-30 22:20:28 -04:00
Christian 9efeaa8caa Attempt to inject coremods as tweakers, so both can share a dependency ordering 2013-10-27 13:28:50 -04:00
Christian f7a6bb7eb7 Wrapping coremods as tweakers. Part 1. 2013-10-20 11:53:07 +02:00
Christian cfb78d482a Fix up documentation of VersionCheckHandler - it only ever accepted a String and only works on the NetworkMod annotated class 2013-10-20 11:45:00 +02:00
Christian 09c7df2bb3 Modify ordering of networkmod registration and mod instantiation. This fixes VersionCheckHandler logging an incorrect failure message due
to NPE.
2013-10-20 11:41:28 +02:00
Lex Manos 0b0b94978c Make each mod's EventBus log a child of it's main logger. 2013-10-19 18:24:24 -07:00
Christian fa97bebf34 Fix up handling the new method signature data for NetworkCheckHandlers 2013-10-14 21:28:15 -04:00
Christian c56f2e3b37 Use null to empty, so missing values work. *sigh* 2013-10-13 22:36:47 -04:00
Christian 5e03f2e85b Primitive capability for tweakers to order. Add a "TweakOrder" integer
property to your manifest, or accept the default of zero.
2013-10-12 10:28:11 -04:00
Kevin Ji cfcdb92c8e Very minor style fixes
Replacing tabs with spaces consistently, making brace styles consistent, etc.
2013-10-09 19:53:50 -07:00
Christian daf454af62 Support, and fix up, interface lists for Optional 2013-10-09 13:58:14 -04:00
Lex Manos 1754a5820a Delay sound system backend initalization to speed up startup and prevent race condition on some computers. 2013-10-06 11:13:07 -07:00
Christian b542f13c5c ModLoader is officially deprecated. It will all cease to be with 1.7. 2013-10-06 11:06:31 -04:00
Christian 955d532264 Optional shouldn't be constructable itself. It's purely a wrapper thing. 2013-10-06 10:56:47 -04:00
Christian 19173a7b97 Add in support for Optional interfaces and methods. Be gone coremods! 2013-10-04 17:20:05 -04:00
Christian ea25a3ffd0 Fix null killing the server 2013-09-29 15:51:38 -04:00
Lex Manos 7e53a294fe Fix md5s for new checksums.sha1 in scala libraries. 2013-09-28 19:47:32 -07:00
Christian 05c66728e7 Attempt at a shared modlist implementation - should allow visibility between liteloader and fml for "mod list display" 2013-09-27 10:45:20 -04:00
Christian dc72bfe56a Cross-modsystem compatibility fix with thanks to Mumfrey @ liteloader 2013-09-27 10:01:39 -04:00
Christian ef70a1d29e Add to both the classloader and the parent 2013-09-26 13:01:00 -04:00
Christian 9bcf633e8c Fix deobf tweaker 2013-09-26 10:11:29 -04:00
Christian 036cda37b0 TYPOS!!! 2013-09-26 09:33:48 -04:00
Christian cbf22b0ab5 Separate deobf tweaker so it runs last. Should fix problems with cascaded tweakers
expecting an obf environment.
2013-09-26 09:23:25 -04:00
Christian 952d602f49 Update for launchwrapper 1.8 2013-09-25 16:40:59 -04:00
Christian 61ae96f03a Use the negative cache in latest legacylauncher. 2013-09-25 11:46:11 -04:00
Christian 96d9c3b8bc Add debugging for deobfuscation
Add negative caching for field and method maps. Should shortcut some work

Fix handling the case where a class doesn't exist, but still needs deobf

Ask the patch manager for the bytes for the class, not the classLoader

Fix up some more places where we should look for a patched class

Fix problem with empty source classes and runtime deobfuscation
2013-09-25 07:37:25 -04:00
Lex Manos c1623cb8e3 Update to new installer that uses xz compression and better support for non-standard jvms 2013-09-24 23:21:17 -07:00
Christian 8f17d1c694 And use the parent that's actually going to be valid. *sigh* 2013-09-24 08:42:13 -04:00
Christian 8929267b20 Herpaderp. Make addURL accessible. *sigh* 2013-09-24 07:33:11 -04:00
Christian 48c92084da Fix injection of tweaker into system 2013-09-23 13:33:16 -04:00
Simon McVittie 5bf7d3cb4b Fix NPE when loading second single-player world
After leaving a single-player world, getServer() can return null, resulting
in the stack trace below, "Fatal errors were detected during the
transition from SERVER_STOPPING to SERVER_ABOUT_TO_START",
"The ForgeModLoader state engine has become corrupted" and the client
getting stuck forever.

Exception in thread "Server thread" java.lang.NullPointerException
at cpw.mods.fml.client.FMLClientHandler.serverStopped(FMLClientHandler.java:620)
at cpw.mods.fml.common.FMLCommonHandler.handleServerStopped(FMLCommonHandler.java:468)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471)
at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)
2013-09-22 16:56:24 +01:00
Christian 85811a013d Fix classpath for launchwrapper 1.7 2013-09-21 16:15:05 -04:00
Christian 0c365eb893 Update workspaces for 1.6.4 2013-09-20 17:23:18 -04:00
Christian da0972980b Fix up a deep crash in the early server init hanging the client 2013-09-20 17:12:01 -04:00
Christian 74b7cba492 Update for MC 1.6.4 2013-09-20 16:25:12 -04:00
Lex Manos 1928c177ac Make final transformers actually work on methods as well. 2013-09-19 12:59:12 -07:00
Christian d2712dafdb Format the log messages through MessageFormat. Thanks CovertJaguar for the pointer. Closes #282 2013-09-19 08:23:56 -04:00
Lex Manos fcf2af484d Update the src distro's eclipse workspace. 2013-09-18 15:21:56 -07:00
Christian b721a51bc4 Update mc_versions data and commands patch and eclipse workspace 2013-09-18 18:01:04 -04:00
Christian 3768ca1713 Update mcp mod info 2013-09-18 17:02:41 -04:00
Christian 2ea5f04228 Update for real 1.6.3 update 2013-09-18 16:59:28 -04:00
Christian 12c556bc36 Update for pre-ninja 1.6.3 update 2013-09-18 16:33:11 -04:00
Christian 88f1dce658 Merge branch 'master' into newtweak 2013-09-18 14:49:53 -04:00
Christian 56bf94b441 Update for new installer and thank you. 2013-09-17 21:56:25 -04:00
Christian 466902654e Add in support for using a mirror list and provide checksums for packed download of libs 2013-09-15 22:58:39 -04:00
Christian 4fc4accb6e Fix sidedness derp in LanguageRegistry. 2013-09-13 19:04:25 -05:00
Christian 9387bae26b Update MCP data 2013-09-03 17:56:09 -04:00
Christian b41a7e1dab Remove @SideOnly from 70318 (getDistance) it makes no sense that it's not on the server. 2013-09-02 12:24:17 -04:00
Christian b9ac2ac13c Use java 1.6 compatible method of closing the zip file. Stops stupid compile error. 2013-09-02 00:12:36 -04:00
Christian 4f9b778d14 Allow server side lang file injection, hopefully 2013-08-27 22:45:10 -04:00
Christian 5925fa7c79 Allow coremods to properly inject asset readers. 2013-08-27 12:31:37 -04:00
Christian ded1a92dfd Update tweaker for new Launcher API 2013-08-23 10:42:26 -04:00
Christian 3b4f1983ce More exception handling for less derpiness. 2013-08-20 20:46:18 -04:00
Christian 94462565a5 Reset the IWorldGenerator seed for each mod, before calling. That should mean worldgen is consistent
and not dependent on mod ordering, or mod sideeffects.
2013-08-19 14:56:01 -04:00
Christian 6818c0f4da Try and use the relaunch log, which should be classloaded.. 2013-08-19 14:55:37 -04:00
Christian 4eb97daac3 Fix up scala refs, for better results 2013-08-18 18:58:36 -04:00
Christian ed258920a0 Check keys, not values *sigh* 2013-08-17 13:27:43 -04:00
Christian 877dc77b75 And more coremod logging 2013-08-17 13:14:55 -04:00
Christian dcba47209f Add in some log information 2013-08-17 13:10:28 -04:00
Christian 904e2df1f9 And actually instantiate the collection *sigh* 2013-08-17 12:57:15 -04:00
Christian 643e3d441a Add in "FMLCorePluginContainsMod" in the manifest. If this value is
present, FML will attempt to parse your mod jar file as a normal mod
file as well, instantiating mod containers there.
2013-08-17 12:48:38 -04:00
Christian 8f9b54a97a Clean up a couple of resources. Also, don't parse jars just because
they're in the mods dir
2013-08-17 11:40:15 -04:00
Christian 7c7cafbae1 Make sure we only add args to the argument list if a tweaker hasn't already.
Should fix LiteLoader compatibility issue.
2013-08-16 16:28:55 -04:00
Christian 779139b3ca Fix stupid derp is stupid. Closes #275 and means sp614x can do his thing 2013-08-16 16:18:50 -04:00
LexManos 4406d1e171 Update installer. 2013-08-06 11:42:38 -07:00
Bo ea33f502fc Fixed install.sh not passing arguments to install.py 2013-08-03 17:43:57 +01:00
Grom PE 971dc1eb00 Add missing SideOnly in BaseMod
NetClientHandler exists only on client side and thus method using it should be annotated with SideOnly.
2013-08-01 14:19:30 +07:00
cpw 952218c845 Add in some reverse lookup methods for game registry data 2013-07-29 22:05:22 +02:00
cpw 7d31e4b25e Temporarily add a version of 'reobfuscate.py' that will resolve complex
reobfuscation graph issues with specialsource. Copy it over 'reobfuscate.py'
in the mcp runtime dir. Hopefully will have an MCP/specialsource fix in
the coming days.
2013-07-28 22:38:26 +02:00
cpw e71ee7721b Fix keybindings being derped 2013-07-28 20:52:12 +02:00
LexManos f872ac0a90 Use json 2.9.1 nightly for OSX in release json like vanilla does. 2013-07-17 12:21:26 -07:00
LexManos f4311e2fae Stupid spaces and windows escaping -.- 2013-07-16 14:34:43 -07:00
LexManos a9e2a2089f Add quotes for paths with spaces -.- 2013-07-16 13:35:14 -07:00
LexManos f40e4cf3a8 Use a temporary file for recompile's command line to combat command length to long issues. 2013-07-16 13:08:26 -07:00
LexManos 9de739723f Fix potential NPE in villager skin registry. 2013-07-16 10:32:29 -07:00
LexManos 136e2180f7 Fix server launching. 2013-07-15 10:57:44 -07:00
Christian 10c6e5e353 Fix logo handling. no more NPE if the logo can't be found. Also, fix location of mcp logo now. 2013-07-14 13:40:55 -04:00
Christian d0c2a8e62b Fix up jar sanity check code. FML validation of the jar works now and doesn't derp classloading. 2013-07-14 13:11:32 -04:00
Christian 8f2823709c The server.classpath generates the runtime manifest, so it needs the
non-debug asm jars.
2013-07-14 11:12:42 -04:00
LexManos bf6f038793 Update Forge signature for new private key 2013-07-12 03:05:20 -07:00
LexManos 5d89e17ae9 Update build and eclipse workspaces for debug asm. 2013-07-12 00:22:11 -07:00
Christian caeb0afecf Coremods now have a primitive dependency capability. Also, we search mods dir for special
"TweakClass" manifests. These are using the vanilla tweak mechanism to inject into
Minecraft. Helpful for other "platform" systems, when you don't want to have to deal
with json changes!
2013-07-11 23:23:33 -04:00
LexManos 3dd0b5d496 Kill release time scala libraries, to be re-evaluated after all movement is done and shit is fixed. May require manual instalation for mods that use scala. 2013-07-11 15:24:54 -07:00
LexManos 09cf5feee5 Kill mcp's truncate method, for more useful logs. 2013-07-10 15:23:21 -07:00
Christian e33a1a02bf Fix up logos in the mod screen. Clean up some unnecessary casts and suppressions, use the -debug asm
library at dev time, since it contains full symbols and code in compiled form.
2013-07-10 15:47:13 -04:00
Christian 32680bb84d Force a global asset scan prior to mod construction : you should be able to
reference assets anywhere in your mod now.
2013-07-10 00:42:40 -04:00
Christian 28727a51a6 Update FML for new stealth update for 1.6.2 2013-07-09 15:00:28 -04:00
cpw 11bf88fceb Merge pull request #254 from CaptainShadows/patch-1
@InstanceFactory was set to look for Fields instead of methods
2013-07-09 07:19:24 -07:00
Christian 1fe0dcec09 And don't forget to remove the test code 2013-07-09 08:31:40 -04:00
Christian fbfc11c9a9 Decode the file URL. Hopefully will make things work more.. 2013-07-09 08:30:47 -04:00
LexManos 95aa81bb3f Disable signature check of client for now, it's broken. 2013-07-09 05:04:11 -07:00
LexManos 50a8b1cc68 Temporarily disable GuiModList's Mod logos. 2013-07-09 03:27:49 -07:00
LexManos a0211c4fb7 Don't validate signatures on servers, they are not signed. 2013-07-09 03:27:29 -07:00
LexManos f45499612d Add MC Version to installed version name. 2013-07-09 03:27:01 -07:00