Commit graph

1594 commits

Author SHA1 Message Date
Christian
90ad27d985 FML now sets a security manager (FINALLY!). It's primary purpose at this point is to catch
rogue calls to System.exit so that they can cause a proper crash report, rather than
silently abandoning the game.
2014-06-15 16:37:42 -04:00
Christian
1c78a09cfd Also patch in warnings for Vec3Pool - similarly removed. 2014-06-13 08:51:07 -04:00
Christian
be7cf8c01e Checking in pre3 work 2014-06-12 21:13:26 -04:00
Arkan Emberwalker
23c6b9d245 Implement STDOUT/STDERR redirection.
These streams now redirect to log4j2, with form '[class:method:line]: Original message'.
2014-06-12 20:28:56 +01:00
Christian
fada1ad7bb Deprecate getAABBPool so people can stop using it in mods. Failure to do so will result in 1.7.10 upgrade incompatibility. Use getBoundingBox instead. 2014-06-08 21:30:47 -04:00
Christian
3084368af3 Tweak bad packet warning some. Makes it a bit more log friendly. 2014-06-08 14:35:16 -04:00
Christian
8e64a82423 Fix REPLY handling in SimpleNetworkWrapper. Closes #440 2014-06-05 14:31:44 -04:00
bspkrs
b861e95b17 Added config GUI system 2014-06-04 17:36:47 -04:00
Christian
c27f4b34f8 Merge branch 'master' into mc179 2014-06-03 13:04:49 -04:00
Christian
8883803260 Nullcheck the dispatchers on players. Should stop some crashes when spamming connectivity. 2014-06-02 22:12:13 -04:00
Christian
014acf6f1d Log the queue as well 2014-05-27 18:56:02 -04:00
Christian
72fbc45a19 If a packet is not handled by the channel, log it, and clear it.
Could be spammy, but this is a serious bug and could cause a memory leak
otherwise.
2014-05-27 17:59:53 -04:00
Christian
c56fc3b490 Fix the side for the compatibility check. Should result in green ticks finally! 2014-05-26 14:57:14 -04:00
Christian
d932a23751 Warn when the objectholder finds nothing in the registry. Helps debug mismatched names.
Also, actually make the scoping thing work with objectholder

Also handle Blocks.air as a special case. It should never be a valid block in the block registry.

Nothing can ever replace the default block registry block. It is disabled for replacement.

Air is properly skipped
2014-05-26 11:25:25 -04:00
Lex Manos
bcec606b12 lastIndexOf, Note Don't code while sick. 2014-05-24 21:48:55 -07:00
Lex Manos
cad049caa1 -.- Save File First. My Bad. 2014-05-24 21:11:08 -07:00
Lex Manos
e69fd72d42 Fixed deobfusication of nested inner classes. And removed legacy ModLoader remaps. 2014-05-24 20:44:25 -07:00
Christian
05cde0c92f Add in the objectholder, autopopulated by FML based on simple rules. Allows
for reference driven substitution of mod blocks and items based on their
server running state.
2014-05-24 22:32:24 -04:00
Christian
2c5fcc6129 Fix the null networkHandler in the MessageContext 2014-05-24 16:54:48 -04:00
diesieben07
7ede64fbf2 Make AccessTransformer change INVOKESPECIAL to INVOKEVIRTUAL when making methods visible 2014-05-22 14:25:23 +02:00
Christian
3885f9bf84 First draft 1.7.9 support.
This is not modding minecraft. It's performing an update. Go away!
2014-05-17 16:30:13 -04:00
Christian
ca674c2ae5 Swap Listenerlist constructor around. Should fix parent resizing issue? 2014-05-14 14:22:51 -04:00
Christian
e05d6340d7 Fix up possible CME 2014-05-13 15:11:50 -04:00
Christian
8a69b17bd6 Don't consider null NetworkDispatchers. This should fix a bunch of fakeplayer issues.
Nothing to see here. No modding being done.
2014-05-13 08:14:21 -04:00
Player
ee671c3eab Fix ObjectIntIdentityMap sporadically matching non-identical objects. 2014-05-12 16:29:37 +02:00
Christian
39340e46aa Finally hopefully fully kills the race condition causing a classcast
on slow machines.

