Commit graph

6617 commits

Author SHA1 Message Date
KingLemming
c0188d3228 Use instanceof ItemFishingRod instead of item equality (#4060) 2017-06-24 01:26:36 -07:00
Ben Staddon
1b5da5d4fe [1.12] Cleanup of files with old licence headers, Add missing LGPL 2.1 licence headers (#4051) 2017-06-24 01:25:23 -07:00
Choonster TheMage
cb02f24cf2 Fix uncaught ClassCastException from invalid recipe file (#4043)
A JsonSyntaxException will now be thrown, caught and logged when the conditions property of a recipe isn't an array
2017-06-24 01:24:54 -07:00
TechnicianLP
f670ec4f0b Fix onBlockClicked handler firing twice and Item.onArmorTick in the wrong place (#4037) 2017-06-24 01:01:28 -07:00
mezz
d769d83224 Update MCP to 20170624 2017-06-24 00:56:21 -07:00
Ben Staddon
b0dfaa2b81 Remove Java 8 warnings now that Minecraft requires it 2017-06-23 23:31:50 -07:00
Ben Staddon
286f6a910b Fire AnimalTameEvent for parrots (#4003) 2017-06-23 23:11:47 -07:00
tterrag
b71ab7e444 Make ForgeRegistry iterator sorted. Closes #4058 (#4059) 2017-06-23 23:52:27 -05:00
LexManos
dd42f84a47 Loosen up registry locks until data freeze. 2017-06-23 17:52:59 -07:00
LexManos
d032a34aaa Fix conflicts 2017-06-23 16:59:57 -05:00
LexManos
f4afb6f56c Implement override tracking and syncing.
Overrides MUST be registered within a tracked event so we know what mod it came from.
This will allow servers/saves to select which mod 'wins' and becomes to active entry.
This should also mean that when connecting to a vanilla server things will revert.
2017-06-23 16:59:57 -05:00
LexManos
4b45eb8b68 Disable substitution test, substitutions are not managed the way they used to be.
We do not care about substitutions, People who replace entries should make them compatible with the existing item.
2017-06-23 16:59:57 -05:00
LexManos
e805b12df8 Fixup some registry tests, dummies are now persisted across syncing. 2017-06-23 16:59:57 -05:00
LexManos
dee84dc1e4 More work, game loads and runs now.
Moved Registry events to directly AFTER PreInit instead of before.
This allows modders to register handlers for it without @EventBusSubscriber.
It also allows you to register custom things needed before the construction of blocks or items such as Fluids.
TODO: Move Fluids to a real registry.
@ObjectHolder can now be used on private fields.
Reworked FMLModIdMappingEvent to include data for all registries.
Tile Entities are now registrable.
2017-06-23 16:59:57 -05:00
LexManos
a26d89c876 First pass of registry rewrite.
Tests do not run yet.
Things of note:
Removed the idea of substitutions, just register multiple items with the same name they will override each other like a normal map.
Decoupled Forge registries from vanilla classes. They now use bouncer classes. MODDERS SHOULD NEVER USE THESE
Introduced more stringent registry locking. As it sits things are only allowed to be registered during the RegistryEvent.Registry phases!
This is to force modders to split up their registrations, and pave the way for calling these functions multiple times during a single MC lifecycle.
ObjectHolder, Missing Mappings, etc... *should* now work for all registry types, nothing should be special cased to Blocks/Items anymore.
Added optional generic dummy factory to registries, to allow registry creators the ability to dummy more then just Blocks.
Re-worked the ItemStack transformer and applied it to ItemBlock and ItemBlockSpecial. Allowing us to cleanup reflective hacks in Block callbacks.
Registry onAdd callback is now only fired on the ACTIVE registry, fixing any issues of temp registries overriding active objects.
2017-06-23 16:59:57 -05:00
mezz
423f9fc04b Fix Universal bucket handling for Fluids with NBT (Fix #3757) 2017-06-22 23:40:49 -07:00
diesieben07
0e9820c51c Clean up Logging (#3953)
# Conflicts:
#	patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch
#	patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
#	patches/minecraft/net/minecraft/entity/EntityList.java.patch
#	patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch
#	src/main/java/net/minecraftforge/oredict/OreDictionary.java
2017-06-22 23:18:49 -07:00
mezz
68c6e7862e Fix ShapedOreRecipe matching. #4038 2017-06-21 22:10:55 -07:00
LexManos
f1881453be Fix recipe names in packaged jars. Closes #4039 2017-06-21 01:46:52 -07:00
Ben Staddon
a30316e6a1 Update NoteBlockEvent with new instruments. Resolves #4018. (#4019) 2017-06-20 23:50:32 -07:00
mezz
98f464ad43 Fix Chunk patch (#4036) 2017-06-20 20:40:45 -07:00
TechnicianLP
e056c79ec7 IRecipeConditions forge:and and forge:false (#4017) 2017-06-20 02:19:14 -07:00
mezz
17a714f7fd Fix patches in Chunk and Explosion (#4036) 2017-06-19 23:27:52 -07:00
mezz
c6d7c7c11f Fix itemstack comparison with null 2017-06-19 23:27:52 -07:00
LexManos
a2749e4507 Fix loading recipe jsons from jar files. 2017-06-19 17:18:53 -07:00
Vincent Lee
f7831fbe99 Fix shapeless recipes not being able to use NBT on output, and fixed issue with null groups. 2017-06-19 16:49:21 -07:00
Lumien
303578b2f2 [1.12] Fixes Exception when getting modlist for a vanilla client (#4028) 2017-06-19 16:47:34 -07:00
Ben Staddon
80d9beedc9 Remove unused patch to ItemRecord. Closes #2686. (#4035) 2017-06-19 16:47:01 -07:00
mezz
fcb596ea1e Log info on Travis tests 2017-06-18 22:52:12 -07:00
mezz
b39ade30c3 Disable TestNetworkHandshake to make Travis work again 2017-06-18 22:51:09 -07:00
mezz
3e6c15168b Add timeout to TestNetworkHandshake setup 2017-06-18 22:50:47 -07:00
mezz
e3777f4559 Add missing Override annotations 2017-06-17 18:24:17 -07:00
mezz
c2845967cc Update MCP mappings to 20170617 2017-06-17 18:06:04 -07:00
mezz
3d322ef925 Update mcp mappings to 20170611 2017-06-17 17:13:44 -07:00
mezz
864b05074e Clean up ShapedOreRecipe and ShapelessOreRecipe 2017-06-17 17:13:44 -07:00
Shadowfacts
f009435fa4 Allow condition factories to be registered from JSON (#4015) 2017-06-16 20:24:58 -07:00
cpw
4a4c38b4e0 Patch a small bug in SPacketLoginSuccess that lets us emulate the network
handshake. This will be very useful as I rebuild the networking.
2017-06-16 22:00:54 -04:00
LexManos
b5260a386d Filter any recipe starting with _, Such names are reserved for metadata.
Actually implement conditions for recipes.
2017-06-15 19:30:05 -07:00
LexManos
65ec1f5d54 Fix NBT ItemStack support in json loader. Closes #4002 2017-06-15 16:07:55 -07:00
LexManos
e16f70f95e Fix OreIngredient comparing items in reverse. Closes #3999 2017-06-15 13:13:44 -07:00
Marvin Rösch
50e268bdf5 Make registries persist by default, fixes #3989 (#3998) 2017-06-15 13:00:46 -07:00
tterrag
8833386ada Fix exception in ShapedOreRecipe.checkMatch for recipes that don't fill entire crafting grid (#3995) 2017-06-15 01:12:54 -07:00
LexManos
dbc0a4e0fd Fix parseShaped missing Empty slot item. Closes #3990 2017-06-14 20:25:22 -07:00
LexManos
5e70ee45be Fix CraftingHelper.parseShapred error. Closes #3979 2017-06-14 15:59:59 -07:00
LexManos
22d243e70d Fix NPE in config menu with custom keybinds. Closes #3985 2017-06-14 10:23:49 -07:00
LexManos
a8659a1613 In-progress Registry system enhancement.
Needs cpw to take a look at enabling removing/overriding in the registry stuff.
But in theory it loads json recipes for mods now.
2017-06-14 10:14:56 -07:00
LexManos
54d26cb4cc Update ASM for 5.2, and host it on Forge's maven now. 2017-06-11 11:35:22 -07:00
mezz
cd3905502e Update VanillaRegistryTests 2017-06-10 19:47:04 -07:00
cpw
3fee319bc0 Try a different way of doing the callback, it removes the derpitude, but at
one point, I thought the way it was was necessary. Is this a race condition?
Dunno, but it's a lot simpler and doesn't rely on a netty hack.
2017-06-10 22:22:16 -04:00
cpw
d90637f8b5 Fix the netty bug introduced by netty commit 29fdb160f3
that means we don't get activated until after handlerAdded is complete.
In effect, our handler can't handle anything until handlerAdded has
completed.
2017-06-10 22:22:16 -04:00