Commit graph

671 commits

Author SHA1 Message Date
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
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
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
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
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
Christian
45175c0e94 Expose more of the village construction parts for building village
pieces
2012-08-19 11:23:29 -04:00
Christian
52d3f237af Allow access to the type "ComponentVillage" 2012-08-19 10:35:06 -04:00
Christian
09c7ea2d9d Documentation and registration for villager stuff 2012-08-19 10:30:24 -04:00
Christian
3a0ad876b5 Fix javadoc derp 2012-08-19 10:21:19 -04:00
Christian
8a521c1d32 Villager trading, manipulation and village enhancement. Still WIP but should be functional 2012-08-19 10:13:15 -04:00
Christian
b07f1069b9 Fix exception based logging to actually log the exception! 2012-08-19 09:31:26 -04:00
Christian
3e94ee2c36 Fix up keyboard events for modloader 2012-08-19 01:44:33 -04:00
Christian
a1385f4797 Pickup notification 2012-08-19 00:26:55 -04:00
Christian
ce276375b2 Update fml_at with new transforms 2012-08-18 20:08:27 -04:00
Christian
9a540ef6d4 Fix derp where client sided packet handler would be created on a dedi server env 2012-08-18 19:50:46 -04:00
Christian
f86a29468e Add in support for "dummy" keybindings- ones that are added to the list but never do anything
so the mod can handle it all themselves.
2012-08-18 10:24:29 -04:00
Christian
b65a38cb30 Don't complain about minecraft source code being in "net.minecraft.src". Derp. 2012-08-18 10:09:53 -04:00
Christian
298d6db6e2 Fix ModLoader add XP Smelting 2012-08-18 10:09:25 -04:00
Christian
3d87561505 Actually register client/server packetspecs as their correct sides! fixes #71 2012-08-18 09:28:36 -04:00
Christian
1cbe058250 Error if channel name is invalid - either too short, or too long 2012-08-17 16:59:48 -04:00
Christian
8a679f6d9e Add a connect and read timeout for downloading libraries. This should really stop the "waiting forever" at startup screen. 2012-08-17 16:21:18 -04:00
Christian
0e473145b3 GIANT FAT WARNINGS if you use any code in net.minecraft.src or any subpackage thereof. Get it out of there, now! 2012-08-17 16:13:05 -04:00
Christian
73bf3a8985 Fix up ML GUI ticking. Thanks sharose! 2012-08-17 16:09:46 -04:00
Christian
5ea0932e24 Organize ALL the imports 2012-08-17 09:25:04 -04:00
Christian
290f2d6781 Expose the server in serverstart event 2012-08-17 09:25:04 -04:00
Christian
94f834d5d7 Fix up directory injection of log file locations 2012-08-17 09:25:04 -04:00
Christian
30d6970e77 Refer to FMLLog, not FMLRelaunchLog 2012-08-17 09:25:04 -04:00
Christian
8408f58fb1 Tidy up server launch - reflection not required anymore 2012-08-17 09:25:04 -04:00
Christian
0fab4eca7b Also, log what the directory discoverer finds for mcmod.info 2012-08-17 09:25:04 -04:00
Christian
549969ade6 And log the exception if it has a problem reading the jar file 2012-08-17 09:25:04 -04:00
Christian
26bb005731 Fix jar loader failing to inject any metadata at all if mcmod.info is not found. 2012-08-17 09:25:04 -04:00
LexManos
8444fa6d3c Change install.cmd to install.bat, why, cuz people are .... Updated readme to mention needing server and client. 2012-08-16 22:57:11 -07:00
Christian
11c1cae8b0 Some compatibility fixes for Rei's minimap, and tidy up a couple of things 2012-08-16 13:55:42 -04:00
Christian
4d87779d39 Fix Forge branding string call 2012-08-16 13:01:48 -04:00
Christian
1cc6778038 Update FML for mcp 72 final, change download location for FML files, and make the stop button work.
Hello is NOT going to go away :)
2012-08-16 12:22:56 -04:00
Christian
a7a1f55091 Fix critical bug in FML load controller that complains about injected mod containers 2012-08-16 08:34:12 -04:00
Christian
e1fd0b1d7b Handle the case where a mod tries to do something stateful during constructor phase, and log a big
fat message about it. Don't do it!
2012-08-15 20:05:12 -04:00
Christian
81512c3458 Small fixes, including showing the FULL name of Forge Mod Loader 2012-08-15 19:54:56 -04:00
Christian
fcf6fd57ee Fix up null array in keybinding handler 2012-08-15 19:17:21 -04:00
Christian
7988323073 Actually add in the system property for the minecraft home, should fix multimc too 2012-08-15 19:16:36 -04:00
Christian
ba902537ca Add in support for setting the home dir via the applet launch, also a system property for forcing the home dir 2012-08-15 17:18:11 -04:00
LexManos
96b78514a8 Cleanup fml.py a little, should fix double printing of 'patching file' 2012-08-15 03:10:45 -07:00
LexManos
e0cb8cd503 Wrap mod description rendering in BLEND calls https://github.com/MinecraftForge/MinecraftForge/issues/96 2012-08-15 02:52:29 -07:00
LexManos
022b3e57dc Made getmodifiedsrc noop for server. 2012-08-15 00:50:40 -07:00
LexManos
9ad520cb2a Fix new eclipse workspace to load the project properly from start. 2012-08-15 00:50:16 -07:00
Christian
071caee228 KeyBinding handler change: a handler now takes an array of keys and calls back with the
activated key. Sorry for the inconvenience but this improves the usability of this
API a lot
2012-08-14 22:32:19 -04:00
Christian
352df9cc30 Fix renderer's not getting the rendermanager set on them at registration time 2012-08-14 22:32:19 -04:00
LexManos
eef3303dfe Finished update to MCP 7.2, MC 1.3.2 pre. 2012-08-14 19:24:49 -07:00
LexManos
646a0b4fc4 Fixup included workspace to have single project with client/server launches. 2012-08-14 17:42:40 -07:00
Christian
3d0bd2bc7a Start working on MC 1.3.2 2012-08-14 20:09:24 -04:00
Christian
b69364e168 Add in a helper for code migrating from ML renderer stuff 2012-08-14 19:09:22 -04:00
calclavia
4c5dcb543f Shortcut function for addNameForObject()
Having that long line of code makes the code a bit ugly... Please make this shortcut function like ModLoader.addName() so I don't need to use ModLoader.addName(). :)
2012-08-15 04:45:32 +08:00
Christian
a234fdf00b Handle mod duplicate detection much better. Default the name of a mod to it's id.
Fix up the block registry problem. Fix the packetsend from c->s actually being
"disconnect" :)
2012-08-14 13:36:29 -04:00
Christian
5f4423119a Fix entity spawn packets 2012-08-14 08:20:28 -04:00
LexManos
d7dcbe7007 Force a Jenkins build 2012-08-14 01:21:56 -07:00
remuladgryta
438c8eca35 fixed java.lang.NoSuchMethodException
getServerHandlerSpecDefaultValue() and
getClientHandlerSpecDefaultValue() should no longer give derp exeption
2012-08-14 09:50:22 +03:00
LexManos
f1a8b2ea72 FML will skip gathering MD5s for classes in the cpw package during the the inital recompile {Make Side/SideOnly reobf properly} 2012-08-13 21:53:52 -07:00
LexManos
908227ce0c Merge remote-tracking branch 'origin/master' 2012-08-13 21:05:14 -07:00
LexManos
bbcdaa7dfb Updated FML install to provide better error output, Updated commands.py patch to disable recompile of server project. 2012-08-13 21:02:55 -07:00
Christian
6f10295936 Hopefully let build continue if server reobf fails, and fix derp in FMLNetworkHandler for entities 2012-08-13 23:25:08 -04:00
Christian
a8f69529fd Fix up concurrent modification exception - ticks for players now occur on both sides 2012-08-13 22:55:23 -04:00
Christian
7de5191848 Merge the last bits of the server code into the common directory, and annotate ModLoader/BaseMod for sided use
This means the FML-Server project is now defunct as all code is either common, client or bukkit.
2012-08-13 22:51:53 -04:00
Christian
416cac675b Actually fix the applet launch - it now launches properly *and* closes the window 2012-08-13 22:12:36 -04:00
Christian
17bf8dc363 Fix up relaunch of the applet 2012-08-13 21:44:43 -04:00
Christian
466022b402 Change language loading a bit 2012-08-13 20:28:53 -04:00
Christian
df9ec4bf3f Update spritehelper bitmaps for items and terrain 2012-08-13 20:08:03 -04:00
Christian
fa38c1a6b3 Tidy up some APIs, expose the addOverride mechanism. This should be pluggable by forge
but may need work to allow for each mod to have it's own override set
2012-08-13 19:57:40 -04:00
Christian
6a273dd98f Fix derp in LanguageRegistry 2012-08-13 16:45:47 -04:00
Christian
f41391b13c FMLModcontainer should not complain about annotations it has no idea about. so stfu fmlmodcontainer 2012-08-13 16:15:11 -04:00
Christian
179ed74456 Fix derp with EntityRegistry- bimap is not the right type for the name->container list 2012-08-13 15:55:24 -04:00
Christian
deab31fb03 Add in a sided variant of the packethandlers in the annotation - also, a bit more
explicit warning on when to register blocks - if you do it after pre-init, you'll
reset the achievements
2012-08-13 15:26:29 -04:00
Christian
c393299a91 Generate channel registration for client, also, do it before the login events so you can send packets 2012-08-13 11:58:44 -04:00
Christian
80b3f0fd97 Capture server packet handling errors into the FML log file for diagnostics 2012-08-13 11:52:30 -04:00
Christian
519d2365ca one more change for the road :) 2012-08-13 01:24:02 -04:00
Christian
71642f02f8 Don't spit debug all over the floor 2012-08-13 00:24:15 -04:00
Christian
0c3535ff26 updated conf, commands patch (missing newline?) and capturing the actual running
MC version and validating it at relaunch time is the correct MC version.
2012-08-13 00:17:34 -04:00
Christian
6f4dbd5376 Add in callableminecraftversion 2012-08-12 23:54:41 -04:00
Christian
9b74df5e62 Entity AI accessibility, also AccessTransformer can make certain classes public now 2012-08-12 23:50:27 -04:00
Christian
8d8f36bac0 Add in a simple packet dispatcher for sending packets around 2012-08-12 22:45:18 -04:00
Christian
8a0cfed5c6 Add in a sided packet registry so that client vs server can vary 2012-08-12 22:23:03 -04:00
Christian
e229b6f6eb Fix double forge init on server 2012-08-12 20:34:23 -04:00
Krapht
c1dccae4b8 Fixed getNextAvailableRenderId() returning ids in use by vanilla 2012-08-12 14:45:03 +02:00
LexManos
f73e4b6169 Fix MCPMerger injecting Side/SideOnly when it already exists. 2012-08-12 04:27:36 -07:00
LexManos
9777204547 Added patch verification to commands.py patch, and made it so MCP will check the original jars for the server, to prevent it from saying modified when it started out clean. 2012-08-12 02:49:39 -07:00
LexManos
0b343c1a49 Add DEBUG constant to Access/Side Transformers to remove spam when not needed. Also AccessTransformer and MCPMerger should return a error code when it can not process causing MCP to stop decompile. 2012-08-12 01:23:10 -07:00
Christian
4f7996e361 Fix EntityRegistry - mods can specify update frequency, range and velocity data, and also
patch EntityTracker to actually track FML entities
2012-08-12 00:18:04 -04:00
Christian
20029feb88 Fix NPE with no channels - always register FML 2012-08-12 00:17:07 -04:00
LexManos
c4149f7b55 Added missing quotes around compile command. 2012-08-11 16:03:33 -07:00
Christian
f20ef77a91 Fix up the network mod issue properly. Maintain a real cache of mod objects 2012-08-11 16:21:03 -04:00
Christian
6d79241652 Remove profiler stuff - it's been deeply reorged. I'll look at re-adding it later 2012-08-11 14:12:39 -04:00
Christian
4f9cc6b398 Fix up command patch to actually work 2012-08-11 14:12:23 -04:00
Christian
5a0d08b892 Fix commands.py to always include the two side classes so the fml jars are valid. 2012-08-11 14:01:27 -04:00
Christian
85f665dd1d Fix build script- put client in first 2012-08-11 13:05:37 -04:00
Christian
2d31dbba15 Put the marker on the server ML file too 2012-08-11 13:04:59 -04:00
Christian
938cecbdf7 Fix universal not to dupe entries in the jar, also add in the fml mod as "untransformable" 2012-08-11 12:34:25 -04:00
Christian
57de5c1b90 Fix up launch when obfuscated *sigh* 2012-08-11 12:24:43 -04:00
Christian
35fda10b50 Update netclienthandler patch. 2012-08-11 12:10:22 -04:00
Christian
d663884aa5 Fix NPE for server relaunch 2012-08-11 12:05:13 -04:00
Christian
ff18294591 Fix up Package.getPackage(), also fix up loadcontroller construction 2012-08-11 11:44:55 -04:00
Christian
3918c5e810 Add in Package.getPackage() support for sengir 2012-08-11 11:12:16 -04:00
Christian
92b7ed1182 Lost of work to try and complete ML support - probably still bits missing, but mostly there 2012-08-11 11:02:09 -04:00
LexManos
185f8ddbc7 Newlines in diff file 2012-08-11 02:27:19 -07:00
LexManos
953f99787e Add special case to add Side/SideOnly to difflist 2012-08-11 02:25:40 -07:00
Christian
7e35f13f30 Fix up some network related stuff and optimize mod lookup a bit 2012-08-11 02:43:04 -04:00
Christian
2e66429b03 Fix up proxy injector to inject properly 2012-08-11 02:24:29 -04:00
LexManos
1e4d788cd0 Fix decompile 2012-08-10 20:41:59 -07:00
Christian
7440cc89e9 Fix NPE on missing mods - still need to actually handle missing mods properly on client 2012-08-10 23:27:11 -04:00
Christian
fde0619e9b New downloader UI and new downloader backend - should be more robust now 2012-08-10 23:18:52 -04:00
LexManos
a1c14779d2 Added -no_gen_conf to jenkins build 2012-08-10 20:09:47 -07:00
LexManos
5a1f84ed5b Added some extra error prints, hopeully get something useful when installed in the client. 2012-08-10 18:54:06 -07:00
LexManos
49385961d9 Updated conf merger script to just merge everything, and normalize the line endings so git doesn't complain. 2012-08-10 18:25:11 -07:00
Christian
dd319a2938 SidedProxy should work again - anywhere. Make sure it's on a static field though 2012-08-10 17:42:43 -04:00