Sky Dimension in Minecraft


During the early development stages of Minecraft, specifically in the Indev phase, there existed a map type called “Floating.” This map type generated floating islands with diverse terrain, influenced by the chosen World Theme.

The idea of the Sky Dimension was first introduced by Markus Persson, commonly known as Notch, the creator of Minecraft. Notch tweeted an image depicting the concept of this dimension, which was likely intended to represent a heavenly realm as a contrasting counterpart to the Nether, which was designed to resemble a hellish dimension. However, the Sky Dimension was not officially confirmed until Notch released an update on Twitter, acknowledging the significance given to it by PC Gamer and stating his intention to complete its development.

In a live webcast on the Swedish gaming site feber.se, Notch revealed that the Sky Dimension would likely be a dream-like world. He mentioned the possibility of players being transported to the Sky Dimension when they go to bed, turning it into a purposeful gameplay element. Initially, the Sky Dimension was planned to be included in the Adventure Update, but Notch decided to postpone its development until the Nether dimension was more engaging and enjoyable for players.

Jens Bergensten, also known as Jeb, a key developer of Minecraft, explained that the original implementation of the Sky Dimension faced technical challenges related to how light was calculated. The Sky Dimension had a top-down lighting system similar to the Overworld, creating shadows in caves and other areas. However, this design severely impacted performance, resulting in sluggish gameplay. As a result, the decision was made to remove the sun and apply even lighting throughout the environment, unless illuminated by torches.

Consequently, the initial concept of the Sky Dimension underwent significant changes and was eventually transformed into “The End.” This new dimension represented a dark and foreboding realm, appropriately considered the “end of the game,” housing powerful creatures such as endermen and the ender dragon. It deviated from the original idea of the Sky Dimension and became a distinct conversion of the concept. Notch later mentioned on Twitter that a different dimension called “Skylands” was possibly in development, separate from The End and intended to replace the original Sky Dimension. However, Jeb subsequently clarified that there were no plans to reintroduce the Sky Dimension and the chances of it being implemented were slim.

From Minecraft Java Edition versions 1.13 to 1.17.1, it was possible to partially recreate aspects of the Sky Dimension using the Buffet world type. By selecting the “Floating Islands” world generation option (available after version 1.16) and choosing any Overworld biome (such as Forest, Plains, Swamp, or Jungle) as the World Terrain option, players could generate a partially reminiscent representation of what the Sky Dimension might have looked like. However, it’s important to note that the “Floating Islands” world type was subsequently removed in version 1.18.

