Commit graph

656 commits

Author SHA1 Message Date
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
cpw
952218c845 Add in some reverse lookup methods for game registry data 2013-07-29 22:05:22 +02: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
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
LexManos
bf6f038793 Update Forge signature for new private key 2013-07-12 03:05:20 -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
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
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
a0211c4fb7 Don't validate signatures on servers, they are not signed. 2013-07-09 03:27:29 -07:00
LexManos
66531ad420 Fix NPE in new debug line when patch targets don't exist. 2013-07-09 01:21:50 -07:00
Christian
67caa6692d Don't initialize the server. 2013-07-08 22:31:15 -04:00
Christian
2f299820fb FML now verifies that the minecraft jar is correct and intact. This is intended to discourage those who think that
modifying the minecraft jar is still acceptable.
2013-07-08 22:10:06 -04:00
Christian
9071d7d5e2 Test server-siding ResourceLocation 2013-07-08 19:31:00 -04:00
Christian
e0b7d1599c The game is going to exit in face of patch mismatch, unless you force it to run with fml.ignorePatchDiscrepancies in the system properties. 2013-07-08 14:34:03 -04:00
Christian
e64c07a109 We now generate an adler32 checksum for each patched file and verify at load time that they match.
Mismatch won't crash, but will emit a big warning..
2013-07-08 13:19:14 -04:00
Christian
94315253b1 Tweak debug data on patched classes 2013-07-08 12:28:32 -04:00
Captain Shadows
b788686126 @InstanceFactory was set to look for Fields instead of methods
"fix it" to now match the javadoc :P

if it was set like that so modders wouldn't use it, it might be better to just say so in the documentation
2013-07-08 00:07:54 -04:00
Christian
d164343522 Update for 1.6.2 and MCP 8.04 2013-07-07 15:49:11 -04:00
Christian
dcab319acf Add cascadedTweaks. This will allow simple coexistence for any other mod framework using
the tweaker system as well. Hi Voxel and LiteLoader!
2013-07-06 22:26:03 -04:00
cpw
53a607bad9 Merge pull request #247 from jk-5/patch-1
Pull request for #232
2013-07-06 18:54:54 -07:00
Christian
9c8b8bb794 Update mcp data. fixes #248 2013-07-06 21:25:36 -04:00
Christian
412a86ec71 Fix coremod injection into main system. Should stop double-dipping coremods. 2013-07-06 20:51:00 -04:00
Jeffrey Kog
3f257231a5 Update ModLoaderFuelHelper.java 2013-07-04 08:33:03 +02:00
Christian
30ec1e06c7 Update key 2013-07-03 08:28:59 -04:00
Christian
a2a8f1247f Add in support for mods/<mcversion> as a mod location. Also drop coremods as a location. They go in mods too now. 2013-07-02 23:03:01 -04:00
Christian
e45767d20a More javadoc cleanup 2013-07-02 19:39:02 -04:00
Christian
aaaffda3f0 Fix up some deprecation warnings, and clean up coremod code that's going
away.
2013-07-02 19:27:50 -04:00
Christian
f8f78c8a80 Fix transformer search 2013-07-02 18:40:23 -04:00
cpw
18c5bde7d0 Merge pull request #243 from jrtc27/modclassloader
Fixed ClassCastException when loading ModLoader mods
2013-07-02 15:32:35 -07:00
James Clarke
b2ef2bed36 Fixed ClassCastException when loading ModLoader mods 2013-07-02 20:48:00 +01:00
Christian
5d0d45ea40 Resource packs, part two. FML mods are now resource packs. Vanilla will scan anything under 'assets'
and turn it into a resource prefix. Use resourcelocations to look stuff up.
2013-07-02 11:11:50 -04:00
Christian
76a1489d4b Mods are now loaded as resource packs. Vanilla will scan for valid prefixes based on subdirs of 'assets' which
can then be referenced as ResourceLocations with the "<prefix>:path" notation.
2013-07-02 01:39:40 -04:00
Christian
f978e6b50e Fix EventHandler annotation. 2013-07-02 01:08:51 -04:00
Christian
3e8f4552dd Cleanup coremod code, server side working now. 2013-06-30 22:51:56 -04:00
Christian
de18b5ecc1 Functional client @ 1.6.1 2013-06-30 21:02:23 -04:00
Christian
569b791b93 1.6.1 2013-06-30 16:50:30 -04:00
Christian
572c9acc59 More fixes, binpatching works 2013-06-29 15:16:18 -04:00
Christian
5b5f05859c First draft of 1.6 update 2013-06-29 13:33:14 -04:00
Christian
70b1dcfbac New mappings for marker 2013-06-29 09:20:59 -04:00
LexManos
58ce9b33b3 Base GenDiff off deobf data's class list instead of the merged jar. Add option to delete target files that generate patches. 2013-06-29 01:40:01 -07:00
LexManos
90c643183e Re-wrote/orginized a lot of fml.py. Almost everything is re-written/moved.
This is done in preperation for MCP to roll out SpecialSource support and the new 1.6 structure.
Also done for my sanity while reading through the code.

