Commit graph

7102 commits

Author SHA1 Message Date
LexManos
c3e5b4bb2e Add @ObjectHolder scanning to vanilla MobEffects, Biomes, Enchantments, SoundEvents, and PotionTypes constants. Closes #4104 2017-06-28 13:17:59 -07:00
mezz
8581225da8 Use java 8 collection functions 2017-06-28 00:14:10 -07:00
mezz
9675585891 Use lambdas for short anonymous methods 2017-06-27 23:18:09 -07:00
mezz
93025510ae Use multiple catch, try-with-resources, replace system.out and e.printStackTrace 2017-06-27 22:57:10 -07:00
LexManos
10ca404e9e Fix the creative menu search function. Closes #4100 2017-06-27 21:34:03 -07:00
LexManos
d0b24313d3 Fix MissingMapping REMAP action. Closes #4069 2017-06-27 16:56:42 -07:00
LexManos
7281708df6 Repopulate client SearchTreeManager when registries are refreshed. Closes #4094 2017-06-27 16:28:08 -07:00
LexManos
b90d7a838e Fix Biome unit test 2017-06-27 16:27:29 -07:00
LexManos
a4fb33d945 Add support for loading mod advancements from the mod jar files. 2017-06-27 15:18:52 -07:00
LexManos
cab4f783e9 Fix error when using RegistryBuilder and not specifying a max id number. 2017-06-27 15:18:03 -07:00
LexManos
c565984822 Allow the recipe registry to be modified. 2017-06-27 15:17:26 -07:00
LexManos
86b231ea77 Fix BiomeDictionary not collecting correctly. 2017-06-27 14:04:51 -07:00
BlayTheNinth
5aac07b5b1 Remove incorrect call to .toString() when instantiating custom config array entries. (#4078) 2017-06-27 00:54:49 -05:00
Vincent Lee
a480fa0821 Remove outdated patch to BlockDoublePlant 2017-06-26 22:37:17 -07:00
LexManos
c5ffe46f48 Fix substitution tests 2017-06-26 01:01:23 -07:00
Ben Staddon
9a09ff68aa Remove some deprecated methods and clean up 2017-06-25 22:30:18 -07:00
mezz
7892ca922c Remove the call to client.refreshResources during loading (#4032) 2017-06-25 22:13:58 -07:00
Fry
0f7ec7e7fd Added dependencies and dependency ordering for textures. (#4070) 2017-06-26 07:58:19 +04:00
LexManos
3ae30478db More work on registry override ability. Closes #4079 2017-06-25 20:45:48 -07:00
LexManos
460abf1554 Fix ItemStack/Block/BlockSpecial not applying at runtime. 2017-06-25 20:45:07 -07:00
Ben Staddon
51aa029bb1 Add a FluidUtil method to interact with an arbitrary IFluidHandler (#4080) 2017-06-25 18:22:52 -07:00
ichttt
690c9bb76a Further Java 8 cleanup (#4077) 2017-06-25 14:25:57 -07:00
LexManos
3738a2e42b Fix missed side only on BlockFlower 2017-06-25 12:24:07 -07:00
LexManos
45147ac512 Fix ModelBlockAnimation expsing a private class. 2017-06-25 12:23:56 -07:00
LexManos
368d206cc6 Make Block.getSubBlocks not client side only. 2017-06-25 11:17:31 -07:00
RainWarrior
dc043ac79f Cleanup of model system, taking advantage of java 8;
replaced guava Optional and Function with java 8 versions.
2017-06-25 04:08:20 +03:00
LexManos
1c24600bbb Reload client recipe book after loading modded recipes. 2017-06-24 15:34:09 -07:00
LexManos
b542179242 Make Dummy block an Air block. 2017-06-24 15:06:28 -07:00
LexManos
87054b01fb Fix NPE in MissingMappings event. Closes #4067 2017-06-24 14:51:46 -07:00
LexManos
efd8b38be9 Make getSubItems non-client only. Use it for Ingredient iteration. 2017-06-24 14:47:48 -07:00
LexManos
478a84e748 Fix Emerald generation causing chunk loading. 2017-06-24 14:47:11 -07:00
LexManos
405a16aea1 Fix minecraft:item_nbt ingredient type. 2017-06-24 14:46:51 -07:00
mezz
72f037b0fa Add Block.getDrops that uses NonNullList, deprecate the old method. Fix #3567 (#3778) 2017-06-24 03:05:42 -07:00
mezz
a8734e368d Remove arrival/departure message methods from WorldProvider (#2733) 2017-06-24 02:02:56 -07:00
mezz
27321efb1f Clean up logging 2017-06-24 01:46:05 -07:00
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