Commit graph

698 commits

Author SHA1 Message Date
Christian
85a585725b Some functionality fixes for @Instance injection. 2012-08-26 10:55:55 -04:00
Christian
fe73f11443 Versions now have two flavours: the @Mod(version) which is the "programmatic version" and
is used for all version relationship calculation. The "display version" as sourced from
mcmod.info is used for display purposes only and can be literally anything. Note: they fall back
to one another when they're missing, and to "1.0" if both are absent.

Also, changed @Instance. Now, you can inject *other* mods using @Instance as long as you depend
on them as a "before" or "dependency" relationship. Classes containing @Instance will only be
loaded if the Mod the @Instance refers is present. So you don't have to worry about runtime class
resolution.
2012-08-26 10:45:00 -04:00
Christian
a0302861cf Always for ML mods into "public" class accessibility - we don't call from the default package like ML does. 2012-08-25 21:57:25 -04:00
Christian
1da6a1fc6c Add in a convenience method for getting a class instance based on
existence of another Mod. Useful for soft dependencies.
2012-08-25 21:26:41 -04:00
Christian
b308be04e7 And more mod sorting fixes. 2012-08-24 12:10:43 -04:00
Christian
67fa435dd4 Actually *use* the sorted mod list 2012-08-24 11:58:18 -04:00
cpw
82551503bd Merge pull request #82 from Chicken-Bones/master
The access transformer will now handle classes in packages.
2012-08-23 16:47:13 -07:00
Chicken Bones
542219112a The access transformer will now handle classes in packages.
Eg.

public net/minecraft/client/Minecraft.T #timer
2012-08-24 08:09:10 +10:00
Christian
6657b6561b Reverse the meaning of state in fml.modStates system property and fmlModState.properties - it was very
derpy before. Now: true is enabled, false is disabled, as you would expect
2012-08-23 17:37:44 -04:00
Christian
02792c45e6 Actually fix the corrupt JSON problem 2012-08-23 17:27:53 -04:00
Christian
4f6861ee50 Fix isModLoaded for "disabled" mods, and the toposort as well 2012-08-23 17:08:18 -04:00
Christian
1870b7d793 A bit more information for dependency handling 2012-08-23 16:46:23 -04:00
Christian
c465b17afe Fix up handing corrupt mcmod.info 2012-08-23 16:43:28 -04:00
Christian
72097d5bf5 Fix a problem with network ids 2012-08-23 16:38:34 -04:00
Christian
87fa59b0f7 Fix up version handling properly. Hopefully, and the error screen. 2012-08-23 15:29:17 -04:00
Christian
675f4115aa Only active mods should have dependencies checked, and be sorted 2012-08-23 14:33:54 -04:00
Christian
e7c6a47951 Fix oddity with Screen, print a version out in the sorted list! 2012-08-23 14:28:49 -04:00
Christian
9974f7a6d5 Fix metadata 2012-08-23 14:05:17 -04:00
Christian
4b6b090712 Fix up versioned dependencies so they work a lot better, also add in a missing mods screen 2012-08-23 13:43:25 -04:00
Christian
e6dce6cdbc Fix missing serverSendPacket 2012-08-23 09:02:12 -04:00
Christian
e37b40dac9 Trading support for ModLoader - thanks Herblore! 2012-08-23 01:40:03 -04:00
Christian
4e8668c922 Close the jar, for cleanliness sake 2012-08-23 01:39:35 -04:00
Christian
12f66bdc86 Fix authors - it'll read both "authors" and "authorList" from the json now 2012-08-23 01:17:47 -04:00
Christian
346661cc6b More ML compatibility - fix up dragon mounts, thanks! 2012-08-23 00:37:45 -04:00
Christian
fe0d081eec Fix up loading mods that are grandchildren of BaseMod 2012-08-23 00:04:34 -04:00
Christian
0ae888e8f8 Fix entity handling for ModLoader mods, thanks parachute mod! 2012-08-22 23:46:16 -04:00
Christian
213cc63eca Merge ChickenBones pull into FML - adds player trackers 2012-08-22 18:00:55 -04:00
Christian
908a57f3c4 Fix formatting 2012-08-22 18:00:38 -04:00
Christian
8f6883da8e Tweak patches and hooks slightly 2012-08-22 17:58:46 -04:00
Christian
9bfa7acf0d More precise error handling when an invalid class is present 2012-08-22 17:50:07 -04:00
Christian
af104b81f2 Fix textures not applying properly 2012-08-22 17:50:07 -04:00
Christian
5233ae520d Fix up entity spawning - hopefully they won't warp anymore. 2012-08-22 17:50:07 -04:00
Christian
d544e56ec3 Add in a helper on the server start event for adding commands to
the server.
2012-08-22 17:50:07 -04:00
Christian
be7b413bec Move villager trading hook up a bit. thanks sengir. 2012-08-22 17:50:07 -04:00
Christian
550c206997 Fix LAN to try hard to find a real network interface, not just localhost
most of the time
2012-08-22 17:50:07 -04:00
Christian
5330afb78e Update build to not bother building client jar. Universal is everything
now.
2012-08-22 17:50:07 -04:00
Christian
ebc1aea5d2 Null protection for ticks() -- probably should uses EnumSet.noneOf() but
you can also use null now to stop ticking. closes #77
2012-08-22 17:50:07 -04:00
Christian
f0d5732477 More precise error handling when an invalid class is present 2012-08-22 17:36:26 -04:00
Christian
4d44836bb3 Fix textures not applying properly 2012-08-22 17:27:06 -04:00
Chicken Bones
fe263206e2 FML will now search '<mcpdir>/forge/accesstransformers' for user defined access transformer config files to be applied during forge setup 2012-08-23 06:31:00 +10:00
Chicken Bones
0806bc7b22 Added IPlayerTracker hooks 2012-08-23 06:28:53 +10:00
Christian
e713f7b1c2 Fix up entity spawning - hopefully they won't warp anymore. 2012-08-22 15:11:59 -04:00
Christian
252f3a5a92 Add in a helper on the server start event for adding commands to
the server.
2012-08-22 15:11:43 -04:00
Christian
1720382475 Move villager trading hook up a bit. thanks sengir. 2012-08-22 11:50:03 -04:00
Christian
7ff1e60af9 Fix LAN to try hard to find a real network interface, not just localhost
most of the time
2012-08-22 11:48:30 -04:00
Christian
09fe35d43c Update build to not bother building client jar. Universal is everything
now.
2012-08-22 11:12:26 -04:00
Christian
f9332bab3a Null protection for ticks() -- probably should uses EnumSet.noneOf() but
you can also use null now to stop ticking. closes #77
2012-08-22 09:43:32 -04:00
Christian
5d59af0cec Automatic mod entity registration into the global entity list. This might break
entity code out there, sorry, but this way for most entities you no longer
need to manage the global mod entity stuff at all. just remove it. FML will
take care of the rest (note, worlds won't load the old entities)
2012-08-21 19:34:33 -04:00
Christian
d27e722903 Add in a utility function that *might* tell you the context
you're running in on either client or server: FMLCommonHandler.getEffectiveSide
2012-08-21 19:15:07 -04:00
Christian
ba16217fe2 Try and stop sendPacketToAllAround from being crashy 2012-08-21 18:50:26 -04:00