Intruduced a new function. If there is a 'mcp_data' folder in the FML folder, it will be copied to the MCP work directory after MCP is extracted.
It DOES overwrite anything that already exists.
This is intended for places like BuildServer to place libraries/assets to prevent them from needing to be downloaded every version.

Introduced a dev-env json. Need to write the eclipse workspace references to the new libraries.
Out custom json includes asm and legacylauncher.

Added proper OptionParsing to decompile.py
2013-06-27 20:48:52 -07:00
Christian
611c3b9591 Add a simple property annotation system for mods. 2013-06-27 08:40:31 -04:00
Christian
b2e9557b87 Changed to the EventHandler annotation universally, documentation and stuff. 2013-06-26 14:52:56 -04:00
Christian
3c0048b6d6 Fixes, so it builds again.. 2013-06-24 16:30:18 -04:00
LexManos
3e346cb8b2 Add filter support for MCPMerger, and filter out libraries from the server's 'fat jar'. 2013-06-23 23:06:25 -07:00
Christian
39858c6ead No more debug please 2013-06-15 01:11:29 -04:00
Christian
30d836fa36 More fixups for new launcher model 2013-06-14 20:45:52 -04:00
Christian
07a5efe612 Merge in binpatch and use launcher 2013-06-14 17:21:49 -04:00
Christian
21240df8bc More tweaks 2013-06-14 09:32:51 -04:00
Christian
a923a2c142 Server side tested and working. Setup is complex atm. That will change. 2013-06-13 09:57:55 -04:00
Christian
4802d04bfd First cut of runtime binary patching. Needs some work to actually test it in a real scenario.. 2013-06-12 08:53:10 -04:00
Christian
83ed6fa32c Small tweaks to the mcp data. Nothing major.. 2013-06-11 14:47:23 -04:00
Christian
c170b98a8c Attempt to properly fix deadlock if the internal server derps. It should never hang now. Damn you fast computer.. 2013-06-11 14:41:19 -04:00
Christian
146e773264 Fix sysout with trailing messages after a newline 2013-06-06 11:52:15 -04:00
Christian
1261c7a3e0 Add in an optional modid identifier for @SidedProxy. It's main use is when both scala and java @Mods reside in the
same package, and you want the @SidedProxy behaviour for a specific @Mod language type. In general it should not be needed otherwise.
2013-06-06 10:05:34 -04:00
Christian
fea7a25a86 Don't continue trying to send events to mods that depend on errored mods. 2013-06-04 13:59:04 -04:00
Christian
8602848f2c Don't throw an exception if the scala adapter find a java proxy. I may add some distinguishers to @SidedProxy so you know which mod it's for. 2013-06-04 12:51:46 -04:00
Christian
2a064ffdc7 Send the "suspect list", and print the suspect versions 2013-05-27 11:03:23 -04:00
Christian
6ca37a60b7 Throw the sorting exception 2013-05-27 10:46:22 -04:00
Christian
e3cd509b9a More tweaks to the mod sorting code 2013-05-27 10:09:51 -04:00
Christian
ece6290c19 Try and clean up cycle detection output a bit 2013-05-27 09:25:50 -04:00
Christian
aa18bed75e Fix server side derp with Forge network packet handler 2013-05-21 11:01:50 -04:00
Christian
c8cc7b27d1 Separate network mod config from setup. Allows for Forge Packet Handler nicety 2013-05-20 21:40:42 -04:00
Florian Nücke
15e6ddcb14 Merge declaration and initialization of a variable. 2013-05-08 20:16:15 +02:00
Florian Nücke
a14c627cd7 Some more Scala @SidedProxy adjustments. Now properly supporting pure singletons, i.e.
object C {
  @SidedProxy(...)
  var proxy: P = null
}
Removed fallback, as all such singletons are properly handled by the new code now, and class implementations fall back to the code also used for plain Java mods.
2013-05-08 19:04:35 +02:00
Florian Nücke
283dfb6e7d Alternative @SidedProxy setter for Scala. 2013-05-08 05:36:28 +02:00
CovertJaguar
ce99b80932 Improved Entity Spawn Error 2013-04-29 20:41:20 -07:00
Christian
3baad0a897 Update for minecraft 1.5.2 2013-04-27 01:24:06 -04:00
Christian
4d442ac219 Fix possible NPEs in GameData 2013-04-22 21:14:34 -04:00
cpw
d15889075c Merge pull request #225 from MarcinSc/master
Suggested fix for issue 221
2013-04-21 11:32:51 -07:00
Marcin Sciesinski
bdee7e3c5b Fixing the GameRegistry. Now it is possible to register a Block with a BlockItem using following code:
MyBlock myBlock = new MyBlock();
GameRegistry.registerBlock(myBlock, MyBlockItem.class, "myBlock");
where MyBlockItem class has one constructor with signature:
public MyBlockItem(int id, Block block)
2013-04-21 19:01:18 +01:00
Christian
0512525c58 Add a to string to fmlmodcontainer: should mean less derpy cyclic dependency data 2013-04-21 13:58:18 -04:00
Glought
074d7c2ec7 Update FMLDeobfuscatingRemapper.java
Fixes a "Type mismath:cannot convert from element type Object to FieldNode" error at line 176.
2013-04-21 05:09:19 -07:00
Christian
3446f1ce26 Fix scala supporting SidedProxy. It should work now. 2013-04-20 23:31:22 -04:00
Christian
e204d580a8 Fix possible NPE in findItemStack, closes #218 2013-04-17 07:55:33 -04:00
Christian
3d142df102 Use more expressive language when a version specifier is a simple unbounded above condition 2013-04-16 13:46:55 -04:00
Christian
0888a95f2d Fix to output versions in crash logs 2013-04-16 13:46:55 -04:00
cpw
470070e2ce Merge pull request #216 from agaricusb/add-srgname
Add srgname to registerTileEntityWithAlternatives
2013-04-15 15:50:47 -07:00
Christian
1a9cb9e3c9 Add in some caching of the read field descriptions for efficiency 2013-04-15 17:30:35 -04:00
Agaricus
03bc9cf00a Add type info to properly deobfuscate overloaded fields. Fixes #210. 2013-04-14 16:54:11 -07:00
Agaricus
76275cafc4 Add srgname to registerTileEntityWithAlternatives 2013-04-14 14:11:37 -07:00
LexManos
5cd066767a Sanitize input to isRemappedClass to use '/' as a package seperator like the srg files. 2013-04-04 23:30:10 -07:00
LexManos
2c0133af1d Added the ability to save transformed classes to disc for debugging. 2013-04-04 10:32:48 -07:00
Christian
cc2bf9d8ac Fix NPE when branding isn't present 2013-03-31 10:01:46 -04:00
Christian
41cd50d4c0 Change snooper/crash report brand handling. fmlbranding now loads another string! 2013-03-30 12:12:54 -04:00
Christian
1bfb87a701 Fix up derp in access transformer 2013-03-27 19:23:10 -04:00
Christian
27fe51a39c Attempt to make any "default package" class public. This might fix problems with certain modloader mods that ship changes to vanilla classes. 2013-03-27 16:54:26 -04:00
Christian
a408fec0b8 Add some information, and a log message letting you know it worked 2013-03-23 16:01:20 -04:00
Christian
f41210d982 Add a mechanism to dump the registry- useful for mod developers. 2013-03-23 15:39:34 -04:00
Christian
49ebcae9a1 Validate supplied stack size 2013-03-23 15:10:13 -04:00
Christian
4550b5795a Clone the itemstack, and allow for passing in a stacksize 2013-03-23 14:58:25 -04:00
Christian
db46ea94bc Itemstacks in the GameRegistry (manual registration by mods) 2013-03-23 14:48:57 -04:00