@Override
@SideOnly (Side.CLIENT)
public void registerModels() {
ModelLoader.setCustomMeshDefinition(this, stack -> new ModelResourceLocation(getRegistryName(), String.format("access=%s,color0=%s,color1=%s,type=%s", SecurityHelper.getAccess(stack).toString().toLowerCase(Locale.US), ColorHelper.hasColor0(stack) ? 1 : 0, ColorHelper.hasColor1(stack) ? 1 : 0, typeMap.get(ItemHelper.getItemDamage(stack)).name)));
for (Map.Entry<Integer, ItemEntry> entry : itemMap.entrySet()) {
for (int access = 0; access < AccessMode.values().length; access++) {
for (int color0 = 0; color0 < 2; color0++) {
for (int color1 = 0; color1 < 2; color1++) {
ModelBakery.registerItemVariants(this, new ModelResourceLocation(getRegistryName(), String.format("access=%s,color0=%s,color1=%s,type=%s", AccessMode.values()[access].toString().toLowerCase(Locale.US), color0, color1, entry.getValue().name)));
}
}
}
}
}