CompatLayer 1.11.2/1.10.2 (Library for McJty’s Mods)

Author: McJty ❘ June 25, 2017 ❘ 18,332 views

CompatLayer 1.11.2/1.10.2 is a small library/mod that allows you to write mods that run on 1.10.2 and 1.11 with the same binary jar. At least upto some point. At the very least it helps to minimize the source changes between your 1.10 version and 1.11 version of your mod in case you do need to have two versions for whatever reason.

Basically CompatLayer is nothing more then a set of classes and functions that help abstract away the differences between 1.10.2 and 1.11.

Features:

CompatBlock: A simple extension of Block that overrides methods that have changed in 1.11 and calls CompatLayer specific versions that you can override instead in your code. Currently supports ‘neighborChanged’ and ‘onBlockActivated’

CompatItem: A simple extension of Item that basically does the same thing as CompatBlock but then for items. Currently contains ‘onItemRightClick’

CompatInventory: an interface that inherits from IInventory and adds a default implementation for the new func_191420_l function.

CompatSidedInventory: same for ISidedInventory.

ChatTools: contains a simple message ‘addChatMessage’ that avoids the new parameter that player.addChatComponentMessage() has.

ItemStackTools: this is the biggest reason for this mod. ItemStack handling has changed a lot in 1.11. Basically itemstacks are never ‘null’. Instead there is a new empty itemstack. This class makes abstraction of that. If you carefully go through all your code that uses itemstacks and replace all calls and tests (especially things like ‘stack = null’ or ‘if (stack == null)’) with methods from this class.