This is me bugfixing. NOT MODDING! No! Stop it! I'm not!
2014-05-11 22:15:29 -04:00
Christian
a66e8462d8 Try and see if there is anything to the identityHashCode collision hypothesis. If you see this in your error messages, kindly let us know! 2014-05-10 14:53:08 -04:00
Christian
0a9099c8dd Add a helper for casting some common collection types into generic form 2014-05-10 13:36:24 -04:00
Lex Manos
123f5919ba Fix network disconnect with message on the client side in NetworkDispatcher. 2014-05-09 13:23:24 -07:00
Lex Manos
6b82a4fed8 Fixed default network mod checking to allow client side mods without the server side. Mods wishing to REQUIRE server side components must specify a custom check handler using @NetworkCheckHandler 2014-05-09 13:22:54 -07:00
Christian
3a77c79f8a Ensure that the loadcontroller is ready to preinit. 2014-05-08 10:40:52 -04:00
Christian
f866aeaacb Clean up some missing generic info
PS: NOPE: still not modding.
2014-05-08 10:36:01 -04:00
Christian
b286cb6a57 Split loadmods into loadmods and preinitmods, to allow resource loading to occur *always* between the two phases. This should fix
mods not being able to access resources during preinit.

PS: I'm still not modding.
2014-05-08 10:23:05 -04:00
Christian
0b795b8bab Re-add removed genericiterable to clean a warning 2014-05-08 09:58:03 -04:00
Christian
f628bde87b Revert "Fix refreshResources not happening if an error occurs."
This reverts commit fff86ee9d35874bdf77a1eaabe77615441644064.
2014-05-08 09:56:43 -04:00
LexManos
7229ba5c83 Merge pull request #419 from Thog92/master
updated wrapper to gradle 1.12
2014-05-07 15:41:05 -07:00
LexManos
51fc256111 Merge pull request #402 from AbrarSyed/patch-1
Added dependency examples to the shipped example mod's build.gradle.
2014-05-07 15:40:50 -07:00
AbrarSyed
437e479446 documented dependencies 2014-05-07 17:34:44 -05:00
Lex Manos
e33224054b Fine use FMLCommonHandler. 2014-05-07 14:36:00 -07:00
Lex Manos
3cb3988491 Fix potential rance condition in connecting to vanilla servers as well. And move latch into client side only. 2014-05-07 13:54:22 -07:00
Lex Manos
18aed8bf1b Attempt to fix another race condition related to reading NetClientHandler. 2014-05-07 13:31:16 -07:00
LexManos
e69004b50e Merge pull request #411 from matthewprenger/master
Update ExampleMod mcmod.info
2014-05-07 12:39:12 -07:00
Thog92
366fc5c76c updated wrapper to gradle 1.12 2014-05-06 22:03:44 +02:00
Lex Manos
5a2b6a604b Fixed memory leak on the client caused by Netty holding references to the World. Closes #415 #417 2014-05-05 22:14:13 -07:00
Christian
ad3b232604 Fix display of mod status at the server 2014-04-30 22:47:10 -04:00
Christian
af73743eb7 Fix mod version checking 2014-04-30 22:26:16 -04:00
Christian
0be4719fd5 Fix refreshResources not happening if an error occurs. 2014-04-30 21:55:55 -04:00
Christian
66ad8ea41a Clean some generic warnings up. Make a generic list handler. Helpful for others I think too. 2014-04-30 21:55:55 -04:00
Player
74c89da967 Fix saving backups with the raw name.
Fix air block not being assigned as the default.
2014-04-30 09:44:09 +02:00
Matthew Prenger
e8b3603ee8 Update mcmod.info 2014-04-28 22:27:52 -05:00
Player
2d3cd66680 Registry: Treat all 1.6 entries as items. 2014-04-26 21:56:25 +02:00
Player
dfa9f2d1a2 Registry: Misc tweaks 2014-04-26 21:56:25 +02:00
Player
7175165d15 Registry: Crash earlier with conflicting name/object registrations. 2014-04-26 21:56:25 +02:00
Player
9d00580d7e prevent the world from getting saved twice at shutdown 2014-04-26 21:56:25 +02:00
Player
624e68e18e Registry: Fix Block-before-ItemBlock allocation when loading 1.6 world saves, more validation 2014-04-26 21:56:25 +02:00
Player
09ff49fe58 Fix vanilla bug causing integrated server saving from 2 threads concurrently after a crash 2014-04-26 21:56:25 +02:00
Christian
c7d887f078 Fix SimpleNetworkWrapper - this is not me modding,
I didn't realize it was broken until Pahimar told me.

