The Lord of the Rings has been since the first book was released in 1954, we have seen books, movies, games and the best thing of all… LEGO® Lord of the Rings! We have gone through all of the LEGO® Lord of the Rings sets and listed the best LOTR LEGO® sets just for you.
On top of this, we have also found a number of LEGO® MOC Lord of the Rings sets too, today you can ignore Gandolf, we grant you the right to pass and read this post!
The Best LEGO® Lord of the Rings Sets
The LEGO® Lord of the Rings sets we released over a relatively short timeframe, between June 2012 and July 2013 there were 16 Lord of the Rings LEGO® sets released.
Closely linked to the Lord of the Rings they also released 24 The Hobbit LEGO® sets between 2012 and 2014.
Let’s take a look at the most popular LEGO® Lord of the Rings sets, plus one or two The Hobbit sets too. Here we go.
All LEGO® Lord of the Rings Sets Video
1. LEGO® Tower of Orthanc (10237)
Set Number: 10237 Theme: Lord of the Rings Year Released: 2013 No. Pieces: 2359 RRP: £169.99 / $199.99 / 199.99€
2. The Battle of Helm’s Deep (9474)
Set Number: 9474 Theme: Lord of the Rings Year Released: 2012 No. Pieces: 1368 RRP: £99.99 / $129.99
3. The Mines of Moria (9473)
Set Number: 9473 Theme: Lord of the Rings Year Released: 2012 No. Pieces: 776 RRP: £69.99 / $79.99
4. Uruk-Hai Army (9471)
Set Number: 9471 Theme: Lord of the Rings Year Released: 2012 No. Pieces: 257 RRP: £29.99 / $29.99
5. Attack On Weathertop (9472)
Set Number: 9472 Theme: Lord of the Rings Year Released: 2012 No. Pieces: 430 RRP: £49.99 / $59.99
6. The Council of Elrond (79006)
Set Number: 79006 Theme: Lord of the Rings Year Released: 2013 No. Pieces: 243 RRP: £29.99 / $29.99
7. An Unexpected Gathering (79003)
Set Number: 79003 Theme: The Hobbit Year Released: 2012 No. Pieces: 652 RRP: £59.99 / $69.99
8. The Lonely Mountain (79018)
Set Number: 79018 Theme: The Hobbit Year Released: 2014 No. Pieces: 866 RRP: £99.99 / $129.99 / 129.99€
9. Elrond (5000202)
Set Number: 5000202 Theme: Lord of the Rings Year Released: 2012 No. Pieces: 6 RRP: £0.00 / $0.00
10. Pirate Ship Ambush (79008)
Set Number: 79008 Theme: Lord of the Rings Year Released: 2013 No. Pieces: 756 RRP: £89.99 / $99.99
11. Shelob Attacks (9470)
Set Number: 9470 Theme: Lord of the Rings Year Released: 2012 No. Pieces: 227 RRP: £19.99 / $19.99
12. The Orc Forge (9476)
Set Number: 9476 Theme: Lord of the Rings Year Released: 2012 No. Pieces: 363 RRP: £39.99 / $39.99
13. Battle at the Black Gate (79007)
Set Number: 79007 Theme: Lord of the Rings Year Released: 2013 No. Pieces: 656 RRP: £59.99 / $59.99
14. Gandalf Arrives (9469)
Set Number: 9469 Theme: Lord of the Rings Year Released: 2012 No. Pieces: 883 RRP: £11.99 / $12.99
15. The Wizard Battle (79005)
Set Number: 79005 Theme: Lord of the Rings Year Released: 2013 No. Pieces: 113 RRP: £11.99 / $12.99
List of LEGO® Lord of the Rings MOCs From Our Website
LEGO Lord of the Rings MOCs
1. LEGO® MOC Lord of the Rings – Three is Company
The third chapter of Tolkien’s fantastic world: The Lord of the Rings. This LEGO® MOC shows Frodo, Sam, and Pippin at the beginning of their travel to Buckburg!
3. LEGO® MOC Lord of the Rings – At the sign of the Prancing Pony
Another chapter of Tolkien’s fantastic world: The Lord of the Rings. At the sign of the Prancing Pony Inn! Would you like a beer? And who is the stranger?
I think you would agree that even though there are not many LEGO® Lord of the Rings sets the ones there were definitely some great sets released between 2012 and 2013, the most popular LEGO® Lord of the Rings set was the Tower of Orthanc (10237) and quite right too. Even if you aren’t a LOTR fan it’s hard not to love this LEGO® LOTR set.
Unfortunately, these sets are all retired from the LEGO® store so if you want to pick one up for yourself you need to check out eBay or Bricklink to see what you can find.
/* Auto generated, hash = 5dceu9kevqjdyuy2uw1atqrsu */
//TODO: Break this file down so that we can actually unit test it.
(function(window) {
/**
* Renders all unrendred LinkedIn Badges on the page
*/
window.LIRenderAll = function () {
var CALLBACK_NAME = 'LIBadgeCallback', //Must match callback on helpers.js
BADGE_NAMES = '.LI-profile-badge, .LI-entity-badge',
// TODO -- tracking param for other badge types
TRACKING_PARAM = 'profile-badge',
responsesReceived = 0, //Keeps track of number of responses recieved for proper cleanup when finished
expectedResponses = 0, //Keeps track of number of responses to expect
scripts = [ ], //Keeps track of scripts added for proper cleanup when finished
childScripts = {}, //Keeps track of child scripts to render
badges = Array.prototype.slice.call(document.querySelectorAll(BADGE_NAMES));
var i, len, badge, rendered;
for (i = 0, len = badges.length; i < len; i++) {
badge = badges[i];
rendered = badge.getAttribute('data-rendered');
if (!rendered) {
expectedResponses++;
badge.setAttribute('data-rendered', true);
renderBadge(badge);
}
}
function isCNDomain() {
if (typeof window !== "undefined") {
var hostName = window.location && window.location.hostname || '';
return (/linkedin(-ei)?.cn$/).test(hostName);
}
return false;
}
function generateUrl(isEI) {
var domainPrefix = isEI ? 'https://badges.linkedin-ei' : 'https://badges.linkedin';
if (isCNDomain()) {
return domainPrefix + ".cn/";
}
return domainPrefix + ".com/";
}
function getBadgeKeyQueryParams(badge) {
return Array.prototype.slice.call(badge.attributes).filter(function (attr) {
return attr.name.lastIndexOf('data-key-', 0) !== -1;
}).map(function (attr) {
// Most browsers automatically lowercase the attribute name when its being read
// We are calling lowercase on it again to ensure consistency for any browsers that are lagging behind.
return encodeURIComponent(attr.name.replace('data-', '').toLowerCase()) + '=' + encodeURIComponent(attr.value);
});
}
/*
* Renders a single badge on the page
* @param badge: div element of badge to render
*/
function renderBadge(badge) {
var size = badge.getAttribute('data-size'),
locale = badge.getAttribute('data-locale'),
type = badge.getAttribute('data-type'),
theme = badge.getAttribute('data-theme'),
vanity = badge.getAttribute('data-vanity'),
version = badge.getAttribute('data-version'),
isEI = badge.hasAttribute('data-ei'),
entity = badge.getAttribute('data-entity'),
isCreatePage = badge.hasAttribute('data-iscreate'),
uid = Math.round(1000000 * Math.random()),
baseUrl = generateUrl(isEI),
queryParams = [
'locale=' + encodeURIComponent(locale),
'badgetype=' + encodeURIComponent(type),
'badgetheme=' + encodeURIComponent(theme),
'uid=' + encodeURIComponent(uid),
'version=' + encodeURIComponent(version)
],
url;
if (version === 'v2') {
baseUrl += 'view';
queryParams.push('badgesize=' + encodeURIComponent(size));
queryParams.push('entity=' + encodeURIComponent(entity));
queryParams = queryParams.concat(getBadgeKeyQueryParams(badge));
} else {
baseUrl += 'profile';
queryParams.push('maxsize=' + encodeURIComponent(size));
queryParams.push('trk=' + encodeURIComponent(TRACKING_PARAM));
queryParams.push('vanityname=' + encodeURIComponent(vanity));
}
if (isCreatePage) {
queryParams.push('fromCreate=true');
}
url = baseUrl + '?' + queryParams.join('&');
badge.setAttribute('data-uid' , uid);
jsonp(url); //Calls responseHandler when done
}
/**
* Handles a response from the server. Finds badge matching badgeUid and inserts badgeHtml there
* @param badgeHtml: String representing contents of the badge
* @param badgeUid: UID of the badge to target
**/
function responseHandler(badgeHtml, badgeUid) {
responsesReceived ++;
var i, badge, uid, isCreate;
var defaultWidth = 330 // max possible width
var defaultHeight = 300 // max possible height
for (i = 0, len = badges.length; i < len; i++) {
badge = badges[i];
// isCreate needed to prevent reloading artdeco script tag
isCreate = badge.getAttribute('data-iscreate');
uid = parseInt(badge.getAttribute('data-uid'), 10);
if (uid === badgeUid) {
var badgeMarkup = `<body>${badgeHtml}</body>`
var iframe = document.createElement('iframe');
iframe.onload = function() {
var iframeBody = iframe.contentWindow.document.body;
// 5 px buffer to avoid the badge border being cut off.
iframe.setAttribute('height', (iframeBody.scrollHeight || defaultHeight) + 5);
iframe.setAttribute('width', (iframeBody.scrollWidth || defaultWidth) + 5);
};
iframe.setAttribute('frameBorder', '0');
iframe.style.display = 'block';
badge.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(badgeMarkup);
iframe.contentWindow.document.close();
replaceScriptTags(badge, isCreate);
}
}
tryClean();
}
// These functions are needed because badge markup is added via innerHtml property which does not run script tags
function replaceScriptTags(node, isCreate) {
if (shouldReplaceNode(node, isCreate)) {
node.parentNode.replaceChild(cloneScriptNode(node), node);
childScripts[node.src] = true;
} else {
var i = 0,
children = node.childNodes;
while (i < children.length) {
replaceScriptTags(children[i++], isCreate);
}
}
return node;
}
function shouldReplaceNode(node, isCreate) {
return isScriptNode(node) && !childScripts[node.src] && (!isCreate || (isCreate && !node.getAttribute('data-isartdeco')));
}
function isScriptNode(node) {
return node.tagName === 'SCRIPT';
}
function cloneScriptNode(node){
var script = document.createElement("script");
for( var i = node.attributes.length-1; i >= 0; i-- ) {
script.setAttribute( node.attributes[i].name, node.attributes[i].value );
}
return script;
}
// Gets all incoming responses
window[CALLBACK_NAME] = responseHandler;
/**
* Tries to clean added tags
**/
function tryClean() {
//Clean up after all requests are done..
//Accounts for people including script more than once
var done = (responsesReceived >= expectedResponses && expectedResponses > 0) || responsesReceived >= badges.length;
if (done) {
delete window[CALLBACK_NAME];
// remove all script tags
scripts.map(function(script){
document.body.removeChild(script);
});
}
}
/*
* Makes Jsonp request, responses handles by CALLBACK_NAME
* @param url String: url of server to make request to
*/
function jsonp(url) {
var script = document.createElement('script');
script.src = url;
scripts.push(script);
document.body.appendChild(script);
}
};
if (document.readyState === 'complete') {
window.LIRenderAll();
} else {
window.addEventListener('load', window.LIRenderAll, false);
}
})(window);