If you’re updating from 1.10.2 to 1.11.2, there are a couple of things you need to be aware of:
ItemStacks are never
Starting in 1.11,
ItemStacks can never, ever be
null. Instead of checking for
null-ness, you use the
ItemStack.isEmpty method to make sure the stack contains something.
ItemStack private fields
In 1.11, the
ItemStack.stackSize field was made private. Instead of directly modifying this field like before, there are getter, setter, and mutator methods available.
getCount: equivalent to simply retrieving the field.
setCount: equivalent to setting the field
grow: equivalent to increasing the field.
stack.grow(1)is equivalent to
shrink: equivalent to decreasing the field.
stack.shrink(1)is equivalent to
Note: The default Forge MDK comes with older MCP mappings in which the new
ItemStack methods aren’t named. You’ll need to change the mappings version from
snapshot_20161111 to the latest (
snapshot_20170330 as of this post).
In 1.11.2, Minecraft enforces all resource file names being completely lowercase. This practically enforces
snake_case instead of
camelCase. You’ll need to rename all your resource files (blockstates, models, textures, etc.) and change all the corresponding uses of their old names in code.
Aside from those major changes, there are a couple of minor things:
ItemStack, not an
- Various mapping changes throughout the MC codebase. You can search on here to see mapping changes in 1.11.2.