I did this before with 1.9 so why not do it again as I find things.
The snapshot that came out today claims to have "a couple of technology changes that may impact many mods." I haven't heard any specifics on what Mojang meant (other than perhaps resource pack changes), but I did find at least one thing that could be relevant. Tile entity and entity IDs are now different. They're all lower-case, some changed to have underscores in them. In the case of entities, the old name is still associated with them as well.
The ItemStack class has become more immutable, with the Item field now final. It also now has a private field which indicates if the stack is valid, determined by a method that checks various things like stack size and damage. If invalid, it won't return the specified nbt, size, etc, and returns defaults. loadItemStackFromNBT is also removed now, made into a constructor as it should be.
Other than that, there's some method signature changes. onItemUse and onItemRightClick no longer accept an ItemStack parameter, for example. I'm sure there's many more examples of this, because Mojang has quite a habit of changing signatures these days.
I'm sure there's lots of other stuff, this is just what I've noticed personally so far.
The snapshot that came out today claims to have "a couple of technology changes that may impact many mods." I haven't heard any specifics on what Mojang meant (other than perhaps resource pack changes), but I did find at least one thing that could be relevant. Tile entity and entity IDs are now different. They're all lower-case, some changed to have underscores in them. In the case of entities, the old name is still associated with them as well.
The ItemStack class has become more immutable, with the Item field now final. It also now has a private field which indicates if the stack is valid, determined by a method that checks various things like stack size and damage. If invalid, it won't return the specified nbt, size, etc, and returns defaults. loadItemStackFromNBT is also removed now, made into a constructor as it should be.
Other than that, there's some method signature changes. onItemUse and onItemRightClick no longer accept an ItemStack parameter, for example. I'm sure there's many more examples of this, because Mojang has quite a habit of changing signatures these days.
I'm sure there's lots of other stuff, this is just what I've noticed personally so far.
Last edited: