FluidRegistry:
```java
static BiMap<String, Fluid> fluids = HashBiMap.create();
static BiMap<Fluid, Integer> fluidIDs = HashBiMap.create();
...
public static boolean registerFluid(Fluid fluid)
{
if (fluidIDs.containsKey(fluid.getName()))
^^^^^^^
```
There is definitely should be fluids instead fluidIDs. This mistake broke many mods.
This fixes a rather huge issue where FluidStacks on the client could be desynced if a modder was unaware of it.
This is a breaking change but can be mitigated with a transformer to the getter getFluidID().
Signed-off-by: King Lemming <kinglemming@gmail.com>
MinecraftForge/FML@e8cd368da3 It's an IllegalState not an IllegalArgument *sigh*
MinecraftForge/FML@2be9c74342 And fix itemblocks being removed, leaving behind a residual block. This is a legitimate action - use the missing mapping event to let the mod tell us about it
MinecraftForge/FML@7d8804cf65 You can't setAction to BLOCKONLY
MinecraftForge/FML@c73861efe6 Cherry-pick 01aaa7dc97480b381ca0d192ec65016d7baeb747 Fix mods defined via --mods or --modListFile launch args not being searched for coremods. #560MinecraftForge/FML@94c45b48c1 Fix json cache crash, handle the file much more cleanly. Probably an MC JIRA since it's a vanilla bug. Closes#619
MinecraftForge/FML@6b0ae369eb Try and improve performance of the registry by avoiding superType.cast.
MinecraftForge/FML@dfebcafd49 Something I meant to add a long time ago, but it got overlooked. My apologies. Presend the (int) dimension ID in the serverhello packet. This should be 100% backward compatible with existing servers but bumping a server to this version will allow clients with this version as well to now login in dimensions outside the byte range. Probably fixes a bunch of mods that add dimensions.
MinecraftForge/FML@6011419fa0 Clean up my patch. Terrible person I am..
MinecraftForge/FML@c6bbd0e82d Forgot that I need a noarg ctor. I'm so rusty.
MinecraftForge/FML@6edc1635de Need to load the dimension from disk - do it without filling out the player so that the normal player loading (including events) works properly
MinecraftForge/FML@4ca6f6e19f What a dumb oversight. One needs to copy the active substitution set to the active gamedata. Doesn't work well otherwise.
MinecraftForge/FML@6f6cec96be Substitutions need to be activated when they're registered, otherwise they won't appear in world, ever.
MinecraftForge/FML@13ac015f0c Change iterator behaviour for the registry - include substitutions in the standard iterator, so that vanilla MC methods visit them (so they can get textures etc). The fml special one only visits the absolute set, used mostly for sanity checking and serialization.
MinecraftForge/FML@24cb4a42c4 Enhance output of common FML errors in crash reports and server GUI.
MinecraftForge/FML@12ccf9cf49 Rather than try to fall back to the backup level.dat in case of weirdness in the ID map, just fail hard. There is probably a serious modder derp in this case and there's nothing FML can do to recover the situation except avoid making it worse.
MinecraftForge/FML@e8cd368da3 It's an IllegalState not an IllegalArgument *sigh*
MinecraftForge/FML@2be9c74342 And fix itemblocks being removed, leaving behind a residual block. This is a legitimate action - use the missing mapping event to let the mod tell us about it
MinecraftForge/FML@7d8804cf65 You can't setAction to BLOCKONLY
MinecraftForge/FML@13df640d9d Pull in a lot of the FML tweaks from 1.7 to 1.8
MinecraftForge/FML@447beaa99e Merge remote-tracking branch 'origin/1.7.10'
in the ID map, just fail hard. There is probably a serious modder derp in this
case and there's nothing FML can do to recover the situation except avoid
making it worse.
MinecraftForge/FML@6f6cec96be Substitutions need to be activated when they're registered, otherwise they won't appear in world, ever.
MinecraftForge/FML@13ac015f0c Change iterator behaviour for the registry - include substitutions in the standard iterator, so that vanilla MC methods visit them (so they can get textures etc). The fml special one only visits the absolute set, used mostly for sanity checking and serialization.
vanilla MC methods visit them (so they can get textures etc). The fml special one only visits the
absolute set, used mostly for sanity checking and serialization.
Closes#618