Commit graph

504 commits

Author SHA1 Message Date
Christian
bbe4b9fbc2 More fixes 2012-12-16 21:22:55 -05:00
Christian
a26b495ef9 Move Side and SideOnly to relauncher package 2012-12-15 23:21:26 -05:00
Christian
d811fea82c More stuff for the thingy 2012-12-15 22:30:16 -05:00
Christian
16651d6994 Remove old NEI/CCC compatibility code and other classloading tweaks 2012-12-15 20:40:08 -05:00
Uristqwerty
47281f2de1 Simplify logic in tick start/end
Change the EnumSet equivalent of "A &= ~ new(~B)" to "A &= B".
This eliminates the need for one temporary object in a frequently called loop, and reduces the number of methods that need to be invoked.
2012-12-14 04:14:17 -05:00
Christian
1dcf3bfbdc Change ID management slightly. IDs are tracked by block type for itemblock items now. This means servers will need to update.
Also, ordinal rearrangements within a mod will no longer trigger server disconnection, though a warning will still be logged.
2012-12-12 19:31:05 -05:00
Christian
d13187d689 Fix possible escape leakage.. 2012-12-12 19:31:05 -05:00
Christian
55dc3467de Change to download bouncy castle as well. We also finally properly use the downloaded libs
even in vanilla code!
2012-12-11 22:37:07 -05:00
Christian
64226c3d7e Merge branch 'repackage'
Conflicts:
	build.xml
	client/cpw/mods/fml/client/FMLClientHandler.java
	client/cpw/mods/fml/client/GuiIdMismatchScreen.java
	common/cpw/mods/fml/common/FMLCommonHandler.java
	common/cpw/mods/fml/common/IFMLSidedHandler.java
	common/cpw/mods/fml/common/network/ModIdMapPacket.java
	common/cpw/mods/fml/common/network/ModListResponsePacket.java
	common/cpw/mods/fml/common/registry/GameData.java
	common/cpw/mods/fml/common/registry/GameRegistry.java
	common/cpw/mods/fml/common/registry/ItemData.java
	common/cpw/mods/fml/common/registry/LanguageRegistry.java
	common/cpw/mods/fml/server/FMLServerHandler.java
	install/fml.py
	patches/minecraft/net/minecraft/client/Minecraft.java.patch
	patches/minecraft/net/minecraft/server/MinecraftServer.java.patch
	patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch
2012-12-11 14:58:38 -05:00
pahimar
5ef0cbfc32 Update common/cpw/mods/fml/common/registry/LanguageRegistry.java
Add in logging of what file failed to be loaded
2012-12-11 11:27:05 -05:00
Christian
aee1a3f24d Fixing id map generation - should validate correctly now 2012-12-09 22:24:16 -05:00
Christian
3f383e2dc6 Fix up idmap code 2012-12-09 22:01:13 -05:00
LexManos
099b8259a6 Fished moving out the rest of the default packaged classes to aproperiate packages. Updated patches and code to reflect. 2012-12-08 21:41:16 -08:00
LexManos
1742abb139 Update fml_marker.cfg, Minecraft is now runnable! 2012-12-08 20:25:29 -08:00
LexManos
804e597aca Update all imports for repackaging. Branch is compileable. 2012-12-08 20:21:03 -08:00
Christian
f4070ff625 Add in storage, detection and validation of the ItemID array between client and server
and also for world saves. May help with item configuration issues.
2012-12-08 17:05:18 -08:00
Christian
bccad16ea6 Add in storage, detection and validation of the ItemID array between client and server
and also for world saves. May help with item configuration issues.
2012-12-07 01:52:16 -05:00
Christian
9cdbadb66c Merge branch 'master' into repackage
Conflicts:
	patches/minecraft/net/minecraft/client/EntityFX.java.patch
2012-12-03 17:31:29 -05:00
Christian
25a10d6fc4 Fix up MCP version 2012-11-20 08:47:14 -05:00
LexManos
586807c2c8 Update FML imports 2012-11-20 03:14:36 -08:00
LexManos
397d36e900 Modified merger to just consider all server classes as common. And moved the defnition of CodecMus to the config. 2012-11-19 17:45:53 -08:00
Christian
e8c5b0791f Fix an NPE in TileEntity trying to generate a crash report. Make suspicious classes just return the obvious.
Fix NPE for FML crash report on server. Clean up dead patches.
2012-11-16 22:50:00 -05:00
Christian
719f5f2bde Update FML for MC 1.4.5 2012-11-16 16:31:06 -05:00
Christian
8a40e72f90 Fix up derpy file name handling: closes #127
Fix up duping childmods: closes #126
FMLPreinitializationEvent now offers a getLogger() that'll return your mod a personalized logger instance
2012-11-12 17:54:21 -05:00
Christian
3dbe774ec1 Update to MC 1.4.4 2012-11-08 17:55:20 -05:00
Christian
27aa35aa17 Fix bug when a modloader mod is run on a dedicated server and has a
connection handler assigned to it. Hi SmartMoving! Perhaps you should try
@Mod instead of BaseMod?
2012-11-04 10:57:49 -05:00
Christian
8ec0cf6ab9 Update to 1.4.3 2012-11-01 23:53:13 -04:00
Christian
448b85ceeb FUUUUUU! Stupid ticking. STOP REGISTERING TICK HANDLERS IN YOUR CONSTRUCTORS.
I'm looking at you Rei's!
2012-11-01 10:51:17 -04:00
Christian
771c818cd4 Remove some debug, closes #123 2012-10-30 21:53:08 -04:00
Christian
17d1f1f157 Fix up tick management outside of mod loading phases for ModLoader mods. 2012-10-30 21:47:06 -04:00
Christian
5197e98fb1 Negatively cache failed class lookups, should help with @SideOnly performance issues. 2012-10-30 21:17:17 -04:00
Christian
01048c704b Vanilla/mod bug fixes: CME on entity processing, TileEntity resetting chunk on save/load. 2012-10-29 17:41:08 -04:00
Christian
dd011e16d2 Support for ModLoader 1.4.2. Good job Risu! 2012-10-28 23:55:58 -04:00
Christian
463514fbbe Add in an exclusion list tag for @Mod. The backend code isn't yet implemented, but shows the basic idea. 2012-10-27 15:13:28 -04:00
Christian
5115306e76 Fix a small problem with the new MCP container- it can cause NPEs. Nice. 2012-10-26 07:55:23 -04:00
Christian
1a31cd0886 Fix up some javadoc complaints 2012-10-25 16:18:42 -04:00
Christian
c2f4738c8c MCP deserves lots of credit. So here it is. 2012-10-25 09:02:49 -04:00
Christian
8a6680f9c7 Fix instantiation bug 2012-10-24 21:58:36 -04:00
Christian
a72f6b1eff Simple InterMod comms. Send a message using FMLInterModComms.sendMessage(). Receive messages through an @IMCCallback 2012-10-24 16:39:55 -04:00
Christian
f9db650310 Duplicate Mod display screen. 2012-10-24 09:41:46 -04:00
Christian
4d620ade3e Fix typo in access transformer 2012-10-23 21:21:28 -04:00
Christian
a3e71f4016 Fix up references to minecraftDir in obf code 2012-10-23 18:10:06 -04:00
Christian
6e8902da86 Update FML for Minecraft 1.4.1 2012-10-23 18:00:33 -04:00
LexManos
37697d7f44 First update to 1.4.1, patches need updating. 2012-10-23 14:44:04 -07:00
LexManos
54f5225530 Add some null checks, and throw descriptive exception when SideTransformer prevents a class from loading. 2012-10-23 13:32:02 -07:00
Christian
b88f2e6938 Fix RenderRegistry render ID - now at 36
Fix SpriteMaps - they're running out fast! Switch to forge if you can!
RenderBiped now has an armorlist- so armortypes add to it as well
2012-10-21 12:41:53 -04:00
Christian
8ce9b05d8b Fix for new names INetworkManager and ITexturePack. I also provide refactoring scripts for both, for your use... 2012-10-20 17:07:59 -04:00
Christian
7da5727e3e Fix CommonHandler for rename of the server thread class 2012-10-20 12:31:35 -04:00
Christian
70c342908f Fix exception for CodecMus 2012-10-20 12:12:43 -04:00
Christian
7ac53b4772 Fix some compilation issues. Requires resolving the worldclient abstract method 2012-10-20 11:30:01 -04:00
LexManos
528670d103 Updated the AT config and Marker config for 1.4 obf 2012-10-20 00:36:33 -07:00
Christian
ce138ec571 Typos! 2012-10-18 21:00:58 -04:00
Christian
5b4de7b2b5 Try and avoid an NPE in crash reports 2012-10-18 14:41:32 -04:00
Christian
3599c11599 Fix logging problems- log death messages and re-route the server through FML logs properly. 2012-10-17 18:05:23 -04:00
Christian
4c39831d2b Coremods can be specified via the command line: fml.coreMod.load=<listofcommaseparatedclasses> This will help with developing coremods 2012-10-16 13:21:10 -04:00
Christian
7327ea75f7 Add in the ability for a client to throw a custom exception that displays a custom gui instead of the default error message. 2012-10-16 12:39:04 -04:00
Christian
e770c87084 Don't use File to separate the last element of the path. It's a URL, they're always separated by '/' 2012-10-16 09:46:08 -04:00
keepcalm
924425074f Changed RelauchLibraryManager so that files with different paths on the
same baseURL can be implemented in one ILibrarySet.
2012-10-16 09:46:08 -04:00
Christian
c0795e9bee FML as a whole is now subject to transformers. 2012-10-16 09:20:30 -04:00
Christian
550e622bc7 Add in a savehandler strategy for reading and writing data to the
world save. This service is only available to coremods via the
WorldAccessContainer interface on the mod wrapper. This is deliberate
and will not change.
2012-10-02 21:54:47 -04:00
Christian
a554846e57 Add in some bukkit supporting code. Most of this is unimplemented
until the bukkit coremod is complete.
2012-10-02 20:26:47 -04:00
Christian
0ed0d284b5 New stuff on the ModLoader! Risu has been busy. Closes #114 2012-10-02 08:29:12 -04:00
Christian
9a8a38d345 Mods can now declare a range of minecraft versions they will run against 2012-10-02 01:29:46 -04:00
Christian
639039dd18 Fix language registry additions, closes #113 2012-09-28 22:12:23 -04:00
pahimar
df7d2b7161 Added ability to query the Language Registry by key and language for specific localized text, as well as loading in localization text from a specific file/URL 2012-09-26 15:41:58 -04:00
Christian
7dbda77f10 Extreme headless mode is back! 2012-09-25 22:46:47 -04:00
Christian
d21bc1085c It's useMetadata, not usesMetadata. thanks myrathi and psx. closes #110 2012-09-25 18:57:42 -04:00
Christian
b29aebf338 Try and fix the newline capture so consoles show on the server on windows again 2012-09-24 17:22:39 -04:00
Christian
f73d283341 Version file searching should work for directories too 2012-09-21 17:39:52 -04:00
Christian
cb2535fa95 Fix bug causing NPE if non-whitelisted player joins an FML server without FML installed 2012-09-21 10:12:39 -04:00
Christian
a837d82e68 Tidy code 2012-09-16 21:44:11 -04:00
Christian
9b081b9d46 Change version.properties search slightly, allow access to found file from the preinit event 2012-09-16 21:42:59 -04:00
Christian
83a57f5259 Add in the capability to read an internal version as <modid>.version from a file
in the zip call version.properties. Handy for autobuilding scripts.
2012-09-16 21:05:56 -04:00
Christian
e619e00079 Fix up reversed assignment for version fallback 2012-09-16 21:05:56 -04:00
LexManos
b404f294c5 Make the exception print for headless servers if the Downloader cant initalize. 2012-09-15 18:06:59 -07:00
LexManos
48d12444c0 Remove a bunch of warning about javadoc, not a real fix, but no more warning. 2012-09-15 18:04:56 -07:00
Christian
9cd4ed0c91 Village mating produces added villagers, and the egg should place
added villagers too. Closes #97.
2012-09-15 15:49:08 -04:00
Christian
09558e9e15 Clean up stale references to the Player stored in the NetworkRegistry,
closes #100
2012-09-15 15:36:26 -04:00
CovertJaguar
13756b6f2c More readable init logs 2012-09-14 00:47:48 -07:00
Christian
74343a0cff Add in exclusion list for IFMLLoadingPlugin. 2012-09-08 12:19:03 -04:00
Christian
3461c12d95 Remove debug cruft 2012-09-07 23:14:54 -04:00
Christian
ab34f2d2cf Attempt to build some protocol negotiation, and fix packet1login so that the dimension is a short, matching packet9respawn 2012-09-07 22:46:31 -04:00
Christian
c4d5c89f85 Compatibility level is now passed from server to client - and
the client tracks it. This means certain packet changes can be made
without breaking comms, hopefully
2012-09-07 19:32:36 -04:00
Christian
67b9fbe363 Fix dependency checking: you can depend on specific versions of FML 2012-09-07 19:08:28 -04:00
iChun
7a0ab7e563 Fix handleTinyPacket using short instead of int.
Silly cpw :P
2012-09-07 18:35:26 +08:00
Christian
e564610b54 Fix up tiny packet handler to actually work 2012-09-06 22:59:38 -04:00
Christian
94d076a14a Allow javax to be shipped by mods. Should allow some more modloader mods to work
unaltered
2012-09-06 22:03:02 -04:00
Christian
d2e99c3443 Add in a little bit of protocol cleanup. Start work on allowing multiple
protocol versions
2012-09-06 21:54:43 -04:00
Christian
45bbdd14d6 Give a way to build the packet131mapdata packet correctly populated 2012-09-06 10:12:37 -04:00
Christian
8b8d9a58f6 Capture and leverage Packet131MapData 2012-09-06 10:03:30 -04:00
Christian
50c74f93bd Make console logging pass through a single logging thread to avoid concurrency problems with launchers and stuff 2012-09-04 19:11:45 -04:00
Christian
6d9b9fde47 Overlooked chat message support *sigh*. Fixes wierd mods that communicate through custom
chat messages rather than anything else. Hi Superior enchanting!
2012-09-04 12:37:59 -04:00
Christian
7a58542fb8 Rescan mod packages where there was a possible mod identified to try and make sure we load it. Fixes Matmos r16 2012-09-04 11:39:51 -04:00
Christian
61153abf7b And handle the other way to globally register an entity 2012-09-03 21:37:20 -04:00
Christian
788d1c9925 Fix up mods trying to register entities outside of modloading. Now you'll get a big fat warning for doing such a derpy thing. 2012-09-03 21:32:21 -04:00
Christian
6de655df47 Fix CJB mod compatibilty for real. Gui container registration can now happen in the constructor. YUK! 2012-09-03 21:14:11 -04:00
Christian
2af15b3a95 Fix compatibility with ModLoader dispenser hook. Fixes a bug with
IDispenseHandler too - though it means that interface is now
deprecated
2012-09-03 11:37:17 -04:00
Christian
5bea2a0bbd Fix headless operation, hopefully 2012-09-02 13:29:46 -04:00
Christian
599476d587 Fix up trying to re-add stuff to the classpath when it's already there 2012-09-02 12:56:08 -04:00
Christian
d538dcf06f Fix out of range entity id handling for ModLoader mods a bit more. Thanks Herobrine mod! 2012-09-02 12:39:06 -04:00
Christian
6072420a02 Expose GuiMerchantButton 2012-09-02 12:15:13 -04:00
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