Commit Graph

303 Commits

Author SHA1 Message Date
Christian 6056c760d4 Log a big fat warning for the developer in the case the network version
is not acceptable to the mod itself. (This can happen because of a bad range
specifier for example)
2012-08-31 23:41:29 -04:00
Christian 74d6437856 Add in random jar/zip files to the classpath. UGH this is so fucking ugly it's not funny. 2012-08-30 20:10:53 -04:00
Christian 93f9cc45f9 Use a null socket and try to prefer the result of getLocalHost in the broadcast data. 2012-08-29 16:12:40 -04:00
Christian 8df9a051d6 Inverted boolean logic. Grrr. 2012-08-29 13:44:40 -04:00
Christian 81a8e94c79 ModLoader mob spawns use packet 24- build a bypass system so that
they can still use it
2012-08-29 12:58:16 -04:00
Christian 3415dbfd0d Remove debug statements 2012-08-28 23:07:37 -04:00
Christian 62a7d347e7 Fix so we always send received packets to handlers.
Renders 250 filtering useless unless i can figure a way to intercept *outbound* packets that isn't as messy as I'm
contemplating
2012-08-27 17:46:08 -04:00
Christian 870214000f Fix trying to load the client side packet handler, when on the server, hopefully? 2012-08-26 22:18:57 -04:00
Christian 5a6275f0e1 Fix up network negotiation - now it will disconnect with a nice
error screen if there are missing mods on the client vs server
2012-08-26 22:13:43 -04:00
Christian b32dea398b Fix missing addCommand call: thanks "spawnwolf test command" 2012-08-26 13:07:35 -04:00
Christian 4b371d8d5b Fix a couple of modloader mods. Thanks! 2012-08-26 12:52:50 -04:00
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
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 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 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 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 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
Chicken Bones 0806bc7b22 Added IPlayerTracker hooks 2012-08-23 06:28:53 +10: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
Christian 63e8249040 Mods can add mod specific crash information to the crash report now
Forge needs to implement MinecraftForge.getCrashCallable
2012-08-21 18:48:12 -04:00
Christian a17396eca5 Fix up dispenser handling, add in new params for the dispenser: breaks IDispenseHandler, sorry 2012-08-20 21:44:54 -04:00
Christian ab90aa4d99 Fix up MLProp handling for null info 2012-08-20 21:44:47 -04:00
Christian b8a30cec94 GUIs working in FML for ML mods 2012-08-20 21:44:28 -04:00
Christian bb98ae9e28 Support gui opening for Shelf mod 2012-08-20 21:43:59 -04:00
LexManos 85e3c330e7 Updated MCPMerger to annotate unique classes with there sides, and SideTransformer to null out any class that is loaded on the wrong side. 2012-08-19 22:26:52 -07:00