Put an example in the docs.
2014-04-26 09:33:09 -04:00
Christian
840c96a212 I'm still not modding. Player has contributed greatly to the 1.7 release of FML. He needs authorship credit. 2014-04-19 11:38:46 -04:00
Christian
a7c15e30aa I am not modding, I am fixing an annoyance. The MCP version has long since been 9.03. Also, the JSON from MC updated.. 2014-04-19 10:46:04 -04:00
Player
ea2972725a Registry: Add support for registering ItemBlocks before their Blocks 2014-04-07 17:30:38 +02:00
Player
07d5d5c7af Registry: Protect against putObject misuse, handle duplicate registrations better 2014-04-06 17:11:23 +02:00
Player
6ffbcc5903 Registry: Complain about missing mods when repairing broken worlds
Registry: Reduce console spam
2014-04-06 14:49:59 +02:00
Player
b5cc021754 Registry: Fix debug info 2014-04-05 01:54:07 +02:00
Player
7284104472 Registry: Repair mismatched ItemBlocks as well
Fix a few misc issues
2014-04-05 01:47:19 +02:00
Player
2e6b7e2eb5 Remove unneeded entity spawn debug logging. 2014-04-03 21:00:42 +02:00
Player
37a81d04d9 Enable custom gui rendering only as required 2014-04-03 17:58:53 +02:00
Player
407f6f79af Registry: Allow ignoring missing mods from the GUI, with confirm+backup
Registry: Add confirm+backup for automated corrupted id table fixup
Require the user to confirm loading from a backup level.dat
2014-04-01 21:56:53 +02:00
Player
3eaa002091 Registry: Complain about bogus registrations 2014-04-01 14:40:24 +02:00
Player
11ab034638 initial attempt at a better way to ask the user in case of startup issues 2014-04-01 14:30:47 +02:00
Player
e013f1514d Merge branch 'master' of https://github.com/MinecraftForge/FML
Conflicts:
	src/main/java/cpw/mods/fml/client/FMLClientHandler.java
	src/main/java/cpw/mods/fml/client/GuiModItemsMissing.java
	src/main/java/cpw/mods/fml/common/FMLContainer.java
	src/main/java/cpw/mods/fml/common/registry/FMLControlledNamespacedRegistry.java
	src/main/java/cpw/mods/fml/common/registry/GameData.java