/g; var matches = html.match(regex); if(matches) { var toReplace = []; for(var i=0; i < matches.length; i++) { toReplace.push(matches[i].replace(/(]+?>| |<\/p>)/img, "")); } for(var i=0; i < toReplace.length; i++) { html = html.replace(matches[i], toReplace[i]); } } return html; } function getSanitizedHeadingHTML(infoInput, slug) { if(!infoInput) { return ""; } //ignore content if it has only whitespaces (\n, etc) if(infoInput.textContent.trim() === '' && !infoInput.innerHTML.match(//g; var matches = html.match(regex); if(matches) { var toReplace = []; for(var i=0; i < matches.length; i++) { toReplace.push(matches[i].replace(/(]+?>| |<\/p>)/img, "")); } for(var i=0; i < toReplace.length; i++) { html = html.replace(matches[i], toReplace[i]); } } return html; } function setIdToHeadingsTag(html,slug){ var counter = 0; var h2Matches = html.match(/(.*?)<\/h2>/g); if(h2Matches != null){ var resultH2 = html.match(/(.*?)<\/h2>/g).map(function(val) { return val.replace('(.*?)<\/h3>/g); if(h3Matches != null){ var resultH3 = html.match(/(.*?)<\/h3>/g).map(function(val) { return val.replace(' 1) { var parser = new DOMParser(); html = parser.parseFromString(content, 'text/html'); html = html.querySelector('body').getElementsByTagName('p'); } var para = new Array(); for (var index = 0; index < html.length; index++) { if (html[index].innerText != undefined && html[index].innerText != "" && html[index].innerText.length > 1 && html[index].innerHTML.indexOf(" 0) appendPart(0, selectionStart); var fakeRange = appendPart(selectionStart, selectionEnd); if(textLen > selectionEnd) appendPart(selectionEnd, textLen); // Styles to inherit the font styles of the element fakeClone.style.cssText = cssDefaultStyles; // Styles to position the text node at the desired position fakeClone.style.position = "absolute"; fakeClone.style.top = topPos + "px"; fakeClone.style.left = 38 + "px"; fakeClone.style.width = width + "px"; fakeClone.style.height = height + "px"; $('#editor').appendChild(fakeClone); var returnValue = fakeRange.getBoundingClientRect(); //Get rect var arrOfValues = []; if (returnValue.height > 21) { // height of fakeRange > max height of fakeRange in single line // split into multiple spans and return all spans var words = fakeRange.innerText.split(" "); var newFakeRange = document.createElement('span'); newFakeRange.style.cssText = cssDefaultStyles; newFakeRange.textContent = words[0]; fakeClone.replaceChild(newFakeRange, fakeRange); arrOfValues.push(newFakeRange.getBoundingClientRect()); for(var i = 1; i < words.length; i++) { var fakeRangeSubPart1 = document.createElement('span'); fakeRangeSubPart1.style.cssText = cssDefaultStyles; fakeRangeSubPart1.textContent = " "; newFakeRange.parentNode.insertBefore(fakeRangeSubPart1, newFakeRange.nextSibling); arrOfValues.push(fakeRangeSubPart1.getBoundingClientRect()); var fakeRangeSubPart2 = document.createElement('span'); fakeRangeSubPart2.style.cssText = cssDefaultStyles; fakeRangeSubPart2.textContent = words[i]; fakeRangeSubPart1.parentNode.insertBefore(fakeRangeSubPart2, fakeRangeSubPart1.nextSibling); arrOfValues.push(fakeRangeSubPart2.getBoundingClientRect()); newFakeRange = fakeRangeSubPart2; } fakeClone.parentNode.removeChild(fakeClone); return arrOfValues; } fakeClone.parentNode.removeChild(fakeClone); return returnValue; // Local functions for readability of the previous code function appendPart(start, end){ var span = document.createElement("span"); span.style.cssText = cssDefaultStyles; //Force styles to prevent unexpected results span.textContent = text.substring(start, end); fakeClone.appendChild(span); return span; } // Computing offset position function getInputOffset(){ var body = document.body, win = document.defaultView, docElem = document.documentElement, box = document.createElement(tagName); box = input.getBoundingClientRect(); var editorOffset = $('#editor').getBoundingClientRect().top; var clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, scrollTop = win.pageYOffset || docElem.scrollTop || body.scrollTop, scrollLeft = win.pageXOffset || docElem.scrollLeft || body.scrollLeft; return { top : box.top + scrollTop - clientTop - editorOffset, left: box.left + scrollLeft - clientLeft }; } function getInputCSS(prop, isnumber){ var val = document.defaultView.getComputedStyle(input, null).getPropertyValue(prop); return isnumber ? parseFloat(val) : val; } } function showMessageToUserInToolbar(message, type) { var color="#a8bece"; if(type === "success") { color = "green"; } if(type === "warning") { color = "#bfbf2f"; } if(type === "error") { color = "red"; } $("#message-to-user-toolbar").style.color = color; $("#message-to-user-toolbar").innerText = message; } function removeMessageFromToolbar() { $("#message-to-user-toolbar").innerText = ""; } function isValidURL(str) { var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path '(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string '(\\#[-a-z\\d_]*)?$','i'); // fragment locator return !!pattern.test(str); }

Zeen is a next generation WordPress theme. It’s powerful, beautifully designed and comes with everything you need to engage your visitors and increase conversions.