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
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
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
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.
Update to ASM5 for Java 8 support, IF ANYONE MAKES A MOD THAT REQUIRES JAVA8 BEFORE MINECRAFT FORCES IT ALL USERS REQUESTING SUPPORT WILL BE BANNED FROM ALL FORGE RELATED SERVICES.
SpecialSource updated ASM5 and ForgeGradle supports ASM5 as well but
neither FML or Forge were actually updated to support ASM5 opcodes. This
commit resolves this.
Signed-off-by: Steven Downer <grinch@outlook.com>
If the Empty flag was set, the tank would not correctly read the data, keeping the outdated FluidStack instead. This is especially relevant with updatable TileFluidHandler TEs.