2014-04-01 07:00:20 +02:00
Lex Manos
0586c2b1aa Update patches for Fixed FF in FG 1.2. 2014-03-31 16:02:54 -07:00
Player
56f31def7b Registry: allow handling missing blocks/items regardless of the mod id 2014-03-31 04:09:59 +02:00
Player
d392ddf3be Fix old 1.7 worlds with broken ID mappings 2014-03-30 17:17:54 +02:00
Player
939a095896 Registry: cleanup, fix missing id error GUI formatting 2014-03-27 08:30:55 +01:00
AbrarSyed
ed79732705 updated wrapper to gradle 1.11 2014-03-26 13:34:25 -05:00
AbrarSyed
4db8573645 updated example a little 2014-03-26 13:34:01 -05:00
Player
ac44af863b Registry: Implement support for remapping blocks/items to a new name. 2014-03-25 00:36:37 +01:00
Player
180c605570 Fix FMLMissingMappingsEvent.get 2014-03-24 21:47:25 +01:00
Player
e9ca678ab3 Registry: Block IDs after failing to find a mapping for them 2014-03-24 21:16:36 +01:00
Player
ff6083e77b Fix remaining issue with autoassigned Block and Item IDs overlapping. 2014-03-20 23:41:01 +01:00
AbrarSyed
ff6143dc85 updated for ForgeGradle 1.2 2014-03-19 02:15:53 -05:00
LexManos
0cd40e70b6 Update README.txt 2014-03-18 01:54:32 -05:00
Lex Manos
f632ea0c36 Fix network close events never getting called. Closes #381 #382 2014-03-15 18:16:27 -07:00
Lex Manos
244e39df0c Fix long standing deobf issue that caused announce-player-achievements property to have no effect on dedicated servers. 2014-03-11 01:57:44 -07:00
Lex Manos
9b615893d9 Fix hard link to DedicatedSerever when opening a LAN connection causing stalls on connecting. 2014-03-11 00:50:55 -07:00
Lex Manos
d3d244f4a2 Re-enable post initalize texture pack reloading to allow Icons to be registerd through any init phase. 2014-03-03 23:23:55 -08:00
Lex Manos
55199c25d8 Kill the modEventTypes list, register anything that extends FMLEvent, Fixes MissingMappingEvent handler, and any future events added. 2014-02-25 12:30:29 -08:00
Lex Manos
e7e85ad07b Reload game settings after mod loading is finished to capture mod keybindings. Closes #378 2014-02-22 20:59:25 -08:00
Christian
322e691d04 FML expands S3F to support payloads up to 2 megs in size. Should be transparent 2014-02-16 18:30:27 -05:00
cpw
9910256063 Merge pull request #373 from bloodmc/master
Prevent player data getting reset during disconnects.
2014-02-14 10:57:50 -07:00
cpw
bd8ffc99d4 Merge pull request #371 from bl4ckscor3/patch-1
Fix ExampleMod.java for build #1024+
2014-02-14 10:57:32 -07:00
bloodshot
f1db5dd5af Prevent player dat files getting reset during disconnects.
Since FML nulls out the player's playerNetServerHandler during login, we need to
make sure that writePlayerData does not attempt to overwrite the player's dat file
if the player disconnects during the "Logging In" process.
2014-02-13 02:44:18 -05:00
Christian
2bf052ad91 Some argumentation 2014-02-08 22:41:02 -05:00
Christian
64aa12b7e6 Fix failing to load a world with missing mod blocks and items. There will be a way to force worlds to load
when stuff is missing, but for right now, it will fail as this is "world safe".
2014-02-08 22:37:40 -05:00
Christian
2d1f9f2811 Try and handle removal of mods a bit better. Currently no way to allow a world which has missing
blocks to load - but i have the code in place to allow it i think.
2014-02-08 12:18:34 -05:00
bl4ckscor3
a5fb93271c Fix ExampleMod.java for build #1024+ 2014-02-08 12:34:01 +01:00
Dan Roque
982f5c7e1b Prevent players from logging in until server has finished starting.
This improves server security as it guarantees no players will be
allowed to connect until the server has fully initialized.
2014-02-05 20:49:10 -05:00
Lex Manos
dbf2c416c7 Fix isRemote, this is integral to so many parts of the code, everyone knows it by this name, People should not change it. 2014-02-04 23:40:50 -08:00
Lex Manos
284c1eb06b Update MCP mapping snapshot to latest crowdsourced names. 2014-02-04 22:56:27 -08:00
Christian
f8532711cb Clean up FMLEventChannel. Closes #367. 2014-02-04 20:01:44 -05:00
Lex Manos
45efe4edfd Fix obf error when right clicking a Empty Map. 2014-02-04 12:49:18 -08:00
Christian
5d811025a7 Tweak so that writing to the context will automatically send a message back to
the originator in handshakeestablished.
2014-02-02 12:11:57 -05:00
Christian
be8d33070e Ensure we check both item and block registries when finding valid IDs. Should fix #365 2014-02-01 11:05:33 +00:00
Lex Manos
498ab360e8 Bump gradle wrapper to 1.10 2014-01-29 21:04:55 -08:00
Christian
92f5351cf9 And make a loud message if there isn't a modcontainer found, substitute Minecraft. In general, this can only happen
for coremods not properly registering their code. Closes #363
2014-01-25 06:20:09 -05:00
Christian
e7ba3fd525 Try harder to find a mod container. 2014-01-25 06:17:14 -05:00
Christian
bd8e9657d8 Beginning of a saveinspectionhandler. 2014-01-20 22:27:03 -05:00
Christian
acda9b5dd7 Log4j2 doesn't need debug level logging for itself anymore 2014-01-20 22:01:20 -05:00
Christian
294c825cc1 And don't spam NONE everywhere 2014-01-20 22:00:24 -05:00
Christian
5898d2a1f8 Log4j2 logging context for things. This should help add context when things go wrong in mods. 2014-01-20 21:58:39 -05:00
Christian
60abcb6341 Name the log files properly. fml-junk is an early startup annoyance I can't kill because log4j2. 2014-01-20 21:31:20 -05:00
Christian
d92176fe8c Log the bad packet in a prettier way. Also, don't show the authlib debug data in the log file. 2014-01-20 17:29:17 -05:00
Christian
cb47b4ac46 And turn down some more logging, now we have useful logging back again.. 2014-01-20 16:09:34 -05:00
Christian
d22c79abd7 Fix derp with networkcheck 2014-01-20 16:06:50 -05:00
Christian
9fb9942498 Add in error logging for outbound messages. Fix bug with indexedcodec NPE 2014-01-20 16:02:26 -05:00
Christian
87a45d83fb Fix log4j2 config. Fix server gui to *show* logging. Fix log spamminess in the console. Fix bug in servergui that can cause deadlock. 2014-01-20 15:09:24 -05:00
Christian
7a3fd048d2 Fix reply handling. Make the proxy message available for subclasses of indexedcodec. Fire user events into the network
event firing.
2014-01-20 11:58:14 -05:00
Christian
62629d4140 Clean up and document outbound handler a bit better. Add in dispatcher target. Closes #361 2014-01-20 11:26:54 -05:00
Christian
e21e2d8168 Add in example assets dir. Closes #308 2014-01-20 08:15:55 -05:00
Christian
0189a7c97e Merge branch 'trait-optional' of github.com:RainWarrior/FML 2014-01-20 08:14:27 -05:00
Christian
887392cf1b And restore suppressions. ABRAR, DON'T TIDY CODE!!!! 2014-01-20 08:09:02 -05:00
Christian
932734170d Merge branch 'logging' of github.com:AbrarSyed/FML into abrar-borked 2014-01-20 08:06:45 -05:00
Christian
188488abc3 Make sidedproxy support non-public fields. Closes #344 2014-01-20 07:55:26 -05:00
Christian
ad15c01cd8 Try and stop the epic channel closed spam at close time. Closes #353 2014-01-20 07:53:09 -05:00
Christian
8121f3fcae findBlock should now return null, not the default block, if the thing being looked for is not found. Closes #352 2014-01-20 07:49:44 -05:00
Christian
48ff8b895a Allow connection when server is apparently offline. Might allow :NOFML circumvention though. Hmmm. Closes #359 2014-01-20 07:46:17 -05:00
Christian
9c9e04c2e1 Check the mod, not it's container, in the check handler. Closes #358 2014-01-20 07:42:35 -05:00
Christian
1ef1507299 Allow indexed messages to validate themselves. Also, catch exceptions from
an embedded channel, and cause them to close the connection. It's ugly, but
it means that the client doesn't crash if it connects to a screwy bungycord that's trying a 1.6 handshake for some reason.
2014-01-19 22:08:19 -05:00
Christian
755726bb7c Add a type adapter for artifact version. Should fix #354 2014-01-19 10:49:28 -05:00
cpw
608d401b75 Merge pull request #355 from jk-5/errorhandling
Throw an exception when discriminator is not found
2014-01-19 07:38:41 -08:00
jk-5
f080c5d2e8 Make NetworkEventFiringHandler sharable
Fixes #356
2014-01-19 12:27:31 +01:00
jk-5
1a548b5bb5 Throw an exception when discriminator is not found 2014-01-19 11:21:24 +01:00
Christian
44a093e74b SSP Worlds updating from 1.6 will now pop a warning message before loading, and will capture a timestamped
zip file in the minecraft dir before starting to load. Allows for people to test updates.
2014-01-18 22:25:35 -05:00
Abrar Syed
a0f021d985 put max number of FML log files to 3 2014-01-19 00:53:58 +00:00
Abrar Syed
41dcef50f7 changed fml log level to all 2014-01-19 00:49:47 +00:00
Lex Manos
189dc35060 Move placement of single player world load hook to fix NPEs. 2014-01-18 13:05:18 -08:00
Christian
3b367fcb8e Fix memory leak?! 2014-01-17 23:36:03 -05:00
Christian
d7ed255e17 Fix NPE at startup 2014-01-17 23:35:53 -05:00
Christian
b21975b8f0 Clean up some warnings about @Override 2014-01-17 23:19:22 -05:00
Christian
b4a6418d1c Make UniqueIdentifier final and add a hashCode. Closes #348
Clean up language registry. It can be used to access all translations of mods on client or server.
Auto loads from assets files.
2014-01-17 17:47:30 -05:00
Christian
f9bc1f0847 Put logging exception handlers on all channel inbounds. Fix problem with failure to login. Closes #350 2014-01-17 17:00:55 -05:00
Christian
135633b2ad Fire a custom packet channel registration/deregistration event, for any mods that care about that
kind of thing
2014-01-16 19:45:42 -05:00
Christian
b70742e72d Fix bug with SSP, and hook so we can do confirmation of world loading, as well as other things 2014-01-16 18:15:45 -05:00
Christian
971289194c Add in some tests and examples for the "simple" network stuff 2014-01-16 18:07:25 -05:00
Christian
42c04dab2e Clean up some warnings. Add in simple network impl 2014-01-16 18:06:36 -05:00
Christian
cb33a05824 Merge branch 'simplenet' 2014-01-16 14:59:13 -05:00
Christian
ef1ee38b55 Fix bukkit connectivity issue. 2014-01-16 14:58:28 -05:00
Christian
c3974f2e81 Some fixes and tweaks 2014-01-16 09:14:39 -05:00
Lex Manos
f125c0ddd3 Added basic Mojang account authentication support for development time login. 2014-01-14 16:49:03 -08:00
Jezzadabomb
14272e4932 At the request of AbrarSyed. 2014-01-14 15:39:24 +11:00