Major things to note:
Class renames: https://gist.github.com/LexManos/44dd211f90f498ad4015279b103dff86
Tile Entities are now packed in the ChunkData packet.
Forge intends to work around this to better support large moded worlds, but for the time being modders should implement the new function carefully and only send what data they need to!
Minecraft's codebase now has annotations, these are directly from Mojang and should be adheared to!
Added support for package-info.java's containing @Nullable information for all MC code base.
Add the actual patches that I forgot.
Add simple implementations of IStorage and the factory methods.
Add ItemStackHandler. A simple IItemHandler implementaton.
return nulls, not throw nulls.
Move the vanilla wrappers to a separate class for now.
Minor clean ups of VanillaWrapper code.
Inline static methods.
Add comments.
Minor cleanup of code.
Remove redundant size field and add a validate slot index method.
Minor formatting issues.
Break early If stacksize to insert is 0.
Remove setByte() methods.
Throw exception if IItemHandler can't be modifyed in NBT loading.
Replace event handler with patches
Add capability to mine cart inventory entities.
Change formatting and registration of capability.
Make InventoryPlayer implements IItemHandler because why not. Also added a field to allow mods that add additional player inventory space to publicly expose them.
Reduce patch sizes
Lazy initialization of the item handler for vanilla tiles.
Minor formatting changes.
Create a single vanilla chest item handler that will merge with adjacent chests when detected. Added hooks to reset the cached adjacent value when a block update is detected and when a chunk loads.
Revert "Make InventoryPlayer implements IItemHandler because why not. Also added a field to allow mods that add additional player inventory space to publicly expose them."
This reverts commit 306d4a37fd0e8c8a0754411c013b750dfe8e2c87.
Fix furnace derp
Replace double chest code with a simpler method.
Vanilla wrappers implement IItemHandlerModifiable (since they are modifiable)
Minor code cleanups
Add an onContentsChanged() and onLoad() callback methods.to the default implementation.
Add slot as a parameter in the callback method.
Change IItemHandlerModifiable.setStackInSlot() to void, and added a note about not being intended for cross-mod use.
Improve ItemStackHandler handling of errored NBT.
Make the stacks array protected.
Fix a lot of derps in SlotItemHandler.
Fix derp in ItemStackHandler
Clarify comments on IItemHandler
ItemStackHandler no longer caches the stack array in local variable.
Clean up the Chests code to make intentions clearer
Vanilla hoppers have their cooldown activated when an item is inserted. Made this behavior part of an item handler (rather than the insertion code)
Fix mistake in ItemStackHandler
More documentation of potential edge cases in getStackInSlot()
Make limit checking more resiliant.
NethanlderPlayClient patch is now in vanilla. The FMLCommonHandler future exception catcher is not needed anymore, it's in Util. The caching of player profiles is now in vanilla (SkinManager).
Some notes:
Almost all int x, int y, int z parameters have been changed to BlockPos class
ForgeDirection has been removed, replaced by net.minecraft.util.EnumFacing.
All FML classes have moved from packet cpw.mods.fml to net.minecraftforge.fml
Fluid Rendering has been disabled for the time being, to be re-evaulated and a test mod created for it.
Minecraft now uses a Model based system for rendering blocks and Items. The intention is to expand the model format to better suit modder's needed once it is evaulated.
As such, The model loaders from Forge have been removed, to be replaced by expanding vanilla's model format.
Metadata has been extracted out in Minecraft to IBlockState, which holds a list of properties instead of magic number metadata. DO NOT listen to the fearmongering, you can do EVERYTHING with block states you could previously with metadata.
Stencil Bits are disabled entirely by for the main Display, Modders must enable and recreate the FrameBuffer if they wish to use Stencil Bits.
Update FML: d075daf
d075daf Merge branch 'master' into snapshot15 Fix up compilation and patching errors
1bd6847 Fix up packages.csv ordering for easier diffing
dd832f2 Update for MCP7.30c - fixes redstone rendering issues
aebf6eb Add in a registry method to allow for alternative TileEntity names- they will be used to support loading maps containing the older definiti
8921cfe Remember to add the new patches!
cd67596 The "ServerStarting" event should now properly crash the server if it fails, so the client will properly exit. Also, added in a "pre-server
e1c6630 Javadoc cleanup
5ce4e31 Fix breaking change
a99c488 Merge branch 'patch-1' of https://github.com/bspkrs/FML into gh-updates
94282c5 Merge branch 'FMLLogFormatter' of https://github.com/donington/FML into gh-updates
7ad8529 Update MCP to MCP7.26a and refresh MCP names
15534ed Update address of the FML repository to the new location in all the files
aa822e3 Fix logical error in comment text
a14ab91 Update license text to make clear that FML is not a way to sidestep MCP licensing.
0165742 Fix mcp conf md5 signatures for the snapshot
26a5b31 FMLLogFormatter: dynamic log level name