Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- startup=fs.open("startup","w")
- startup.write([[shell.setPath( ".:/rom/programs" )
- help.setPath( "/rom/help" )
- shell.setAlias( "ls", "list" )
- shell.setAlias( "dir", "list" )
- shell.setAlias( "cp", "copy" )
- shell.setAlias( "mv", "move" )
- shell.setAlias( "rm", "delete" )
- if fs.isDir('/mem/autorun') then
- local files = fs.list('/mem/autorun')
- table.sort(files)
- for k, file in ipairs(files) do
- local path = fs.combine('/mem/autorun', file)
- if not fs.isDir(path) then
- shell.run(path)
- end
- end
- end]])
- startup.close()
- fs.makeDir("logic")
- fs.makeDir("mem")
- fs.makeDir("mem/autorun")
- fs.makeDir("mem/redworks")
- fs.makeDir("mem/redworks/apis")
- fs.makeDir("mem/redworks/help")
- fs.makeDir("mem/redworks/libs")
- fs.makeDir("mem/redworks/minepedia")
- fs.makeDir("mem/redworks/programs")
- fs.makeDir("mem/redworks/programs/cc-get-bin")
- fs.makeDir("mem/redworks/programs/circuits")
- fs.makeDir("mem/redworks/programs/http")
- ccget=fs.open("mem/autorun/cc-get","w")
- ccget.write([[if shell.path():match('/bin') == nil then
- shell.setPath(shell.path() .. ':/bin')
- end]])
- ccget.close()
- redworks=fs.open("mem/autorun/redworks","w")
- redworks.write([[--Setup redworks functions
- local path=":/mem/redworks/programs:/mem/redworks/libs"
- if http then path=path..":/mem/redworks/programs/http:/bin"end
- shell.setPath( ".:/mem/redworks/programs:/rom/programs"..path )
- help.setPath( "mem/redworks/help:/rom/help/" )
- shell.setAlias( "ls", "list" )
- shell.setAlias( "dir", "list" )
- shell.setAlias( "cp", "copy" )
- shell.setAlias( "mv", "move" )
- shell.setAlias( "rm", "delete" )
- shell.setAlias( "off", "shutdown" )
- shell.setAlias( "faq", "help" )
- shell.setAlias( "cl", "clear" )
- shell.setAlias( "goto", "cd" )
- shell.setAlias( "del", "delete" )
- -- Load APIs
- local tApis = fs.list( "/mem/redworks/apis" )
- for n,sFile in ipairs( tApis ) do
- if not fs.isDir( sFile ) then
- os.loadAPI( fs.combine( "/mem/redworks/apis", sFile ) )
- end
- end
- -- Do login code
- redworks.showLogo()
- local user,succ = redworks.doLogin()
- if not succ then
- --Login failed
- term.clear()
- term.setCursorPos(1,5)
- print("login failed.\n\nLocking terminal for 15 seconds")
- local bExit=false
- os.startTimer(15)
- while not bExit do
- falt, sEvent, param = pcall(os.pullEvent)
- if sEvent == "timer" then
- bExit = true
- end
- end
- os.shutdown()
- else
- redworks.setUser(user)
- end
- term.clear()
- term.setCursorPos(1,1)
- print(os.version() .. " with Redworks "..redworks.version().." Terminal ID# " .. os.getComputerID())
- print("Welcome " .. redworks.getUser()..".".. " Current time is "..textutils.formatTime( os.time(), false ))
- term.setCursorPos(1,4)
- ]])
- redworks.close()
- redworks=fs.open("mem/redworks/apis/redworks","w")
- redworks.write([[local user=""
- local locked=false
- -- functions for making read only values
- function version()
- return "1.21"
- end
- function sprint(text)
- textutils.slowPrint(text)
- end
- function waitForKey()
- while true do
- event, param = os.pullEvent()
- if event == "key" then
- break
- end
- end
- return param
- end
- function setUser(sUser)
- if not locked then user=sUser end
- locked=true
- end
- function getUser()
- return user
- end
- function reading()
- sleep(0.5)
- write "."
- end
- function showLogo()
- term.clear()
- term.setCursorPos(1,1)
- print(" " .. os.version() .. " with Redworks "..redworks.version().." Terminal ID# " .. os.getComputerID())
- print(" _ \\ | | ")
- print(" / -_) _' | \\ \\ \\ / _ \\ _| | / (_-< ")
- print(" _|_\\ \\___| \\__,_| \\_/\\_/ \\___/ _| _\\_\\ ___/ ")
- print(" Development Team at http://redworksos.com")
- end
- function showLogo2()
- term.clear()
- print"@@@@@@@ @@@@@@@@ @@@@@@@"
- print"@@! @@@ @@! @@! @@@"
- print"@!@!!@! @!!!:! @!@ !@!"
- print"!!: :!! !!: !!: !!!"
- print":: : : : :: :: :: :::"
- print"@@@ @@@ @@@ @@@@@@ @@@@@@@ @@@ @@@ @@@@@@"
- print"@@! @@! @@! @@! @@@ @@! @@@ @@! !@@ !@@"
- print"@!! !!@ @!@ @!@ !@! @!@!!@! @!@@!@! !@@!!"
- print" !: !!: !! !!: !!! !!: :!! !!: :!! !:!"
- print" ::.: ::: : :. : : : : : ::: ::.: : "
- end
- function doLogin() --returns true if login succeeds, false if it fails
- local sPasswdPath = "ACCOUNTS.F"
- --check we have a login path, if not, what we enter will create the account instead of log in
- if fs.exists( sPasswdPath ) then--Password exists so this is not the first run
- local loginCount=0
- while loginCount < 3 do
- local tPasswd={}
- local file = fs.open(sPasswdPath,"r")
- local sLine = file:readLine()
- while sLine do
- for k, v in string.gmatch(sLine, "(%w+)%s(%w+)") do
- tPasswd[k]=v
- end
- sLine = file:readLine()
- end
- file:close()
- numItems = 0
- for k,v in pairs(tPasswd) do
- numItems = numItems + 1
- end
- if (numItems==0) then
- --no passwords, not first run, so exit with out login.
- print(" ")
- print("To secure this terminal use:\n\nadduser username password")
- sleep(3)
- return "",true
- end
- local ux,uy,px,py=8,8,8,10
- local size,len = 2,10
- rawWriteLoc(ux,uy,"Username:")
- rawWriteLoc(px,py,"Password:")
- textBox(ux+10,uy-1,len,size,false,false,"",true)
- textBox(px+10,py-1,len,size,false,true,"",true)
- local enterPressed = false
- local username,password="",""
- while not enterPressed do
- username, enterPressed=textBox(ux+10,uy-1,len,size,true,false,username,true)
- password, enterPressed=textBox(px+10,py-1,len,size,true,true,"",true)
- end
- if (tPasswd[username]==password) then --Login ok
- return username,true
- else --invalid login
- loginCount=loginCount+1
- rawWriteLoc(ux+10,7,"Invalid login")
- end
- end
- return "",false
- else--This is the first run, ask if they want to secure this box.
- local iSelected, sText = selectWindow(nil,nil,"Lock Terminal",{"Yes","No"})
- clearArea(16,6,17,7)
- local userFocus=true
- if (sText=="Yes") then
- local passwordMatch=false
- local username,password,password2="",""
- while not passwordMatch do
- local ux,uy=12,8
- local px,py=ux,10
- local size,len = 2,10
- rawWriteLoc(ux,uy,"Username:")
- rawWriteLoc(px,py,"Password:")
- rawWriteLoc(px,py+2,"Re-enter:")
- textBox(ux+10,uy-1,len,size,false,false,"xlilcasper",true)
- textBox(px+10,py-1,len,size,false,true,"",true)
- textBox(px+10,py+1,len,size,false,true,"",true)
- local enterPressed = false
- while not enterPressed do
- username, enterPressed=textBox(ux+10,uy-1,len,size,userFocus,false,username,true)
- password, enterPressed=textBox(px+10,py-1,len,size,true,true,"",true)
- password2, enterPressed=textBox(px+10,py+1,len,size,true,true,"",true)
- end
- if (password == password2) then
- passwordMatch = true
- else
- userFocus=false
- rawWriteLoc(ux+1,7,"Passwords do not match")
- end
- end
- --Our passwords match, store them for later.
- tPasswd={}
- tPasswd[username]=password
- local file = io.open(sPasswdPath,"w")
- for user,pass in pairs(tPasswd) do
- file:write(user .. " " .. pass .."\n")
- end
- file:close()
- return username,true
- else --Do not secure
- local file = io.open(sPasswdPath,"w")
- file:close()
- return "",true
- end
- end
- end
- --Helper functions
- --XLC (XLilCaspers) Windows libary included with permissions. Access with redworks.showWindow, redworks.textBox, redworks.selectWindow...
- function rawWriteLoc(x,y,sText)
- term.setCursorPos(x,y)
- term.write(sText)
- end
- function textBox(x,y,len,size,focus,hideChar,default,disableTerm)
- local h=2
- local w=len+3
- local char=""
- local line=""
- if size==1 then
- y=y
- w=len
- for tx=0,w do
- rawWriteLoc(x+tx,y,"_")
- end
- elseif size==2 then
- for tx=0,w do
- rawWriteLoc(x+tx,y+2,"-")
- end
- else
- for ty=0,h do
- for tx=0,w do
- char=" "
- if (ty==0) or (ty==h) then --horizonal line
- if (tx==0 or tx==w) then
- char="+"
- else
- char="-"
- end
- elseif (ty==1) then
- if (tx==0 or tx==w) then
- char="|"
- end
- else--normal line
- if (tx==0 or tx==w) then
- char="|"
- end
- end
- line=line..char
- end
- rawWriteLoc(x,y+ty,line)
- line=""
- end
- end
- if (focus) then
- if size==2 then
- y=y+1
- len=len+3
- elseif size==3 then
- x=x+2
- y=y+1
- end
- term.setCursorPos(x,y)
- term.setCursorBlink(true)
- sText=default or ""
- rawWriteLoc(x,y,sText)
- bExit = false
- local dispText=""
- local clearChar=" "
- if size==1 then clearChar="_" end
- local falt, sEvent, param = nil,nil,nil
- while not bExit do
- if disableTerm then
- falt, sEvent, param = pcall(os.pullEvent)
- else
- sEvent, param = os.pullEvent()
- falt=false
- end
- if sEvent == "key" then
- if param == 28 then
- return sText,true
- elseif param==15 then
- return sText,false
- elseif param == 14 then
- sText = string.sub(sText,1,string.len(sText)-1)
- end
- end
- if sEvent == "char" then
- sText = sText .. param
- end
- local dispChars=string.len(sText)
- if dispChars > len then dispChars=len end
- if not hideChar then
- dispText = string.sub(sText,-len)
- else
- dispText=""
- for n=1,dispChars do
- dispText=dispText.."*"
- end
- dispText = string.sub(dispText,-len)
- end
- dispChars=string.len(dispText)
- for n=dispChars,len do
- dispText=dispText..clearChar
- end
- rawWriteLoc(x,y,dispText)
- term.setCursorPos(x+dispChars,y)
- end
- else
- return sText,true
- end
- end
- function tCopy (tOrig, tTwin)
- if not tTwin then tTwin = { } end
- local tStack = {{tOrig, tTwin}}
- local function copy (tTable, tTarget)
- if not getmetatable(tTarget) then setmetatable(tTarget, getmetatable(tTable)) end
- for k, v in pairs(tTable) do
- if type(v)~='table' then
- tTarget[k] = v
- else
- tTarget[k] = { }
- table.insert(tStack, {tTable[k], tTarget[k]})
- end
- end
- end
- while #tStack>0 do
- copy(tStack[1][1], tStack[1][2])
- table.remove(tStack, 1)
- end
- return tTwin
- end
- function showWindow(x,y,w,h,title,text)
- local sTitle = title or ""
- local sText = text or ""
- width, height = term.getSize()
- sTitle = string.sub(sTitle,1,w-2)
- iTitleStart = ((w/2)-1)-((#sTitle-1)/2)
- if (not x) then
- x=(width-w)/2
- end
- if (not y) then
- y=(height-h)/2
- end
- if (w > width) then w = width end
- if (h > height) then h = height end
- local line=""
- local char=""
- local curChar=1
- local waitForLine=1
- if (sTitle ~= "") then waitForLine = 2 end
- for ty=0,h do
- for tx=0,w do
- char=" "
- if (ty==0) or ((ty==2) and (sTitle ~= "")) or (ty==h) then --horizonal line
- if (tx==0 or tx==w) then
- char="+"
- else
- char="-"
- end
- elseif (ty==1) then
- if (tx==0 or tx==w) then
- char="|"
- else
- --if (tx-iTitleStart < #sTitle+1) and (tx > iTitleStart) then
- -- char = string.sub(sTitle,tx-iTitleStart,tx-iTitleStart)
- --end
- end
- else--normal line
- if (tx==0 or tx==w) then
- char="|"
- end
- end
- line=line..char
- end
- rawWriteLoc(x,y+ty,line)
- line=""
- end
- if (sTitle ~= "") then
- rawWriteLoc(x+iTitleStart+1,y+1,sTitle)
- end
- if (sText ~= "") then
- term.setCursorPos(x+1,y+3)
- local wrapedText = getWrapedText(x+1,y+2,x+w-2,y+h-1,sText)
- local offset = 0
- if (sTitle ~= "") then offset=2 end
- for ty=1,#wrapedText do
- rawWriteLoc(x+1,ty+y+offset,wrapedText[ty])
- if (ty>h-offset-2) then break end
- end
- end
- end
- function getWrapedText(sx,sy,w,h, sText )
- local x,y = sx,sy
- local line = ""
- local wraped = { }
- local function newLine()
- table.insert(wraped,line)
- line=""
- x=sx
- end
- local function storeText(text)
- line=line..text
- return #text
- end
- -- Print the line with proper word wrapping
- while string.len(sText) > 0 do
- local whitespace = string.match( sText, "^[ \t]+" )
- if whitespace then
- -- Print whitespace
- x = x + storeText(whitespace)
- sText = string.sub( sText, string.len(whitespace) + 1 )
- end
- local newline = string.match( sText, "^\n" )
- if newline then
- -- Print newlines
- newLine()
- sText = string.sub( sText, 2 )
- end
- local text = string.match( sText, "^[^ \t\n]+" )
- if text then
- sText = string.sub( sText, string.len(text) + 1 )
- if string.len(text) > w then
- -- Print a multiline word
- while string.len( text ) > 0 do
- if x > w then
- newLine()
- end
- x = x + storeText( text )
- text = string.sub( text, (w-x) + 2 )
- end
- else
- -- Print a word normally
- if x + string.len(text) > w then
- newLine()
- end
- x = x + storeText( text )
- end
- end
- end
- newLine()
- return wraped
- end
- function selectWindow(x,y,title,tOptions,iSelected)
- local w=#title
- local h=1
- local selected=iSelected or 1
- local tOptionsOrg=tCopy(tOptions)
- local width, height = term.getSize()
- for n=1,#tOptions do
- tOptions[n]=" "..tOptionsOrg[n].." "
- if (string.len(tOptions[n])>w) then w=string.len(tOptions[n]) end
- end
- w=w+2
- local sTitle = title or ""
- if (sTitle ~= "") then h = h + 2 end
- h = h + #tOptions
- tOptions[selected]="*"..tOptionsOrg[selected].."*"
- if (not x) then
- x=(width-w)/2
- end
- if (not y) then
- y=(height-h)/2
- end
- showWindow(x,y,w,h,sTitle,table.concat(tOptions,"\n"))
- --loop and capture arrow keys for selecting output.
- bExit = false
- while not bExit do
- event, param = os.pullEvent()
- if event == "key" then
- if param == 197 then --Exit on pause/break
- bExit = true
- elseif param == 208 then
- tOptions[selected]=" "..tOptionsOrg[selected].." " --Clear selection
- selected=selected+1
- if (selected>#tOptions) then selected=1 end
- tOptions[selected]="*"..tOptionsOrg[selected].."*"
- showWindow(x,y,w,h,sTitle,table.concat(tOptions,"\n"))
- elseif param == 200 then
- tOptions[selected]=" "..tOptionsOrg[selected].." " --Clear selection
- selected=selected-1
- if (selected<1) then selected=#tOptions end
- tOptions[selected]="*"..tOptionsOrg[selected].."*"
- showWindow(x,y,w,h,sTitle,table.concat(tOptions,"\n"))
- elseif param == 28 then
- return selected,tOptionsOrg[selected]
- end
- end
- end
- end
- function clearArea(x,y,w,h,char)
- local sChar = char or " "
- for yy=0,h do
- for xx=0,w do
- rawWriteLoc(x+xx,y+yy,sChar)
- end
- end
- end
- --End of windows libary
- function class(base, init)
- local c = {} -- a new class instance
- if not init and type(base) == 'function' then
- init = base
- base = nil
- elseif type(base) == 'table' then
- -- our new class is a shallow copy of the base class!
- for i,v in pairs(base) do
- c[i] = v
- end
- c._base = base
- end
- -- the class will be the metatable for all its objects,
- -- and they will look up their methods in it.
- c.__index = c
- -- expose a constructor which can be called by <classname>(<args>)
- local mt = {}
- mt.__call = function(class_tbl, ...)
- local obj = {}
- setmetatable(obj,c)
- if init then
- init(obj,...)
- else
- -- make sure that any stuff from the base class is initialized!
- if base and base.init then
- base.init(obj, ...)
- end
- end
- return obj
- end
- c.init = init
- c.is_a = function(self, klass)
- local m = getmetatable(self)
- while m do
- if m == klass then return true end
- m = m._base
- end
- return false
- end
- setmetatable(c, mt)
- return c
- end
- window = {}
- window.w,window.h = term.getSize()
- window.midw = window.w/2
- window.midh = window.h/2
- screen = {}
- screen.x = 0
- screen.y = 0
- entity = {}
- entitynum = 1
- function entity.new(a, x, y, t, c, d) -- Adds a new Entity to the execution
- id = entitynum
- entity[id] = {}
- entity[id][1] = {}
- entity[id][1][1] = 'Name'
- entity[id][1][2] = a
- entity[id][2] = {}
- entity[id][2][1] = 'X Position'
- entity[id][2][2] = x -- XPos
- entity[id][3] = {}
- entity[id][3][1] = 'Y Position'
- entity[id][3][2] = y -- YPos
- entity[id][4] = {}
- entity[id][4][1] = 'Character'
- entity[id][4][2] = t -- Text Representing the Entity
- entity[id][5] = {}
- entity[id][5][1] = 'Visibility'
- entity[id][5][2] = c -- Depicts whether the object is visible or not
- entity[id][6] = {}
- entity[id][6][1] = 'Physical'
- entity[id][6][2] = d -- If an object is Physical, it cannot move onto the same spot as a physical object
- -- WARNING: Objects can still be set to physical using entity.setvar(), or by creating an object at the same spot as another object!
- entity[id][7] = {}
- entity[id][7][1] = 'Absolute'
- entity[id][7][2] = false -- Sets whether an object has an absolute position(1 = 1 on screen regardless of screen offset) or not
- entity[id][8] = {}
- entity[id][8][1] = 'Variable Count'
- entity[id][8][2] = 7 -- Counts how many variables there are
- entitynum = entitynum+1
- return id
- end
- function entity.setchar(a, b)
- entity[a][4][2] = b
- end
- function entity.setphys(a, b)
- entity[a][5][2] = b
- end
- function entity.setabs(a, b)
- entity[a][7][2] = b
- end
- function entity.addvar(a, b, c) -- Adds a new variable to an Entity
- varcount = entity[a][8][2] + 1
- entity[a][varcount] = {}
- entity[a][varcount][1] = b
- entity[a][varcount][2] = c
- entity[a][8][2] = varcount
- end
- function entity.remvar(a, b)
- for i in ipairs(entity[a]) do
- if entity[a][i][1] == b then
- table.remove(entity[a], i)
- entity[a][8][2] = entity[a][8][2] - 1
- break
- end
- end
- end
- function entity.setvar(a, b, c)
- for i in ipairs(entity[a]) do
- if entity[a][i][1] == b then
- entity[a][i][2] = c
- break
- end
- end
- end
- function entity.getvar(a, b)
- answer = 0
- for i in ipairs(entity[a]) do
- if entity[a][i][1] == b then
- answer = entity[a][i][2]
- break
- end
- end
- return answer
- end
- function entity.rem(a) -- Removes Entity from the execution
- --Don't know if this is possible or not. Might just zero out the entity. Reason? table.remove() would shift all the higher index entities down, changing their ID's
- end
- function entity.getposx(a) return entity[a][2][2] end
- function entity.getposy(a) return entity[a][3][2] end
- function entity.setpos(a, x, y, r) -- Sets the Entity's Position
- if r ~= nil then
- local resx = entity[a][2][2] + x
- local resy = entity[a][3][2] + y
- if get.locphys(resx,resy) == false then
- entity[a][2][2] = resx
- entity[a][3][2] = resy
- end
- else
- if get.locphys(x,y) == false then
- entity[a][2][2] = x
- entity[a][3][2] = y
- end
- end
- end
- get = {}
- function get.locphys(x, y)
- answer = false
- for i,v in ipairs(entity) do
- if entity[i][6][2] then
- if entity[i][2][2] == x then
- if entity[i][3][2] == y then
- answer = i
- break
- end
- end
- end
- end
- return answer
- end
- function printCenter( y, s ) -- Prints centered text on the screen
- local x = math.floor((w - string.len(s)) / 2)
- term.setCursorPos(x, y)
- term.clearLine()
- term.write( s )
- end
- --Variables
- exec = {}
- exec.active = false
- --Functions
- function exec.quit() -- Ends the current execution
- term.clear()
- exec.active = false
- term.setCursorPos(window.midw-7,window.h)
- term.write('Thanks for using the RinAPI')
- sleep(2)
- term.clear()
- term.setCursorPos(1,1)
- end
- function exec.draw() -- Draws the screen
- term.clear()
- for i,v in ipairs(entity) do
- if entity[i][5][2] == true and entity[i][7][2] == false then
- local x = entity[i][2][2]
- local y = entity[i][3][2]
- term.setCursorPos(x - screen.x, y - screen.y)
- term.write(entity[i][4][2])
- end
- end
- for i,v in ipairs(entity) do
- if entity[i][5][2] == true and entity[i][7][2] == true then
- local x = entity[i][2][2]
- local y = entity[i][3][2]
- term.setCursorPos(x, y)
- term.write(entity[i][4][2])
- end
- end
- end
- function exec.defupdate() -- Default Update, can be overridden for custom draw handling
- term.clear()
- exec.draw()
- end
- function exec.start() -- Starts the current execution
- exec.active = true
- os.startTimer(1/30)
- while exec.active do
- local t,k = os.pullEvent()
- if t == 'timer' then
- if exec.beginstep ~= nil then exec.beginstep() end
- if exec.step ~= nil then exec.step() end
- if exec.endstep ~= nil then exec.endstep() end
- if exec.update ~= nil then exec.update()
- else exec.defupdate() end
- os.startTimer(1/30)
- elseif t == 'key' then
- if k == 14 then
- exec.quit()
- else
- if exec.key ~= nil then exec.key(k) end
- end
- end
- end
- end
- ]])
- redworks.close()
- bundleworks=fs.open("mem/redworks/help/bundleworks","w")
- bundleworks.write([[
- BundleWorks is a Redworks program that tells the computer which redpower wire attached to a bundled cable to activate / deactivate. All you have to do is type the color you wish to toggle the output.
- colors such as: supports all 16 colors: White, Orange, Magenta, LightBlue, Yellow, Lime, Pink, Gray, LightGray, Cyan, Purple, Blue, Brown, Green, Yellow, and Black.
- reset: turns all the wires off.
- all: turns all the wires on.
- quit: quits the program, and shutdown.
- Important: Bundleworks assumes you have the regular
- bundled cable, connected to the back of the computer for output. And the extension of color wire you choose.
- Created by Redworks Developer: FuzzyPurp(streetstar5)
- Visit www.RedworksOS.com for discussions.]])
- bundleworks.close()
- cc_get=fs.open("mem/redworks/help/cc-get","w")
- cc_get.write([[cc-get version 0.1.1
- Usage: cc-get <action> [<program>]
- Actions:
- install <program>
- update
- remove <program>
- list
- ]])
- cc_get.close()
- ccirc=fs.open("mem/redworks/help/ccirc","w")
- ccirc.write([[The Chat App CIM know known as CCirc was developed by Casper7526 on the Minecraft Forums to chat over SSP/SMP MC It now emulates a real IRC client.
- ]])
- ccirc.close()
- circuit=fs.open("mem/redworks/help/circuit","w")
- circuit.write([[Custom Circuitry API is an "api" to aid a mod, that helps add a computer, into a computer game. It was originally created by Casper7526, and maintained by Streetstar5
- It adds a base program (ran from root) called "circuit". When you access this program it will ask you to choose the type of circuit you wish to create. It will give you the options to change the inputs and outputs and any extra data that might be needed with the circuit. It will then create a startup file with the new information automatically and ready to go the next time your computer is rebooted (or by running startup).
- Current Circuits:
- D-FlipFlop, Inverter. -converted by Casper
- Learn How To Code For The API:
- Coding is extremely simple and the only file you have to worry about is the one you wish to create inside the circuit folder. Below explains further.
- --2 - Number of Inputs (Must be 0 if none)
- --2 - Number of Outputs (Must be 0 if none)
- --2 - Number of Extras (Must be 0 if none)
- input = {} - LEAVE ME
- output = {} - LEAVE ME
- extra = {} - LEAVE ME
- input[1] = "bottom" -only need as many here as you have inputs. 0 = no lines here
- input[2] = "right"
- output[1] = "back" -only need as many here as you have outputs. 0 = no lines here
- output[2] = "top"
- extra[1] = "Number of Pulses" -only need as many here as you have extras. 0 = no lines here
- extra[2] = "Speed of Pulses" - The name for extras is what is shown to the user, they change it to a value.
- ----- BELOW HERE IS WHERE YOU CAN START DOING WHATEVER YOU WANT
- print ("Yep")
- print ("Test - "..input[1].." Test - "..output[1])
- print ("Yep")
- ]])
- circuit.close()
- gameapi=fs.open("mem/redworks/help/gameapi","w")
- gameapi.write([[GameAPI is a lightweight and easy to use library that you can use to make games.
- The library uses a system of automatically drawn and bounded actors and it does most of the work that you would have to normally do yourself.
- Because of the graphical limitations of CraftOS, the interface is in an ascii-type style, a text character representing each actor.]])
- gameapi.close()
- intro=fs.open("mem/redworks/help/intro","w")
- intro.write([[Welcome to CraftOS!
- Type "programs" to see the programs you can run.
- Type "help <program>" to see help for a specific program.
- Type "help programming" to learn about programming.
- Type "help whatsnew" to see what's changed in 1.2
- Type "help credits" to learn who made all this.
- Type "help index" to see all help topics.
- ]])
- intro.close()
- login=fs.open("mem/redworks/help/login","w")
- login.write([[Each terminal stores it's own user account
- information. To add and delete accounts on a
- terminal, once logged in, use cc-get program and
- download the addons.
- "cc-get install adduser" "cc-get install deluser"
- These two go hand in hand with our Login system.
- then you can type "adduser username password"
- to remove a name use "deluser username password"]])
- login.close()
- redword=fs.open("mem/redworks/help/redword","w")
- redword.write([[(Red Works Word Processor)
- RedWord is an advanced note-making application specific to RedWorks.
- You can edit, and create files on the fly.
- It can be opened with the command 'redword'.]])
- redword.close()
- redworks=fs.open("mem/redworks/help/redworks","w")
- redworks.write([[To much info to list here. Please visit us
- at our home page www.redworksOS.com]])
- redworks.close()
- GameAPI=fs.open("mem/redworks/libs/GameAPI","w")
- GameAPI.write([[term.clear()
- print "GameAPI r4
- Press Backspace at any time to exit the game."
- sleep(1)
- screen = {}
- screen.width = 40
- screen.height = 15
- screen.actors = {}
- function round(v,int)
- local int = (int~=nil) and int or 1
- local n = v%int
- if n >= int/2 then
- return (v-n)+int
- else
- return (v-n)
- end
- end
- for y=1,screen.height do
- local t = {}
- for x=1,screen.width do
- table.insert(t,' ')
- end
- table.insert(screen.actors,t)
- end
- function draw()
- term.clear()
- for y,v in pairs(screen.actors) do
- local line = ''
- for x,vv in pairs(v) do
- line = line .. vv
- end
- print(line)
- end
- end
- function format(actor)
- if actor.bounded then
- actor.x = (actor.x>1) and actor.x or 1
- actor.x = (actor.x<screen.width) and actor.x or screen.width
- actor.y = (actor.y>1) and actor.y or 1
- actor.y = (actor.y<screen.height) and actor.y or screen.height
- end
- screen.actors[round(actor.y)][round(actor.x)] = actor.char
- return actor
- end
- actor = {}
- function actor:new(x,y,char,b)
- actor.x = x
- actor.y = y
- actor.char = char
- actor.bounded = (b~=nil) and b or true
- screen.actors[round(y)][round(x)] = char
- return format(actor)
- end
- function actor:setPos(x,y)
- screen.actors[actor.y][actor.x] = ' '
- actor.x = x
- actor.y = y
- actor = format(actor)
- end
- function actor:setX(x)
- screen.actors[actor.y][actor.x] = ' '
- actor.x = x
- actor = format(actor)
- end
- function actor:setY(y)
- screen.actors[actor.y][actor.x] = ' '
- actor.y = y
- actor = format(actor)
- end
- function actor:addPos(x,y)
- screen.actors[actor.y][actor.x] = ' '
- actor.x = actor.x + x
- actor.y = actor.y + y
- actor = format(actor)
- end
- function actor:addX(x)
- screen.actors[actor.y][actor.x] = ' '
- actor.x = actor.x + x
- actor = format(actor)
- end
- function actor:addY(y)
- screen.actors[actor.y][actor.x] = ' '
- actor.y = actor.y + y
- actor = format(actor)
- end
- function actor:setChar(char)
- screen.actors[actor.y][actor.x] = char
- actor.char = char
- end
- function actor:destroy()
- screen.actors[actor.y][actor.x] = ' '
- actor = nil
- end
- game = {}
- game.state = 'running'
- function game.quit()
- term.clear()
- game.state = 'dead'
- end
- function game.start()
- os.startTimer(1/30)
- while game.state == 'running' do
- local t,k = os.pullEvent()
- if t == 'timer' then
- draw()
- if game.update ~= nil then game.update() end
- os.startTimer(1/30)
- elseif t == 'key' then
- if k == 14 then
- game.quit()
- else
- if game.key ~= nil then game.key(k) end
- end
- end
- end
- end
- --put the code for your game down here since i can't figure out how to use "require" and "loadfile" is a bitch
- --Brief Explanation of Functions:
- --actor:new(x, y, char[, bounded])
- --returns a new actor at the x and y positions on the terminal
- --bounded is a boolean which will determine whether or not your actor's ---movement is limited to the console window, true by default.
- --actor.x
- --the actor's x position
- --actor.y
- --the actor's y position
- --actor.char
- --the character representing the actor on screen
- --actor.bounded
- --whether or not the actor can go outside the screen
- --actor:setPos(x,y)
- --sets the actor's position
- --**this method and other positioning methods must be used in order for --the actor's position to be updated onscreen
- --actor:addPos(x,y)
- --adds to the actor's position
- --actor:setX(n)
- --sets the actor's x position to n
- --actor:setY(n)
- --sets the actor's y position to n
- --actor:addX(n)
- --adds n to the actor's x position
- --actor:addY(n)
- --adds n to the actor's y position
- --actor:setChar(char)
- --change the actor's character to char
- --game.key(k)
- --user defined, triggered when a key is pressed
- --game.update()
- --user defined, triggered when a new frame is drawn
- --game.start()
- --required for the game to start, obviously
- --**any code after this function will not be ran until the game has stopped
- --game.stop()
- --quit the program
- --Changelog:
- --r1:
- --Released API
- --r4:
- --Added 'game:setChar()' to change an actor's characters
- --Added a 'bounded' attribute if you wanted an actor to be able to go outside the screen.
- --Added 'screen.width' and 'screen.height' as editable attributes to allow for custom widths and heights]])
- GameAPI.close()
- RedBundle=fs.open("mem/redworks/libs/RedBundle","w")
- RedBundle.write([[function leftRed()
- rs.setBundledOutput('left ', rs.getBundledOutput('left') + colors.red)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.red)
- end
- function leftBlue()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.blue)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.blue)
- end
- function leftGreen()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.green)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.green)
- end
- function leftYellow()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.yellow)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.yellow)
- end
- function leftBrown()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.brown)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.brown)
- end
- function leftBlack()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.black)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.black)
- end
- function leftMagenta()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.magenta)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.magenta)
- end
- function leftPurple()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.purple)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.purple)
- end
- function leftOrange()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.orange)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.orange)
- end
- function leftCyan()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.cyan)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.cyan)
- end
- function leftPink()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.pink)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.pink)
- end
- function leftLightgray()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.lightGray)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.lightGray)
- end
- function leftGray()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.gray)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.gray)
- end
- function leftLightblue()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.lightBlue)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.lightBlue)
- end
- function leftLime()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.lime)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.lime)
- end
- function leftWhite()
- rs.setBundledOutput('left', rs.getBundledOutput('left') + colors.white)
- sleep(0.1)
- rs.setBundledOutput('left', rs.getBundledOutput('left') - colors.white)
- end
- function rightRed()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.red)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.red)
- end
- function rightBlue()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.blue)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.blue)
- end
- function rightGreen()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.green)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.green)
- end
- function rightYellow()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.yellow)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.yellow)
- end
- function rightBrown()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.brown)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.brown)
- end
- function rightBlack()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.black)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.black)
- end
- function rightMagenta()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.magenta)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.magenta)
- end
- function rightPurple()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.purple)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.purple)
- end
- function rightOrange()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.orange)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.orange)
- end
- function rightCyan()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.cyan)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.cyan)
- end
- function rightPink()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.pink)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.pink)
- end
- function rightLightgray()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.lightGray)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.lightGray)
- end
- function rightGray()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.gray)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.gray)
- end
- function rightLightblue()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.lightBlue)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.lightBlue)
- end
- function rightLime()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.lime)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.lime)
- end
- function rightWhite()
- rs.setBundledOutput('right', rs.getBundledOutput('right') + colors.white)
- sleep(0.1)
- rs.setBundledOutput('right', rs.getBundledOutput('right') - colors.white)
- end]])
- RedBundle.close()
- adduser=fs.open("mem/redworks/programs/adduser","w")
- adduser.write([[local sPasswdPath = "ACCOUNTS.F"
- params = { ... }
- if #params < 2 then
- error( "Usage: adduser <username> <password>" )
- end
- local tPasswd = { }
- if fs.exists( sPasswdPath ) then
- print("File exists. Loading")
- local file = io.open(sPasswdPath)
- local sLine = file:read()
- while sLine do
- for k, v in string.gmatch(sLine, "(%w+)%s(%w+)") do
- tPasswd[k]=v
- end
- sLine = file:read()
- end
- file:close()
- end
- tPasswd[params[1]].."]]"..[[=params[2]
- local file = io.open(sPasswdPath,"w")
- for user,pass in pairs(tPasswd) do
- file:write(user .. " " .. pass .."\n")
- end
- file:close()
- print("User " .. params[1] .. " has been created.")
- ]])
- adduser.close()
- BundleWorks=fs.open("mem/redworks/programs/BundleWorks","w")
- BundleWorks.write([[--BundleWorks
- --Date created: 1/13/12
- --Version: 1.1
- --Author: FuzzyPurp
- --Info: Built as a standalone, now part of Redworks.
- --BundleWorks is a program to tell the computer which redpower wire to activate / deactivate.
- --colors such as: supports all 16 colors: red, yellow,
- --green, blue, orange, gray purple, white pink, gray,
- --lightbue, lightgray, magenta, cyan, brown, black.
- --reset: turns all the wires off.
- --all: turns all the wires on.
- --quit: quits the program, and shutdown.
- --Important: Bundleworks assumes you have the regular
- --bundled cable, connected to the back of the computer for output. And the extension of color wire you choose.
- --Functions
- function clear()
- term.clear()
- term.setCursorPos(1,1)
- end
- function clear2()
- term.clear()
- term.setCursorPos(1,5)
- end
- function light(color)
- if color=="red" then
- return colors.red,1
- end
- if color=="white" then
- return colors.white,2
- end
- if color=="blue" then
- return colors.blue,3
- end
- if color=="green" then
- return colors.green,4
- end
- if color=="pink" then
- return colors.pink,5
- end
- if color=="orange" then
- return colors.orange,6
- end
- if color=="magenta" then
- return colors.magenta,7
- end
- if color=="lightblue" then
- return 8,8
- end
- if color=="yellow" then
- return colors.yellow,9
- end
- if color=="lime" then
- return colors.lime,10
- end
- if color=="gray" then
- return colors.gray,11
- end
- if color=="quit" then
- clear2()
- print ("Thank you for using FuzzyPurp's BundleWorks!\n\nHave a colorful day : )")
- sleep(2)
- os.shutdown()
- end
- if color=="lightgray" then
- return 256,12
- end
- if color=="cyan" then
- return colors.cyan,13
- end
- if color=="purple" then
- return colors.purple,14
- end
- if color=="brown" then
- return colors.brown,15
- end
- if color=="black" then
- return colors.black,16
- end
- if color=="reset" then
- return (rs.getBundledOutput("back")*(-1))
- end
- if color=="all" then
- return (65535)
- end
- return 0
- end
- ---More Fire!!
- l={}
- for i=1, 16 do
- l[i]=0
- end
- clear()
- while true do
- term.setCursorPos(16,1)
- print"-BundleWorks- 1.1"
- redworks.showWindow(1,8,49,6,"-Choice of Color-","White| Orange| Magenta| LightBlue| Yellow| Lime| Pink| Gray| LightGray| Cyan| Purple| Blue| Brown| Green| Yellow| Black| All|")
- term.setCursorPos(1,17)
- print("Type 'quit' to close, 'reset' all wires Off.")
- term.setCursorPos(1,3)
- write("Toggle which Colored Wire? ")
- term.setCursorPos(28,3)
- a=read()
- num,place=light(a,l)
- if num==rs.getBundledOutput("back")*(-1) then
- rs.setBundledOutput("back", 0)
- clear2()
- print("All Colored Wires are now OFF!")
- for i=1, 16 do
- l[i]=0
- end
- else
- if num==65535 then
- rs.setBundledOutput("back", 65535)
- clear2()
- print("All Colored Wires are now ON!")
- for i=1, 16 do
- l[i]=1
- end
- else
- if num~=0 then
- if l[place]==0 then
- l[place]=1
- else
- l[place]=0
- end
- if l[place]==0 then
- rs.setBundledOutput("back", rs.getBundledOutput("back")-num)
- clear2()
- print("Output for Wire: ".. string.upper(a) .." is now OFF.")
- print(newline)
- else
- rs.setBundledOutput("back", rs.getBundledOutput("back")+num)
- clear2()
- print("Output for Wire: ".. string.upper(a) .." is now ON.")
- print(newline)
- end
- else
- clear2()
- write("Nonsense. Please choose the available.")
- print(newline)
- end
- end
- end
- end
- ]])
- BundleWorks.close()
- Calculator=fs.open("mem/redworks/programs/Calculator","w")
- Calculator.write([[term.clear()
- term.setCursorPos(1,1)
- print ("Redworks Calculator\n")
- print ("Type an equation and press Enter\n")
- local tEnv = {
- ["exit"] = function()
- bRunning = false
- end,
- }
- setmetatable( tEnv, { __index = getfenv() } )
- local s = io.read()
- local nForcePrint = 0
- local func, e = loadstring( s )
- local func2, e2 = loadstring( "return "..s )
- if not func then
- if func2 then
- func = func2
- e = nil
- nForcePrint = 1
- end
- else
- if func2 then
- func = func2
- end
- end
- if func then
- setfenv( func, tEnv )
- local tResults = { pcall( func ) }
- if tResults[1] then
- local n = 1
- while (tResults[n + 1] ~= nil) or (n <= nForcePrint) do
- print( tostring( tResults[n + 1] ) )
- n = n + 1
- end
- else
- print( tResults[2] )
- end
- else
- print( e )
- end
- ]])
- Calculator.close()
- Circuit=fs.open("mem/redworks/programs/Circuit","w")
- Circuit.write([[function clear()
- term.clear()
- term.setCursorPos(1,1)
- end
- local running = true
- while running do
- clear()
- print ("Which circuitry would you like?\n")
- shell.run( "ls", "/mem/redworks/programs/circuits/" )
- print()
- choice = io.read()
- choice = string.lower(choice)
- cname = choice
- choice = "/mem/redworks/programs/circuits/"..choice
- if fs.exists(choice) then
- break
- else
- print ("\nNo circuit found by that name.\n")
- end
- end
- sFile = ("logic/"..cname)
- sPath = shell.resolve(sFile)
- if fs.exists(sPath) then
- fs.delete( "logic/"..cname )
- end
- clear()
- fs.makeDir("/logic")
- fs.copy( choice, "logic/"..cname )
- local tLines = {}
- local file = io.open( "logic/"..cname, "r" )
- local sLine = file:read()
- while sLine do
- table.insert( tLines, sLine )
- sLine = file:read()
- end
- file:close()
- table.insert( tLines, "" )
- term.setCursorPos(1,1)
- print (tLines[1])
- print (tLines[2])
- print (tLines[3])
- print""
- tLines[1] = string.sub(tLines[1],string.len(tLines[1]), -1)
- tLines[2] = string.sub(tLines[2],string.len(tLines[2]), -1)
- tLines[3] = string.sub(tLines[3],string.len(tLines[3]), -1)
- numinputs = tonumber(tLines[1])
- numoutputs = tonumber(tLines[2])
- numextras = tonumber(tLines[3])
- a = 7
- b = a + numinputs
- print ("=-=| "..cname.." |=-=")
- print ("\nDefault Inputs are:")
- while a < b do
- s = string.sub(tLines[a], 13, -1)
- s = string.sub(s, 1, string.len(s) - 1)
- print (s)
- a = a + 1
- end
- print ("Default Outputs are:")
- b = a + numoutputs
- while a < b do
- s = string.sub(tLines[a], 14, -1)
- s = string.sub(s, 1, string.len(s) - 1)
- print (s)
- a = a + 1
- end
- if numextras > 0 then
- aa = a - 1
- a = 1
- print ("")
- while a <= numextras do
- s = string.sub(tLines[aa + a], 13, -1)
- s = string.sub(s, 1, string.len(s) - 1)
- print ("Enter a setting for - "..s)
- choice = io.read()
- tLines[aa + a] = "extra["..a.."] = \""..choice.."\""
- a = a + 1
- end
- end
- print ("\nWant to change the "..cname.."'s I/O settings?\n(y)es (n)o")
- choice = io.read()
- choice = string.lower(choice)
- if choice == "y" then
- c = 1
- results = ""
- print ("(right - left - back - front - top - bottom)")
- while c <= numinputs do
- print ("New Input for #"..c)
- choice = io.read()
- choice = string.lower(choice)
- tLines[c + 6] = "Input["..c.."] = \""..choice.."\""
- results = results.."Input #"..c.." set to - "..choice.."\n"
- c = c + 1
- end
- c = 1
- while c <= numoutputs do
- print ("New Output for #"..c)
- choice = io.read()
- choice = string.lower(choice)
- tLines[c + 6 + numinputs] = "Output["..c.."] = \""..choice.."\""
- results = results.."Output #"..c.." set to - "..choice.."\n"
- c = c + 1
- end
- term.clear()
- print ("\n"..results)
- print ("A ["..cname.."] circuit has been installed successfully.\n")
- else
- print ("\nA ["..cname.."] circuit has been installed successfully with default settings.\n")
- end
- print (" Type [ logic/"..cname.." ] to run the circuit. ")
- table.remove (tLines , 1)
- table.remove (tLines , 1)
- table.remove (tLines , 1)
- local file = io.open( "logic/"..cname, "w" )
- for n, sLine in ipairs( tLines ) do
- file:write( sLine .. "\n" )
- end
- file:close()
- ]])
- Circuit.close()
- deluser=fs.open("mem/redworks/programs/deluser","w")
- deluser.write([[local sPasswdPath = "ACCOUNTS.F"
- params = { ... }
- if #params < 1 then
- error( "Usage: deluser <username>" )
- end
- local tPasswd = { }
- if fs.exists( sPasswdPath ) then
- print("File exists. Loading")
- local file = io.open(sPasswdPath)
- local sLine = file:read()
- while sLine do
- for k, v in string.gmatch(sLine, "(%w+)%s(%w+)") do
- tPasswd[k]=v
- end
- sLine = file:read()
- end
- file:close()
- end
- tPasswd[params[1]].."]]"..[[=nil
- local file = io.open(sPasswdPath,"w")
- for user,pass in pairs(tPasswd) do
- file:write(user .. " " .. pass .."\n")
- end
- file:close()
- print("User " .. params[1] .. " has been deleted.")
- ]])
- deluser.close()
- GetKeyCode=fs.open("mem/redworks/programs/GetKeyCode","w")
- GetKeyCode.write([[term.clear()
- term.setCursorPos(1,1)
- print("Press a key")
- while true do
- event, param = os.pullEvent()
- if event == "key" then
- print("Keycode is " .. param)
- break
- end
- sleep(0.5)
- end]])
- GetKeyCode.close()
- Lock=fs.open("mem/redworks/programs/Lock","w")
- Lock.write([[function clear()
- term.clear()
- term.setCursorPos(18,5)
- term.setCursorBlink( false )
- end
- function reading()
- sleep(0.5)
- write "."
- end
- clear()
- write "Logging out"
- for n=1,5 do
- reading()
- end
- sleep(1)
- term.setCursorBlink( false )
- term.setCursorPos(1,3)
- redworks.showLogo2()
- term.setCursorPos(1,17)
- print"Terminal is locked. Press ENTER to log in."
- -- disables terminate key
- while true do
- fault, event, param1, param2, param3 = pcall(os.pullEvent)
- if fault == false then
- elseif event == "key" and param1 == 28 then
- break end
- end
- os.reboot()]])
- Lock.close()
- MineDwarf=fs.open("mem/redworks/programs/MineDwarf","w")
- MineDwarf.write([[shell.run('mem/redworks/apis/redworks')
- --Sprites
- psprite = {}
- psprite.up = '^'
- psprite.down = 'V'
- psprite.right = '>'
- psprite.left = '<'
- psprite.select = '-->'
- --Functions
- player = entity.new('Player', 5, 5, psprite.up, true, true)
- entity.addvar(player, 'num', 1)
- title = entity.new('title', 1, 1, 'MineDwarf: Beginnings Press Backspace to Exit', true, false)
- entity.setabs(title, true)
- debug = entity.new('Debug', 2, 2, ' ', true, false)
- entity.setabs(debug, true)
- commands = entity.new('Command Bar', 1, window.h, 'E: Interact', true, false)
- entity.setabs(commands, true)
- wall = {}
- wallnum = 1
- function wall.new(x,y)
- wall[wallnum] = entity.new('Wall', x, y, '=', true, true )
- wallnum = wallnum+1
- end
- room = {}
- function room.new(x1,y1,x2,y2)
- write('newroom')
- i=0
- while i < x2-x1+1 do
- wall.new(x1+i,y1)
- i= i+1
- end
- i=0
- while i < x2-x1+1 do
- wall.new(x1+i,y2)
- i= i+1
- end
- i=0
- while i < y2-y1+1 do
- if i ~= 4 then
- wall.new(x1, y1+i)
- end
- i= i+1
- end
- i=0
- while i < y2-y1+1 do
- wall.new(x2, y1+i)
- i= i+1
- end
- end
- room.new(7,7,15,15)
- --||||| KEY EXECUTION |||||
- function exec.key(k)
- --Up
- if k == 17 then
- entity.setpos( player, 0, -1, true )
- entity.setvar(player, 'num', entity.getvar(player, 'num') + 1 )
- entity.setchar( player, psprite.up )
- end
- --Down
- if k == 31 then
- entity.setpos( player, 0, 1, true )
- entity.setvar(player, 'num', entity.getvar(player, 'num') + 1 )
- entity.setchar( player, psprite.down )
- end
- --Left
- if k == 30 then
- entity.setpos( player, -1, 0, true )
- entity.setvar(player, 'num', entity.getvar(player, 'num') + 1 )
- entity.setchar( player, psprite.left )
- end
- --Right
- if k == 32 then
- entity.setpos( player, 1, 0, true )
- entity.setvar(player, 'num', entity.getvar(player, 'num') + 1 )
- entity.setchar( player, psprite.right )
- end
- if k == 18 then
- check = false
- local x = entity.getposx(player)
- local y = entity.getposy(player)
- local facing = entity.getvar(player, 'Character')
- if facing == psprite.up then
- check = get.locphys(x, y-1)
- elseif facing == psprite.down then
- check = get.locphys(x, y+1)
- elseif facing == psprite.right then
- check = get.locphys(x+1, y)
- elseif facing == psprite.left then
- check = get.locphys(x-1, y)
- end
- if check then
- check = entity.getvar(check, 'Name')
- if check == 'Wall' then
- entity.setchar(debug, "That's a wall")
- time.text = 1
- end
- end
- end
- --Screen
- --Up
- if k == 200 then
- screen.y = screen.y - 1
- end
- --Down
- if k == 208 then
- screen.y = screen.y + 1
- end
- --Left
- if k == 203 then
- screen.x = screen.x - 1
- end
- --Right
- if k == 205 then
- screen.x = screen.x + 1
- end
- end
- time = {}
- time.text = 0
- function exec.step()
- if time.text ~= 0 then
- time.text = time.text+1
- end
- if time.text == 50 then
- time.text = 0
- entity.setchar(debug, ' ')
- end
- --Window Follow
- screen.x = entity.getposx(player) - window.midw
- screen.y = entity.getposy(player) - window.midh
- end
- exec.start()
- ]])
- MineDwarf.close()
- MinePedia=fs.open("mem/redworks/programs/MinePedia","w")
- MinePedia.write([[term.clear()
- term.setCursorPos(1,1)
- tArgs = { ... }
- if #tArgs > 0 then
- sTopic = tArgs[1]
- else
- sTopic = "intro"
- end
- local w,h = term.getSize()
- local file = io.open( "mem/redworks/minepedia/"..sTopic )
- if file then
- local sLine = file:read()
- local nLines = 0
- while sLine do
- print( sLine )
- nLines = nLines + 1
- if nLines >= h then
- term.write( "Press any key to continue." )
- repeat
- local event = os.pullEvent()
- until event == "key"
- term.clearLine()
- local x,y = term.getCursorPos()
- term.setCursorPos(1,y)
- end
- sLine = file:read()
- end
- file:close()
- else
- print( "No data available. Type 'minepedia list'" )
- end
- ]])
- MinePedia.close()
- RedWord=fs.open("mem/redworks/programs/RedWord","w")
- RedWord.write([[--Made by kijzeer
- --Version 1.2
- term.setCursorBlink(true)
- local sNew = "| [Make new file] Open existing file |"
- local sOpen = "| Make new file [Open existing file] |"
- local sYes = "| [Yes] No |"
- local sNo = "| Yes [No] |"
- local sSave = "| [Save] Quit Save & Quit |"
- local sQuit = "| Save [Quit] Save & Quit |"
- local sSaveAndQuit = "| Save Quit [Save & Quit] |"
- local iMenuXCor = 0
- local sFile = ""
- local sLine = ""
- local tLines = {}
- local iScrollX, iScrollY = 0,0
- local x, y = 1,1
- local w, h = term.getSize()
- local function fMenuXCor()
- iMenuXCor = (w/2)-21
- end
- local function fCheckDir()
- if not fs.isDir("/files") then
- fs.makeDir("/files")
- end
- if shell.dir() ~= "/files" then
- shell.setDir("/files")
- end
- end
- local function fExitDir()
- term.clear()
- shell.setDir("")
- end
- local function fOpenNew()
- tLines = {}
- table.insert(tLines, "")
- end
- local function fMenuNotExist()
- term.clear()
- term.setCursorBlink(false)
- local sYesOrNo = sYes
- term.setCursorPos(iMenuXCor,6)
- write(" ___________________________________________")
- term.setCursorPos(iMenuXCor,7)
- write("| |")
- term.setCursorPos(iMenuXCor,8)
- write("| Error: File doesn't exist. |")
- term.setCursorPos(iMenuXCor,9)
- write("| Do you want to make it? |")
- term.setCursorPos(iMenuXCor,10)
- write("| |")
- term.setCursorPos(iMenuXCor,11)
- write(sYesOrNo)
- term.setCursorPos(iMenuXCor,12)
- write("|___________________________________________|")
- repeat
- local sEvent, param = os.pullEvent()
- if sEvent == "key" then
- param = tostring(param)
- if param == "203" or param == "205" then
- if sYesOrNo == sYes then
- sYesOrNo = sNo
- term.setCursorPos(iMenuXCor,11)
- write(sYesOrNo)
- elseif sYesOrNo == sNo then
- sYesOrNo = sYes
- term.setCursorPos(iMenuXCor,11)
- write(sYesOrNo)
- end
- end
- end
- until param == "28"
- if sYesOrNo == sYes then
- bExit = false
- fOpenNew()
- elseif sYesOrNo == sNo then
- bExit = true
- end
- end
- local function fLoad()
- sPath = shell.resolve(sFile)
- if fs.exists( sPath ) then
- local file = io.open( sPath , "r")
- local sLine = file:read()
- while sLine do
- table.insert(tLines, sLine)
- sLine = file:read()
- end
- file:close()
- else
- fMenuNotExist()
- end
- end
- local function fMenuNew()
- term.clear()
- term.setCursorBlink(false)
- term.setCursorPos(iMenuXCor,1)
- write(" ___________________________________________")
- term.setCursorPos(iMenuXCor,2)
- write("| |")
- term.setCursorPos(iMenuXCor,3)
- write("| How do you want to call the file? |")
- term.setCursorPos(iMenuXCor,4)
- write("| |")
- term.setCursorPos(iMenuXCor,5)
- write("| |")
- term.setCursorPos(iMenuXCor,6)
- write("|___________________________________________|")
- term.setCursorPos(iMenuXCor+6,5)
- sFile = io.read()
- sFileExt = string.sub(sFile, -3)
- if sFileExt ~= ".txt" then
- sFile = sFile..".txt"
- end
- sPath = shell.resolve(sFile)
- if fs.exists(sPath) then
- term.clear()
- local sYesOrNo = sYes
- term.setCursorPos(iMenuXCor,6)
- write(" ___________________________________________")
- term.setCursorPos(iMenuXCor,7)
- write("| |")
- term.setCursorPos(iMenuXCor,8)
- write("| Error: File already exist. |")
- term.setCursorPos(iMenuXCor,9)
- write("| Do you want to edit it? |")
- term.setCursorPos(iMenuXCor,10)
- write("| |")
- term.setCursorPos(iMenuXCor,11)
- write(sYesOrNo)
- term.setCursorPos(iMenuXCor,12)
- write("|___________________________________________|")
- repeat
- local sEvent, param = os.pullEvent()
- if sEvent == "key" then
- param = tostring(param)
- if param == "203" or param == "205" then
- if sYesOrNo == sYes then
- sYesOrNo = sNo
- term.setCursorPos(iMenuXCor,11)
- write(sYesOrNo)
- elseif sYesOrNo == sNo then
- sYesOrNo = sYes
- term.setCursorPos(iMenuXCor,11)
- write(sYesOrNo)
- end
- end
- end
- until param == "28"
- if sYesOrNo == sYes then
- bExit = false
- fLoad()
- elseif sYesOrNo == sNo then
- bExit = true
- end
- else
- fOpenNew()
- end
- term.setCursorBlink(true)
- end
- local function fMenuOpen()
- term.clear()
- term.setCursorBlink(false)
- term.setCursorPos(1,8)
- write("Files:")
- term.setCursorPos(iMenuXCor,10)
- shell.run("ls")
- term.setCursorPos(iMenuXCor,1)
- write(" ___________________________________________")
- term.setCursorPos(iMenuXCor,2)
- write("| |")
- term.setCursorPos(iMenuXCor,3)
- write("| Which file do you want to open? |")
- term.setCursorPos(iMenuXCor,4)
- write("| |")
- term.setCursorPos(iMenuXCor,5)
- write("| |")
- term.setCursorPos(iMenuXCor,6)
- write("|___________________________________________|")
- term.setCursorPos(iMenuXCor+7,5)
- term.setCursorBlink(true)
- sFile = read()
- sFileExt = string.sub(sFile, -3)
- if sFileExt ~= ".txt" then
- sFile = sFile..".txt"
- end
- sPath = shell.resolve(sFile)
- local file = io.open( sPath , "r")
- local sLine = file:read()
- while sLine do
- table.insert(tLines, sLine)
- sLine = file:read()
- end
- file:close()
- bExit = false
- end
- local function fMenuStart()
- local sChoose = sNew
- fMenuXCor()
- term.clear()
- term.setCursorBlink(false)
- term.setCursorPos(iMenuXCor,6)
- write(" ___________________________________________")
- term.setCursorPos(iMenuXCor,7)
- write("| |")
- term.setCursorPos(iMenuXCor,8)
- write("| Welcome to the RedworksOS Word Processor, |")
- term.setCursorPos(iMenuXCor,9)
- write("| what do you want to do? |")
- term.setCursorPos(iMenuXCor,10)
- write("| |")
- term.setCursorPos(iMenuXCor,11)
- write(sChoose)
- term.setCursorPos(iMenuXCor,12)
- write("| |")
- term.setCursorPos(iMenuXCor,13)
- write("| To access menu press Ctrl. |")
- term.setCursorPos(iMenuXCor,14)
- write("|___________________________________________|")
- repeat
- local sEvent, param = os.pullEvent()
- if sEvent == "key" then
- param = tostring(param)
- if param == "203" or param == "205" then
- if sChoose == sNew then
- sChoose = sOpen
- term.setCursorPos(iMenuXCor,11)
- write(sChoose)
- elseif sChoose == sOpen then
- sChoose = sNew
- term.setCursorPos(iMenuXCor,11)
- write(sChoose)
- end
- end
- end
- until param == "28"
- if sChoose == sOpen then
- term.clear()
- fMenuOpen()
- elseif sChoose == sNew then
- term.clear()
- fMenuNew()
- end
- term.setCursorBlink(true)
- end
- local function fMenuExit()
- term.clear()
- term.setCursorBlink(false)
- local sSaveOrQuit = sSave
- term.setCursorPos(iMenuXCor,6)
- write(" ___________________________________________")
- term.setCursorPos(iMenuXCor,7)
- write("| |")
- term.setCursorPos(iMenuXCor,8)
- write("| What do you want to do? |")
- term.setCursorPos(iMenuXCor,9)
- write("| |")
- term.setCursorPos(iMenuXCor,10)
- write(sSaveOrQuit)
- term.setCursorPos(iMenuXCor,11)
- write("|___________________________________________|")
- repeat
- local sEvent, param = os.pullEvent()
- if sEvent == "key" then
- if param == 203 then
- if sSaveOrQuit == sSave then
- sSaveOrQuit = sSaveAndQuit
- term.setCursorPos(iMenuXCor,10)
- write(sSaveOrQuit)
- elseif sSaveOrQuit == sQuit then
- sSaveOrQuit = sSave
- term.setCursorPos(iMenuXCor,10)
- write(sSaveOrQuit)
- elseif sSaveOrQuit == sSaveAndQuit then
- sSaveOrQuit = sQuit
- term.setCursorPos(iMenuXCor,10)
- write(sSaveOrQuit)
- end
- elseif param == 205 then
- if sSaveOrQuit == sSave then
- sSaveOrQuit = sQuit
- term.setCursorPos(iMenuXCor,10)
- write(sSaveOrQuit)
- elseif sSaveOrQuit == sQuit then
- sSaveOrQuit = sSaveAndQuit
- term.setCursorPos(iMenuXCor,10)
- write(sSaveOrQuit)
- elseif sSaveOrQuit == sSaveAndQuit then
- sSaveOrQuit = sSave
- term.setCursorPos(iMenuXCor,10)
- write(sSaveOrQuit)
- elseif param == 29 or param == 157 then
- end
- end
- end
- until param == 28 or param == 29 or param == 157
- while true do
- if param == 29 or param == 157 then
- break
- elseif sSaveOrQuit == sSave then
- fSave()
- term.setCursorBlink(true)
- bExit = false
- break
- elseif sSaveOrQuit == sQuit then
- bExit = true
- break
- elseif sSaveOrQuit == sSaveAndQuit then
- bExit = true
- fSave()
- break
- end
- end
- end
- function fSave()
- local file = io.open( sPath, "w" )
- if file then
- for n, sLine in ipairs( tLines ) do
- file:write( sLine .. "\n" )
- end
- file:close()
- end
- end
- local function fPrintText()
- for y=1,h do
- term.setCursorPos( 1 - iScrollX, y )
- term.clearLine()
- local sLine = tLines[ y + iScrollY ]
- if sLine ~= nil then
- write( sLine )
- end
- end
- term.setCursorPos( x - iScrollX, y - iScrollY )
- end
- local function fPrintLine()
- local sLine = tLines[y]
- term.setCursorPos( 1 - iScrollX, y - iScrollY )
- term.clearLine()
- term.write( sLine )
- term.setCursorPos( x - iScrollX, y - iScrollY )
- end
- local function fSetCursor(x, y)
- local screenX = x - iScrollX
- local screenY = y - iScrollY
- if screenX < 1 then
- iScrollX = x - 1
- screenX = 1
- fPrintText()
- elseif screenX > w then
- iScrollX = x - w
- screenX = w
- fPrintText()
- end
- if screenY < 1 then
- iScrollY = y - 1
- screenY = 1
- fPrintText()
- elseif screenY > h then
- iScrollY = y - (h)
- screenY = h
- fPrintText()
- end
- term.setCursorPos( screenX, screenY )
- end
- fCheckDir()
- fMenuStart()
- term.clear()
- term.setCursorPos(x,y)
- term.setCursorBlink(true)
- fPrintText()
- while true do
- if not bExit then
- local sEvent, param = os.pullEvent()
- if sEvent == "key" then
- if param == 200 then
- if y > 1 then
- y = y - 1
- x = math.min( x, string.len( tLines[y] ) + 1 )
- fSetCursor( x, y )
- end
- elseif param == 208 then
- if y < #tLines then
- y = y + 1
- x = math.min( x, string.len( tLines[y] ) + 1 )
- fSetCursor( x, y )
- end
- elseif param == 203 then
- if x > 1 then
- x = x - 1
- fSetCursor( x, y )
- end
- elseif param == 205 then
- if x < string.len( tLines[y] ) + 1 then
- x = x + 1
- fSetCursor( x, y )
- end
- elseif param == 14 then
- if x > 1 then
- local sLine = tLines[y]
- tLines[y] = string.sub(sLine,1,x-2) .. string.sub(sLine,x)
- fPrintLine()
- x = x - 1
- fSetCursor( x, y )
- elseif y > 1 then
- local sPrevLen = string.len( tLines[y-1] )
- tLines[y-1] = tLines[y-1] .. tLines[y]
- table.remove( tLines, y )
- fPrintText()
- x = sPrevLen + 1
- y = y - 1
- fSetCursor( x, y )
- end
- elseif param == 28 then
- local sLine = tLines[y]
- tLines[y] = string.sub(sLine,1,x-1)
- table.insert( tLines, y+1, string.sub(sLine,x) )
- fPrintText()
- x = 1
- y = y + 1
- fSetCursor( x, y )
- elseif param == 29 or param == 157 then
- fMenuExit()
- if bExit then
- break
- else
- fPrintText()
- end
- elseif param == 199 then
- y = 1
- x = string.len( tLines[y] ) + 1
- fSetCursor(x, y)
- elseif param == 207 then
- y = # tLines
- x = string.len( tLines[y] ) + 1
- fSetCursor(x, y)
- elseif param == 201 then
- if y > h then
- y = y - h
- else
- y = 1
- end
- if y < 1 then
- y = 1
- end
- x = string.len( tLines[y] ) + 1
- fSetCursor(x, y)
- elseif param == 209 then
- if # tLines > h then
- y = y + h
- else
- y = #tLines
- end
- if y > # tLines then
- y = #tLines
- end
- x = string.len( tLines[y] ) + 1
- fSetCursor(x, y)
- elseif param == 15 then
- local sLine = tLines[y]
- tLines[y] = string.sub(sLine,1,x-1) .. " " .. string.sub(sLine,x)
- fPrintLine()
- x = x + 4
- fSetCursor(x, y)
- elseif param == 211 then
- if x < string.len(tLines[y]) + 1 then
- local sLine = tLines[y]
- tLines[y] = string.sub(sLine,1,x-1) .. string.sub(sLine,x+1)
- fPrintLine()
- fSetCursor( x, y )
- elseif x == string.len(tLines[y]) + 1 then
- if y < #tLines then
- tLines[y] = tLines[y] .. tLines[y+1]
- table.remove( tLines, y + 1 )
- fPrintText()
- fSetCursor( x, y )
- end
- end
- end
- elseif sEvent == "char" then
- local sLine = tLines[y]
- tLines[y] = string.sub(sLine,1,x-1) .. param .. string.sub(sLine,x)
- fPrintLine()
- x = x + string.len( param )
- fSetCursor(x, y)
- end
- else
- break
- end
- end
- fExitDir()
- term.clear()
- term.setCursorBlink(false)
- term.setCursorPos(1,1)
- ]])
- RedWord.close()
- Tutorial=fs.open("mem/redworks/programs/Tutorial","w")
- Tutorial.write([[-- BaseLine Variables
- CurrentChapter = 1
- CurrentSection = 1
- ChapterTitles = {
- "How to Create a Program",
- "How to Display and clear Text",
- "How to Use and Display Variables",
- "How to get User Input",
- "How to use IF statements",
- "How to use loops",
- "How to use redstone",
- "How to use redpower bundles",
- "How to use events",
- "How to use functions",
- "Extra Tips and Extra Functions"
- }
- Chapter = {
- [1] = {
- "Key Points in this Chapter:\n1. Learning how to create a program.\n2. Learning how to save that program.\n3. Learning how to run that program.",
- "1.1 - Learning how to create a program.\n\nOk so first things first right? We gotta learn how to create our first program. Creating a program is very simple in CC.\n\nedit programname\n\nedit means we want to create or edit program, and programname is the name of the program we wish to edit or create.",
- "1.2 - Learning how to save that program.\n\nSo now your inside the editing feature of CC and you can move around almost like a notepad. We want to press the [Control] key which will bring up a menu at the bottom of your screen. Pressing the [Left] and [Right] arrow keys will change your selection in this menu. [SAVE] will save the program. [QUIT] will quit editing the program. By pressing [ENTER] we can choose our selection.",
- "1.3 - Learning how to run that program.\n\nWe've created our little program, but how do we run it? Well thats simple. We type the program name into our terminal and press [ENTER], but remember all things in LUA are case-sensitive. Your program named \"Hello\" is not the same as your program named \"hello\".",
- "1.4 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [2] = {
- "Key Points in this Chapter:\n1. How to use print\n2. How to use write\n3. How to clear the screen.\n4. How to use the cursor position.\n5. How to clear a specific line.",
- "2.1 - How to use print.\n\nTo show text to the user is a simple task. We do so by the following.\n\nprint (\"Hello User\")\n\nprint means to display the text to the user, and Hello User is the text we wish to display.",
- "2.2 - How to use write.\n\nWhen you print text, the program automatically adds a linebreak after your print command, sometimes you may not wish to do this.\n\nwrite (\"Hello\")\nprint (\"User\")\n\nThese two lines would make the exact same appearance as the print line we made previously. The reason is because the write command does not generate a linebreak and we can use this to keep our current position and continue writing on the same line.",
- "2.3 - How to clear the screen.\nQuite often you'll want to clear the screen automatically in your program.\n\nterm.clear()\n\nUsing this line we can clear the screen for our user to remove anything we don't want cluttering up the screen.",
- "2.4 - How to use the cursor position.\nThe cursor position is a very powerful thing. For example, when you clear the screen, the cursor still stays on it's previous line. Meaning that after you clear the screen, your next print statement very well may appear at the bottom of the screen.",
- "2.4 - How to use the cursor position.\nTo remedy this problem we've been given the command.\n\nterm.setCursorPos(1,1)\n\nThe first 1 in our statment is the horizontal position and the second 1 on our statement is the vertical posistion.",
- "2.4 - How to use the cursor position.\nBy using the term.setCursorPos(1,1) directly after a term.clear(), we can make sure that the next text we show the user appears at the top of his screen.\n\nRemember, lua is case sensitive. term.setcursorpos(1,1) is not right.",
- "2.5 - How to clear a specific line.\nBy using the term.setCursorPos we can create some pretty nifty tricks, like reprinting over lines already on the screen, or even clearing a certain line and printing something new.",
- "2.5 - How to clear a specific line.\nterm.setCursorPos(1,1)\nprint (\"You won't see this\")\nterm.setCursorPos(1,1)\nterm.clearLine()\nprint (\"Hello User\")\n\nWe used the term.clearLine() to remove the line at 1,1 and then we printed a new line where the old line used to be.",
- "2.6 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [3] = {
- "Key Points in this Chapter:\n1. What is a variable\n2. How to use a variable\n3. How to display a variable\n4. How to convert a variable",
- "3.1 - What is a variable.\n\nThink of a variable as a container in which you can place text or a number. Using variables allows you to store information and modify it on the fly. Using variables correctly is the key to making a sucessful program.",
- "3.2 - How to use a variable.\n\nThe first thing we should almost always do when we want to use a variable in a program is to define the variable. We do this by giving the variable a default piece of data. If we don't define a variable then the variable is considered NIL until it has been set.",
- "3.2 - How to use a variable.\n\nA NIL variable can cause lots of problems in your program, if you try to add together 2 variables and one is NIL, you'll get an error, if you try printing a NIL variable you'll get an error.",
- "3.2 - How to use a variable.\n\nWe'll be using the variable x from this point onward. Remember that x is different then X in lua.\n\nx = 0\n\nThis defined x to have a default value of 0. You could also do x = \"hello\" if you wanted it to contain text.",
- "3.2 - How to use a variable.\n\nA variable will hold it's data until you change it. Therefor x = 0 means that x will be 0 until you tell your program that x is something different.",
- "3.2 - How to use a variable.\n\nYou can also set variables as booleans, booleans are true and false.\nx = true\nThis would set x to true, which is different then \"true\". Using booleans gives you 1 more way to define a variable to be used later in your program.",
- "3.3 - How to display a variable.\n\nBeing able to show a variable to the user is very important. Who wants to just save the user's name in a variable, but not show it to them during the program? When displaying variables we can use the print or write commands.",
- "3.3 - How to display a variable.\nx = 0\nprint (x)\nx = \"Bob\"\nprint (\"Hello\"..x)\n\nYou'll notice in the last line that we used our x variable along with another piece of text. To do so we used .. which tells the program to add the x variable directly after the word Hello. In this syntax that would show the user HelloBob since we didn't add a space ;)",
- "3.3 - How to display a variable.\n\nRemember variables are case sensitive, and that variable1 is different then Variable1.\nIf you wanted to place a variable inbetween text you could do.\n\nprint (\"Hello \"..x..\" how are you?\")\n\nThis would print Hello Bob how are you?",
- "3.4 - How to convert a variable.\n\nSometimes a variable might need to be converted, this is mainly the case when you want to use the variable as a number, but it's currently a string. For example:\nx = \"0\"\nx = x + 1\n\nThis will not work, as x equals \"0\"",
- "3.4 - How to convert a variable.\n\nThe difference between 0 and \"0\" is that one is a number and the other is a string. You can't use the basic math functions on strings. Lua can convert a number to a string automatically but it cannot convert a string to a number automatically.",
- "3.4 - How to convert a variable.\n\nx = 0\ny = \"1\"\nWe can't add those together atm, so we need to convert our string to a number so that we can add it to x.\ny = tonumber(y)\nThis converts y to a number (if it can't be converted to a number then y will be NIL)",
- "3.4 - How to convert a variable.\n\nNow that we've converted y to a number we can do.\nx = x + y\nThis would make x equal to x(0) + y(1). This means that x is now equal to 1 and y hasn't changed so it's still 1 as well.",
- "3.4 - How to convert a variable.\n\nIf we want to add a string to another string, we don't use the math symbols, we simply use ..\nx = \"Hello\"\ny = \"Bob\"\nx = x..y\nThis would make x = \"HelloBob\"",
- "3.4 - How to convert a variable.\n\nRemember that Lua can convert a number to a string, but not the other way around. If you always want to be 100% positive what your variables are, use the functions tonumber(x) and tostring(x).",
- "3.5 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [4] = {
- "Key Points in this Chapter:\n1. How to get user input",
- "4.1 - How to get user input.\n\nWhat's the point of having all these cool variables if your user can't make a variable be something they want? We fix this by allowing the user to input a variable into the program.",
- "4.1 - How to get user input.\n\nx = io.read()\nThe io.read() tells the program to stop and wait for user input, when the user presses enter that information is then stored in the variable x and the program continues.\nUser input is always stored as a string, therefor if the user types 1 and presses enter, x will be come \"1\", not 1",
- "4.1 - How to get user input.\n\nOnce the user's input is entered into the x variable you can use that variable like you would any other variable. This means if you then wanted to show the user their input you could follow your io.read() line with print(x)",
- "4.1 - How to get user input.\n\nBy using the write command before an io.read() we can show text then have the user type after that text.\nwrite(\"Enter Your Name -\"\nname = io.read()\nThis would have the user type their name directly after the - in the write statement.",
- "4.2 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [5] = {
- "Key Points in this Chapter:\n1. What is an IF statement\n2. The ELSE statement\n3. The ELSEIF statement\n4. Complex IF's",
- "5.1 - What is an IF statement.\n\nWe use IF statements to control the programs direction based on certain criteria that you define. Doing this allows us to do only certain things based on certain conditions.",
- "5.1 - What is an IF statement.\n\nif name == \"Bob\" then\nprint (\"Hello Again Bob\")\nend\n\nThe 1st line says, if the variable name is equal to \"Bob\" then enter this IF statement. The next line is the code that will run if name does equal Bob. The 3rd line says to end the IF statement, if the name was not Bob the program would skip to the line directly after end.",
- "5.1 - What is an IF statement.\n\nWe have many options in the IF statement, we could do:\nif x >= 1\nRemember we can't do that IF statement if x is a string x = \"1\".\nif name ~= \"Bob\"\nThe ~= option means is not equal too. This if statement would pass if the name was NOT Bob.",
- "5.2 - The ELSE statement.\n\nSometimes we want to do 1 thing if our IF statement is true and something else if it's false.\nif name == \"Bob\" then\nprint (\"Hello Bob\")\nelse\nprint(\"Your not Bob\")\nend\n\n",
- "5.2 - The ELSE statement.\n\nNotice how their is only 1 end statement as the last line of the entire IF statement. The ELSE line is a part of the current IF statement.",
- "5.3 - The ELSEIF statement.\n\nSometimes we want to check for multiple outcomes inside an IF statement, we can achieve this using the ELSEIF statement. The key things to remember is that you still only need 1 end as the last line, because this is 1 full statement, and that you will need to include a then for an ELSEIF.",
- "5.3 - The ELSEIF statement.\n\nif name == \"Bob\" then\nprint (\"Hello Bob\")\nelseif name == \"John\" then\nprint (\"Hello John\")\nelse\nprint (\"Hello Other\")\nend",
- "5.3 - The ELSEIF statement.\n\nI still included the final else, which tells the program if the name wasn't Bob or John, then do something else. Notice again that there was only a single end as the last line, because this was 1 full statement.",
- "5.4 - Complex IF's.\n\nIf's can become very complex depending on your situation. I will show some examples of more complex IF's:\nif name == \"Bob\" and name ~= \"John\" then\nWe are checking the variable twice in 1 if statement by using the AND statement. We could also use the OR statement",
- "5.4 - Complex IF's.\n\nYou can also place IF statements inside other IF statements, just make sure you place an END statement at the correct place for each IF statement. Next page is an example of a pretty complex IF statement.",
- "5.4 - Complex IF's.\nif name == \"Bob\" then\n if x == 1 then\n print(x)\n else\n print(\"Not 1\")\n end\nprint (\"Hi Bob\")\nelse\nprint (\"Your not Bob\")\nend",
- "5.4 - Complex IF's.\nWith precise placement of IF statements you can control the flow of your program to a great degree, this allows you to make sure the user is only seeing what you want them to see at all times.",
- "5.5 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [6] = {
- "Key Points in this Chapter:\n1.What is a loop\n2.How to exit a loop\n3.Different kinds of loops",
- "6.1 - What is a loop\n\nA loop is a section of code that will continually run until told otherwise. We use these to repeat the same code until we say otherwise.\n\nwhile true do\nend\n\nThis is a while loop that has no exit, it will continually run over and over again until the program crashes.",
- "6.2 - How to exit a loop\nSince we don't want our loops to run until they crash we have to give them a way to stop. We do this by using the BREAK command.The break command is mostly placed inside an IF statement as just placing it in the loop itself would break the loop right away.",
- "6.2 - How to exit a loop\n\nx = 0\nwhile true do\n x = x + 1\n if x == 10 then\n break\n end\nend\n\nNotice how are while statements have their own end? This would run the loop and continually add 1 to x until x == 10 then it will break out of the loop.",
- "6.3 - Different kinds of loops\n\nYou don't always need to use the BREAK command. You can also include a condition in the WHILE statement for how long to run the loop.\n\nx = 0\nwhile x < 10 do\nx = x + 1\nend\n\nWe could also end this early with a BREAK as well.",
- "6.3 - Different kinds of loops\n\nHeck we don't even have to use the WHILE statement to create a loop.\n\nfor x = 0, 10, 1 do\nprint (x)\nend\n\nThe first line says - x starts at 0, and continues until 10, increasing by 1 every time we come back to this line.",
- "6.3 - Different kinds of loops\n\nSo using the for statement we could do.\n\nx = 5\nfor x, 50, 5 do\nprint (x)\nend\n\nThis would printout 5 then 10 then 15 ect ect until reaching 50.",
- "6.4 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [7] = {
- "Key Points in this Chapter:\n1. Turning on and off redstone\n2. Checking and Setting Redstone",
- "7.1 - Turning on and off redstone\n\nOne of the greatest features of CC is that your computer can not only receive redstone signals, but it can also send them as well. We have 6 directions to choose from and they are:\ntop, bottom, front, back, left, right",
- "7.1 - Turning on and off redstone\n\nWe can control redstone with our computer using 2 basic commands, redstone.getInput(side) and redstone.setOutput(side, boolean).\nWe have to remember to place our sides in quotes though IE \"left\"",
- "7.2 - Checking and Setting Redstone\n\nredstone.setOutput(\"back\", true)\nThis tells the computer to turn on the redstone output on the back of the computer. We can replace true with false to turn off the redstone output to the back.",
- "7.2 - Checking and Setting Redstone\n\nif redstone.getInput(\"back\") == true then\nprint \"Redstone is on\"\nend\n\nThis would enter the IF statement if their was power running to the back of the computer.",
- "7.2 - Checking and Setting Redstone\n\nBy checking and setting different redstone sources while using IF statements we can control multiple things connected to our computer based on the redstone connections.",
- "7.3 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [8] = {
- "Key Points in this Chapter:\n1. How to turn on a single color\n2. How to turn off a single color\n3. Using multiple colors\n4. Testing Inputs\n5. Turning off all colors.",
- "8.1 - How to turn on a single color\n\nrs.setBundledOutput(\"back\", colors.white)\n\nThis would turn on the white output in the back.",
- "8.2 - How to turn off a single color\n\nrs.setBundledOutput(\"back\", rs.getBundledOutput(\"back\") - colors.white)\n\n This would turn off only the color white in the back.",
- "8.3 - Using Multiple colors\nUsing multiple colors is much easier when you use the colors.combine colors.subtract functions.",
- "8.3 - Using Multiple colors\n\nout = colors.combine(colors.blue, colors.white)\nrs.setBundledOutput(\"back\", out)\n\nThis would turn on blue and white at the back\nout = colors.subtract(out, colors.blue)\nrs.setBundledOutput(\"back\", out)\nThis would turn off blue, but leave white on.",
- "8.4 - Testing Inputs\n\nin = rs.getBundledInput(\"back\")\nif colors.test(in, colors.white) == true then\n\nThis would get the current input and store it in the in variable. We then use colors.test on the in variable to see if white is on.",
- "8.5 - Turning off all colors\n\nrs.setBundledOutput(\"back\", 0)\n\nSetting the output to 0 is the quickest and most efficient way to turn off all colors at the same time.",
- "8.6 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [9] = {
- "Key Points in this Chapter:\n1. What is an event?\n2. How do we check for events\n3. What types of events are there?\n4. Using event loops\n5. WHATS GOING ON!",
- "9.1 - What is an event?\n\nAn event can be many things, from redstone to timers, as well as smashing your face on the keyboard. These can all trigger events within a program, and by correctly using the os.pullEvent() command we can make sure that no matter what happens, we'll know about it!",
- "9.2 - How do we check for events\n\nevent, param1, param2 = os.pullEvent()\n\nPlacing this line in your code will stop the program until ANY event triggers. So just by pressing a key, you will pass this statement because a keypress is an event",
- "9.2 - How do we check for events\n\nThe easiest way to check for an event happening is the IF statement.\n\nif event == \"char\" and param1 == \"q\" then\n This line would trigger if you pressed q on your keyboard.",
- "9.3 - What types of events are there\n\nchar - triggers on keypress\nkey - triggers on keypress\ntimer - triggers on a timer running out\nalarm - triggers on an alarm going off\nredstone - triggers on any change to redstone",
- "9.3 - What types of events are there\n\ndisk - triggers on disk insertion\ndisk_eject - triggers on disk ejection",
- "9.4 - Using event loops\n\nUsing the pullEvent() function inside a loop is a great way to determine when to break the loop. For instance:\n\nwhile true do\nevent, param1, param2 = os.pullEvent()\n if event == \"char\" and param1 == \"q\" then\n break\n end\nend",
- "9.5 - WHATS GOING ON!\nThis is a cool test program to make, so that you can see exactly whats happening in events.\n\nwhile true do\nevent, param1, param2, param3 = os.pullEvent()\nprint (\"Event = \"..event)\nprint (\"P1 = \"..param1)\nprint (\"P2 = \"..param2)\nprint (\"P3 = \"..param3)\nend\n\nDon't Forget to Hold control+t to exit the loop.",
- "9.6 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [10] = {
- "Key Points in this Chapter:\n1. What is a function?\n2. How to use a basic function\n3. How to get a return value from a function",
- "10.1 - What is a function\n\nThink of a function as a part of your code that can be ran from anywhere inside your code. Once your function is done running, it will take you back to where your code left off.",
- "10.2 - How to use a basic function\n\nfunction hello()\nprint (\"Hello\")\nend\n\n Here we created a function named hello, and inside that function we placed a print statement that says hello.",
- "10.2 - How to use a basic function\n\nNow that we have our function created, anytime and anywhere in our program, we can place\nhello()\nThis will jump to the function, run the functions code, then come back to where you called the function.",
- "10.3 - How to get a return value from a function\n\nMost of the time we want our functions to do repetitious tasks for us though, to do this we can create a more advanced function that will return a value based on what happens in the function.",
- "10.3 - How to get a return value from a function\n\nfunction add(num1, num2)\nresult = tonumber(num1) + tonumber(num2)\nreturn result\nend\n\nThis is our adding function, it takes 2 numbers that we supply and returns the result.",
- "10.3 - How to get a return value from a function\n\nTo call our adding function we use.\nx = add(5,5)\nThis makes the add function use the numbers 5 and 5, which it will then add together and return to us. We save that return data in x",
- "10.3 - How to get a return value from a function\n\nBy combining what we already know, we must assume that we can use variables instead of numbers in our function. Therefor making:\nx = add(x, y)\nA perfectly good way to add 2 variables together.",
- "10.4 - Practice What We've Learned!\n\nYou'll see a new option at the bottom of your screen now. You can press [SPACE] to continue onward to the next chapter, you can also press [ENTER] to run this chapters simulation.\nDon't worry, you won't hurt my feelings by not practicing.",
- "SIM"
- },
- [11] = {
- "This is not a Chapter, this is just random blurbs of extra information about other features and functions.",
- "Blurb 0 (The Most Important) - Use NOTEPAD++ to edit your code, the in-game edit kinda sucks\n\nFind your code in saves/world/computer/#",
- "Blurb 1 - sleep(1) will pause your code for 1 second",
- "Blurb 2 - timername = os.startTimer(1) will cause a timer to go off in 1 second, use events to check for the name",
- "Blurb 3 - Making your code readable helps everyone\nwhile true do\nif x == 5 then\nend\nend\nCOULD BE\nwhile true do\n if x == 5 then\n end\nend",
- "Blurb 4 - Atleast 75% of the time, an error tells you exactly whats wrong with your program.\nSomething with NIL means your trying to use a NIL variable.",
- "Blurb 5 - Google Is your friend, just try \"lua strings tutorial\"",
- "Blurb 6 - Theres DOZENS of functions I didn't go over, you should read about them on the interwebs\nstring.len()\nstring.sub()\nstring.find()\nio.open()\nio.close()",
- "Blurb 7 - No one will help you if you don't work on the code yourself and provide them with it.",
- "Blurb 8 - When your ready for more advanced coding, start looking into the default programs as well as other user created content.",
- "Blurb 9 - Using matrice's is a good test to see if your grasping lua",
- "Blurb 10 - You don't have to use functions if you trully don't understand them, they can make your life easier, but they can also make your life much harder.",
- "Blurb 11 - Find help on IRC, but prepare to have code ready to be shown. http://webchat.esper.net/?channels=#computercraft",
- "Blurb 12 - You can do almost anything your imagination can think up.....except magic",
- "Blurb 13 - By holding Control+t you can terminate any program. By holding Control+r you can reboot any computer.",
- "END"
- }
- }
- --"Event Checker""String Functions","File Functions","Math Functions","Calling Another Program","Disk Functions",
- Examples = {
- [1] = {
- "Event Checker",
- "This example is a great way to check what event is being passed through the pullEvent() statement. It uses a while loop that continually checks the pull event until the q key is pressed.",
- '
- term.clear()
- term.setCursorPos(1,1)
- while true do
- event, param1, param2 = os.pullEvent()
- print ("Event "..event)
- print ("P1 "..param1)
- print ("P2 "..param2)
- if event == "char" and param1 == "q" then break end
- end
- ',
- "eventchecker" -- filename to be saved as
- },
- [2] = {
- "String Functions",
- "This example uses some basic string functions to modify a string, we will take a long string and shorten it to 10 characters which will all be lowercased.",
- '
- text = "Hello user and Welcome to the World of ComputerCraft"
- blah = string.sub(text, 1, 10)
- -- This line says that blah is now equal to 1-10 of text.
- blah = string.lower(blah)
- -- This line says that blah is now equal to an all lowercase blah.
- print (blah)
- -- This outputs as hello user
- ',
- "stringfunc"
- },
- [3] = {
- "File Functions",
- "This example will check to see if the file exists we will open it in \"r\" mode to read, it will then read line by line from the file and store that data into an array, we will then print each line of the file with a 1 second sleep between them. We can use the file:write(variable) statement if the file is opened in write mode \"w\". We can append a file with the \"wa\" mode.",
- '
- filename = "tutorial"
- if fs.exists(filename) == true then
- file = io.open(filename, "r")
- local i = 1
- local line = {}
- while true do
- line[i] = file:read()
- if line[i] == nil then break end
- print (line[i])
- sleep (1)
- i = i + 1
- end
- else
- print ("File doesn't exist.")
- end
- ',
- "filefunc"
- },
- [4] = {
- "Math Functions",
- "This tutorial will go over some of the math functions, we'll start with a random number from 1-10, we will then divide that by another random number from 1-20. We will take the result and round upwards to a whole number. Meaning that if our answer is 3.1 it will still round up to 4. You'll notice the math.ciel function which does our rounding, we could also use math.floor which would round down instead.",
- '
- num1 = math.random(1,10)
- num2 = math.random(1,20)
- print ("Number 1 is "..num1)
- print ("Number 2 is "..num2)
- result = num1 / num2
- print ("UnRounded Result is "..result)
- result = math.ceil(result)
- print ("Rounded Result is "..result)
- ',
- "mathfunc"
- },
- [5] = {
- "Calling Another Program",
- "This tutorial is very basic, but is a very powerful function as well. The shell.run command allows us to run a command from within our program as if we were at the terminal.",
- '
- shell.run("programname")
- shell.run("mkdir", "testing")
- This would create a testing directory
- shell.run("copy", "disk/hello", "world")
- This would copy the program hello from the disk directory
- and place it as a program called world in your root
- directory.
- ',
- "callprogram"
- },
- [6] = {
- "Disk Functions",
- "This tutorial will go over some of the basic floppy functions. We will check to see if a floppy is inserted using the pullEvent() loop, we will then make sure the floppy doesn't have a label, and if it's label is empty we will label it Blank and exit the program. We can learn more about the disk functions by typing help disk at the terminal.",
- '
- while true do
- event, param1 = os.pullEvent()
- if event == "disk" then
- if disk.getLabel(param1) == nil then
- disk.setLabel(param1, "Blank")
- print ("Disk labeled to Blank")
- print ("Disk is in the "..param1.." side")
- break
- else
- print ("Disk already has a label.")
- print ("Disk is in the "..param1.." side")
- break
- end
- end
- end
- ',
- "diskfunc"
- }
- }
- function SaveExamples()
- term.clear()
- term.setCursorPos(1,1)
- print "This will save all of the example programs into the examples folder."
- print ""
- print "You can access this folder by typing"
- print "cd examples"
- print "You can list the examples by typing"
- print "ls"
- print "You can simply edit the file to look"
- print "at it, or you can open the file inside"
- print "your computer by finding it in your"
- print "saves directory under your worldname"
- print "and computer #."
- print ""
- print ("Your Computer # is "..os.getComputerID())
- pressany()
- sleep(.5)
- shell.run("mkdir", "examples")
- local i = 1
- while true do
- if Examples[i] ~= nil then
- file = io.open("examples/"..Examples[i][4], "w")
- file:write("--\[\[\n")
- file:write(Examples[i][2])
- file:write("--\[\[\n")
- file:write(Examples[i][3])
- file:close()
- i = i + 1
- else
- break
- end
- end
- term.clear()
- term.setCursorPos(1,1)
- print "Examples correctly saved to /examples"
- pressany()
- end
- function mainmenu()
- while true do
- term.clear()
- term.setCursorPos(1,1)
- print "--------------------------------------"
- print "| ComputerCraft Interactive Tutorial |"
- print "| By: Casper7526 |"
- print "--------------------------------------"
- print "| |"
- print "| 1. Start |"
- print "| 2. Choose Chapter |"
- print "| 3. Examples |"
- print "| 4. Save Examples To File |"
- print "| 5. Exit |"
- print "| |"
- print "--------------------------------------"
- event, param1, param2, param3 = os.pullEvent()
- if event == "char" and param1 == "5" then break end
- if event == "char" and param1 == "1" then chapter = 1 LoadChapter(chapter) end
- if event == "char" and param1 == "2" then ChooseChapter() end
- if event == "char" and param1 == "3" then ChooseExample() end
- if event == "char" and param1 == "4" then SaveExamples() end
- end
- end
- function LoadExample(num)
- term.clear()
- term.setCursorPos(1,1)
- print (Examples[num][2])
- pressany()
- term.clear()
- sleep(.5)
- term.setCursorPos(1,1)
- print (Examples[num][3])
- pressany()
- end
- function ChooseExample()
- while true do
- term.clear()
- term.setCursorPos(1,1)
- print "--------------- Example Index ---------------"
- print "---------------------------------------------"
- print ""
- local i = 1
- while true do
- if Examples[i] == nil then break end
- print (i..". "..Examples[i][1])
- i = i + 1
- end
- print ""
- print "q. Quit"
- print "---------------------------------------------"
- write "Choice - "
- choice = io.read()
- if string.lower(choice) == "q" then break end
- if Examples[tonumber(choice)] == nil then print "Thats not a valid chapter." sleep(1) else
- LoadExample(tonumber(choice)) break end
- end
- end
- function ChooseChapter()
- while true do
- term.clear()
- term.setCursorPos(1,1)
- print "--------------- Chapter Index ---------------"
- print "---------------------------------------------"
- print ""
- local i = 1
- while true do
- if ChapterTitles[i] == nil then break end
- print (i..". "..ChapterTitles[i])
- i = i + 1
- end
- print ""
- print "q. Quit"
- print "---------------------------------------------"
- write "Choice - "
- choice = io.read()
- if string.lower(choice) == "q" then break end
- if ChapterTitles[tonumber(choice)] == nil then print "Thats not a valid chapter." sleep(1) else
- LoadChapter(tonumber(choice)) break end
- end
- end
- function LoadChapter(chapter)
- while true do
- term.clear()
- term.setCursorPos(1,1)
- print ("Chapter "..chapter.." - "..ChapterTitles[chapter])
- print ("---------------------------------------------")
- print (Chapter[chapter][CurrentSection])
- print ""
- if Chapter[chapter][CurrentSection + 1] == "END" then print "THATS ALL FOLKS!" else
- print "Press [Space] To Continue"
- end
- print "[q] - Main Menu [b] - Previous Page."
- if Chapter[chapter][CurrentSection + 1] == "SIM" then print "Press [Enter] To Run Simulation" end
- event, param1, param2, param3 = os.pullEvent()
- if event == "key" and param1 == 28 and Chapter[chapter][CurrentSection + 1] == "SIM" then Sim(chapter) EndSim(chapter) chapter = chapter + 1 CurrentSection = 1 end
- if event == "char" and param1 == "q" then CurrentSection = 1 break end
- if event == "char" and param1 == "b" then
- CurrentSection = CurrentSection - 1
- if CurrentSection == 0 then CurrentSection = 1 end
- end
- if event == "char" and param1 == " " and Chapter[chapter][CurrentSection + 1] ~= "END" then
- if Chapter[chapter][CurrentSection + 1] == "SIM" then chapter = chapter + 1 CurrentSection = 1 else CurrentSection = CurrentSection + 1 end
- end
- end
- end
- function EndSim(chapter)
- while true do
- term.clear()
- term.setCursorPos(1,1)
- print "Great work back there!"
- print ""
- print "Press [ENTER] to move on to the next chapter"
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then shell.run("rm", "tmptut") break end
- end
- end
- function pressany()
- term.setCursorPos(1,17)
- print "Press Any Key To Continue"
- event = os.pullEvent()
- end
- function Sim(chapter)
- stage = 1
- while true do
- term.clear()
- term.setCursorPos(1,1)
- if chapter == 1 then
- print "Your Goals:"
- print ""
- print "* Create a program named hello."
- print "* Type anything you wish inside that program."
- print "* Save and Exit the program."
- print "* Run the program."
- print ""
- print "quit will exit the sim early."
- write (">") input = io.read()
- if input == "quit" then break end
- --------------------------------
- if stage == 1 then
- if input == "edit hello" then
- shell.run("edit", "tmptut")
- print "Great Job, now let's run our program!"
- sleep(2)
- stage = 2
- else
- print "Remember, lua is case sensitive."
- print "Try"
- print "edit hello"
- sleep(2)
- end
- elseif stage == 2 then
- if input == "hello" then break
- else
- print "Remember, lua is case sensitive."
- print "Try"
- print "hello"
- sleep(2)
- end
- end
- end
- if chapter == 2 then
- print "Your Goals:"
- print ""
- print "* Create a program named hello."
- print "* Clear the Screen"
- print "* Set the Cursor Pos to 1,1"
- print "* Print \"Hello Loser\" on line 1 of the screen."
- print "* Print \"Welcome\" on line 2 of the screen."
- print "* Clear the 1st line."
- print "* Print \"Hello User\" on line 1 of the screen."
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ("print (\"Hello Loser\"")
- print ("print (\"Welcome\"")
- print ("term.setCursorPos(1,1)")
- print ("term.clearLine()")
- print ("print (\"Hello User\")")
- pressany()
- end
- end
- if chapter == 3 then
- print "Your Goals:"
- print ""
- print "--Use the program hello--"
- print "* Create the following variables."
- print " x = 1"
- print " y = \"2\""
- print " z = 0"
- print " text = \"Output \""
- print "* Add x and y together and store that value in z, then print text and z to the user on the same line."
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ("x = 1")
- print ("y = \"2\"")
- print ("z = 0")
- print ("text = \"Output \"")
- print ("y = tonumber(y)")
- print ("z = x + y")
- print ("print (text..z)")
- pressany()
- end
- end
- if chapter == 4 then
- print "Your Goals:"
- print ""
- print "--Use the program hello--"
- print "* Ask the user for their name"
- print "* Show them the line:"
- print " Hello name how are you today?"
- print " With name replaced by their input."
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ("write(\"Whats your name? \")")
- print ("name = io.read()")
- print ("print (\"Hello \"..name..\" how are you today?\")")
- pressany()
- end
- end
- if chapter == 5 then
- print "Your Goals:"
- print ""
- print "--Use the program hello--"
- print "* Ask the user for their name"
- print "* If their name is Bob or John then welcome them."
- print "* If their name isn't Bob or John, then tell them to get lost!"
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ("write(\"Whats your name? \")")
- print ("name = io.read()")
- print ("if name == \"Bob\" or name == \"John\" then ")
- print ("print (\"Welcome \"..name)")
- print ("else")
- print ("print (\"Get lost!\")")
- print ("end")
- pressany()
- end
- end
- if chapter == 6 then
- print "Your Goals:"
- print ""
- print "--Use the program hello--"
- print "* Create a loop that continually asks the user for their name."
- print "* Only exit that loop if they enter Bob as their name."
- print "* Try using the BREAK statement as well as without."
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ""
- print ("while name ~= \"Bob\" do")
- print ("write(\"Whats your name? \")")
- print ("name = io.read()")
- print ("end")
- print ""
- print ("while true do")
- print ("write(\"Whats your name? \")")
- print ("name = io.read()")
- print (" if name == \"Bob\" then")
- print (" break")
- print (" end")
- print ("end")
- pressany()
- end
- end
- if chapter == 7 then
- print "Your Goals:"
- print ""
- print "--Use the program hello--"
- print "* Check to see if there is redstone current coming into the back of your computer"
- print "* If there is current coming in the back then turn on the current to the front"
- print "* If there isn't current coming in the back, then turn off the current to the front"
- print "* Tell the user if you turned the current on or off."
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ("if redstone.getInput(\"back\") == true then")
- print ("redstone.setOutput(\"front\", true)")
- print ("print (\"Front is now on.\")")
- print ("else")
- print ("redstone.setOutput(\"front\", false)")
- print ("print (\"Front is now off.\")")
- print ("end")
- pressany()
- end
- end
- if chapter == 8 then
- print "Your Goals:"
- print ""
- print "--Use the program hello--"
- print "--Use the back output of the computer--"
- print "* Turn on white"
- print "* Turn on blue"
- print "* Turn on purple"
- print "* Turn off blue"
- print "* Turn off all colors"
- print "* Check to see if white is coming in the front"
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ("out = colors.combine(colors.white, colors.blue, colors.purple)")
- print ("rs.setBundledOutput(\"back\", out)")
- print ("out = colors.subtract(out, colors.blue)")
- print ("rs.setBundledOutput(\"back\", out)")
- print ("rs.setBundledOutput(\"back\", 0)")
- print ("in = rs.getBundledInput(\"front\")")
- print ("if colors.test(in, colors.white) == true then")
- print ("print (\"White is on in front\")")
- print ("else")
- print ("print (\"White is off in front\")")
- print ("end")
- pressany()
- end
- end
- if chapter == 9 then
- print "Your Goals:"
- print ""
- print "--Use the program hello--"
- print "* Create an event loop"
- print "* Print the char that was pressed"
- print "* Stop the loop when the q key is pressed"
- print "* Stop the loop if the redstone event happens"
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ("while true do")
- print ("event, param1, param2 = os.pullEvent()")
- print (" if event == \"redstone\" then")
- print (" break")
- print (" end")
- print (" if event == \"char\" and param1 == \"q\" then")
- print (" break")
- print (" else")
- print (" print (\"You pressed - \"..param1)")
- print (" end")
- print ("end")
- pressany()
- end
- end
- if chapter == 10 then
- print "Your Goals:"
- print ""
- print "--Use the program hello--"
- print "* Ask the user for their first name."
- print "* Ask the user for their last name."
- print "* Combine the 2 strings using a function"
- print " return the result into the fullname variable"
- print "* Show the user their full name"
- print "* Run your program!"
- print ""
- print "You can type \"example\" at anytime to see the correct syntax."
- print "quit will exit the sim early."
- print ""
- write (">") input = io.read()
- if input == "quit" then break end
- if input == "edit hello" then shell.run("edit", "tmptut") end
- if input == "hello" then shell.run("tmptut") pressany()
- term.clear()
- term.setCursorPos(1,1)
- print "Did you program work as you expected?"
- print ""
- print "Press [ENTER] to end the simulation."
- print "Press Any Other Key to go back and work on your program."
- event, param1, param2 = os.pullEvent()
- if event == "key" and param1 == 28 then break end
- end
- if string.lower(input) == "example" then
- term.clear()
- term.setCursorPos(1,1)
- print ("term.clear()")
- print ("term.setCursorPos(1,1)")
- print ("function combine(s1, s2)")
- print ("result = s1..s2")
- print ("return result")
- print ("end")
- print ("write(\"What's your first name? \")")
- print ("firstname = io.read()")
- print ("write(\"What's your last name? \")")
- print ("lastname = io.read()")
- print ("fullname = combine(firstname, lastname)")
- print ("print (\"Hello \"..fullname)")
- pressany()
- end
- end
- end
- end
- mainmenu()
- print "You don't need to thank me."
- print "Thank yourself for learning!"
- print "To learn more search online!"
- print "You can also type help <topic>!"
- ]])
- Tutorial.close()
- dkjson=fs.open("mem/redworks/programs/cc-get-bin/dkjson.lua","w")
- dkjson.write([[ --[==[
- David Kolf's JSON module for Lua 5.1/5.2
- ========================================
- *Version 2.1*
- This module writes no global values, not even the module table.
- Import it using
- json = require ("dkjson")
- Exported functions and values:
- `json.encode (object [, state])`
- --------------------------------
- Create a string representing the object. `Object` can be a table,
- a string, a number, a boolean, `nil`, `json.null` or any object with
- a function `__tojson` in its metatable. A table can only use strings
- and numbers as keys and its values have to be valid objects as
- well. It raises an error for any invalid data types or reference
- cycles.
- `state` is an optional table with the following fields:
- - `indent`
- When `indent` (a boolean) is set, the created string will contain
- newlines and indentations. Otherwise it will be one long line.
- - `keyorder`
- `keyorder` is an array to specify the ordering of keys in the
- encoded output. If an object has keys which are not in this array
- they are written after the sorted keys.
- - `level`
- This is the initial level of indentation used when `indent` is
- set. For each level two spaces are added. When absent it is set
- to 0.
- - `buffer`
- `buffer` is an array to store the strings for the result so they
- can be concatenated at once. When it isn't given, the encode
- function will create it temporary and will return the
- concatenated result.
- - `bufferlen`
- When `bufferlen` is set, it has to be the index of the last
- element of `buffer`.
- - `tables`
- `tables` is a set to detect reference cycles. It is created
- temporary when absent. Every table that is currently processed
- is used as key, the value is `true`.
- When `state.buffer` was set, the return value will be `true` on
- success. Without `state.buffer` the return value will be a string.
- `json.decode (string [, position [, null]].."]]"..[[)`
- --------------------------------------------
- Decode `string` starting at `position` or at 1 if `position` was
- omitted.
- `null` is an optional value to be returned for null values. The
- default is `nil`, but you could set it to `json.null` or any other
- value.
- The return values are the object or `nil`, the position of the next
- character that doesn't belong to the object, and in case of errors
- an error message.
- Two metatables are created. Every array or object that is decoded gets
- a metatable with the `__jsontype` field set to either `array` or
- `object`. If you want to provide your own metatables use the syntax
- json.decode (string, position, null, objectmeta, arraymeta)
- `<metatable>.__jsonorder`
- -------------------------
- `__jsonorder` can overwrite the `keyorder` for a specific table.
- `<metatable>.__jsontype`
- ------------------------
- `__jsontype` can be either `"array"` or `"object"`. This is mainly useful
- for tables that can be empty. (The default for empty tables is
- `"array"`).
- `<metatable>.__tojson (self, state)`
- ------------------------------------
- You can provide your own `__tojson` function in a metatable. In this
- function you can either add directly to the buffer and return true,
- or you can return a string. On errors nil and a message should be
- returned.
- `json.null`
- -----------
- You can use this value for setting explicit `null` values.
- `json.version`
- --------------
- Set to `"dkjson 2.1"`.
- `json.quotestring (string)`
- ---------------------------
- Quote a UTF-8 string and escape critical characters using JSON
- escape sequences. This function is only necessary when you build
- your own `__tojson` functions.
- `json.addnewline (state)`
- -------------------------
- When `state.indent` is set, add a newline to `state.buffer` and spaces
- according to `state.level`.
- LPeg support
- ------------
- When the local configuration variable
- `always_try_using_lpeg` is set, this module tries to load LPeg to
- replace the functions `quotestring` and `decode`. The speed increase
- is significant. You can get the LPeg module at
- <http://www.inf.puc-rio.br/~roberto/lpeg/>.
- When LPeg couldn't be loaded, the pure Lua functions stay active.
- In case you don't want this module to require LPeg on its own,
- disable this option:
- --]==]
- local always_try_using_lpeg = true
- --[==[
- In this case you can later load LPeg support using
- ### `json.use_lpeg ()`
- Require the LPeg module and replace the functions `quotestring` and
- and `decode` with functions that use LPeg patterns.
- This function returns the module table, so you can load the module
- using:
- json = require "dkjson".use_lpeg()
- Alternatively you can use `pcall` so the JSON module still works when
- LPeg isn't found.
- json = require "dkjson"
- pcall (json.use_lpeg)
- ### `json.using_lpeg`
- This variable is set to `true` when LPeg was loaded successfully.
- You can contact the author by sending an e-mail to 'kolf' at the
- e-mail provider 'gmx.de'.
- ---------------------------------------------------------------------
- *Copyright (C) 2010, 2011 David Heiko Kolf*
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
- <!-- This documentation can be parsed using Markdown to generate HTML.
- The source code is enclosed in a HTML comment so it won't be displayed
- by browsers, but it should be removed from the final HTML file as
- it isn't a valid HTML comment (and wastes space).
- -->
- <!--]==]
- -- global dependencies:
- local pairs, type, tostring, tonumber, getmetatable, setmetatable, rawset =
- pairs, type, tostring, tonumber, getmetatable, setmetatable, rawset
- local error, require, pcall = error, require, pcall
- local floor, huge = math.floor, math.huge
- local strrep, gsub, strsub, strbyte, strchar, strfind, strlen, strformat =
- string.rep, string.gsub, string.sub, string.byte, string.char,
- string.find, string.len, string.format
- local concat = table.concat
- if _VERSION == 'Lua 5.1' then
- local function noglobals (s,k,v) error ("global access: " .. k, 2) end
- setfenv (1, setmetatable ({}, { __index = noglobals, __newindex = noglobals }))
- end
- local _ENV = nil -- blocking globals in Lua 5.2
- local json = { version = "dkjson 2.1" }
- pcall (function()
- -- Enable access to blocked metatables.
- -- Don't worry, this module doesn't change anything in them.
- local debmeta = require "debug".getmetatable
- if debmeta then getmetatable = debmeta end
- end)
- json.null = setmetatable ({}, {
- __tojson = function () return "null" end
- })
- local function isarray (tbl)
- local max, n, arraylen = 0, 0, 0
- for k,v in pairs (tbl) do
- if k == 'n' and type(v) == 'number' then
- arraylen = v
- if v > max then
- max = v
- end
- else
- if type(k) ~= 'number' or k < 1 or floor(k) ~= k then
- return false
- end
- if k > max then
- max = k
- end
- n = n + 1
- end
- end
- if max > 10 and max > arraylen and max > n * 2 then
- return false -- don't create an array with too many holes
- end
- return true, max
- end
- local escapecodes = {
- ["\""] = "\\\"", ["\\"] = "\\\\", ["\b"] = "\\b", ["\f"] = "\\f",
- ["\n"] = "\\n", ["\r"] = "\\r", ["\t"] = "\\t"
- }
- local function escapeutf8 (uchar)
- local value = escapecodes[uchar]
- if value then
- return value
- end
- local a, b, c, d = strbyte (uchar, 1, 4)
- a, b, c, d = a or 0, b or 0, c or 0, d or 0
- if a <= 0x7f then
- value = a
- elseif 0xc0 <= a and a <= 0xdf and b >= 0x80 then
- value = (a - 0xc0) * 0x40 + b - 0x80
- elseif 0xe0 <= a and a <= 0xef and b >= 0x80 and c >= 0x80 then
- value = ((a - 0xe0) * 0x40 + b - 0x80) * 0x40 + c - 0x80
- elseif 0xf0 <= a and a <= 0xf7 and b >= 0x80 and c >= 0x80 and d >= 0x80 then
- value = (((a - 0xf0) * 0x40 + b - 0x80) * 0x40 + c - 0x80) * 0x40 + d - 0x80
- else
- return ""
- end
- if value <= 0xffff then
- return strformat ("\\u%.4x", value)
- elseif value <= 0x10ffff then
- -- encode as UTF-16 surrogate pair
- value = value - 0x10000
- local highsur, lowsur = 0xD800 + floor (value/0x400), 0xDC00 + (value % 0x400)
- return strformat ("\\u%.4x\\u%.4x", highsur, lowsur)
- else
- return ""
- end
- end
- local function fsub (str, pattern, repl)
- -- gsub always builds a new string in a buffer, even when no match
- -- exists. First using find should be more efficient when most strings
- -- don't contain the pattern.
- if strfind (str, pattern) then
- return gsub (str, pattern, repl)
- else
- return str
- end
- end
- local function quotestring (value)
- -- based on the regexp "escapable" in https://github.com/douglascrockford/JSON-js
- value = fsub (value, "[%z\1-\31\"\\\127]", escapeutf8)
- if strfind (value, "[\194\216\220\225\226\239]") then
- value = fsub (value, "\194[\128-\159\173]", escapeutf8)
- value = fsub (value, "\216[\128-\132]", escapeutf8)
- value = fsub (value, "\220\143", escapeutf8)
- value = fsub (value, "\225\158[\180\181]", escapeutf8)
- value = fsub (value, "\226\128[\140-\143\168\175]", escapeutf8)
- value = fsub (value, "\226\129[\160-\175]", escapeutf8)
- value = fsub (value, "\239\187\191", escapeutf8)
- value = fsub (value, "\239\191[\176\191]", escapeutf8)
- end
- return "\"" .. value .. "\""
- end
- json.quotestring = quotestring
- local function addnewline2 (level, buffer, buflen)
- buffer[buflen+1] = "\n"
- buffer[buflen+2] = strrep (" ", level)
- buflen = buflen + 2
- return buflen
- end
- function json.addnewline (state)
- if state.indent then
- state.bufferlen = addnewline2 (state.level or 0,
- state.buffer, state.bufferlen or #(state.buffer))
- end
- end
- local encode2 -- forward declaration
- local function addpair (key, value, prev, indent, level, buffer, buflen, tables, globalorder)
- local kt = type (key)
- if kt ~= 'string' and kt ~= 'number' then
- return nil, "type '" .. kt .. "' is not supported as a key by JSON."
- end
- if prev then
- buflen = buflen + 1
- buffer[buflen] = ","
- end
- if indent then
- buflen = addnewline2 (level, buffer, buflen)
- end
- buffer[buflen+1] = quotestring (key)
- buffer[buflen+2] = ":"
- return encode2 (value, indent, level, buffer, buflen + 2, tables, globalorder)
- end
- encode2 = function (value, indent, level, buffer, buflen, tables, globalorder)
- local valtype = type (value)
- local valmeta
- if valtype == 'string' then
- valmeta = ''
- else
- valmeta = getmetatable (value)
- end
- valmeta = type (valmeta) == 'table' and valmeta -- only tables
- local valtojson = valmeta and valmeta.__tojson
- if valtojson then
- if tables[value] then
- return nil, "reference cycle"
- end
- tables[value] = true
- local state = {
- indent = indent, level = level, buffer = buffer,
- bufferlen = buflen, tables = tables, keyorder = globalorder
- }
- local ret, msg = valtojson (value, state)
- if not ret then return nil, msg end
- tables[value] = nil
- buflen = state.bufferlen
- if type (ret) == 'string' then
- buflen = buflen + 1
- buffer[buflen] = ret
- end
- elseif value == nil then
- buflen = buflen + 1
- buffer[buflen] = "null"
- elseif valtype == 'number' then
- local s
- if value ~= value or value >= huge or -value >= huge then
- -- This is the behaviour of the original JSON implementation.
- s = "null"
- else
- s = tostring (value)
- end
- buflen = buflen + 1
- buffer[buflen] = s
- elseif valtype == 'boolean' then
- buflen = buflen + 1
- buffer[buflen] = value and "true" or "false"
- elseif valtype == 'string' then
- buflen = buflen + 1
- buffer[buflen] = quotestring (value)
- elseif valtype == 'table' then
- if tables[value] then
- return nil, "reference cycle"
- end
- tables[value] = true
- level = level + 1
- local metatype = valmeta and valmeta.__jsontype
- local isa, n
- if metatype == 'array' then
- isa = true
- n = value.n or #value
- elseif metatype == 'object' then
- isa = false
- else
- isa, n = isarray (value)
- end
- local msg
- if isa then -- JSON array
- buflen = buflen + 1
- buffer[buflen] = "["
- for i = 1, n do
- buflen, msg = encode2 (value[i], indent, level, buffer, buflen, tables, globalorder)
- if not buflen then return nil, msg end
- if i < n then
- buflen = buflen + 1
- buffer[buflen] = ","
- end
- end
- buflen = buflen + 1
- buffer[buflen] = "]"
- else -- JSON object
- local prev = false
- buflen = buflen + 1
- buffer[buflen] = "{"
- local order = valmeta and valmeta.__jsonorder or globalorder
- if order then
- local used = {}
- n = #order
- for i = 1, n do
- local k = order[i]
- local v = value[k]
- if v then
- used[k] = true
- buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder)
- prev = true -- add a seperator before the next element
- end
- end
- for k,v in pairs (value) do
- if not used[k] then
- buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder)
- if not buflen then return nil, msg end
- prev = true -- add a seperator before the next element
- end
- end
- else -- unordered
- for k,v in pairs (value) do
- buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder)
- if not buflen then return nil, msg end
- prev = true -- add a seperator before the next element
- end
- end
- if indent then
- buflen = addnewline2 (level - 1, buffer, buflen)
- end
- buflen = buflen + 1
- buffer[buflen] = "}"
- end
- tables[value] = nil
- else
- return nil, "type '" .. valtype .. "' is not supported by JSON."
- end
- return buflen
- end
- function json.encode (value, state)
- state = state or {}
- local oldbuffer = state.buffer
- local buffer = oldbuffer or {}
- local ret, msg = encode2 (value, state.indent, state.level or 0,
- buffer, state.bufferlen or 0, state.tables or {}, state.keyorder)
- if not ret then
- error (msg, 2)
- elseif oldbuffer then
- state.bufferlen = ret
- return true
- else
- return concat (buffer)
- end
- end
- local function loc (str, where)
- local line, pos, linepos = 1, 1, 1
- while true do
- pos = strfind (str, "\n", pos, true)
- if pos and pos < where then
- line = line + 1
- linepos = pos
- pos = pos + 1
- else
- break
- end
- end
- return "line " .. line .. ", column " .. (where - linepos)
- end
- local function unterminated (str, what, where)
- return nil, strlen (str) + 1, "unterminated " .. what .. " at " .. loc (str, where)
- end
- local function scanwhite (str, pos)
- while true do
- pos = strfind (str, "%S", pos)
- if not pos then return nil end
- if strsub (str, pos, pos + 2) == "\239\187\191" then
- -- UTF-8 Byte Order Mark
- pos = pos + 3
- else
- return pos
- end
- end
- end
- local escapechars = {
- ["\""] = "\"", ["\\"] = "\\", ["/"] = "/", ["b"] = "\b", ["f"] = "\f",
- ["n"] = "\n", ["r"] = "\r", ["t"] = "\t"
- }
- local function unichar (value)
- if value < 0 then
- return nil
- elseif value <= 0x007f then
- return strchar (value)
- elseif value <= 0x07ff then
- return strchar (0xc0 + floor(value/0x40),
- 0x80 + (floor(value) % 0x40))
- elseif value <= 0xffff then
- return strchar (0xe0 + floor(value/0x1000),
- 0x80 + (floor(value/0x40) % 0x40),
- 0x80 + (floor(value) % 0x40))
- elseif value <= 0x10ffff then
- return strchar (0xf0 + floor(value/0x40000),
- 0x80 + (floor(value/0x1000) % 0x40),
- 0x80 + (floor(value/0x40) % 0x40),
- 0x80 + (floor(value) % 0x40))
- else
- return nil
- end
- end
- local function scanstring (str, pos)
- local lastpos = pos + 1
- local buffer, n = {}, 0
- while true do
- local nextpos = strfind (str, "[\"\\]", lastpos)
- if not nextpos then
- return unterminated (str, "string", pos)
- end
- if nextpos > lastpos then
- n = n + 1
- buffer[n] = strsub (str, lastpos, nextpos - 1)
- end
- if strsub (str, nextpos, nextpos) == "\"" then
- lastpos = nextpos + 1
- break
- else
- local escchar = strsub (str, nextpos + 1, nextpos + 1)
- local value
- if escchar == "u" then
- value = tonumber (strsub (str, nextpos + 2, nextpos + 5), 16)
- if value then
- local value2
- if 0xD800 <= value and value <= 0xDBff then
- -- we have the high surrogate of UTF-16. Check if there is a
- -- low surrogate escaped nearby to combine them.
- if strsub (str, nextpos + 6, nextpos + 7) == "\\u" then
- value2 = tonumber (strsub (str, nextpos + 8, nextpos + 11), 16)
- if value2 and 0xDC00 <= value2 and value2 <= 0xDFFF then
- value = (value - 0xD800) * 0x400 + (value2 - 0xDC00) + 0x10000
- else
- value2 = nil -- in case it was out of range for a low surrogate
- end
- end
- end
- value = value and unichar (value)
- if value then
- if value2 then
- lastpos = nextpos + 12
- else
- lastpos = nextpos + 6
- end
- end
- end
- end
- if not value then
- value = escapechars[escchar] or escchar
- lastpos = nextpos + 2
- end
- n = n + 1
- buffer[n] = value
- end
- end
- if n == 1 then
- return buffer[1], lastpos
- elseif n > 1 then
- return concat (buffer), lastpos
- else
- return "", lastpos
- end
- end
- local scanvalue -- forward declaration
- local function scantable (what, closechar, str, startpos, nullval, objectmeta, arraymeta)
- local len = strlen (str)
- local tbl, n = {}, 0
- local pos = startpos + 1
- if what == 'object' then
- setmetatable (tbl, objectmeta)
- else
- setmetatable (tbl, arraymeta)
- end
- while true do
- pos = scanwhite (str, pos)
- if not pos then return unterminated (str, what, startpos) end
- local char = strsub (str, pos, pos)
- if char == closechar then
- return tbl, pos + 1
- end
- local val1, err
- val1, pos, err = scanvalue (str, pos, nullval, objectmeta, arraymeta)
- if err then return nil, pos, err end
- pos = scanwhite (str, pos)
- if not pos then return unterminated (str, what, startpos) end
- char = strsub (str, pos, pos)
- if char == ":" then
- if val1 == nil then
- return nil, pos, "cannot use nil as table index (at " .. loc (str, pos) .. ")"
- end
- pos = scanwhite (str, pos + 1)
- if not pos then return unterminated (str, what, startpos) end
- local val2
- val2, pos, err = scanvalue (str, pos, nullval, objectmeta, arraymeta)
- if err then return nil, pos, err end
- tbl[val1] = val2
- pos = scanwhite (str, pos)
- if not pos then return unterminated (str, what, startpos) end
- char = strsub (str, pos, pos)
- else
- n = n + 1
- tbl[n] = val1
- end
- if char == "," then
- pos = pos + 1
- end
- end
- end
- scanvalue = function (str, pos, nullval, objectmeta, arraymeta)
- pos = pos or 1
- pos = scanwhite (str, pos)
- if not pos then
- return nil, strlen (str) + 1, "no valid JSON value (reached the end)"
- end
- local char = strsub (str, pos, pos)
- if char == "{" then
- return scantable ('object', "}", str, pos, nullval, objectmeta, arraymeta)
- elseif char == "[" then
- return scantable ('array', "]", str, pos, nullval, objectmeta, arraymeta)
- elseif char == "\"" then
- return scanstring (str, pos)
- else
- local pstart, pend = strfind (str, "^%-?[%d%.]+[eE]?[%+%-]?%d*", pos)
- if pstart then
- local number = tonumber (strsub (str, pstart, pend))
- if number then
- return number, pend + 1
- end
- end
- pstart, pend = strfind (str, "^%a%w*", pos)
- if pstart then
- local name = strsub (str, pstart, pend)
- if name == "true" then
- return true, pend + 1
- elseif name == "false" then
- return false, pend + 1
- elseif name == "null" then
- return nullval, pend + 1
- end
- end
- return nil, pos, "no valid JSON value at " .. loc (str, pos)
- end
- end
- function json.decode (str, pos, nullval, objectmeta, arraymeta)
- objectmeta = objectmeta or {__jsontype = 'object'}
- arraymeta = arraymeta or {__jsontype = 'array'}
- return scanvalue (str, pos, nullval, objectmeta, arraymeta)
- end
- function json.use_lpeg ()
- local g = require ("lpeg")
- local pegmatch = g.match
- local P, S, R, V = g.P, g.S, g.R, g.V
- local SpecialChars = (R"\0\31" + S"\"\\\127" +
- P"\194" * (R"\128\159" + P"\173") +
- P"\216" * R"\128\132" +
- P"\220\132" +
- P"\225\158" * S"\180\181" +
- P"\226\128" * (R"\140\143" + S"\168\175") +
- P"\226\129" * R"\160\175" +
- P"\239\187\191" +
- P"\229\191" + R"\176\191") / escapeutf8
- local QuoteStr = g.Cs (g.Cc "\"" * (SpecialChars + 1)^0 * g.Cc "\"")
- quotestring = function (str)
- return pegmatch (QuoteStr, str)
- end
- json.quotestring = quotestring
- local function ErrorCall (str, pos, msg, state)
- if not state.msg then
- state.msg = msg .. " at " .. loc (str, pos)
- state.pos = pos
- end
- return false
- end
- local function Err (msg)
- return g.Cmt (g.Cc (msg) * g.Carg (2), ErrorCall)
- end
- local Space = (S" \n\r\t" + P"\239\187\191")^0
- local PlainChar = 1 - S"\"\\\n\r"
- local EscapeSequence = (P"\\" * g.C (S"\"\\/bfnrt" + Err "unsupported escape sequence")) / escapechars
- local HexDigit = R("09", "af", "AF")
- local function UTF16Surrogate (match, pos, high, low)
- high, low = tonumber (high, 16), tonumber (low, 16)
- if 0xD800 <= high and high <= 0xDBff and 0xDC00 <= low and low <= 0xDFFF then
- return true, unichar ((high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000)
- else
- return false
- end
- end
- local function UTF16BMP (hex)
- return unichar (tonumber (hex, 16))
- end
- local U16Sequence = (P"\\u" * g.C (HexDigit * HexDigit * HexDigit * HexDigit))
- local UnicodeEscape = g.Cmt (U16Sequence * U16Sequence, UTF16Surrogate) + U16Sequence/UTF16BMP
- local Char = UnicodeEscape + EscapeSequence + PlainChar
- local String = P"\"" * g.Cs (Char ^ 0) * (P"\"" + Err "unterminated string")
- local Integer = P"-"^(-1) * (P"0" + (R"19" * R"09"^0))
- local Fractal = P"." * R"09"^0
- local Exponent = (S"eE") * (S"+-")^(-1) * R"09"^1
- local Number = (Integer * Fractal^(-1) * Exponent^(-1))/tonumber
- local Constant = P"true" * g.Cc (true) + P"false" * g.Cc (false) + P"null" * g.Carg (1)
- local SimpleValue = Number + String + Constant
- local ArrayContent, ObjectContent
- -- The functions parsearray and parseobject parse only a single value/pair
- -- at a time and store them directly to avoid hitting the LPeg limits.
- local function parsearray (str, pos, nullval, state)
- local obj, cont
- local npos
- local t, nt = {}, 0
- repeat
- obj, cont, npos = pegmatch (ArrayContent, str, pos, nullval, state)
- if not npos then break end
- pos = npos
- nt = nt + 1
- t[nt] = obj
- until cont == 'last'
- return pos, setmetatable (t, state.arraymeta)
- end
- local function parseobject (str, pos, nullval, state)
- local obj, key, cont
- local npos
- local t = {}
- repeat
- key, obj, cont, npos = pegmatch (ObjectContent, str, pos, nullval, state)
- if not npos then break end
- pos = npos
- t[key] = obj
- until cont == 'last'
- return pos, setmetatable (t, state.objectmeta)
- end
- local Array = P"[" * g.Cmt (g.Carg(1) * g.Carg(2), parsearray) * Space * (P"]" + Err "']' expected")
- local Object = P"{" * g.Cmt (g.Carg(1) * g.Carg(2), parseobject) * Space * (P"}" + Err "'}' expected")
- local Value = Space * (Array + Object + SimpleValue)
- local ExpectedValue = Value + Space * Err "value expected"
- ArrayContent = Value * Space * (P"," * g.Cc'cont' + g.Cc'last') * g.Cp()
- local Pair = g.Cg (Space * String * Space * (P":" + Err "colon expected") * ExpectedValue)
- ObjectContent = Pair * Space * (P"," * g.Cc'cont' + g.Cc'last') * g.Cp()
- local DecodeValue = ExpectedValue * g.Cp ()
- function json.decode (str, pos, nullval, objectmeta, arraymeta)
- local state = {
- objectmeta = objectmeta or {__jsontype = 'object'},
- arraymeta = arraymeta or {__jsontype = 'array'}
- }
- local obj, retpos = pegmatch (DecodeValue, str, pos, nullval, state)
- if state.msg then
- return nil, state.pos, state.msg
- else
- return obj, retpos
- end
- end
- -- use this function only once:
- json.use_lpeg = function () return json end
- json.using_lpeg = true
- return json -- so you can get the module using json = require "dkjson".use_lpeg()
- end
- if always_try_using_lpeg then
- pcall (json.use_lpeg)
- end
- return json
- -->
- ]])
- dkjson.close()
- package=fs.open("mem/redworks/programs/cc-get-bin/package.lua","w")
- package.write([[local installDir = '/bin';
- Package = {}
- Package.__index = Package
- -- Package.get gets the package from cc-get website
- function Package.get( name, version )
- local url = urlBase .. 'get/' .. name
- if version then
- url = url .. '?v=' .. params.version
- end
- local package = json.decode( http.get(url).readAll() )
- if package.error ~= nil then
- return false, package.error
- else
- setmetatable(package, Package)
- return true, package
- end
- end
- -- Package.load looks for the program on file
- function Package.load( name )
- if data.packages[name] ~= nil then
- local package = data.packages[name]
- setmetatable(package, Package)
- return true, package
- else
- return false, 'Package is not installed'
- end
- end
- function Package:install()
- data.installed = data.installed + 1
- local installPath = fs.combine(installDir, self.name .. '-lib')
- fs.makeDir(installPath)
- function create_files( items, path )
- for k, item in pairs( items ) do
- local itemPath = fs.combine( path, item.name )
- if item.type == 'file' then
- local fh = fs.open(itemPath, 'w')
- fh.write( item.script )
- fh.close()
- elseif item.type == 'folder' then
- fs.makeDir( itemPath )
- create_files( item.files, itemPath )
- end
- end
- end
- create_files( self.source, installPath )
- if self.onpath then
- self:link()
- end
- return true
- end
- function Package:uninstall()
- fs.delete( fs.combine(installDir, self.name .. '-lib') )
- self:unlink()
- data.installed = data.installed - 1
- data.packages[ self.name ] = nil
- return true
- end
- function Package:link()
- if self.onpath ~= '' then
- if self.onpath_filename == 0 then
- -- Use name of file that is being linked to
- name = fs.combine( installDir, self.onpath:match('[^/]-$') )
- elseif self.onpath_filename == 1 then
- -- Use name of project
- name = fs.combine(installDir, self.name)
- end
- local fh = fs.open( name, 'w' )
- fh.writeLine('local dir = shell.dir()')
- fh.writeLine("shell.setDir('/"..fs.combine(installDir, self.name .. '-lib').."')")
- fh.writeLine("shell.run('/".. fs.combine(fs.combine(installDir, self.name .. '-lib'), self.onpath) .. "', table.concat({...}, ' ') )")
- fh.writeLine("shell.setDir(dir)")
- fh.close()
- end
- return true
- end
- function Package:unlink()
- if self.onpath ~= '' then
- if self.onpath_filename == 0 then
- -- Use name of file that is being linked to
- name = fs.combine( installDir, self.onpath:match('[^/]-$') )
- elseif self.onpath_filename == 1 then
- -- Use name of project
- name = fs.combine(installDir, self.name)
- end
- fs.delete(name)
- end
- return true
- end
- function Package:update()
- local status, package = Package.get( self.name )
- if status then
- self:uninstall()
- package:install()
- data.packages[ package.name ] = package
- end
- end
- ]])
- package.close()
- params=fs.open("mem/redworks/programs/cc-get-bin/params.lua","w")
- params.write([[
- --Params version 1.0.0
- --Examples:
- -- If you were to run:
- -- cc-get install program -v 1.2 -f
- -- With this in the cc-get program:
- -- opts = parse_params({...}, {version = '-v *([^ ]+)', flag = '-f'})
- -- Opts would be:
- -- opts = {
- -- 'install',
- -- 'program',
- -- flag = true,
- -- version = '1.2'
- -- }
- function parse_params(params, patterns)
- params = table.concat(params, ' ')
- local result = {}
- local left = params
- for k, pattern in pairs(patterns) do
- for x in string.gmatch(params, pattern) do
- if x == pattern then
- result[ k ] = true
- else
- result[ k ] = x
- end
- left = left:gsub(pattern, '')
- end
- end
- -- Remove extra spaces
- left = left:gsub('%s+', ' ')
- -- Trim before and after
- left = left:gsub('^%s*(.+)%s*$', '%1')
- for param in left:gmatch('[^ ]+') do
- table.insert( result, param )
- end
- return result
- end
- ]])
- params.close()
- AND=fs.open("mem/redworks/programs/circuits/AND","w")
- AND.write([[--2
- --1
- --0
- input = {}
- output = {}
- extra = {}
- input[1] = "left"
- input[2] = "right"
- output[1] = "back"
- -- AND Gate
- -- Created by: Streetstar5 aka FuzzyPurp
- term.clear()
- term.setCursorPos(1,2)
- print("AND Gate is now running.")
- print("Input(s): " .. input[1] .. ", " .. input[2] .. ".")
- print("Output(s): " .. output[1] .. ".")
- print("\nPress Q to terminate.")
- while true do
- --wait on an event
- event, param = os.pullEvent()
- -- Key event. Q key will exit to shell.
- if event == "char" and string.lower(param) == "q" then
- print("Device stopped")
- break
- end
- --Now on to the actual Logic gate.
- if rs.getInput(input[1]) and rs.getInput(input[2]) then
- rs.setOutput(output[1], true)
- else
- rs.setOutput(output[1], false)
- end
- end
- ]])
- AND.close()
- D_FlipFlop=fs.open("mem/redworks/programs/circuits/D-FlipFlop","w")
- D_FlipFlop.write([[--2
- --2
- --0
- input = {}
- output = {}
- extra = {}
- input[1] = "front"
- input[2] = "left"
- output[1] = "right"
- output[2] = "back"
- -- D-FlipFlop
- -- press q or Q to exit to shell
- -- front input: Clock
- -- left input: D (Data)
- -- right output: Q (Data Out)
- -- back output: Inv Q (Inverted Data Out)
- term.clear()
- term.setCursorPos(1,2)
- print("D-FlipFlop running. Press Q to stop.")
- --set initial state
- QBit = false;
- redstone.setOutput(output[1],QBit)
- redstone.setOutput(output[2], not QBit)
- lastinpfront = false
- while true do
- --wait on an event
- event, param = os.pullEvent()
- -- Key event. On a key Q or q we exit to shell
- if event == "char" and (param == "q" or param == "Q") then
- print("Device stopped")
- break
- end
- -- redstone event
- if event == "redstone" then
- -- read clock input
- inpfront = redstone.getInput(input[1])
- if (inpfront and not lastinpfront) then
- -- rising edge detected
- -- read data Input
- QBit = redstone.getInput(input[2])
- -- delay the output at least a bit more than 0.05 sec to allow synchronous working circuits
- sleep(0.06)
- -- set new output
- -- well I don't think the order matters (single core app) but let's do it the safe way and go low first
- if QBit then
- redstone.setOutput(output[2], not QBit)
- redstone.setOutput(output[1],QBit)
- else
- redstone.setOutput(output[1],QBit)
- redstone.setOutput(output[2], not QBit)
- end
- end
- lastinpfront = inpfront
- end
- end
- ]])
- D_FlipFlop.close()
- Inverter=fs.open("mem/redworks/programs/circuits/Inverter","w")
- Inverter.write([[--2
- --2
- --2
- input = {}
- output = {}
- extra = {}
- input[1] = "bottom"
- input[2] = "right"
- output[1] = "back"
- output[2] = "top"
- extra[1] = "Number of Pulses"
- extra[2] = "Speed of Pulses"
- print ("Yep")
- print ("Test - "..input[1].." Test - "..output[1])
- print ("Yep")
- ]])
- Inverter.close()
- Lever=fs.open("mem/redworks/programs/circuits/Lever","w")
- Lever.write([[--0
- --6
- --0
- input = {}
- output = {}
- extra = {}
- output[1] = "back"
- output[2] = "front"
- output[3] = "left"
- output[4] = "right"
- output[5] = "bottom"
- output[6] = "top"
- -- 6-way Ouput Lever
- -- Created by: Streetstar5 aka FuzzyPurp
- rState = false
- local rRunning = true
- term.clear()
- term.setCursorPos(1,2)
- print("Artificial Lever is now running.")
- print("Press T to turn ON and F to turn off")
- print("Output(s): " .. output[1] .. ", " ..output[2] .. ", " .. output[3] .. ".")
- print("Output(s): " .. output[4] .. ", " ..output[5] .. ", " .. output[6] .. ".")
- print("\nHold Control+T to terminate.")
- while true do
- local rEvent, param = os.pullEvent()
- if rEvent == "key" then
- if param == 20 then
- rState = true
- end
- if param == 33 then
- rState = false
- end
- end
- rs.setOutput(output[1], rState)
- rs.setOutput(output[2], rState)
- rs.setOutput(output[3], rState)
- rs.setOutput(output[4], rState)
- rs.setOutput(output[5], rState)
- rs.setOutput(output[6], rState)
- end
- ]])
- Lever.close()
- NOT=fs.open("mem/redworks/programs/circuits/NOT","w")
- NOT.write([[--1
- --1
- --0
- input = {}
- output = {}
- extra = {}
- input[1] = "left"
- output[1] = "back"
- -- NOT Gate
- -- Created by: Streetstar5 aka FuzzyPurp
- local rRunning = true
- term.clear()
- term.setCursorPos(1,2)
- print("NOT Gate is now running.")
- print("Input(s): " .. input[1] .. ".")
- print("Output(s): " .. output[1] .. ".")
- print("\nHold Control+T to terminate.")
- while rRunning do
- sleep(0.1)
- if rs.getInput(input[1]) then
- rs.setOutput(output[1], false)
- else
- rs.setOutput(output[1], true)
- end
- end
- ]])
- NOT.close()
- Pulse_Former=fs.open("mem/redworks/programs/circuits/Pulse-Former","w")
- Pulse_Former.write([[--1
- --1
- --0
- input = {}
- output = {}
- extra = {}
- input[1] = "left"
- output[1] = "back"
- -- Pulse Former
- -- Created by: FuzzyPurp
- local rRunning = true
- term.clear()
- term.setCursorPos(1,2)
- print("Pulse Former is now running.")
- print("Input(s): " .. input[1] .. ".")
- print("Output(s): " .. output[1] .. ".")
- print("\nHold Control+T to terminate.")
- while rRunning do
- sleep(0.1)
- local rEvent, param = os.pullEvent()
- if rEvent == "redstone" then
- if rs.getInput(input[1]) then
- rs.setOutput(output[1], true)
- sleep(0.2)
- rs.setOutput(output[1], false)
- end
- end
- end
- ]])
- Pulse_Former.close()
- Timer=fs.open("mem/redworks/programs/circuits/Timer","w")
- Timer.write([[--1
- --1
- --1
- input = {}
- output = {}
- extra = {}
- input[1] = "front"
- output[1] = "back"
- extra[1] = "The delay of pulse."
- -- Simple Timer
- -- Created by: FuzzyPurp
- local rRunning = true
- term.clear()
- term.setCursorPos(1,2)
- print("Timer is now running with a " .. extra[1] .. " sec. delay.")
- print("\nInput(s): " .. input[1] .. ".")
- print("Output(s): " .. output[1] .. ".")
- print("\nHold Control+R to reboot.")
- print("Hold Control+T to terminate.")
- while rRunning do
- sleep(extra[1] - 0.1)
- if rs.getInput(input[1]) then
- else
- rs.setOutput(output[1], true)
- sleep(0.1)
- rs.setOutput(output[1], false)
- end
- end
- ]])
- Timer.close()
- Toggle_Latch=fs.open("mem/redworks/programs/circuits/Toggle-Latch","w")
- Toggle_Latch.write([[--1
- --1
- --0
- input = {}
- output = {}
- extra = {}
- input[1] = "left"
- output[1] = "back"
- -- Toggle Latch
- -- Created by: Techzune
- -- Converted by: Streetstar5 aka FuzzyPurp
- rToggle = false
- local rRunning = true
- term.clear()
- term.setCursorPos(1,2)
- print("Toggle Latch is now running.")
- print("Input(s): " .. input[1] .. ".")
- print("Output(s): " .. output[1] .. ".")
- print("\nHold Control+T to terminate.")
- while rRunning do
- sleep(0.1)
- local rEvent, param = os.pullEvent()
- if rEvent == "redstone" then
- if rs.getInput(input[1]) then
- if rToggle == false then
- rToggle = true
- else
- rToggle = false
- end
- end
- end
- redstone.setOutput(output[1], rToggle)
- end
- ]])
- Toggle_Latch.close()
- XOR=fs.open("mem/redworks/programs/circuits/XOR","w")
- XOR.write([[--2
- --1
- --0
- input = {}
- output = {}
- extra = {}
- input[1] = "left"
- input[2] = "right"
- output[1] = "back"
- -- XOR Gate
- -- Created by: Streetstar5 aka FuzzyPurp
- local rRunning = true
- term.clear()
- term.setCursorPos(1,2)
- print("XOR Gate is now running.")
- print("Input(s): " .. input[1] .. ", " .. input[2] .. ".")
- print("Output(s): " .. output[1] .. ".")
- print("\nHold Control+T to terminate.")
- while rRunning do
- sleep(0.1)
- if rs.getInput(input[1]) ~= redstone.getInput(input[2]) then
- rs.setOutput(output[1], true)
- else
- rs.setOutput(output[1], false)
- end
- end
- ]])
- XOR.close()
- alchemy=fs.open("mem/redworks/minepedia/alchemy","w")
- alchemy.write([[Brewing is how potions and splash potions are made in Minecraft.
- Recipes: Despite the complicated web of potions that can be brewed from other potions, to brew a specific potion from the water bottle most efficiently the options are quite simple. The following table gives the most efficient way to brew each potion without wasting extra ingredients. Cases where the order of ingredients is irrelevant or two different ingredients are interchangeable are included. The potion of weakness, the only one which can be brewed without starting with a nether wart, can still be brewed from an awkward potion if the player wishes to convert all water bottles to awkward potions in preparation for brewing.
- Weakness > fermented spider eye
- Weakness E > fermented spider eye and redstone (if brewed from an awkward potion the fermented spider eye must be added first)
- Strength > nether wart > blaze powder
- Strength E > nether wart > blaze powder > redstone
- Strength II > nether wart > blaze powder > glowstone
- Regeneration > nether wart > ghast tear
- Regeneration E > nether wart > ghast tear > redstone
- Regeneration II > nether wart > ghast tear > glowstone
- Swiftness > nether wart > sugar
- Swiftness E > nether wart > sugar > redstone
- Swiftness II > nether wart > sugar > glowstone
- Slowness > nether wart > sugar or magma cream > fermented spider eye
- Slowness E > nether wart > sugar or magma cream > fermented spider eye > redstone
- Health > nether wart > glistering melon
- Health II > nether wart > glistering melon > glowstone
- Harming > nether wart > glistering melon or spider eye > fermented spider eye
- Harming II > nether wart > glistering melon or spider eye > fermented spider eye and glowstone
- Poison > nether wart > spider eye
- Poison E > nether wart > spider eye > redstone
- Poison II > nether wart > spider eye > glowstone
- Fire Resistance > nether wart > magma cream
- Fire Resistance E > nether wart > magma cream > redstone
- History: Initially, the Cauldron was where potions were brewed. Code in Beta 1.9 pre2 revealed that Potions were brewed by adding water to the Cauldron followed by certain reagents. Correctly combined reagents would confer purely beneficial potion effects, and incorrect combinations added negative effects. The system was complicated, lacked a GUI, and formed many duplicate potions (i.e. two potions that were exactly the same could be made in several different ways), so Notch and Jeb came up with a new brewing method using a Brewing Stand.[1] The Cauldron's role in brewing was relegated to being a slightly more efficient storage vessel for water. Brewing was greatly streamlined and simplified when a brewing GUI was added and most duplicate potions were removed (the total possible potions went down from 150 combinations to only 25 different potions in 31 combinations). However, this new system made some potion effects available in earlier 1.9 pre-releases inaccessible (e.g. Nausea, Blindness and Invisibility).
- Throwable Splash Potions were introduced in Beta 1.9 Pre4 and brewed by placing gunpowder and any potion together in a brewing stand. This pre-release also introduced Glistering Melon as an alchemical reagent to replace the instant health effect conferred by the Ghast Tear, which then added the effect of regeneration instead. This version also converted certain reagents into base-secondary reagents (the Spider Eye, Glistering Melon and Blaze Powder made Mundane Potion when brewed into a water bottle in addition to their previous functions), bringing the potion total to 28 different potions in 35 combinations.
- Trivia:Only 1 ingredient is needed to brew into up to 3 potions. These three potions do not necessarily have to be the same.
- Upgrading effect of potion that has no time parameter (i.e. Instant Health, Harming) with glowstone dust has no downsides.
- Upgrading a Fire Resistance Potion with redstone dust has no downsides.
- Although Jeb said that in the 1.9 pre-release 3 there were 161 possible different potion combinations with 2,653 in the future, in the actual third pre-release only 22 different potions could be made without the use of external programs. Of those, 19 potions had one of 8 different effects.
- The Mundane Potion made from redstone has a different metadata (64) than the mundane potion made from any other ingredient (8192). Unlike Mundane 64, Mundane 8192 can be made into a Splash Mundane Potion by adding gunpowder that is, like its base potion, without any effect.
- There are many Potions that were left behind from 1.9 pre-releases that fill up different metadatas that otherwise cannot be brewed or obtained without a SMP server command or inventory editor. These potions include but are not limited to: Bungling Potion, Buttering Potion, Debonair Potion, Refined Potion.
- Splash potions can be fired by Dispensers.
- Cauldrons can be entirely circumvented from the brewing process with no ill effects, as bottles can be filled by right-clicking on a water source block. This is an improvement from cauldrons, as one does not have to replenish the source block every three bottles, or indeed at all. This, however can not be done in the Nether, where cauldrons become essential.
- Some splash potions have the opposite effect on undead mobs such as zombies and skeletons.
- ]])
- alchemy.close()
- biome=fs.open("mem/redworks/minepedia/biome","w")
- biome.write([[According to Wikipedia, biomes are climatically and geographically defined as similar climatic conditions on the Earth, such as communities of plants, animals, and soil organisms, and are often referred to as ecosystems.
- In Minecraft, from the Halloween Update onwards, this means that different areas with varying heights, temperatures, humidity ratings and foliage colors are created.
- Before the Halloween Update, when a map was generated it had either a Snowy or Grassy theme. But after the update, a single world includes all themes in a logical fashion determined from the biomes graph.
- Biome Types Biome types may be easily distinguished by the differentiating grass and leaf colors in conjunction with the kind of blocks present, like cacti in deserts and pine trees in pine forests. They are randomly created during the generation of the world and are affected by the starting seed.
- There are nine biomes in Minecraft 1.0.
- Biome Description Features Image
- Forest (Oak/Birch Forest) A biome with many trees and a fair amount of tall grass. Birch trees can be found in this biome. Oak and Birch Trees, Grass, Flowers, Tall Grass.
- Taiga (Pine Forest) A biome with many pine/spruce trees and dull grey-blue grass. Wolves are also found on this biome more commonly than others. As of 1.8, it is most likely to spawn in one of these biomes. Snow and Ice occur in this biome after Minecraft 11w48a. Pine Trees, Grass, Flowers, Wolves, Tall Grass.
- Swampland A flat biome with swamp-like trees with vines and shallow pools of clay, sand and dirt. The water, grass, leaves, vines and trees are much darker. The water can have floating lily pads. Mushrooms are also moderately common in swamps. There is a green-ish color in the water. Trees can sometimes spawn in the water in this biome. Oak Trees, Grass, Vines, Lily Pads, Clay, Mushrooms.
- Extreme Hills (Mountains) A highly mountainous biome with dull grey-blue grass and few trees, added in the 1.8 Adventure Update. Prior to this update, mountains were found in all types of biomes, but now are very rare outside this type of land. More underground cave systems are present here than any other biome. Oak Trees, Grass.
- Desert A very flat biome consisting mostly of sand, dead shrubs and cacti. No rain occurs in this biome. Sugar Cane can be found sometimes next to pools of water. NPC Villages spawn mostly in this biome. Sand, Cacti, Dead Bushes, Sandstone, Sugar Cane.
- Plains A relatively flat biome with rolling hills and a large amount of tall grass (more than in any other type of land). The occasional tree does exist, although very rarely. Gulleys are also quite common in this biome. Tall Grass, Grass, Oak Trees.
- Ocean A very big, flat open biome made entirely of water, with underwater reliefs such as small mountains and plains and usually includes sand and clay at its bottom. Ocean biomes can go down to 30 blocks deep and the occasional island may exist, as a small version of other biome types. Entrances to underground ravines can be also found at the bottom of the ocean, as well as Abandoned Mine Shafts (whose upper parts are mostly flooded due to the proximity of the ocean). Oceans can be larger than ten thousand blocks wide and long. Water, Sand, Clay.
- Tundra A relatively flat biome covered in snow. Lakes and rivers are mostly frozen over and trees (only regular types are spawned) are scarce. Sugar canes do spawn in this biome, but are destroyed and dropped when the chunks load because of the ice that spreads over open water sources. Snow, Snowfall, Oak Trees, Ice, Sugar Cane.
- Mushroom This biome consists of flat landscapes and high hills, has Mycelium instead of grass as its common surface block, and tends to appear as islands far from the spawn of a map and any significant landmass. It is the only biome where Huge Mushrooms can spawn and grow naturally, where mushrooms grow in full sunlight, and where Mooshrooms spawn.
- It's actually composed of two different "biomes" - the shoreline, which is flat, and the mainland, which is more undulating (hilly). Contrary to popular belief, trees can be grown in this biome, but not next to Mycelium which will take over the dirt square from the sapling and un-plant the sapling. A player can create a Mycelium-free zone with cobblestone and grow a tree in the middle of it on freshly placed dirt. A player is also able to place saplings on mycelium and use bonemeal on the sapling to grow it. Otherwise, it is advised to collect wood (and saplings) before settling here.
- No mobs other than Mooshrooms (including hostile mobs at night) spawn in this biome. This includes caves, abandoned mines, etc... below Mushroom Biomes, meaning exploring underground is relatively safe. Dungeons with spawners will still spawn mobs, however, and caution should still be taken when exploring (as sometimes "fingers" of other biomes project into mushroom biomes).
- As of 1.0.0 player made structures in this biome are exempt from the "no mob spawn" rule: Only mushroom terrain originally created with the map seems to prevent mob spawning.
- History: Biomes were added in Alpha 1.2.0, also known as the Halloween Update. In Beta 1.8, biomes got an overhaul, removing some biomes and others replaced with nine fractal-based biomes - some old, some new.
- Difficulty: It can be difficult to play and gather sufficient resources if one starts in the middle of a biome with no trees, such as the desert, savanna, tundra, and especially the ocean.
- There have been multiple reports of players spawning on tiny islands in the middle of a vast ocean with no trees for several Minecraft days in any direction. It appears that these desert islands generate in the Ocean biome, where animals cannot spawn (on the water); sometimes the island spawns with no trees so players have to delete the world and start again, swim great distances to a landmass, or search for nearby underwater openings into abandoned mineshafts to acquire wood. This is not quite as bad a problem if one starts the map in Creative Mode since the player is able to fly, make a boat, or plant trees. It is still undetermined whether this feature is a bug or not (Notch didn't say it was a bug, but the community seems to think it is).
- ]])
- biome.close()
- biomes=fs.open("mem/redworks/minepedia/biomes","w")
- biomes.write([[According to Wikipedia, biomes are climatically and geographically defined as similar climatic conditions on the Earth, such as communities of plants, animals, and soil organisms, and are often referred to as ecosystems.
- In Minecraft, from the Halloween Update onwards, this means that different areas with varying heights, temperatures, humidity ratings and foliage colors are created.
- Before the Halloween Update, when a map was generated it had either a Snowy or Grassy theme. But after the update, a single world includes all themes in a logical fashion determined from the biomes graph.
- Biome Types Biome types may be easily distinguished by the differentiating grass and leaf colors in conjunction with the kind of blocks present, like cacti in deserts and pine trees in pine forests. They are randomly created during the generation of the world and are affected by the starting seed.
- There are nine biomes in Minecraft 1.0.
- Biome Description Features Image
- Forest (Oak/Birch Forest) A biome with many trees and a fair amount of tall grass. Birch trees can be found in this biome. Oak and Birch Trees, Grass, Flowers, Tall Grass.
- Taiga (Pine Forest) A biome with many pine/spruce trees and dull grey-blue grass. Wolves are also found on this biome more commonly than others. As of 1.8, it is most likely to spawn in one of these biomes. Snow and Ice occur in this biome after Minecraft 11w48a. Pine Trees, Grass, Flowers, Wolves, Tall Grass.
- Swampland A flat biome with swamp-like trees with vines and shallow pools of clay, sand and dirt. The water, grass, leaves, vines and trees are much darker. The water can have floating lily pads. Mushrooms are also moderately common in swamps. There is a green-ish color in the water. Trees can sometimes spawn in the water in this biome. Oak Trees, Grass, Vines, Lily Pads, Clay, Mushrooms.
- Extreme Hills (Mountains) A highly mountainous biome with dull grey-blue grass and few trees, added in the 1.8 Adventure Update. Prior to this update, mountains were found in all types of biomes, but now are very rare outside this type of land. More underground cave systems are present here than any other biome. Oak Trees, Grass.
- Desert A very flat biome consisting mostly of sand, dead shrubs and cacti. No rain occurs in this biome. Sugar Cane can be found sometimes next to pools of water. NPC Villages spawn mostly in this biome. Sand, Cacti, Dead Bushes, Sandstone, Sugar Cane.
- Plains A relatively flat biome with rolling hills and a large amount of tall grass (more than in any other type of land). The occasional tree does exist, although very rarely. Gulleys are also quite common in this biome. Tall Grass, Grass, Oak Trees.
- Ocean A very big, flat open biome made entirely of water, with underwater reliefs such as small mountains and plains and usually includes sand and clay at its bottom. Ocean biomes can go down to 30 blocks deep and the occasional island may exist, as a small version of other biome types. Entrances to underground ravines can be also found at the bottom of the ocean, as well as Abandoned Mine Shafts (whose upper parts are mostly flooded due to the proximity of the ocean). Oceans can be larger than ten thousand blocks wide and long. Water, Sand, Clay.
- Tundra A relatively flat biome covered in snow. Lakes and rivers are mostly frozen over and trees (only regular types are spawned) are scarce. Sugar canes do spawn in this biome, but are destroyed and dropped when the chunks load because of the ice that spreads over open water sources. Snow, Snowfall, Oak Trees, Ice, Sugar Cane.
- Mushroom This biome consists of flat landscapes and high hills, has Mycelium instead of grass as its common surface block, and tends to appear as islands far from the spawn of a map and any significant landmass. It is the only biome where Huge Mushrooms can spawn and grow naturally, where mushrooms grow in full sunlight, and where Mooshrooms spawn.
- It's actually composed of two different "biomes" - the shoreline, which is flat, and the mainland, which is more undulating (hilly). Contrary to popular belief, trees can be grown in this biome, but not next to Mycelium which will take over the dirt square from the sapling and un-plant the sapling. A player can create a Mycelium-free zone with cobblestone and grow a tree in the middle of it on freshly placed dirt. A player is also able to place saplings on mycelium and use bonemeal on the sapling to grow it. Otherwise, it is advised to collect wood (and saplings) before settling here.
- No mobs other than Mooshrooms (including hostile mobs at night) spawn in this biome. This includes caves, abandoned mines, etc... below Mushroom Biomes, meaning exploring underground is relatively safe. Dungeons with spawners will still spawn mobs, however, and caution should still be taken when exploring (as sometimes "fingers" of other biomes project into mushroom biomes).
- As of 1.0.0 player made structures in this biome are exempt from the "no mob spawn" rule: Only mushroom terrain originally created with the map seems to prevent mob spawning.
- History: Biomes were added in Alpha 1.2.0, also known as the Halloween Update. In Beta 1.8, biomes got an overhaul, removing some biomes and others replaced with nine fractal-based biomes - some old, some new.
- Difficulty: It can be difficult to play and gather sufficient resources if one starts in the middle of a biome with no trees, such as the desert, savanna, tundra, and especially the ocean.
- There have been multiple reports of players spawning on tiny islands in the middle of a vast ocean with no trees for several Minecraft days in any direction. It appears that these desert islands generate in the Ocean biome, where animals cannot spawn (on the water); sometimes the island spawns with no trees so players have to delete the world and start again, swim great distances to a landmass, or search for nearby underwater openings into abandoned mineshafts to acquire wood. This is not quite as bad a problem if one starts the map in Creative Mode since the player is able to fly, make a boat, or plant trees. It is still undetermined whether this feature is a bug or not (Notch didn't say it was a bug, but the community seems to think it is).
- ]])
- biomes.close()
- blaze=fs.open("mem/redworks/minepedia/blaze","w")
- blaze.write([[Blaze is a type of mob found in The Nether. In their searching state they are confined to the ground and do not blow smoke. They will not start flying unless they spot the player. When pursuing, they catch fire briefly before shooting a three round burst of fireballs. A short cool down period occurs between attacks. Their bodies are made up of a head atop a central column of smoke, and three rotating sections, each rotating section contains four floating yellow rods. They drop Blaze Rods, and can only spawn in Nether Fortresses, from Mob Spawners. Their fireballs set players and mobs alike on fire. Despite being similar to a Ghast fireball, Blaze Fireballs are not explosive, and cannot be deflected.
- Combat: Blazes are one of the most difficult mobs to fight, due to their ranged, unblockable attacks and rapid rate of fire. Their ability to fly usually leaves the player's sword useless, while a player's bow's charging time and move speed leaves the player highly vulnerable to attack. On the other hand, Blaze have a much shorter attack range, which makes it more feasible to snipe them from afar. Blaze can only spawn in light level 12 or lower (at the lower half of their body). Much like Ghasts, the Blaze's ability to fly can make it difficult to recover their loot after killing them. However, a viable tactic of combat is to fight them at close range by reeling them in with a fishing rod first. The use of a potion of fire resistance is extremely helpful when fighting Blazes.
- Blaze spawners occur in Nether Fortresses, and will start spawning Blazes once the player gets within 16 blocks. The spawners have a chance of spawning 1-6 Blazes at once. 'Camping' at a Blaze spawner is an effective way to gather Blaze Rods, as they will always appear close enough to attack with a sword, and there is a delay in their attack after they spawn because they have to charge first. This is best done in combination with the fire resistance potion in effect, which makes the player immune to the Blaze's attacks and can be brewed by adding Magma Cream to awkward potions. You can also build a doorway, 2 blocks tall and 1 block wide, where you can camp and kill the blazes as they come down. This strategy is extremely effective if you cover up the roof of the spawner room and camp in the doorway with a diamond sword.
- A Blaze suffers damage upon contact with water or from snowballs, making a small army of Snow Golems a great way to kill them or even make Golem-based Blaze grinders, provided the player has enough ingredients to replace the fallen golems, a safe place to hide while making new golems, as well as that the initial attack is made with enough snowmen to defeat the first wave of Blazes, before more Blazes can arrive and turn the Blaze grinder into a Snow Golem grinder. Be aware with Blaze spawners as these can quickly create new waves of Blaze, outnumbering the golems. In SMP, this tactic is one of the easiest ways (if not THE easiest way) to kill Blazes, as another player can be assigned the mission to gather snow from dead snow golems and turn this into blocks, letting the golem maker work without stopping to get more snow. Systems like this can in practical use take out several spawners with the only resource requirement being pumpkins for new golems, making the Blaze killing process almost self-sustaining. A pumpkin farm could produce unlimited pumpkins, making it fairly sustainable, although the snow would run out if the dead golems' snowballs weren't collected.
- History: Blazes were introduced in Beta 1.9 Pre-release 1. Starting from Beta 1.9 Pre-release 4(verify version) they only drop items when they aren't on fire (about to attack).
- Trivia: The light level of an area to disable a spawnable area has to be 12 or higher.
- Blaze cannot shoot if trapped in a Cobweb.
- Blaze do not have a body, unlike other mobs. They are simply floating heads over a cloud of smoke surrounded by spinning rods.
- Unlike Ghasts, projectiles fired by a Blaze cannot be deflected, so hitting the projectiles would be pointless.
- Blaze projectiles will set whatever they hit on fire, which includes solid blocks, mobs, and the player.
- With a 'fire resistance potion' in effect, the blaze is the only mob whose attacks are capable of being neutralized, including their knockback effect. However, they are able to hit players when up close with a melee attack when they are on fire and ONLY when they are on fire.
- The player and Snow Golems can kill a blaze with snowballs, although Snow Golems will be killed quickly by the Blazes' attacks.
- Each snowball deals 3 () damage, so it takes 7 snowballs to kill one Blaze.
- Blazes will take damage from rain and snowy weather if spawned into the over-world.
- As of Beta 1.9 Pre-release 5, Blaze only drop a Blaze Rod when killed by the player.
- As of Version RC2, Blaze now have their own sounds. They make "breath" sounds and make metallic clunks when hurt.
- Blazes, despite their almost alien morphology, share a recolored face with The Player and other humanoid mobs.
- When this mob is not in pursuit of the player, they are bound to the ground. One can observe this as they may jump to get onto higher blocks and drop when going off an edge.
- One may also observe that when they make contact with a block below they make footstepping noises appropriate to the block, as any earth-bound mob with feet would make, despite being a floating mob.
- Once fired, the Blaze's fireball has an infinite range. However, The Player still needs to be within 'attack range' of the Blaze to attack.
- Blazes take damage from water.
- ]])
- blaze.close()
- blockids=fs.open("mem/redworks/minepedia/blockids","w")
- blockids.write([[These data values refer to the different types of blocks and items. They are used in many, many places in Minecraft. Block IDs are used to define blocks placed in the world and inventory items (including items in chests and items dropped in the world). Item IDs are only valid for items. Each inventory slot has a unique slot number. In a Beta world, Block data further defines blocks placed, describing for example the height of water or the direction a torch points.
- Icon Dec Hex Block type
- 00 00 Air
- 01 01 Stone
- 02 02 Grass
- 03 03 Dirt
- 04 04 Cobblestone
- 05 05 Wooden Planks
- 06 06 Saplings D B
- 07 07 Bedrock
- 08 08 Water D
- 09 09 Stationary water D
- 10 0A Lava D
- 11 0B Stationary lava D
- 12 0C Sand
- 13 0D Gravel
- 14 0E Gold Ore
- 15 0F Iron Ore
- 16 10 Coal Ore
- 17 11 Wood D B
- 18 12 Leaves D B
- 19 13 Sponge
- 20 14 Glass
- 21 15 Lapis Lazuli Ore
- 22 16 Lapis Lazuli Block
- 23 17 Dispenser D T
- 24 18 Sandstone
- 25 19 Note Block T
- 26 1A Bed D I
- 27 1B Powered Rail D
- 28 1C Detector Rail D
- 29 1D Sticky Piston D
- 30 1E Cobweb
- 31 1F Tall Grass D
- Icon Dec Hex Block type
- 32 20 Dead Bush
- 33 21 Piston D
- 34 22 Piston Extension D
- 35 23 Wool D B
- 36 24 Block moved by Piston T
- 37 25 Dandelion
- 38 26 Rose
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 41 29 Block of Gold
- 42 2A Block of Iron
- 43 2B Double Slabs D B
- 44 2C Slabs D B
- 45 2D Bricks
- 46 2E TNT
- 47 2F Bookshelf
- 48 30 Moss Stone
- 49 31 Obsidian
- 50 32 Torch D
- 51 33 Fire D
- 52 34 Monster Spawner T
- 53 35 Wooden Stairs D
- 54 36 Chest D T
- 55 37 Redstone Wire D I
- 56 38 Diamond Ore
- 57 39 Block of Diamond
- 58 3A Crafting Table
- 59 3B Wheat Seeds D
- 60 3C Farmland D
- 61 3D Furnace D T
- 62 3E Burning Furnace D T
- 63 3F Sign Post D I T
- Icon Dec Hex Block type
- 64 40 Wooden Door D I
- 65 41 Ladders D
- 66 42 Rails D
- 67 43 Cobblestone Stairs D
- 68 44 Wall Sign D T
- 69 45 Lever D
- 70 46 Stone Pressure Plate D
- 71 47 Iron Door D I
- 72 48 Wooden Pressure Plate D
- 73 49 Redstone Ore
- 74 4A Glowing Redstone Ore
- 75 4B Redstone Torch ("off" state) D
- 76 4C Redstone Torch ("on" state) D
- 77 4D Stone Button D
- 78 4E Snow D
- 79 4F Ice
- 80 50 Snow Block
- 81 51 Cactus D
- 82 52 Clay Block
- 83 53 Sugar Cane D I
- 84 54 Jukebox D T
- 85 55 Fence
- 86 56 Pumpkin D
- 87 57 Netherrack
- 88 58 Soul Sand
- 89 59 Glowstone Block
- 90 5A Portal
- 91 5B Jack-O-Lantern D
- 92 5C Cake Block D I
- 93 5D Redstone Repeater ("off" state) D I
- 94 5E Redstone Repeater ("on" state) D I
- 95 5F Locked Chest
- Icon Dec Hex Block type
- 96 60 Trapdoor D
- 97 61 Hidden Silverfish D
- 98 62 Stone Bricks D B
- 99 63 Huge Brown Mushroom D
- 100 64 Huge Red Mushroom D
- 101 65 Iron Bars
- 102 66 Glass Pane
- 103 67 Melon
- 104 68 Pumpkin Stem D
- 105 69 Melon Stem D
- 106 6A Vines D
- 107 6B Fence Gate D
- 108 6C Brick Stairs D
- 109 6D Stone Brick Stairs D
- 110 6E Mycelium
- 111 6F Lily Pad
- 112 70 Nether Brick
- 113 71 Nether Brick Fence
- 114 72 Nether Brick Stairs D
- 115 73 Nether Wart D I
- 116 74 Enchantment Table T
- 117 75 Brewing Stand D T I
- 118 76 Cauldron D I
- 119 77 End Portal T
- 120 78 End Portal Frame D
- 121 79 End Stone
- 122 7A Dragon Egg
- Item IDs All items have values above 255, making it easy to separate the Block IDs from the Item IDs. Entries marked with a D require additional data to fully define the item in a Beta world. The chainmail set is currently unobtainable in Survival mode without hacking or, in multiplayer, the /give server command. It is available in Creative mode, however. The same applies to all music discs except for 13 and cat.
- Icon Dec Hex Item
- 256 100 Iron Shovel
- 257 101 Iron Pickaxe
- 258 102 Iron Axe
- 259 103 Flint and Steel
- 260 104 Red Apple
- 261 105 Bow
- 262 106 Arrow
- 263 107 Coal D
- 264 108 Diamond
- 265 109 Iron Ingot
- 266 10A Gold Ingot
- 267 10B Iron Sword
- 268 10C Wooden Sword
- 269 10D Wooden Shovel
- 270 10E Wooden Pickaxe
- 271 10F Wooden Axe
- 272 110 Stone Sword
- 273 111 Stone Shovel
- 274 112 Stone Pickaxe
- 275 113 Stone Axe
- 276 114 Diamond Sword
- 277 115 Diamond Shovel
- 278 116 Diamond Pickaxe
- 279 117 Diamond Axe
- 280 118 Stick
- 281 119 Bowl
- 282 11A Mushroom Soup
- 283 11B Gold Sword
- 284 11C Gold Shovel
- 285 11D Gold Pickaxe
- 286 11E Gold Axe
- 287 11F String
- Icon Dec Hex Item
- 288 120 Feather
- 289 121 Gunpowder
- 290 122 Wooden Hoe
- 291 123 Stone Hoe
- 292 124 Iron Hoe
- 293 125 Diamond Hoe
- 294 126 Gold Hoe
- 295 127 Seeds
- 296 128 Wheat
- 297 129 Bread
- 298 12A Leather Cap
- 299 12B Leather Tunic
- 300 12C Leather Pants
- 301 12D Leather Boots
- 302 12E Chain Helmet
- 303 12F Chain Chestplate
- 304 130 Chain Leggings
- 305 131 Chain Boots
- 306 132 Iron Helmet
- 307 133 Iron Chestplate
- 308 134 Iron Leggings
- 309 135 Iron Boots
- 310 136 Diamond Helmet
- 311 137 Diamond Chestplate
- 312 138 Diamond Leggings
- 313 139 Diamond Boots
- 314 13A Gold Helmet
- 315 13B Gold Chestplate
- 316 13C Gold Leggings
- 317 13D Gold Boots
- 318 13E Flint
- 319 13F Raw Porkchop
- Icon Dec Hex Item
- 320 140 Cooked Porkchop
- 321 141 Paintings
- 322 142 Golden Apple
- 323 143 Sign
- 324 144 Wooden door
- 325 145 Bucket
- 326 146 Water bucket
- 327 147 Lava bucket
- 328 148 Minecart
- 329 149 Saddle
- 330 14A Iron door
- 331 14B Redstone
- 332 14C Snowball
- 333 14D Boat
- 334 14E Leather
- 335 14F Milk
- 336 150 Clay Brick
- 337 151 Clay
- 338 152 Sugar Cane
- 339 153 Paper
- 340 154 Book
- 341 155 Slimeball
- 342 156 Minecart with Chest
- 343 157 Minecart with Furnace
- 344 158 Egg
- 345 159 Compass
- 346 15A Fishing Rod
- 347 15B Clock
- 348 15C Glowstone Dust
- 349 15D Raw Fish
- 350 15E Cooked Fish
- 351 15F Dye D
- Icon Dec Hex Item
- 352 160 Bone
- 353 161 Sugar
- 354 162 Cake
- 355 163 Bed
- 356 164 Redstone Repeater
- 357 165 Cookie
- 358 166 Map
- 359 167 Shears
- 360 168 Melon Slice
- 361 169 Pumpkin Seeds
- 362 16A Melon Seeds
- 363 16B Raw Beef
- 364 16C Steak
- 365 16D Raw Chicken
- 366 16E Cooked Chicken
- 367 16F Rotten Flesh
- 368 170 Ender Pearl
- 369 171 Blaze Rod
- 370 172 Ghast Tear
- 371 173 Gold Nugget
- 372 174 Nether Wart
- 373 175 Potions D
- 374 176 Glass Bottle
- 375 177 Spider Eye
- 376 178 Fermented Spider Eye
- 377 179 Blaze Powder
- 378 17A Magma Cream
- 379 17B Brewing Stand
- 380 17C Cauldron
- 381 17D Eye of Ender
- 382 17E Glistering Melon
- 383 17F Spawner Egg D
- Icon Dec Hex Item
- 2256 8D0 13 Disc
- 2257 8D1 Cat Disc
- 2258 8D2 blocks Disc
- 2259 8D3 chirp Disc
- 2260 8D4 far Disc
- 2261 8D5 mall Disc
- 2262 8D6 mellohi Disc
- 2263 8D7 stal Disc
- 2264 8D8 strad Disc
- 2265 8D9 ward Disc
- 2266 8DA 11 Disc
- Entity IDs Icon Dec Hex Entity
- Drops
- 1 01 Dropped item
- 2 02 Experience Orb
- Projectiles
- 10 0A Shot arrow
- 11 0B Thrown snowball
- 12 0C Ghast fireball
- 13 0D Blaze fireball
- 14 0E Thrown Ender Pearl
- 15 0F Thrown Eye of Ender
- Blocks
- 20 14 Primed TNT
- 21 15 Falling block (gravel, sand)
- Vehicles
- 40 28 Minecart
- 41 29 Boat
- Icon Dec Hex Entity
- Hostile mobs
- 50 32 Creeper
- 51 33 Skeleton
- 52 34 Spider
- 53 35 Giant
- 54 36 Zombie
- 55 37 Slime
- 56 38 Ghast
- 57 39 Zombie Pigman
- 58 3A Enderman
- 59 3B Cave Spider
- 60 3C Silverfish
- 61 3D Blaze
- 62 3E Magma Cube
- 63 3F Enderdragon
- Icon Dec Hex Entity
- Passive mobs
- 90 5A Pig
- 91 5B Sheep
- 92 5C Cow
- 93 5D Chicken
- 94 5E Squid
- 95 5F Wolf
- 96 60 Mooshroom
- 97 61 Snow Golem
- NPCs
- 120 78 Villager
- Other
- 200 C8 Ender Crystal
- Icon Dec Hex Block type
- 00 00 Air
- 01 01 Stone
- 02 02 Grass
- 03 03 Dirt
- 04 04 Cobblestone
- 05 05 Wooden Planks
- 06 06 Saplings D B
- 07 07 Bedrock
- 08 08 Water D
- 09 09 Stationary water D
- 10 0A Lava D
- 11 0B Stationary lava D
- 12 0C Sand
- 13 0D Gravel
- 14 0E Gold Ore
- 15 0F Iron Ore
- 16 10 Coal Ore
- 17 11 Wood D B
- 18 12 Leaves D B
- 19 13 Sponge
- 20 14 Glass
- 21 15 Lapis Lazuli Ore
- 22 16 Lapis Lazuli Block
- 23 17 Dispenser D T
- 24 18 Sandstone
- 25 19 Note Block T
- 26 1A Bed D I
- 27 1B Powered Rail D
- 28 1C Detector Rail D
- 29 1D Sticky Piston D
- 30 1E Cobweb
- 31 1F Tall Grass D
- Icon Dec Hex Block type
- 32 20 Dead Bush
- 33 21 Piston D
- 34 22 Piston Extension D
- 35 23 Wool D B
- 36 24 Block moved by Piston T
- 37 25 Dandelion
- 38 26 Rose
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 41 29 Block of Gold
- 42 2A Block of Iron
- 43 2B Double Slabs D B
- 44 2C Slabs D B
- 45 2D Bricks
- 46 2E TNT
- 47 2F Bookshelf
- 48 30 Moss Stone
- 49 31 Obsidian
- 50 32 Torch D
- 51 33 Fire D
- 52 34 Monster Spawner T
- 53 35 Wooden Stairs D
- 54 36 Chest D T
- 55 37 Redstone Wire D I
- 56 38 Diamond Ore
- 57 39 Block of Diamond
- 58 3A Crafting Table
- 59 3B Wheat Seeds D
- 60 3C Farmland D
- 61 3D Furnace D T
- 62 3E Burning Furnace D T
- 63 3F Sign Post D I T
- Icon Dec Hex Block type
- 64 40 Wooden Door D I
- 65 41 Ladders D
- 66 42 Rails D
- 67 43 Cobblestone Stairs D
- 68 44 Wall Sign D T
- 69 45 Lever D
- 70 46 Stone Pressure Plate D
- 71 47 Iron Door D I
- 72 48 Wooden Pressure Plate D
- 73 49 Redstone Ore
- 74 4A Glowing Redstone Ore
- 75 4B Redstone Torch ("off" state) D
- 76 4C Redstone Torch ("on" state) D
- 77 4D Stone Button D
- 78 4E Snow D
- 79 4F Ice
- 80 50 Snow Block
- 81 51 Cactus D
- 82 52 Clay Block
- 83 53 Sugar Cane D I
- 84 54 Jukebox D T
- 85 55 Fence
- 86 56 Pumpkin D
- 87 57 Netherrack
- 88 58 Soul Sand
- 89 59 Glowstone Block
- 90 5A Portal
- 91 5B Jack-O-Lantern D
- 92 5C Cake Block D I
- 93 5D Redstone Repeater ("off" state) D I
- 94 5E Redstone Repeater ("on" state) D I
- 95 5F Locked Chest
- Icon Dec Hex Block type
- 96 60 Trapdoor D
- 97 61 Hidden Silverfish D
- 98 62 Stone Bricks D B
- 99 63 Huge Brown Mushroom D
- 100 64 Huge Red Mushroom D
- 101 65 Iron Bars
- 102 66 Glass Pane
- 103 67 Melon
- 104 68 Pumpkin Stem D
- 105 69 Melon Stem D
- 106 6A Vines D
- 107 6B Fence Gate D
- 108 6C Brick Stairs D
- 109 6D Stone Brick Stairs D
- 110 6E Mycelium
- 111 6F Lily Pad
- 112 70 Nether Brick
- 113 71 Nether Brick Fence
- 114 72 Nether Brick Stairs D
- 115 73 Nether Wart D I
- 116 74 Enchantment Table T
- 117 75 Brewing Stand D T I
- 118 76 Cauldron D I
- 119 77 End Portal T
- 120 78 End Portal Frame D
- 121 79 End Stone
- 122 7A Dragon Egg
- Item IDs All items have values above 255, making it easy to separate the Block IDs from the Item IDs. Entries marked with a D require additional data to fully define the item in a Beta world. The chainmail set is currently unobtainable in Survival mode without hacking or, in multiplayer, the /give server command. It is available in Creative mode, however. The same applies to all music discs except for 13 and cat.
- Icon Dec Hex Item
- 256 100 Iron Shovel
- 257 101 Iron Pickaxe
- 258 102 Iron Axe
- 259 103 Flint and Steel
- 260 104 Red Apple
- 261 105 Bow
- 262 106 Arrow
- 263 107 Coal D
- 264 108 Diamond
- 265 109 Iron Ingot
- 266 10A Gold Ingot
- 267 10B Iron Sword
- 268 10C Wooden Sword
- 269 10D Wooden Shovel
- 270 10E Wooden Pickaxe
- 271 10F Wooden Axe
- 272 110 Stone Sword
- 273 111 Stone Shovel
- 274 112 Stone Pickaxe
- 275 113 Stone Axe
- 276 114 Diamond Sword
- 277 115 Diamond Shovel
- 278 116 Diamond Pickaxe
- 279 117 Diamond Axe
- 280 118 Stick
- 281 119 Bowl
- 282 11A Mushroom Soup
- 283 11B Gold Sword
- 284 11C Gold Shovel
- 285 11D Gold Pickaxe
- 286 11E Gold Axe
- 287 11F String
- Icon Dec Hex Item
- 288 120 Feather
- 289 121 Gunpowder
- 290 122 Wooden Hoe
- 291 123 Stone Hoe
- 292 124 Iron Hoe
- 293 125 Diamond Hoe
- 294 126 Gold Hoe
- 295 127 Seeds
- 296 128 Wheat
- 297 129 Bread
- 298 12A Leather Cap
- 299 12B Leather Tunic
- 300 12C Leather Pants
- 301 12D Leather Boots
- 302 12E Chain Helmet
- 303 12F Chain Chestplate
- 304 130 Chain Leggings
- 305 131 Chain Boots
- 306 132 Iron Helmet
- 307 133 Iron Chestplate
- 308 134 Iron Leggings
- 309 135 Iron Boots
- 310 136 Diamond Helmet
- 311 137 Diamond Chestplate
- 312 138 Diamond Leggings
- 313 139 Diamond Boots
- 314 13A Gold Helmet
- 315 13B Gold Chestplate
- 316 13C Gold Leggings
- 317 13D Gold Boots
- 318 13E Flint
- 319 13F Raw Porkchop
- Icon Dec Hex Item
- 320 140 Cooked Porkchop
- 321 141 Paintings
- 322 142 Golden Apple
- 323 143 Sign
- 324 144 Wooden door
- 325 145 Bucket
- 326 146 Water bucket
- 327 147 Lava bucket
- 328 148 Minecart
- 329 149 Saddle
- 330 14A Iron door
- 331 14B Redstone
- 332 14C Snowball
- 333 14D Boat
- 334 14E Leather
- 335 14F Milk
- 336 150 Clay Brick
- 337 151 Clay
- 338 152 Sugar Cane
- 339 153 Paper
- 340 154 Book
- 341 155 Slimeball
- 342 156 Minecart with Chest
- 343 157 Minecart with Furnace
- 344 158 Egg
- 345 159 Compass
- 346 15A Fishing Rod
- 347 15B Clock
- 348 15C Glowstone Dust
- 349 15D Raw Fish
- 350 15E Cooked Fish
- 351 15F Dye D
- Icon Dec Hex Item
- 352 160 Bone
- 353 161 Sugar
- 354 162 Cake
- 355 163 Bed
- 356 164 Redstone Repeater
- 357 165 Cookie
- 358 166 Map
- 359 167 Shears
- 360 168 Melon Slice
- 361 169 Pumpkin Seeds
- 362 16A Melon Seeds
- 363 16B Raw Beef
- 364 16C Steak
- 365 16D Raw Chicken
- 366 16E Cooked Chicken
- 367 16F Rotten Flesh
- 368 170 Ender Pearl
- 369 171 Blaze Rod
- 370 172 Ghast Tear
- 371 173 Gold Nugget
- 372 174 Nether Wart
- 373 175 Potions D
- 374 176 Glass Bottle
- 375 177 Spider Eye
- 376 178 Fermented Spider Eye
- 377 179 Blaze Powder
- 378 17A Magma Cream
- 379 17B Brewing Stand
- 380 17C Cauldron
- 381 17D Eye of Ender
- 382 17E Glistering Melon
- 383 17F Spawner Egg D
- Icon Dec Hex Item
- 2256 8D0 13 Disc
- 2257 8D1 Cat Disc
- 2258 8D2 blocks Disc
- 2259 8D3 chirp Disc
- 2260 8D4 far Disc
- 2261 8D5 mall Disc
- 2262 8D6 mellohi Disc
- 2263 8D7 stal Disc
- 2264 8D8 strad Disc
- 2265 8D9 ward Disc
- 2266 8DA 11 Disc
- Entity IDs Icon Dec Hex Entity
- Drops
- 1 01 Dropped item
- 2 02 Experience Orb
- Projectiles
- 10 0A Shot arrow
- 11 0B Thrown snowball
- 12 0C Ghast fireball
- 13 0D Blaze fireball
- 14 0E Thrown Ender Pearl
- 15 0F Thrown Eye of Ender
- Blocks
- 20 14 Primed TNT
- 21 15 Falling block (gravel, sand)
- Vehicles
- 40 28 Minecart
- 41 29 Boat
- Icon Dec Hex Entity
- Hostile mobs
- 50 32 Creeper
- 51 33 Skeleton
- 52 34 Spider
- 53 35 Giant
- 54 36 Zombie
- 55 37 Slime
- 56 38 Ghast
- 57 39 Zombie Pigman
- 58 3A Enderman
- 59 3B Cave Spider
- 60 3C Silverfish
- 61 3D Blaze
- 62 3E Magma Cube
- 63 3F Enderdragon
- Icon Dec Hex Entity
- Passive mobs
- 90 5A Pig
- 91 5B Sheep
- 92 5C Cow
- 93 5D Chicken
- 94 5E Squid
- 95 5F Wolf
- 96 60 Mooshroom
- 97 61 Snow Golem
- NPCs
- 120 78 Villager
- Other
- 200 C8 Ender Crystal
- 0x2: Facing West
- 0x3: Facing South
- 0x4: Facing North
- Ground levers:
- 0x5: Lever points South when off.
- 0x6: Lever points East when off. (Note that unlike the other types of switch, this version didn't power wires around the block it was sitting on. This bug was fixed in Beta 1.6)
- Doors The two least significant bits are the orientation of the door, that is, the corner in which its hinge is positioned:
- 0x0: Northwest corner
- 0x1: Northeast corner
- 0x2: Southeast corner
- 0x3: Southwest corner
- The two bits above are flags:
- 0x8: If this bit is set, this is the top half of a door (else the lower half).
- 0x4: If this bit is set, the door has swung counterclockwise around its hinge.
- For example, the bottom half of a door with its hinge on the Southwest corner, which is swung so that it is closed when viewed from the West, will have a data value of (3 | 4) = (3 + 4) = 7.
- Buttons 0x8 If this bit is set, the button has been pressed. If this bit is set in a saved level, the button will remain pressed for an undefined length of time after the level is loaded.
- Button direction:
- 0x1: Facing East
- 0x2: Facing West
- 0x3: Facing South
- 0x4: Facing North
- Sign Posts 0x0: South
- 0x1: South-Southwest
- 0x2: Southwest
- 0x3: West-Southwest
- 0x4: West
- 0x5: West-Northwest
- 0x6: Northwest
- 0x7: North-Northwest
- 0x8: North
- 0x9: North-Northeast
- 0xA: Northeast
- 0xB: East-Northeast
- 0xC: East
- 0xD: East-Southeast
- 0xE: Southeast
- 0xF: South-Southeast
- Wall Signs, Furnaces, Dispensers and Chests 0x2: Facing North
- 0x3: Facing South
- 0x4: Facing West
- 0x5: Facing East
- Pumpkins and Jack-O-Lanterns 0x0: Facing South
- 0x1: Facing West
- 0x2: Facing North
- 0x3: Facing East
- Pressure Plates 0x1: If this bit is set, the plate is pressed.
- Slab and Double Slab material Icon Value Description
- 0x0 Stone Slab
- 0x1 Sandstone Slab
- 0x2 Wooden Slab
- 0x3 Cobblestone Slab
- 0x4 Brick Slab
- 0x5 Stone Brick Slab
- 0x6 Stone Slab
- Snow
- Heights of snow from 0-7, going from left to right0x0: Normal snowfall height
- ...
- 0x7: Full block size height
- The height repeats for values 8-15. Note that snow does not occur naturally at other heights than 0, but can be edited or hacked in. Values 0-2 has no hitbox, values 3-7 has the same hitbox as a slab.
- Cake 0x0: 0 pieces eaten
- 0x1: 1 piece eaten
- 0x2: 2 pieces eaten
- 0x3: 3 pieces eaten
- 0x4: 4 pieces eaten
- 0x5: 5 pieces eaten
- Beds 0x0: Head is pointing South
- 0x1: Head is pointing West
- 0x2: Head is pointing North
- 0x3: Head is pointing East
- 0x4: (bit flag) - When 0, the bed is empty. When 1, the bed is occupied.
- 0x8: (bit flag) - When 0, the foot of the bed. When 1, the head of the bed.
- Redstone Repeater Low (1st & 2nd) bits:
- 0x0: Facing North
- 0x1: Facing East
- 0x2: Facing South
- 0x3: Facing West
- High (3rd & 4th) bits:
- 0x0: 1 tick delay
- 0x1: 2 tick delay
- 0x2: 3 tick delay
- 0x3: 4 tick delay
- Redstone Wire 0xF is a wire placed right next to a power source (like a redstone torch). The value declines with distance until 0x0, which is a non-powered wire. The direction of the wire is not saved but calculated at runtime.
- Tall Grass Icon Value Description
- 0x0 Dead shrub (identical in appearance to block Dead Bush when placed, but acts like Tall Grass)
- 0x1 Tall grass
- 0x2 Fern
- Trapdoors 0x4 is a bit that determines whether or not the trapdoor is swung open. 0 for closed (on the ground), 1 for open (against its connecting wall). The remaining two bits describe which wall the trapdoor is attached to:
- 0x0: Attached to the South wall
- 0x1: Attached to the North wall
- 0x2: Attached to the East wall
- 0x3: Attached to the West wall
- Piston The top bit (0x8) is a status bit that determines whether the piston is pushed out or not. 1 for pushed out, 0 for retracted.
- The bottom three bits are a value from 0 to 5, indicating the direction of the piston (the direction the piston head is pointing)
- 0: Down
- 1: Up
- 2: North
- 3: South
- 4: West
- 5: East
- Piston Extension The top bit (0x8) is a status bit that determines whether the head is sticky or not (note that the Piston Body actually has completely different block types for Sticky and Regular). 1 is sticky, 0 is regular.
- The bottom three bits are a value from 0 to 5, indicating the direction of the piston (the direction the piston head is pointing).
- 0: Down
- 1: Up
- 2: North
- 3: South
- 4: West
- 5: East
- Stone Brick 0: Normal
- 1: Mossy
- 2: Cracked
- Huge brown and red mushroom Huge mushrooms consist of the same blocks throughout their structure, the data value of each block decides the texture. The default texture on all sides is porous flesh. The cap texture can be either the brown mushroom or red mushroom texture, the textures for porous and stem sides are identical.
- Value Description Textures
- 0 Fleshy piece Pores on all sides
- 1 Corner piece Cap texture on top, West and North
- 2 Side piece Cap texture on top and North
- 3 Corner piece Cap texture on top, North and East
- 4 Side piece Cap texture on top and West
- 5 Top piece Cap texture on top
- 6 Side piece Cap texture on top and East
- 7 Corner piece Cap texture on top, South and West
- 8 Side piece Cap texture on top and South
- 9 Corner piece Cap texture on top, East and South
- 10 Stem piece Stem texture on all four sides, pores on top and bottom
- Vines Determines the face against which the vine is anchored. Note that (except for Top) these are testable as bit flags, unlike most of the other directional data for other block types. Multiple sides can contain vines. The "top" attachment is assumed to be present if data is 0 or there is solid block above.
- 1: South
- 2: West
- 4: North
- 8: East
- Fence Gates 0x4 is a bit flag: 1 is open, 0 is closed. The remaining two bits determine in which direction the gate will open.
- 0: To the South
- 1: To the West
- 2: To the North
- 3: To the East
- Hidden Silverfish A silverfish will hide inside a Stone, Cobblestone, or Stone Brick block, changing it into a Hidden Silverfish block. The data value tells us its appearance:
- 0: Stone
- 1: Cobblestone
- 2: Stone Brick
- Potions A Glass Bottle filled with a potion. Potion type is stored in item's damage value as a 16-bit number. Potion effect, name, and other flags are encoded on bits. Effect duration itself isn't there, but can be calculated from other values.
- Current meaning of bits is described below. Note that potion name overlaps with potion effect and tier.
- Bit Dec Hex Meaning
- 0 1 0001 Potion effect Potion name
- 1 2 0002
- 2 4 0004
- 3 8 0008
- 4 16 0010
- 5 32 0020 Tier
- 6 64 0040 Extended duration
- 7 128 0800 (ignored)
- 8 256 0100
- 9 512 0200
- 10 1024 0400
- 11 2048 0800
- 12 4096 1000
- 13 8192 2000
- 14 16384 4000 Splash potion
- 15 32768 8000 (ignored)
- To calculate damage value of potion with desired effect use the following formula:
- DV = potion_effect + tier_bit + extended_bit + splash_bit
- for example:
- potion with "Instant Health" effect has damage value 5 (= 5 + 0 + 0 + 0);
- potion with extended "Slowness" effect has value 74 (= 10 + 0 + 64 + 0);
- splash potion with tier II "Strength" effect has value 16425 (= 9 + 32 + 0 + 16384).
- To get potion with certain name, use the following formula:
- DV = potion_name + extended_bit + splash_bit
- for example:
- "Splash Charming Potion" has damage value 16422 (= 38 + 0 + 16384)
- "Potion name" bits Dec Hex Potion
- 0 00 Water Bottle / Mundane Potion
- 1 01 Potion of Regeneration
- 2 02 Potion of Swiftness
- 3 03 Potion of Fire Resistance
- 4 04 Potion of Poison
- 5 05 Potion of Healing
- 6 06 Clear Potion
- 7 07 Clear Potion
- 8 08 Potion of Weakness
- 9 09 Potion of Strength
- 10 0a Potion of Slowness
- 11 0b Diffuse Potion
- 12 0c Potion of Harming
- 13 0d Artless Potion
- 14 0e Thin Potion
- 15 0f Thin Potion
- Dec Hex Potion
- 16 10 Awkward Potion
- 17 11 Potion of Regeneration
- 18 12 Potion of Swiftness
- 19 13 Potion of Fire Resistance
- 20 14 Potion of Poison
- 21 15 Potion of Healing
- 22 16 Bungling Potion
- 23 17 Bungling Potion
- 24 18 Potion of Weakness
- 25 19 Potion of Strength
- 26 1a Potion of Slowness
- 27 1b Smooth Potion
- 28 1c Potion of Harming
- 29 1d Suave Potion
- 30 1e Debonair Potion
- 31 1f Debonair Potion
- Dec Hex Potion
- 32 20 Thick Potion
- 33 21 Potion of Regeneration II
- 34 22 Potion of Swiftness II
- 35 23 Potion of Fire Resistance
- 36 24 Potion of Poison II
- 37 25 Potion of Healing II
- 38 26 Charming Potion
- 39 27 Charming Potion
- 40 28 Potion of Weakness
- 41 29 Potion of Strength II
- 42 2a Potion of Slowness
- 43 2b Refined Potion
- 44 2c Potion of Harming II
- 45 2d Cordial Potion
- 46 2e Sparkling Potion
- 47 2f Sparkling Potion
- Dec Hex Potion
- 48 30 Potent Potion
- 49 31 Potion of Regeneration II
- 50 32 Potion of Swiftness II
- 51 33 Potion of Fire Resistance
- 52 34 Potion of Poison II
- 53 35 Potion of Healing II
- 54 36 Rank Potion
- 55 37 Rank Potion
- 56 38 Potion of Weakness
- 57 39 Potion of Strength II
- 58 3a Potion of Slowness
- 59 3b Acrid Potion
- 60 3c Potion of Harming II
- 61 3d Gross Potion
- 62 3e Stinky Potion
- 63 3f Stinky Potion
- Note: potion with name set to 0 is called "Water Bottle" only if no other bit is set. Otherwise, it is called "Mundane Potion".
- Note: potions with splash potion bit set have additional "Splash " prefix.
- "Potion effect" bits Dec Hex Effect Duration Bottles Icon Effect color
- 0 0 - - -
- 1 1 Regeneration 0:45 Pink
- 2 2 Speed 3:00 Sky blue
- 3 3 Fire Resistance 3:00 Orange
- 4 4 Poison 0:45 Green
- 5 5 Instant Health instant - -
- 6 6 - - - -
- 7 7 - - - -
- 8 8 Weakness 1:30 Grey
- 9 9 Strength 3:00 Dark red
- 10 a Slowness 1:30 Blue-Grey
- 11 b - - - -
- 12 c Instant Damage instant - -
- 13 d - - - -
- 14 e - - - -
- 15 f - - - -
- "Tier" bit Dex Hex Meaning
- 0 0000 Tier I effect.
- 32 0020 Tier II effect. Multiply duration by 1/2.
- Note: Fire Resistance, Weakness and Slowness effects have no second tier. Their strength and duration are unaffected by this bit.
- "Extended duration" bit Dex Hex Meaning
- 0 0000 Base duration.
- 64 0040 Multiply duration by 8/3.
- "Splash potion" bit Dex Hex Meaning
- 0 0000 Drinkable potion.
- 16384 4000 Splash potion. Multiply duration by 3/4.
- Brewing Stand The bottom three bits are bit flags for which bottle slots actually contain bottles. The actual bottle contents (and the reagent at the top) are stored in a TileEntity for this block, not in the data field.
- 0x1: The slot pointing East
- 0x2: The slot pointing Southwest
- 0x4: The slot pointing Northwest
- Cauldron The data value stores the amount of water kept in the cauldron, in units of glass bottles that can be filled.
- 0: Empty
- 1: 1/3 filled
- 2: 2/3 filled
- 3: Fully filled
- End Portal Frame The bottom two bits determine which "side" of the whole portal frame this block is a part of.
- 0x4 is a bit flag: 0 is an "empty" frame block, 1 is a block with an Eye of Ender inserted
- ]])
- blockids.close()
- bluespider=fs.open("mem/redworks/minepedia/bluespider","w")
- bluespider.write([[The Cave Spider[1] is a small bug-like monster and also is a hostile mob re-textured from the Spider with a blue skin and is more dangerous than the regular spider, but in turn they are much more rare than regular Spiders. Cave Spiders do not spawn naturally, they only come from Spawners found in Abandoned Mine Shafts. Cave Spiders are also smaller than regular spiders,[1][2] presumably so that they can fit through the mine shafts that they spawn in, including 1 x 1 x 1 holes, and can pass through passages only half a block high. Their exact size is 0.7 x 0.7 x 0.5.
- Venom: The most notable feature of the cave spider is its venomous bite. When bitten by a Cave Spider on any difficulty except Easy, the player's health bar turns yellow-green and gradually decreases.[3] The venom inflicts half of a heart of damage about every second and a half (or 1.5 seconds), and lasts for 5 seconds. Armor does not affect venom; neither the conditions under which you will receive venom, nor the damage received from it. Since 1.9 Pre-Release 4 Jeb gave milk the ability to cure the player of the venom. Regardless of the difficulty, venom cannot kill you, but it can drop your health to dangerously low levels.
- History: The Cave Spider was first introduced in the Beta 1.8 Pre-release.
- SMP servers upgraded from older versions running in peaceful mode may begin spawning cave spiders, though no other monster appears in the world. This is because in older versions setting the Server.properties key spawn-monsters to false would place the server in peaceful mode. As of 1.8, a separate key difficulty must be set to zero to select peaceful difficulty; setting spawn-monsters to false prevents monsters from spawning randomly in dark areas but does not disable spawners. Because the difficulty key defaults to 1 (easy), servers without the key configured at all changed from running in peaceful mode (prior to 1.8) to easy mode (as of 1.8).
- Trivia: Cobwebs don't affect Cave Spiders.
- Cave Spiders are faster than normal spiders.
- Cave Spider poison does affect Skeletons, but will not kill them because the venom only brings entities down to half a heart.
- Cave Spider spawners are surrounded by Cobwebs, making them difficult to get. Since as mentioned above, Cave Spiders are not slowed by Cobwebs, players can only take extreme caution when passing these areas, unless playing on Easy.
- Cave Spiders behave just like normal Spiders in daylight or light levels of 10 or higher.
- Because of their small dimensions, building a mob farm from a cave spider spawner would be considerably difficult (unless the player is on the Peaceful setting) and somewhat inefficient to build.
- Cave Spiders can track you through walls.
- If both cave and regular spiders are attempting to get to the player through a 1x1x1 size opening, the regular spiders crowd the opening and block the path of the smaller cave spider greatly reducing its chance of getting through the opening.
- Cave Spiders will leap into an area three blocks high and wait for the player to get close enough to be attacked.
- They may be able to go through a 1 block gap, but they cannot go around fences. Proving the only effective way to farm cave spiders for spider eyes is through the gap in fences; which the player can hit them between.
- Spiders are unaffected by Splash Potions of Poison.
- Bugs: Because of the natural tendency of cave spider spawners being created with cobwebs and ceilings, but without walls such as the Moss Stone walls in dungeons, cave spiders can be spawned in the middle of a cavern or a ravine.
- ]])
- bluespider.close()
- brewing=fs.open("mem/redworks/minepedia/brewing","w")
- brewing.write([[Brewing is how potions and splash potions are made in Minecraft.
- Recipes: Despite the complicated web of potions that can be brewed from other potions, to brew a specific potion from the water bottle most efficiently the options are quite simple. The following table gives the most efficient way to brew each potion without wasting extra ingredients. Cases where the order of ingredients is irrelevant or two different ingredients are interchangeable are included. The potion of weakness, the only one which can be brewed without starting with a nether wart, can still be brewed from an awkward potion if the player wishes to convert all water bottles to awkward potions in preparation for brewing.
- Weakness > fermented spider eye
- Weakness E > fermented spider eye and redstone (if brewed from an awkward potion the fermented spider eye must be added first)
- Strength > nether wart > blaze powder
- Strength E > nether wart > blaze powder > redstone
- Strength II > nether wart > blaze powder > glowstone
- Regeneration > nether wart > ghast tear
- Regeneration E > nether wart > ghast tear > redstone
- Regeneration II > nether wart > ghast tear > glowstone
- Swiftness > nether wart > sugar
- Swiftness E > nether wart > sugar > redstone
- Swiftness II > nether wart > sugar > glowstone
- Slowness > nether wart > sugar or magma cream > fermented spider eye
- Slowness E > nether wart > sugar or magma cream > fermented spider eye > redstone
- Health > nether wart > glistering melon
- Health II > nether wart > glistering melon > glowstone
- Harming > nether wart > glistering melon or spider eye > fermented spider eye
- Harming II > nether wart > glistering melon or spider eye > fermented spider eye and glowstone
- Poison > nether wart > spider eye
- Poison E > nether wart > spider eye > redstone
- Poison II > nether wart > spider eye > glowstone
- Fire Resistance > nether wart > magma cream
- Fire Resistance E > nether wart > magma cream > redstone
- History: Initially, the Cauldron was where potions were brewed. Code in Beta 1.9 pre2 revealed that Potions were brewed by adding water to the Cauldron followed by certain reagents. Correctly combined reagents would confer purely beneficial potion effects, and incorrect combinations added negative effects. The system was complicated, lacked a GUI, and formed many duplicate potions (i.e. two potions that were exactly the same could be made in several different ways), so Notch and Jeb came up with a new brewing method using a Brewing Stand.[1] The Cauldron's role in brewing was relegated to being a slightly more efficient storage vessel for water. Brewing was greatly streamlined and simplified when a brewing GUI was added and most duplicate potions were removed (the total possible potions went down from 150 combinations to only 25 different potions in 31 combinations). However, this new system made some potion effects available in earlier 1.9 pre-releases inaccessible (e.g. Nausea, Blindness and Invisibility).
- Throwable Splash Potions were introduced in Beta 1.9 Pre4 and brewed by placing gunpowder and any potion together in a brewing stand. This pre-release also introduced Glistering Melon as an alchemical reagent to replace the instant health effect conferred by the Ghast Tear, which then added the effect of regeneration instead. This version also converted certain reagents into base-secondary reagents (the Spider Eye, Glistering Melon and Blaze Powder made Mundane Potion when brewed into a water bottle in addition to their previous functions), bringing the potion total to 28 different potions in 35 combinations.
- Trivia:Only 1 ingredient is needed to brew into up to 3 potions. These three potions do not necessarily have to be the same.
- Upgrading effect of potion that has no time parameter (i.e. Instant Health, Harming) with glowstone dust has no downsides.
- Upgrading a Fire Resistance Potion with redstone dust has no downsides.
- Although Jeb said that in the 1.9 pre-release 3 there were 161 possible different potion combinations with 2,653 in the future, in the actual third pre-release only 22 different potions could be made without the use of external programs. Of those, 19 potions had one of 8 different effects.
- The Mundane Potion made from redstone has a different metadata (64) than the mundane potion made from any other ingredient (8192). Unlike Mundane 64, Mundane 8192 can be made into a Splash Mundane Potion by adding gunpowder that is, like its base potion, without any effect.
- There are many Potions that were left behind from 1.9 pre-releases that fill up different metadatas that otherwise cannot be brewed or obtained without a SMP server command or inventory editor. These potions include but are not limited to: Bungling Potion, Buttering Potion, Debonair Potion, Refined Potion.
- Splash potions can be fired by Dispensers.
- Cauldrons can be entirely circumvented from the brewing process with no ill effects, as bottles can be filled by right-clicking on a water source block. This is an improvement from cauldrons, as one does not have to replenish the source block every three bottles, or indeed at all. This, however can not be done in the Nether, where cauldrons become essential.
- Some splash potions have the opposite effect on undead mobs such as zombies and skeletons.
- ]])
- brewing.close()
- cavespider=fs.open("mem/redworks/minepedia/cavespider","w")
- cavespider.write([[The Cave Spider[1] is a small bug-like monster and also is a hostile mob re-textured from the Spider with a blue skin and is more dangerous than the regular spider, but in turn they are much more rare than regular Spiders. Cave Spiders do not spawn naturally, they only come from Spawners found in Abandoned Mine Shafts. Cave Spiders are also smaller than regular spiders,[1][2] presumably so that they can fit through the mine shafts that they spawn in, including 1 x 1 x 1 holes, and can pass through passages only half a block high. Their exact size is 0.7 x 0.7 x 0.5.
- Venom: The most notable feature of the cave spider is its venomous bite. When bitten by a Cave Spider on any difficulty except Easy, the player's health bar turns yellow-green and gradually decreases.[3] The venom inflicts half of a heart of damage about every second and a half (or 1.5 seconds), and lasts for 5 seconds. Armor does not affect venom; neither the conditions under which you will receive venom, nor the damage received from it. Since 1.9 Pre-Release 4 Jeb gave milk the ability to cure the player of the venom. Regardless of the difficulty, venom cannot kill you, but it can drop your health to dangerously low levels.
- History: The Cave Spider was first introduced in the Beta 1.8 Pre-release.
- SMP servers upgraded from older versions running in peaceful mode may begin spawning cave spiders, though no other monster appears in the world. This is because in older versions setting the Server.properties key spawn-monsters to false would place the server in peaceful mode. As of 1.8, a separate key difficulty must be set to zero to select peaceful difficulty; setting spawn-monsters to false prevents monsters from spawning randomly in dark areas but does not disable spawners. Because the difficulty key defaults to 1 (easy), servers without the key configured at all changed from running in peaceful mode (prior to 1.8) to easy mode (as of 1.8).
- Trivia: Cobwebs don't affect Cave Spiders.
- Cave Spiders are faster than normal spiders.
- Cave Spider poison does affect Skeletons, but will not kill them because the venom only brings entities down to half a heart.
- Cave Spider spawners are surrounded by Cobwebs, making them difficult to get. Since as mentioned above, Cave Spiders are not slowed by Cobwebs, players can only take extreme caution when passing these areas, unless playing on Easy.
- Cave Spiders behave just like normal Spiders in daylight or light levels of 10 or higher.
- Because of their small dimensions, building a mob farm from a cave spider spawner would be considerably difficult (unless the player is on the Peaceful setting) and somewhat inefficient to build.
- Cave Spiders can track you through walls.
- If both cave and regular spiders are attempting to get to the player through a 1x1x1 size opening, the regular spiders crowd the opening and block the path of the smaller cave spider greatly reducing its chance of getting through the opening.
- Cave Spiders will leap into an area three blocks high and wait for the player to get close enough to be attacked.
- They may be able to go through a 1 block gap, but they cannot go around fences. Proving the only effective way to farm cave spiders for spider eyes is through the gap in fences; which the player can hit them between.
- Spiders are unaffected by Splash Potions of Poison.
- Bugs: Because of the natural tendency of cave spider spawners being created with cobwebs and ceilings, but without walls such as the Moss Stone walls in dungeons, cave spiders can be spawned in the middle of a cavern or a ravine.
- ]])
- cavespider.close()
- chicken=fs.open("mem/redworks/minepedia/chicken","w")
- chicken.write([[Chicken are passive mobs that first appeared in Alpha mode. They have white feathers and wings, with a yellow beak, and a red wattle. The main purpose of chickens is to supply feathers, Raw Chicken and eggs, essential for arrows, food and cakes, respectively. Chickens are 0.875 blocks tall, 0.5 blocks wide and 0.8125 blocks long.
- Behavior: Chickens appear to wander around aimlessly, but actually and subtly possess decent pathfinding ability. They will make no attempt to stay out of water, and a common sight is several chickens bouncing up and down in the water. They will follow you if have wheat in your hand.They appear to be drawn to caves, since they move more easily down ledges than up them. Chickens are also drawn to light in a dark environment and will swim upstream to get to it. Chickens will also climb simple steps, but not a ladder, to escape a pit. It is possible to push a chicken up a ladder, therefore letting them escape a pit you may have trapped them in. This can be prevented by removing the ladder on the bottom, but you will have to jump to get up the ladder. Since the Beta update they seem to be the most common mob. Chickens often spawn alone, but can spawn in groups of 2-6. Like all other passive mobs, they seemingly move randomly in a natural environment. Chickens seem to make attempts at escaping (if trapped/fenced) by constantly jumping into nearby doors or fence gates if available.Upon reloading a map a Chicken has a chance to respawn on the other side of a fence to which it started.
- Chickens lay eggs which can be thrown at enemies or used as an ingredient in cakes. Chickens lay an egg on every 5-10 minutes (it took 40 minutes for 9 chickens to lay 50 eggs = 7.2 minutes/egg). Since the Beta 1.8 update, Chickens have a 1/8 chance of being spawned from a thrown egg.
- When a chicken falls from a height it slowly "hovers" down to safety.
- Breeding: All passive mobs, [excluding squid and villagers] can be bred using Wheat.
- Chickens can still be created and bred using eggs, allowing them to be easily bred far away from where they naturally spawn. Each egg will have a 1/8th chance in hatching a chick minus a 1/256th chance to get 4 chicks in a egg instead. If you start with 11 eggs you have a 35% chance of creating a colony of at least 2 chickens.
- You can quickly make a small colony in a Minecraft day by routinely picking up eggs and farming wheat. If you breed these chickens in an enclosed space, you should have a reliable source of chickens within a few days. Furthermore, since zombies no longer drop feathers (making it harder to craft arrows)making a chicken colony is a great way to get an unlimited supply of feathers and raw chicken.
- It takes around 20 minutes for a baby-chicken to turn fully grown.
- History: Raw Chicken was introduced in Beta 1.8 with the introduction of the hunger system. Before this, chickens only dropped feathers on death. In 1.8 Chickens seem to drop Eggs more often than usual, but this is only because animals are, since then, persistent. In 1.8, Chickens need a large area to walk around in or they will start dying on their own. This happens because the chickens push each other into the walls, suffocating for a split-second. To solve the problem, make sure they are surrounded by fences and not solid blocks.
- Trivia: Chickens are the third smallest mob (the first being silverfish, the second being small slimes). They are able to fit through 1�971 gaps.
- They take no fall damage, and when they fall they make a flapping animation and fall slower than normal.
- When a chicken is killed, and if it has a boost from the hit or is thrown over a cliff by the hit, the "corpse" will also fall more slowly than normal, and the wings will still make a flapping animation.
- When a chicken is riding a minecart, it is impossible to attack the chicken rather than the cart as it is completely inside the shape of the cart.
- Cooked Chicken can easily be obtained by letting chickens fall onto a block of burning netherrack from which they can run off.
- It takes one full minecraft day or 20 minutes for baby chicks to become fully mature chickens.
- Chickens are the only Overworld mob (without the use of hacks/inventory editors) that can be bred in the Nether, by building a suitable area and throwing Eggs inside of it.
- Chickens are sometimes mistaken for ducks due to their wide beaks and ability to swim.
- Probably inspired by this, Notch tweeted that he changed the chickens to ducks a few weeks before the end of beta,[1] causing a turmoil on Twitter. A few days later Jeb, still getting feedback on the idea, tweeted that it was just a joke.[2]
- If you throw eggs at Glass Panes, there is a small chance that the chicken will spawn on the other side of the panes.
- Despite being a creature that does not give live birth, chicken breeding will cause the chickens to create a baby chicken instead of laying an egg.
- Throwing eggs in any map after 1.0.0 will spawn baby chickens. However, in SMP, if the map was generated at any time before the full release of Minecraft, the eggs will only spawn adult chickens.
- You can start "chicken tube" farms in which you contain vast numbers of chickens in a small space to get their eggs to make more chickens or to kill for food, completely bypassing the point of breeding and wheat farming.
- Baby chicks cannot be lured by wheat like adult chickens.
- As of 1.0.0 chickens are able to climb ladders ]])
- chicken.close()
- chunk=fs.open("mem/redworks/minepedia/chunk","w")
- chunk.write([[Chunks are segments of the virtually infinite Minecraft maps. They are 16 blocks wide, 16 blocks long, and 128 blocks deep, which is 32,768 blocks total. Chunks are generated around players when they first enter the world. And as they wander that world, nearby chunks are generated as needed.
- The exact number of generated chunks varies in single player mode, depending on view distance and movement. In multiplayer mode, a grid with a radius of 10 (for a total of 21x21 or 441 chunks) is loaded around each player and sent to the player by default, although this radius can be configured. These chunks may have activity (mobs spawning, trees growing, water flowing, dropped items disappearing etc.), while the other world chunks are inactive, stored on your hard drive. Chunks will not save again if they were saved in the last 30 seconds.
- Slimes can only spawn in specific chunks, determined by a calculation performed on the chunk coordinates. There are a number of utilities and mods which allow the player to tell which chunks they can spawn in; see the Slime article for details.
- Creation of Chunks: Chunks are created with the help of the Map Seed, which means that the chunks are always the same if you would use the same Seed again (on the same Minecraft version at least).
- Finding Chunk Edges: Pressing the "F3" button opens the Debug screen which shows the player's X, Y, and Z coordinates. These coordinates will change as the player moves around. X and Z coordinates that are divisible by 16 represent the boundaries between chunks. EG: (96, -32) is a corner where four chunks meet. One of those chunks is between X coordinates 80 to 96 and Z coordinates -48 to -32. Another one is between X coordinates 96 to 112 and Z coordinates -32 to -16, and so on. When either X or Z crosses a multiple of 16, the player is moving across chunks.
- One can make a timer with repeaters and hook up a sticky piston to it. Put glowstone in front of the piston. The light will flicker while the piston moves and if you are up on a high pole, one can see that the light updates on the chunks at slightly different times. This can also be achieved with 2 regular pistons.
- Chunk borders are visible when viewing frozen rivers and ponds from above. (Tested in Creative 1.0.0)
- Chunk Error: A chunk error (also known as a missing chunk or world hole) is a rare error found in multiplayer mode. They are only client side, meaning that other users cannot see the chunk error unless under some very rare circumstances. Reconnecting to the server or reloading the map usually fixes chunk errors. Players can jump or fall into an errored chunk, since some players have reported falling and some have reported warping similar to arrows. Due to the way fluids are displayed, any fluids on the border of the chunk error will look as if they are flowing downwards. On non-modded servers the teleport command can be used to escape such a glitch. Items dropped on an errored chunk will fall and cannot be retrieved, however. Also, non-solid blocks can't flow into one. Blocks that are in a chunk error can reappear if you place a block in a chunk error (it gets overwritten, so the block you place gets turned into what was there) or blow it up with TNT.
- [edit] Chunk error Work-arounds Because chunk errors are usually temporary bugs where the Minecraft client was unable to load a chunk, logging out and logging back in is often all that is required to fix one. However, there are also other things a player can do to work around chunk errors.
- Players are able to walk into a chunk error, but will only glitch out.[1] They are able to ride through them in a boat or minecart - provided there are pre-existing rails. While the track will remain invisible to you, your cart will follow it. If your destination happens to be in a errored chunk, simply re-connect to the server or reload the map upon arrival to avoid falling into the errored chunk and losing your minecart.[2]
- Lighting, explosions, and other processes that update blocks within a chunk can cause chunks to re-load, making them visible. Because of this, placing torches can be used to make localized parts of chunk errors visible.
- Another type of chunk error is when a player is on a SMP server and sees a chunk that is empty. If the player walks on it, the chunk will act as if it was visible. Resending the chunks by moving away(or other means) will usually fix this. Waiting may also fix this.
- Usage of chunk errors Often, a chunk error will allow you to see a cross-section of the world, making it easy to locate ores, caves, dungeons, and other hidden structures underground. This can be exploited by marking the surface above any interesting looking veins, caverns, dungeons or other structures before re-loading the map.
- If you have a buddy on a multiplayer server with a chunk error, they are useful for guiding you from along the sides of a chunk error as they can see where you are digging. This means that your friends can point you to resources they cannot reach because of the chunk error.
- ]])
- chunk.close()
- chunks=fs.open("mem/redworks/minepedia/chunks","w")
- chunks.write([[Chunks are segments of the virtually infinite Minecraft maps. They are 16 blocks wide, 16 blocks long, and 128 blocks deep, which is 32,768 blocks total. Chunks are generated around players when they first enter the world. And as they wander that world, nearby chunks are generated as needed.
- The exact number of generated chunks varies in single player mode, depending on view distance and movement. In multiplayer mode, a grid with a radius of 10 (for a total of 21x21 or 441 chunks) is loaded around each player and sent to the player by default, although this radius can be configured. These chunks may have activity (mobs spawning, trees growing, water flowing, dropped items disappearing etc.), while the other world chunks are inactive, stored on your hard drive. Chunks will not save again if they were saved in the last 30 seconds.
- Slimes can only spawn in specific chunks, determined by a calculation performed on the chunk coordinates. There are a number of utilities and mods which allow the player to tell which chunks they can spawn in; see the Slime article for details.
- Creation of Chunks: Chunks are created with the help of the Map Seed, which means that the chunks are always the same if you would use the same Seed again (on the same Minecraft version at least).
- Finding Chunk Edges: Pressing the "F3" button opens the Debug screen which shows the player's X, Y, and Z coordinates. These coordinates will change as the player moves around. X and Z coordinates that are divisible by 16 represent the boundaries between chunks. EG: (96, -32) is a corner where four chunks meet. One of those chunks is between X coordinates 80 to 96 and Z coordinates -48 to -32. Another one is between X coordinates 96 to 112 and Z coordinates -32 to -16, and so on. When either X or Z crosses a multiple of 16, the player is moving across chunks.
- One can make a timer with repeaters and hook up a sticky piston to it. Put glowstone in front of the piston. The light will flicker while the piston moves and if you are up on a high pole, one can see that the light updates on the chunks at slightly different times. This can also be achieved with 2 regular pistons.
- Chunk borders are visible when viewing frozen rivers and ponds from above. (Tested in Creative 1.0.0)
- Chunk Error: A chunk error (also known as a missing chunk or world hole) is a rare error found in multiplayer mode. They are only client side, meaning that other users cannot see the chunk error unless under some very rare circumstances. Reconnecting to the server or reloading the map usually fixes chunk errors. Players can jump or fall into an errored chunk, since some players have reported falling and some have reported warping similar to arrows. Due to the way fluids are displayed, any fluids on the border of the chunk error will look as if they are flowing downwards. On non-modded servers the teleport command can be used to escape such a glitch. Items dropped on an errored chunk will fall and cannot be retrieved, however. Also, non-solid blocks can't flow into one. Blocks that are in a chunk error can reappear if you place a block in a chunk error (it gets overwritten, so the block you place gets turned into what was there) or blow it up with TNT.
- [edit] Chunk error Work-arounds Because chunk errors are usually temporary bugs where the Minecraft client was unable to load a chunk, logging out and logging back in is often all that is required to fix one. However, there are also other things a player can do to work around chunk errors.
- Players are able to walk into a chunk error, but will only glitch out.[1] They are able to ride through them in a boat or minecart - provided there are pre-existing rails. While the track will remain invisible to you, your cart will follow it. If your destination happens to be in a errored chunk, simply re-connect to the server or reload the map upon arrival to avoid falling into the errored chunk and losing your minecart.[2]
- Lighting, explosions, and other processes that update blocks within a chunk can cause chunks to re-load, making them visible. Because of this, placing torches can be used to make localized parts of chunk errors visible.
- Another type of chunk error is when a player is on a SMP server and sees a chunk that is empty. If the player walks on it, the chunk will act as if it was visible. Resending the chunks by moving away(or other means) will usually fix this. Waiting may also fix this.
- Usage of chunk errors Often, a chunk error will allow you to see a cross-section of the world, making it easy to locate ores, caves, dungeons, and other hidden structures underground. This can be exploited by marking the surface above any interesting looking veins, caverns, dungeons or other structures before re-loading the map.
- If you have a buddy on a multiplayer server with a chunk error, they are useful for guiding you from along the sides of a chunk error as they can see where you are digging. This means that your friends can point you to resources they cannot reach because of the chunk error.
- ]])
- chunks.close()
- cow=fs.open("mem/redworks/minepedia/cow","w")
- cow.write([[Cows is a farm animal-like mob and also are passive mobs that are the sole source of leather, raw beef, steak, and milk. They stand 1.6875 blocks tall and are 0.625 blocks wide and 1.5 blocks long
- Uses: When killed, a cow drops 0-2 (97% Droprate) pieces of leather, as well as 1 - 3 (205% Droprate) raw beef. If the cow dies by fire, steak is dropped instead of beef. Leather is used to craft the first tier of armor. Cows are usually necessary to make cake, as mooshrooms are the only other source of milk, and are much rarer. A cow can be milked by right clicking the cow with an empty bucket. Due to the fact that cows can be bred an unlimited number of times using renewable wheat, all of the cow's products are renewable.
- Behavior: Cows roam the Overworld in herds of 4 - 8 and can be observed jumping up slight inclines and falling to their deaths from tall cliffs and overhangs. Cows make no attempt to stay out of water, and will bob up and down to stay afloat. They will flee when attacked. They tend to walk around, lowing (mooing). Cows are the biggest of the 5 animals(not counting mooshrooms because it is a variation of a cow or Villagers who aren't an animal).
- Breeding: All passive mobs (Excluding squid and villagers) can be bred using Wheat.
- Breeding will create a baby cow (calf) and the parent cows have a delay of an unknown amount of time until they can breed again. Parent cows will follow the calf until it is full grown. There exists a bug with calves: if more than one calf is in an area, the parents can switch and/or just get confused and start to follow a calf that isn't theirs.
- Creating a colony of cows and breeding them is a way to ensure that the player can get an unlimited supply of Steaks, Milk and Leather when needed.
- History: Cows were introduced in Alpha 1.0.8, dropping leather when killed and producing milk when the player used a bucket on a cow. This milk had no use until Beta 1.2, when Notch introduced the crafting recipe for cake that required 3 buckets of it.
- As of Beta 1.8, cows flee when attacked.
- As of Beta 1.9 Pre-release 3 Cow's milk also cures poison and all other potion effects.
- Trivia: Cows in the PC Gamer demo of Minecraft are branded with a 'PCG' logo on their side.
- In SMP, clicking anywhere on the cow with a bucket will fill it with Milk, but only at the maximum distance at which you can use the bucket.
- As of Beta 1.3_01, the pink of the cow's ear may also be milked.[citation needed]
- Because of the lack of hierarchy in every box model, the horns of the cow are sometimes misplaced. Jeb is planning to fix this.
- In 1.8 cows seem to be less common than other passive mobs. This may be due to the fact that since 1.8 cows give an abundance of resources including beef, leather and milk whereas other passive mobs give less.
- Because all cows in Minecraft have udders and are therefore female, all baby cows will have two mothers.
- It takes one full minecraft day or 20 minutes for baby calves to become fully mature cows.
- Calves will still give milk.
- Cows can be an efficient mob since they drop Leather that can be made into armor and Raw Beef that can be eaten
- ]])
- cow.close()
- craftOS=fs.open("mem/redworks/minepedia/craftOS","w")
- craftOS.write([[
- CraftOS is the default Operating System in ComputerCraft, created by dan200.
- The built in programs is enough to get you started.
- ]])
- craftOS.close()
- creeper=fs.open("mem/redworks/minepedia/creeper","w")
- creeper.write([[The Creeper is an infamous, green-camouflaged, near-silent exploding mob that will chase players and hiss for 1.5 seconds before blowing up. Unlike Zombies and Skeletons, Creepers will not catch fire in direct sunlight meaning they can wander around unharmed day and night, and are still aggressive. Underground or on the surface, creepers will spawn at night and in dimly lit locations with a light level of 7 or less.
- Notch has described creepers as "being crunchy, like dry leaves".
- Publicity: Creepers have a formidable reputation among players because of their potential to damage players and destroy player-made structures, which has made them a widely-recognizable Minecraft icon. They are referenced in several of the items available at the Minecraft merchandise depot,[2] and have become an internet meme complete with fan art, web comic references, and demotivational posters. A central part of the meme is the creeper's unofficial catchphrase derived from the mob's tendency to sneak up on the player and hiss before detonating:
- "That'sssss a very nice ___________ (everything, house, etc.) you've got there... It'd be a (ssss)shame if anything were to happen to it..."[3]
- TV Series
- Several creepers have appeared on tv during episodes of the Mad TV Show ("Criminal Minecraft"[4] and "ThunderLolcats" [5]).
- Youtube Videos
- A parody [6] of "The Creep" features a trio of creepers instead of the eponymous creeps.
- Flash Games
- In Stealing the Diamond, when Henry sneaks up to the museum's outer wall with a pickaxe, a creeper comes up behind him and explodes, destroying part of the wall instead.
- At the far end of the map in Stick RPG2, a smiling creeper can be seen in a hole at ground level.
- Other Games
- In a game called Quube made by Universal Chicken in Adelaide, Australia, one of the levels has a Creeper face.
- PixelJunk Shooter 2 for the PS3 shows a small creeper in the title screen hidden among other enemies native to Shooter 2.
- Uses: Creepers are the easiest obtainable source of gunpowder when killed (the more challenging alternatives being defeating ghasts and conquering dungeons), and are therefore critical to the production of TNT. Each creeper can drop 0 - 2 units of gunpowder upon death. Music DiscsCreepers are the only mob that drops Music Discs, and can only do so if killed by a skeleton. How the creeper is damaged beforehand doesn't matter as long as the final blow which kills it is made by a skeleton's arrow. The easiest way to arrange this is to shoot it once with a fully charged arrow, then with two just under fully charged arrows. After this, put the creeper between you and a skeleton to be shot at. This will kill the Creeper in one shot. However, if a creeper is hit by a skeleton and not killed, it will run towards it and explode, which won't yield a music disc. A music disc must be put into a jukebox to be used. Charged creepers can also drop music discs.
- Behavior: When within one block of a player, a creeper will hiss loudly, increase in size and turn more white, and detonate after 1.5 seconds. A creeper will still start its countdown sizzle when the player moves close enough (flying or not) even if the creeper is not focused on the player. Killing a creeper before the countdown starts or finishes will not cause the creeper to detonate. Creepers make audible footsteps while walking on dirt or grass, but are otherwise silent unless they fall or are damaged. Creepers can also create noise in Water which can help a player locate one. If they see a player walking past them, they will turn to face them and start walking towards them in pursuit. If a creeper is following you and you block its path with a door, it will attempt to run through the door. The creeper will look like it is pressing its face to the window in your door, and opening the door will prove to be foolish, as the creeper will get inside your house.
- A creeper's detonation can be avoided if the player moves out of the blast radius (about 3 - 4 blocks). The hissing will stop as the creeper gradually reset its timer at the same rate that it counted down - if it has been counting down for 1 second, it will take 1 second to "cool down".
- A creeper can still go off even if the player stands behind a one-block thick wall although the creeper must be able to see the player to actually detonate. This can often happen when homes are surrounded by fences or short walls that creepers can oversee when jumping. Creepers cannot see a player through glass, so if the creeper is behind a glass barrier one block thick, the player is safe. This should not be confused with the creeper's pursuit mode - like other aggressive mobs, once a creeper acquires a target, it can track it through solid blocks even if the player subsequently enters a completely enclosed building. Because creepers also do not burn in sunlight, it may be waiting for the player just around the door if he/she later emerges thinking it is safe.
- If the player manages to block a creeper behind a soul sand one-way entrance, they can approach up to two blocks without triggering the countdown, but if they suddenly go into a sneaking position, the creeper will hiss and initialize the countdown. This demonstrates that creepers count down farther away if the player is at a lower elevation, and will only count down if much closer to a player are at a higher elevation - probably because players can outrun explosions at a higher altitude and are more shielded from the blast there.
- A creeper's explosion is 25% less powerful than that of TNT, with an explosive power of 3. Charged creeper explosions are 50% more powerful than TNT and twice that of a normal creeper's.
- As with TNT and Ghast fireballs, all dropped items in the explosion radius will be destroyed. A certain percentage of blocks destroyed by the creeper will survive the blast and can be picked up. In terms of environmental damage, the harder the material caught in an explosion, the less damaging the explosion will be to anything behind the material.
- A charged creeper is a type of creeper created when lightning strikes within 3 - 4 blocks of a normal creeper (a rare occurrence). Charged creepers do not otherwise spawn naturally and can be distinguished from normal creepers by the blue aura surrounding them (this blue aura is the power.png in the armor folder in your minecraft folder). Many players refer to charged creepers as "Lightning creepers", due to the fact that they are created by lightning.
- Charged creepers take damage from the initial lightning strike, so it takes fewer attacks to kill them than an ordinary creeper. Their countdown timers act the same as uncharged creepers, both range-wise and time-wise. An explosion caused by a charged creeper is much more powerful, however, than an explosion caused by a regular creeper (as shown in the image above). This blast is both more powerful and of greater radius.
- Charged creepers have different entity IDs from normal creepers. However, testing has never been done to find this ID.
- Charged creepers are more dangerous than the normal creeper.
- Combat: The safest way to engage a creeper is from a distance by shooting two fully charged arrows at it with a bow so it cannot explode near the player. Or you can risk trying to kill it with a sword. If you insist on using melee attacks, you should not stop hitting the air with your sword when waiting for the creeper to approach and have ready a finger on the "s" button to get back if the creeper tries to flank you or initializes the countdown.
- Swimming creepers can be easily dealt with using melee attacks while the player is underwater. Players can also take advantage of the creeper's countdown system by hitting it, retreating a few blocks away, and repeating this until it dies. Alternatively, the player can find sufficiently high ground to strike a creeper from above with a melee weapon without the detonation sequence being activated. However, the player should keep in mind that creepers move forwards and to the right (your left) when in pursuit.
- A creeper can be hit and knocked out of reach with the sprint hit ability. This allows a player to slowly work down a creepers health while remaining out of the explosion radius. Jumping and hitting a creeper while falling during a sprint will kill the creeper quickly while still keeping it out of reach.
- A diamond sword can quickly dispatch a creeper with three successive hits, one right after the other. This is not a recommended tactic around multiple creepers, though it can be a lifesaver when exploring underground should a creeper suddenly fall down behind the player in dim, tight areas.
- If a creeper is below the player, the player can suffocate a creeper (and many other mobs) by placing a block of sand or gravel above the creeper as long as the block they are placing is on a wall or a block in front of the player and above the target mob. It will usually take one to two blocks to cover the creeper and when it is covered, the creeper will slowly suffocate to death. This is a slow way of eliminating a creeper but it will keep the player out of harm's way and preserve the durability of their weapon.
- If caught in a difficult place without a weapon, the player can run away if he or she is outdoors or tunnel down towards bedrock and wait for the creeper to de-spawn before surfacing. A failsafe is to set the difficulty to peaceful, removing all hostile mobs, although this is considered cheating by many players.
- Another method to kill a creeper is by doing a critical attack (implemented in the 1.8 update) by jumping in the air and, while falling, quickly hit the creeper. Then attack the creeper again normally. This is effective for taking out a creeper quickly without it exploding. Best to be done with a stone sword or better.
- A sword enchanted with Knockback is efficient at fighting creepers as you can repeatedly strike them without them getting close enough to you for a length of time sufficient for them to explode.
- Also a good way to fight it is to attack once, then run away and have it chase you. When it comes towards to you again then rush towards it and back away right as you attack it.
- Defensive Measures: Due to creepers' natural stealth and potential hazards to the player and his/her structures, the player must remain vigilant at all times, especially in caverns and heavily wooded areas. Players are advised to keep a sword in their inventory to switch to at a moment's notice. To keep creeper populations down on the surface, a player in SSP can sleep in a sheltered bed at dusk since creepers spawn regularly if given the chance to do so at night. Players on an SMP server with other players must coordinate to sleep, as all players must be in a bed after dusk to cycle the map to dawn.
- Creepers' straightforward path finding tendencies can be used against them.
- Placing flowing water, when above the creeper, can push them away and/or prevent their movement toward the player.
- Placing lava between the player and the creeper is an easy way to eliminate them, but there is a very high chance that anything dropped will be burnt up immediately.
- The player can dig three-block-deep pits, lead the creeper towards them, and then hit it from above. While two blocks may seem sufficient to trap a creeper, there is a chance the creeper will be "boosted" up out of the pit when struck.
- This strategy has a couple of major drawbacks - it can be difficult to use on multiple creepers, and it is possible for the player to fall into his or her own pit while running backwards (the player is advised to block off the hole and tunnel downward if this happens).
- If a player has planned for a creeper attack, they can build a pit deep enough to cause fall damage and even kill the creeper. A layer of blocks above the pit and destroying blocks below the creeper will cause the creeper to fall. A tunnel can be built to the bottom and to finish off/collect the items from the creeper.
- Walking behind a three block high cactus will cause the creeper to impale itself to death, but this will also destroy anything it drops.
- Construction Safeguards: Glass walls around entrances can preempt the creepers' habit of hiding in ambush around corners (but this is offset by the disadvantage that glass is not very durable in an explosion).
- Ladders should be placed carefully, as creepers are capable of climbing ladders, despite lacking arms.
- To minimize creeper damage to shelters and structures, the surrounding, interior, and roof areas should be well-lit.
- Buildings should be constructed out of sturdier materials like cobblestone, stone, end stone (having better resistance than stone but not totally explosion-proof), stone brick, or brick (with obsidian having the best blast resistance).
- Players should bear in mind that while an explosion will only destroy cobblestone construction to a depth of one block, it will destroy several blocks of dirt, sand, Netherrack, and gravel and may therefore expose a vulnerability to a building's unreinforced basement should it explode against a wall made of such material.
- Alternatively, the buildings can be built raised over the ground outside the reach of a creeper's blast radius or on a platform on the surface of a deep ocean or lake, where the surrounding water will absorb most of the explosive force from swimming creepers. ** Note that Water and lava will completely cushion explosive damage to any blocks, but not to entities (players, any floating items).
- Placing a small glass wall 2 or 3 blocks high around the area wanted to be protected can be a very effective method. Just don't get within the area where your wall is and keep the area being enclosed well lit.
- Although obsidian is harder to obtain, it is a great anti-creeper building material.
- The most basic example is a 3x1x3 (length x width x height, so a total of 7 blocks required) frame around a main front entrance. With such a frame, the wooden doors may be blown off, but damage to the surrounding area should be relatively minimal.
- Having a 4x3x3 obsidian bed/panic room can be useful as a place to run to when being chased by multiple creepers.
- Stone slabs provide excellent defense against creeper explosions as well, and are considerably easier to obtain than obsidian. While a creeper will typically blow out the stone slab itself, the slab will prevent the explosion from damaging the underlying blocks, even if said underlying blocks are dirt or weaker material.
- Fencing provides a great way to protect holdings, provided that the player finds fencing aesthetically compatible with a given property.
- Surround a property with a simple cobblestone curtain with some mechanism for opening/closing the entry point.
- Care must be taken when exiting such a fortification, as creepers that are nearby or have targeted the player and are silently tracking them through the wall will set upon the player immediately. Any damage to this curtain is generally easier to repair than a more intricate building or other construction inside it.
- Wooden doors connected to a pressure plate on the inside, are a superb way to control access to a perimeter. The wooden door allows players to easily open and enter, and the pressure plate guarantees that the door is closed upon exiting.
- An iron door can be used in the same manner, but must incorporate a button on the outside. This can make it difficult for new players or players with less than optimum systems/data connections to navigate easily.
- Pressure plates should not be placed outside, as creepers can trigger them and enter the structure.
- Trapdoors will prevent creepers from climbing upwards, and are highly recommended in any situation where they have a chance to make an appearance.
- Soul Sand can be used to make a one-way door. By placing soul sand one block outside of an opening, the sinking effect prevents entry into a 1x2 doorway/opening. Players can circumvent this with a diagonal jump over the Soul Sand and into the doorway itself.
- Drawbridges made with sticky pistons can be employed to deny access to creepers. When used in conjunction with a wall or moat (see below), a drawbridge activated by a switch (not a pressure plate) will temporarily create passage for players as needed.
- Planting some Cactus outside your house as a barricade is a good way to keep creepers out, the damage is minimal if you accidentally touch it unlike lava, and it is unlikely that creeper loot gets destroyed by the cacti, which makes it a good mob farmer as well.
- Building a treehouse is a great way to escape creepers, you just need to use the tree on tree planting trick and lots of complex and thin paths, you can then bump the creeper off the house merely using your fists, this then kills it making it useful for getting it's loot. However the only snag is that you have to kill the creeper before it starts to detonate, or else it will deal significant damage to your treehouse.
- Stopping a ladder two blocks before your destination stops the creeper in it's path since it cant jump up that high
- If a more 'wooden' look is preferred by the player, said player can make a 'blast-proof' wooden house. Said house to make is time-consuming and shouldn't be attempted or even started if dusk is on the way. Players should start by making an inner frame of the desired wood, shape, and size. Just 1 block thick. Then line that frame with a 1-2 block thick layer of obsidian. The obsidian acts as the 'blast-proof' part of a blast proof house. Then make your outer layer of the desired wood and put your various bits and bobs in it and BAM! Blast proof house.
- Specialized Methods: Cactus Field = Cactus can be grown in a checkerboard or diagonal formation to provide an effective deterrent for most mobs, including creepers. A creeper walking into cactus will take damage and eventually die. When using this strategy, it is best for the player to move in such as way as to keep cactus between themselves and the mob in question as they can weave through before taking lethal damage if their trajectory to the player is aligned properly.
- Deadfall Field: Basically, this is an inverse of the cactus checkerboard mentioned above. Creating a checkerboard pattern of holes 1 block by 3+ blocks deep will prevent single-block mobs from approaching player buildings. It will capture the mob and hold them in each hole. Undead mobs will burn when the sun is overhead, and creepers will despawn at noon. It is best to create deadfall fields at least 10 meters wide, and long enough to screen the entire property. Potential issues include capturing livestock and other players. Piston-based drawbridges or button activated doors can allow safe passage for players. An effective compromise is to create "S" shaped paths through the fields. As mobs walk directly toward their active target, they will still fall into a hole while players can navigate the path safely.
- Deadfall Variants (all potentially lethal to players, so use caution)
- Drowner/Burner
- By placing water or lava in deadfall field pits, a player can protect their buildings while also disposing of the creeper entirely. Lava can be placed at the surface (1 block deep) or at the bottom of the 3+ deep pit. While highly dangerous to any player or mob, this will quickly eliminate any creeper threat. Any items dropped will of course be consumed by the lava.
- Cactus Deadfall Combination
- By widening the bottom of each deadfall hole and placing a sand block directly under the pit itself, cactus can be planted to damage anything falling into the hole. To accomplish this, the cactus must have clearance. The builder must ensure that there is only one block of space between the lowest pit opening and the cactus itself. This configuration requires more time, but can allow the player to access the lower area to collect loot (and cactus as they will break off when they attempt to grow upward).
- True Deadfall
- Though time consuming, a player can dig each pit deep enough to ensure creeper death on impact.
- Piston Trap
- By putting a (stone) pressure plate at the bottom of the hole, and linking it up to a piston 1 block above the pressure plate and 1 to the side, it is possible to kill creepers while keeping their items easily. However, the complicated wiring needed to keep the piston down long enough to suffocate the creeper consumes redstone.
- Netherrack Burner
- A deadfall can also end in netherrack that is infinitely burning. This makes an effective alternative to lava-filled pitfalls. Since a player may have plenty of netherrack on them at any given time, but lava takes up a full bucket for each distribution, players may find this variant to be more convenient to make.
- Moats: As an alternative to a deadfall field, a player can simply dig a moat encompassing their property, spanning it with bridges equipped with secured entries (Doors, pistons, etc.). Moats can be dry, or filled with water/lava or lined with burning netherrack.
- A 3 block deep dry moat will trap creepers, and a ladder with trap door can provide hapless players with a method to escape while preventing creepers from also doing so. Note: one caveat to simple dry moats, is the potential for a player to fall into a moat already containing creepers, resulting in explosion damage to the surrounding area.
- Filling the moat with water can be more aesthetically pleasing, but the builder must ensure that the waterline is deeper than the lip of the moat to ensure creepers cannot escape once trapped. Water, as previously noted, has the side effect of mitigating block (but not entity) damage as well.
- Filling a moat with lava has the same benefits and drawbacks as lava filled deadfalls, mentioned above.
- Variants
- Piston Crusher
- With moats one or two meters wide, sticky pistons can be used to automatically or selectively crush mobs that fall into a trap. Depending upon the size of a given moat, this can be extremely resource and time intensive. One option is to combine this with water to channel creepers into the crusher itself. Another drawback is that in the event that a player somehow sets off a creeper inside or near the moat, the damage can be difficult to repair.
- Arrow Dispenser
- A dry moat lined with pressure plates wired to arrow filled dispensers is an expensive but effective and interesting method of dealing with creepers. One must ensure that the dispensers are periodically refilled. This method can also be configured for manual activation, an option that is less dangerous to players and easier to recover spent arrows and loot.
- MCedit
- There is one more way that is not expensive but requires the download of MCedit, now for this process you must place a sand block covering a four block pit(with mcedit). The sand will not fall as no physics are applied but once a mob interacts with it, such as step on it, it will regain its normal physics. Therefore trapping the mob without harming yourself.
- History: Creepers were first introduced in Survival Test version 0.24 on August 24, 2009. They were based on a failed pig model Notch had created.
- In Survival Test, the creeper's default look was a darker shade of green and flashed to a lighter green upon being hit. Before creepers spotted the player their heads would droop down. Creepers behaved much like zombies except their attacks dealt only two hearts worth of damage rather than the zombies' three (or the more recent range of 8+). After taking damage, it would flash as an indicator of impending detonation. When killed, this creeper caused a 4x4x4 spherical explosion that left a sizable crater, destroyed plenty of blocks (with the exception of stone) and hurt any players nearby. The creeper was worth 250 points when killed, but this was later decreased to 200 points.
- As of Beta 1.4, the 'A' in the Minecraft logo included a Creeper's face.
- Before Beta 1.6, creepers (and other mobs) could be attacked through the windows of both iron and wooden doors as long as the doors were placed from the outside of the shelter.
- When the ability to sprint and hit mobs was introduced in Beta 1.8, creepers could be quickly knocked out of detonation range by an unarmed player.
- Trivia: Like all explosions, if a creeper detonates whilst surrounded/in water, its explosion has no effect on blocks, but will still cause damage to entities.
- Creepers are the only mob that a tamed wolf won't attack.
- It is possible to detonate a creeper without taking damage.
- Strangely, even with their explosive properties and the fact that they drop gunpowder when killed, Creepers will not detonate when exposed to lava or fire.
- The Minecraft profile picture on Facebook looks like a creeper face, but smoother. It used to almost exactly be a creeper face.
- Creepers were given a new taking damage sound after the Halloween Update.
- Creepers are the only mob that randomly move in packs of 2-5
- As a creeper approaches a player, it tends to circle to their right (player's left). This behavior, which is also seen in skeletons, makes them slightly more challenging to kill than many other mobs, particularly if the player is using a sword or other melee distance tool rather than a bow.
- A creeper's fuse countdown lasts a little longer if it encounters a cobweb, buying a little time for a player to flee if they are low on health.
- In SMP, if a creeper is attacked by another player, and the other player runs out of sight, it will not attack any other players.
- Creepers have a separate "armor". When they are normal creepers, they are in their un-armored state. When hit by lightning, the charged field of electricity i their armor. This "armor" does not protect them and has infinite durability.
- In the Minecraft files, this "armor" is found in the Armor files and is labeled as "power.png"
- Despite having no arms, creepers can climb up ladders like any other mob.
- There is a possibility that a creeper's countdown timer will not decrement, thus creating a "peaceful" creeper. However, in most cases, attacking the creeper will cause its countdown timer to revert and blow up the creeper and possibly damage you.
- Creepers are one of the mobs in 1.9 Pre-release 5's Creative mode that will not attack the player unless provoked.
- As of Beta 1.8 Pre-release, Creepers are much more deadly and will definitely kill the player if in a radius of 4 to 5 blocks around the Creeper. This damage is also difficulty-independent.
- Creepers can actually be helpful by expanding caves, killing any other enemies in the area, or revealing hidden tunnels/dungeons.
- As of November 12, 2011 creeper explosions have a new sound.
- In Minecraft 1.0, creepers sometimes only do one heart of damage, but still damage blocks. It is probably a bug.
- There have been several arguments over whether the Creeper or the Enderman is the better, or more iconic mob. The Creeper, however, has won the majority of polls due to its popularity.
- Creepers do drop gunpowder when blown up by TNT.
- Creepers are called Creepus Explodus on one of the T-shirts.
- In the goodie-bags given out at Minecon 2011, creepers were given as a foldable and tapable decoration for ones room or collection, along with diamond and grass.
- Creepers won't see you through glass even though you can see them. A cheap way to see the sky and keep creepers from destroying your house when you have no bed is to make a window on each wall (so you can also check if you can get out of it safely).
- On certain occasions, if a Creeper is on a high ledge (i.e. stuck on a high spot in a ravine) and you are more than 1 block above them and more than 2 blocks away, if you throw an item down the cliff edge that the Creeper is standing on, they will follow it and fall off (note that this will only work if the Creeper is not paying attention to the player). Although possible, this is an extremely rare occurrence, as the creeper would almost always be provoked if the player was in the position required to perform the maneuver.
- The creepers path finding allows for it to notice lava, and it will not attempt to chase the player if they are on the other side of the lava. This happens regardless of how close the player is(as long as they are not withtin detonation range).
- ]])
- creeper.close()
- datavalues=fs.open("mem/redworks/minepedia/datavalues","w")
- datavalues.write([[These data values refer to the different types of blocks and items. They are used in many, many places in Minecraft. Block IDs are used to define blocks placed in the world and inventory items (including items in chests and items dropped in the world). Item IDs are only valid for items. Each inventory slot has a unique slot number. In a Beta world, Block data further defines blocks placed, describing for example the height of water or the direction a torch points.
- Icon Dec Hex Block type
- 00 00 Air
- 01 01 Stone
- 02 02 Grass
- 03 03 Dirt
- 04 04 Cobblestone
- 05 05 Wooden Planks
- 06 06 Saplings D B
- 07 07 Bedrock
- 08 08 Water D
- 09 09 Stationary water D
- 10 0A Lava D
- 11 0B Stationary lava D
- 12 0C Sand
- 13 0D Gravel
- 14 0E Gold Ore
- 15 0F Iron Ore
- 16 10 Coal Ore
- 17 11 Wood D B
- 18 12 Leaves D B
- 19 13 Sponge
- 20 14 Glass
- 21 15 Lapis Lazuli Ore
- 22 16 Lapis Lazuli Block
- 23 17 Dispenser D T
- 24 18 Sandstone
- 25 19 Note Block T
- 26 1A Bed D I
- 27 1B Powered Rail D
- 28 1C Detector Rail D
- 29 1D Sticky Piston D
- 30 1E Cobweb
- 31 1F Tall Grass D
- Icon Dec Hex Block type
- 32 20 Dead Bush
- 33 21 Piston D
- 34 22 Piston Extension D
- 35 23 Wool D B
- 36 24 Block moved by Piston T
- 37 25 Dandelion
- 38 26 Rose
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 41 29 Block of Gold
- 42 2A Block of Iron
- 43 2B Double Slabs D B
- 44 2C Slabs D B
- 45 2D Bricks
- 46 2E TNT
- 47 2F Bookshelf
- 48 30 Moss Stone
- 49 31 Obsidian
- 50 32 Torch D
- 51 33 Fire D
- 52 34 Monster Spawner T
- 53 35 Wooden Stairs D
- 54 36 Chest D T
- 55 37 Redstone Wire D I
- 56 38 Diamond Ore
- 57 39 Block of Diamond
- 58 3A Crafting Table
- 59 3B Wheat Seeds D
- 60 3C Farmland D
- 61 3D Furnace D T
- 62 3E Burning Furnace D T
- 63 3F Sign Post D I T
- Icon Dec Hex Block type
- 64 40 Wooden Door D I
- 65 41 Ladders D
- 66 42 Rails D
- 67 43 Cobblestone Stairs D
- 68 44 Wall Sign D T
- 69 45 Lever D
- 70 46 Stone Pressure Plate D
- 71 47 Iron Door D I
- 72 48 Wooden Pressure Plate D
- 73 49 Redstone Ore
- 74 4A Glowing Redstone Ore
- 75 4B Redstone Torch ("off" state) D
- 76 4C Redstone Torch ("on" state) D
- 77 4D Stone Button D
- 78 4E Snow D
- 79 4F Ice
- 80 50 Snow Block
- 81 51 Cactus D
- 82 52 Clay Block
- 83 53 Sugar Cane D I
- 84 54 Jukebox D T
- 85 55 Fence
- 86 56 Pumpkin D
- 87 57 Netherrack
- 88 58 Soul Sand
- 89 59 Glowstone Block
- 90 5A Portal
- 91 5B Jack-O-Lantern D
- 92 5C Cake Block D I
- 93 5D Redstone Repeater ("off" state) D I
- 94 5E Redstone Repeater ("on" state) D I
- 95 5F Locked Chest
- Icon Dec Hex Block type
- 96 60 Trapdoor D
- 97 61 Hidden Silverfish D
- 98 62 Stone Bricks D B
- 99 63 Huge Brown Mushroom D
- 100 64 Huge Red Mushroom D
- 101 65 Iron Bars
- 102 66 Glass Pane
- 103 67 Melon
- 104 68 Pumpkin Stem D
- 105 69 Melon Stem D
- 106 6A Vines D
- 107 6B Fence Gate D
- 108 6C Brick Stairs D
- 109 6D Stone Brick Stairs D
- 110 6E Mycelium
- 111 6F Lily Pad
- 112 70 Nether Brick
- 113 71 Nether Brick Fence
- 114 72 Nether Brick Stairs D
- 115 73 Nether Wart D I
- 116 74 Enchantment Table T
- 117 75 Brewing Stand D T I
- 118 76 Cauldron D I
- 119 77 End Portal T
- 120 78 End Portal Frame D
- 121 79 End Stone
- 122 7A Dragon Egg
- Item IDs All items have values above 255, making it easy to separate the Block IDs from the Item IDs. Entries marked with a D require additional data to fully define the item in a Beta world. The chainmail set is currently unobtainable in Survival mode without hacking or, in multiplayer, the /give server command. It is available in Creative mode, however. The same applies to all music discs except for 13 and cat.
- Icon Dec Hex Item
- 256 100 Iron Shovel
- 257 101 Iron Pickaxe
- 258 102 Iron Axe
- 259 103 Flint and Steel
- 260 104 Red Apple
- 261 105 Bow
- 262 106 Arrow
- 263 107 Coal D
- 264 108 Diamond
- 265 109 Iron Ingot
- 266 10A Gold Ingot
- 267 10B Iron Sword
- 268 10C Wooden Sword
- 269 10D Wooden Shovel
- 270 10E Wooden Pickaxe
- 271 10F Wooden Axe
- 272 110 Stone Sword
- 273 111 Stone Shovel
- 274 112 Stone Pickaxe
- 275 113 Stone Axe
- 276 114 Diamond Sword
- 277 115 Diamond Shovel
- 278 116 Diamond Pickaxe
- 279 117 Diamond Axe
- 280 118 Stick
- 281 119 Bowl
- 282 11A Mushroom Soup
- 283 11B Gold Sword
- 284 11C Gold Shovel
- 285 11D Gold Pickaxe
- 286 11E Gold Axe
- 287 11F String
- Icon Dec Hex Item
- 288 120 Feather
- 289 121 Gunpowder
- 290 122 Wooden Hoe
- 291 123 Stone Hoe
- 292 124 Iron Hoe
- 293 125 Diamond Hoe
- 294 126 Gold Hoe
- 295 127 Seeds
- 296 128 Wheat
- 297 129 Bread
- 298 12A Leather Cap
- 299 12B Leather Tunic
- 300 12C Leather Pants
- 301 12D Leather Boots
- 302 12E Chain Helmet
- 303 12F Chain Chestplate
- 304 130 Chain Leggings
- 305 131 Chain Boots
- 306 132 Iron Helmet
- 307 133 Iron Chestplate
- 308 134 Iron Leggings
- 309 135 Iron Boots
- 310 136 Diamond Helmet
- 311 137 Diamond Chestplate
- 312 138 Diamond Leggings
- 313 139 Diamond Boots
- 314 13A Gold Helmet
- 315 13B Gold Chestplate
- 316 13C Gold Leggings
- 317 13D Gold Boots
- 318 13E Flint
- 319 13F Raw Porkchop
- Icon Dec Hex Item
- 320 140 Cooked Porkchop
- 321 141 Paintings
- 322 142 Golden Apple
- 323 143 Sign
- 324 144 Wooden door
- 325 145 Bucket
- 326 146 Water bucket
- 327 147 Lava bucket
- 328 148 Minecart
- 329 149 Saddle
- 330 14A Iron door
- 331 14B Redstone
- 332 14C Snowball
- 333 14D Boat
- 334 14E Leather
- 335 14F Milk
- 336 150 Clay Brick
- 337 151 Clay
- 338 152 Sugar Cane
- 339 153 Paper
- 340 154 Book
- 341 155 Slimeball
- 342 156 Minecart with Chest
- 343 157 Minecart with Furnace
- 344 158 Egg
- 345 159 Compass
- 346 15A Fishing Rod
- 347 15B Clock
- 348 15C Glowstone Dust
- 349 15D Raw Fish
- 350 15E Cooked Fish
- 351 15F Dye D
- Icon Dec Hex Item
- 352 160 Bone
- 353 161 Sugar
- 354 162 Cake
- 355 163 Bed
- 356 164 Redstone Repeater
- 357 165 Cookie
- 358 166 Map
- 359 167 Shears
- 360 168 Melon Slice
- 361 169 Pumpkin Seeds
- 362 16A Melon Seeds
- 363 16B Raw Beef
- 364 16C Steak
- 365 16D Raw Chicken
- 366 16E Cooked Chicken
- 367 16F Rotten Flesh
- 368 170 Ender Pearl
- 369 171 Blaze Rod
- 370 172 Ghast Tear
- 371 173 Gold Nugget
- 372 174 Nether Wart
- 373 175 Potions D
- 374 176 Glass Bottle
- 375 177 Spider Eye
- 376 178 Fermented Spider Eye
- 377 179 Blaze Powder
- 378 17A Magma Cream
- 379 17B Brewing Stand
- 380 17C Cauldron
- 381 17D Eye of Ender
- 382 17E Glistering Melon
- 383 17F Spawner Egg D
- Icon Dec Hex Item
- 2256 8D0 13 Disc
- 2257 8D1 Cat Disc
- 2258 8D2 blocks Disc
- 2259 8D3 chirp Disc
- 2260 8D4 far Disc
- 2261 8D5 mall Disc
- 2262 8D6 mellohi Disc
- 2263 8D7 stal Disc
- 2264 8D8 strad Disc
- 2265 8D9 ward Disc
- 2266 8DA 11 Disc
- Entity IDs Icon Dec Hex Entity
- Drops
- 1 01 Dropped item
- 2 02 Experience Orb
- Projectiles
- 10 0A Shot arrow
- 11 0B Thrown snowball
- 12 0C Ghast fireball
- 13 0D Blaze fireball
- 14 0E Thrown Ender Pearl
- 15 0F Thrown Eye of Ender
- Blocks
- 20 14 Primed TNT
- 21 15 Falling block (gravel, sand)
- Vehicles
- 40 28 Minecart
- 41 29 Boat
- Icon Dec Hex Entity
- Hostile mobs
- 50 32 Creeper
- 51 33 Skeleton
- 52 34 Spider
- 53 35 Giant
- 54 36 Zombie
- 55 37 Slime
- 56 38 Ghast
- 57 39 Zombie Pigman
- 58 3A Enderman
- 59 3B Cave Spider
- 60 3C Silverfish
- 61 3D Blaze
- 62 3E Magma Cube
- 63 3F Enderdragon
- Icon Dec Hex Entity
- Passive mobs
- 90 5A Pig
- 91 5B Sheep
- 92 5C Cow
- 93 5D Chicken
- 94 5E Squid
- 95 5F Wolf
- 96 60 Mooshroom
- 97 61 Snow Golem
- NPCs
- 120 78 Villager
- Other
- 200 C8 Ender Crystal
- Icon Dec Hex Block type
- 00 00 Air
- 01 01 Stone
- 02 02 Grass
- 03 03 Dirt
- 04 04 Cobblestone
- 05 05 Wooden Planks
- 06 06 Saplings D B
- 07 07 Bedrock
- 08 08 Water D
- 09 09 Stationary water D
- 10 0A Lava D
- 11 0B Stationary lava D
- 12 0C Sand
- 13 0D Gravel
- 14 0E Gold Ore
- 15 0F Iron Ore
- 16 10 Coal Ore
- 17 11 Wood D B
- 18 12 Leaves D B
- 19 13 Sponge
- 20 14 Glass
- 21 15 Lapis Lazuli Ore
- 22 16 Lapis Lazuli Block
- 23 17 Dispenser D T
- 24 18 Sandstone
- 25 19 Note Block T
- 26 1A Bed D I
- 27 1B Powered Rail D
- 28 1C Detector Rail D
- 29 1D Sticky Piston D
- 30 1E Cobweb
- 31 1F Tall Grass D
- Icon Dec Hex Block type
- 32 20 Dead Bush
- 33 21 Piston D
- 34 22 Piston Extension D
- 35 23 Wool D B
- 36 24 Block moved by Piston T
- 37 25 Dandelion
- 38 26 Rose
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 41 29 Block of Gold
- 42 2A Block of Iron
- 43 2B Double Slabs D B
- 44 2C Slabs D B
- 45 2D Bricks
- 46 2E TNT
- 47 2F Bookshelf
- 48 30 Moss Stone
- 49 31 Obsidian
- 50 32 Torch D
- 51 33 Fire D
- 52 34 Monster Spawner T
- 53 35 Wooden Stairs D
- 54 36 Chest D T
- 55 37 Redstone Wire D I
- 56 38 Diamond Ore
- 57 39 Block of Diamond
- 58 3A Crafting Table
- 59 3B Wheat Seeds D
- 60 3C Farmland D
- 61 3D Furnace D T
- 62 3E Burning Furnace D T
- 63 3F Sign Post D I T
- Icon Dec Hex Block type
- 64 40 Wooden Door D I
- 65 41 Ladders D
- 66 42 Rails D
- 67 43 Cobblestone Stairs D
- 68 44 Wall Sign D T
- 69 45 Lever D
- 70 46 Stone Pressure Plate D
- 71 47 Iron Door D I
- 72 48 Wooden Pressure Plate D
- 73 49 Redstone Ore
- 74 4A Glowing Redstone Ore
- 75 4B Redstone Torch ("off" state) D
- 76 4C Redstone Torch ("on" state) D
- 77 4D Stone Button D
- 78 4E Snow D
- 79 4F Ice
- 80 50 Snow Block
- 81 51 Cactus D
- 82 52 Clay Block
- 83 53 Sugar Cane D I
- 84 54 Jukebox D T
- 85 55 Fence
- 86 56 Pumpkin D
- 87 57 Netherrack
- 88 58 Soul Sand
- 89 59 Glowstone Block
- 90 5A Portal
- 91 5B Jack-O-Lantern D
- 92 5C Cake Block D I
- 93 5D Redstone Repeater ("off" state) D I
- 94 5E Redstone Repeater ("on" state) D I
- 95 5F Locked Chest
- Icon Dec Hex Block type
- 96 60 Trapdoor D
- 97 61 Hidden Silverfish D
- 98 62 Stone Bricks D B
- 99 63 Huge Brown Mushroom D
- 100 64 Huge Red Mushroom D
- 101 65 Iron Bars
- 102 66 Glass Pane
- 103 67 Melon
- 104 68 Pumpkin Stem D
- 105 69 Melon Stem D
- 106 6A Vines D
- 107 6B Fence Gate D
- 108 6C Brick Stairs D
- 109 6D Stone Brick Stairs D
- 110 6E Mycelium
- 111 6F Lily Pad
- 112 70 Nether Brick
- 113 71 Nether Brick Fence
- 114 72 Nether Brick Stairs D
- 115 73 Nether Wart D I
- 116 74 Enchantment Table T
- 117 75 Brewing Stand D T I
- 118 76 Cauldron D I
- 119 77 End Portal T
- 120 78 End Portal Frame D
- 121 79 End Stone
- 122 7A Dragon Egg
- Item IDs All items have values above 255, making it easy to separate the Block IDs from the Item IDs. Entries marked with a D require additional data to fully define the item in a Beta world. The chainmail set is currently unobtainable in Survival mode without hacking or, in multiplayer, the /give server command. It is available in Creative mode, however. The same applies to all music discs except for 13 and cat.
- Icon Dec Hex Item
- 256 100 Iron Shovel
- 257 101 Iron Pickaxe
- 258 102 Iron Axe
- 259 103 Flint and Steel
- 260 104 Red Apple
- 261 105 Bow
- 262 106 Arrow
- 263 107 Coal D
- 264 108 Diamond
- 265 109 Iron Ingot
- 266 10A Gold Ingot
- 267 10B Iron Sword
- 268 10C Wooden Sword
- 269 10D Wooden Shovel
- 270 10E Wooden Pickaxe
- 271 10F Wooden Axe
- 272 110 Stone Sword
- 273 111 Stone Shovel
- 274 112 Stone Pickaxe
- 275 113 Stone Axe
- 276 114 Diamond Sword
- 277 115 Diamond Shovel
- 278 116 Diamond Pickaxe
- 279 117 Diamond Axe
- 280 118 Stick
- 281 119 Bowl
- 282 11A Mushroom Soup
- 283 11B Gold Sword
- 284 11C Gold Shovel
- 285 11D Gold Pickaxe
- 286 11E Gold Axe
- 287 11F String
- Icon Dec Hex Item
- 288 120 Feather
- 289 121 Gunpowder
- 290 122 Wooden Hoe
- 291 123 Stone Hoe
- 292 124 Iron Hoe
- 293 125 Diamond Hoe
- 294 126 Gold Hoe
- 295 127 Seeds
- 296 128 Wheat
- 297 129 Bread
- 298 12A Leather Cap
- 299 12B Leather Tunic
- 300 12C Leather Pants
- 301 12D Leather Boots
- 302 12E Chain Helmet
- 303 12F Chain Chestplate
- 304 130 Chain Leggings
- 305 131 Chain Boots
- 306 132 Iron Helmet
- 307 133 Iron Chestplate
- 308 134 Iron Leggings
- 309 135 Iron Boots
- 310 136 Diamond Helmet
- 311 137 Diamond Chestplate
- 312 138 Diamond Leggings
- 313 139 Diamond Boots
- 314 13A Gold Helmet
- 315 13B Gold Chestplate
- 316 13C Gold Leggings
- 317 13D Gold Boots
- 318 13E Flint
- 319 13F Raw Porkchop
- Icon Dec Hex Item
- 320 140 Cooked Porkchop
- 321 141 Paintings
- 322 142 Golden Apple
- 323 143 Sign
- 324 144 Wooden door
- 325 145 Bucket
- 326 146 Water bucket
- 327 147 Lava bucket
- 328 148 Minecart
- 329 149 Saddle
- 330 14A Iron door
- 331 14B Redstone
- 332 14C Snowball
- 333 14D Boat
- 334 14E Leather
- 335 14F Milk
- 336 150 Clay Brick
- 337 151 Clay
- 338 152 Sugar Cane
- 339 153 Paper
- 340 154 Book
- 341 155 Slimeball
- 342 156 Minecart with Chest
- 343 157 Minecart with Furnace
- 344 158 Egg
- 345 159 Compass
- 346 15A Fishing Rod
- 347 15B Clock
- 348 15C Glowstone Dust
- 349 15D Raw Fish
- 350 15E Cooked Fish
- 351 15F Dye D
- Icon Dec Hex Item
- 352 160 Bone
- 353 161 Sugar
- 354 162 Cake
- 355 163 Bed
- 356 164 Redstone Repeater
- 357 165 Cookie
- 358 166 Map
- 359 167 Shears
- 360 168 Melon Slice
- 361 169 Pumpkin Seeds
- 362 16A Melon Seeds
- 363 16B Raw Beef
- 364 16C Steak
- 365 16D Raw Chicken
- 366 16E Cooked Chicken
- 367 16F Rotten Flesh
- 368 170 Ender Pearl
- 369 171 Blaze Rod
- 370 172 Ghast Tear
- 371 173 Gold Nugget
- 372 174 Nether Wart
- 373 175 Potions D
- 374 176 Glass Bottle
- 375 177 Spider Eye
- 376 178 Fermented Spider Eye
- 377 179 Blaze Powder
- 378 17A Magma Cream
- 379 17B Brewing Stand
- 380 17C Cauldron
- 381 17D Eye of Ender
- 382 17E Glistering Melon
- 383 17F Spawner Egg D
- Icon Dec Hex Item
- 2256 8D0 13 Disc
- 2257 8D1 Cat Disc
- 2258 8D2 blocks Disc
- 2259 8D3 chirp Disc
- 2260 8D4 far Disc
- 2261 8D5 mall Disc
- 2262 8D6 mellohi Disc
- 2263 8D7 stal Disc
- 2264 8D8 strad Disc
- 2265 8D9 ward Disc
- 2266 8DA 11 Disc
- Entity IDs Icon Dec Hex Entity
- Drops
- 1 01 Dropped item
- 2 02 Experience Orb
- Projectiles
- 10 0A Shot arrow
- 11 0B Thrown snowball
- 12 0C Ghast fireball
- 13 0D Blaze fireball
- 14 0E Thrown Ender Pearl
- 15 0F Thrown Eye of Ender
- Blocks
- 20 14 Primed TNT
- 21 15 Falling block (gravel, sand)
- Vehicles
- 40 28 Minecart
- 41 29 Boat
- Icon Dec Hex Entity
- Hostile mobs
- 50 32 Creeper
- 51 33 Skeleton
- 52 34 Spider
- 53 35 Giant
- 54 36 Zombie
- 55 37 Slime
- 56 38 Ghast
- 57 39 Zombie Pigman
- 58 3A Enderman
- 59 3B Cave Spider
- 60 3C Silverfish
- 61 3D Blaze
- 62 3E Magma Cube
- 63 3F Enderdragon
- Icon Dec Hex Entity
- Passive mobs
- 90 5A Pig
- 91 5B Sheep
- 92 5C Cow
- 93 5D Chicken
- 94 5E Squid
- 95 5F Wolf
- 96 60 Mooshroom
- 97 61 Snow Golem
- NPCs
- 120 78 Villager
- Other
- 200 C8 Ender Crystal
- 0x2: Facing West
- 0x3: Facing South
- 0x4: Facing North
- Ground levers:
- 0x5: Lever points South when off.
- 0x6: Lever points East when off. (Note that unlike the other types of switch, this version didn't power wires around the block it was sitting on. This bug was fixed in Beta 1.6)
- Doors The two least significant bits are the orientation of the door, that is, the corner in which its hinge is positioned:
- 0x0: Northwest corner
- 0x1: Northeast corner
- 0x2: Southeast corner
- 0x3: Southwest corner
- The two bits above are flags:
- 0x8: If this bit is set, this is the top half of a door (else the lower half).
- 0x4: If this bit is set, the door has swung counterclockwise around its hinge.
- For example, the bottom half of a door with its hinge on the Southwest corner, which is swung so that it is closed when viewed from the West, will have a data value of (3 | 4) = (3 + 4) = 7.
- Buttons 0x8 If this bit is set, the button has been pressed. If this bit is set in a saved level, the button will remain pressed for an undefined length of time after the level is loaded.
- Button direction:
- 0x1: Facing East
- 0x2: Facing West
- 0x3: Facing South
- 0x4: Facing North
- Sign Posts 0x0: South
- 0x1: South-Southwest
- 0x2: Southwest
- 0x3: West-Southwest
- 0x4: West
- 0x5: West-Northwest
- 0x6: Northwest
- 0x7: North-Northwest
- 0x8: North
- 0x9: North-Northeast
- 0xA: Northeast
- 0xB: East-Northeast
- 0xC: East
- 0xD: East-Southeast
- 0xE: Southeast
- 0xF: South-Southeast
- Wall Signs, Furnaces, Dispensers and Chests 0x2: Facing North
- 0x3: Facing South
- 0x4: Facing West
- 0x5: Facing East
- Pumpkins and Jack-O-Lanterns 0x0: Facing South
- 0x1: Facing West
- 0x2: Facing North
- 0x3: Facing East
- Pressure Plates 0x1: If this bit is set, the plate is pressed.
- Slab and Double Slab material Icon Value Description
- 0x0 Stone Slab
- 0x1 Sandstone Slab
- 0x2 Wooden Slab
- 0x3 Cobblestone Slab
- 0x4 Brick Slab
- 0x5 Stone Brick Slab
- 0x6 Stone Slab
- Snow
- Heights of snow from 0-7, going from left to right0x0: Normal snowfall height
- ...
- 0x7: Full block size height
- The height repeats for values 8-15. Note that snow does not occur naturally at other heights than 0, but can be edited or hacked in. Values 0-2 has no hitbox, values 3-7 has the same hitbox as a slab.
- Cake 0x0: 0 pieces eaten
- 0x1: 1 piece eaten
- 0x2: 2 pieces eaten
- 0x3: 3 pieces eaten
- 0x4: 4 pieces eaten
- 0x5: 5 pieces eaten
- Beds 0x0: Head is pointing South
- 0x1: Head is pointing West
- 0x2: Head is pointing North
- 0x3: Head is pointing East
- 0x4: (bit flag) - When 0, the bed is empty. When 1, the bed is occupied.
- 0x8: (bit flag) - When 0, the foot of the bed. When 1, the head of the bed.
- Redstone Repeater Low (1st & 2nd) bits:
- 0x0: Facing North
- 0x1: Facing East
- 0x2: Facing South
- 0x3: Facing West
- High (3rd & 4th) bits:
- 0x0: 1 tick delay
- 0x1: 2 tick delay
- 0x2: 3 tick delay
- 0x3: 4 tick delay
- Redstone Wire 0xF is a wire placed right next to a power source (like a redstone torch). The value declines with distance until 0x0, which is a non-powered wire. The direction of the wire is not saved but calculated at runtime.
- Tall Grass Icon Value Description
- 0x0 Dead shrub (identical in appearance to block Dead Bush when placed, but acts like Tall Grass)
- 0x1 Tall grass
- 0x2 Fern
- Trapdoors 0x4 is a bit that determines whether or not the trapdoor is swung open. 0 for closed (on the ground), 1 for open (against its connecting wall). The remaining two bits describe which wall the trapdoor is attached to:
- 0x0: Attached to the South wall
- 0x1: Attached to the North wall
- 0x2: Attached to the East wall
- 0x3: Attached to the West wall
- Piston The top bit (0x8) is a status bit that determines whether the piston is pushed out or not. 1 for pushed out, 0 for retracted.
- The bottom three bits are a value from 0 to 5, indicating the direction of the piston (the direction the piston head is pointing)
- 0: Down
- 1: Up
- 2: North
- 3: South
- 4: West
- 5: East
- Piston Extension The top bit (0x8) is a status bit that determines whether the head is sticky or not (note that the Piston Body actually has completely different block types for Sticky and Regular). 1 is sticky, 0 is regular.
- The bottom three bits are a value from 0 to 5, indicating the direction of the piston (the direction the piston head is pointing).
- 0: Down
- 1: Up
- 2: North
- 3: South
- 4: West
- 5: East
- Stone Brick 0: Normal
- 1: Mossy
- 2: Cracked
- Huge brown and red mushroom Huge mushrooms consist of the same blocks throughout their structure, the data value of each block decides the texture. The default texture on all sides is porous flesh. The cap texture can be either the brown mushroom or red mushroom texture, the textures for porous and stem sides are identical.
- Value Description Textures
- 0 Fleshy piece Pores on all sides
- 1 Corner piece Cap texture on top, West and North
- 2 Side piece Cap texture on top and North
- 3 Corner piece Cap texture on top, North and East
- 4 Side piece Cap texture on top and West
- 5 Top piece Cap texture on top
- 6 Side piece Cap texture on top and East
- 7 Corner piece Cap texture on top, South and West
- 8 Side piece Cap texture on top and South
- 9 Corner piece Cap texture on top, East and South
- 10 Stem piece Stem texture on all four sides, pores on top and bottom
- Vines Determines the face against which the vine is anchored. Note that (except for Top) these are testable as bit flags, unlike most of the other directional data for other block types. Multiple sides can contain vines. The "top" attachment is assumed to be present if data is 0 or there is solid block above.
- 1: South
- 2: West
- 4: North
- 8: East
- Fence Gates 0x4 is a bit flag: 1 is open, 0 is closed. The remaining two bits determine in which direction the gate will open.
- 0: To the South
- 1: To the West
- 2: To the North
- 3: To the East
- Hidden Silverfish A silverfish will hide inside a Stone, Cobblestone, or Stone Brick block, changing it into a Hidden Silverfish block. The data value tells us its appearance:
- 0: Stone
- 1: Cobblestone
- 2: Stone Brick
- Potions A Glass Bottle filled with a potion. Potion type is stored in item's damage value as a 16-bit number. Potion effect, name, and other flags are encoded on bits. Effect duration itself isn't there, but can be calculated from other values.
- Current meaning of bits is described below. Note that potion name overlaps with potion effect and tier.
- Bit Dec Hex Meaning
- 0 1 0001 Potion effect Potion name
- 1 2 0002
- 2 4 0004
- 3 8 0008
- 4 16 0010
- 5 32 0020 Tier
- 6 64 0040 Extended duration
- 7 128 0800 (ignored)
- 8 256 0100
- 9 512 0200
- 10 1024 0400
- 11 2048 0800
- 12 4096 1000
- 13 8192 2000
- 14 16384 4000 Splash potion
- 15 32768 8000 (ignored)
- To calculate damage value of potion with desired effect use the following formula:
- DV = potion_effect + tier_bit + extended_bit + splash_bit
- for example:
- potion with "Instant Health" effect has damage value 5 (= 5 + 0 + 0 + 0);
- potion with extended "Slowness" effect has value 74 (= 10 + 0 + 64 + 0);
- splash potion with tier II "Strength" effect has value 16425 (= 9 + 32 + 0 + 16384).
- To get potion with certain name, use the following formula:
- DV = potion_name + extended_bit + splash_bit
- for example:
- "Splash Charming Potion" has damage value 16422 (= 38 + 0 + 16384)
- "Potion name" bits Dec Hex Potion
- 0 00 Water Bottle / Mundane Potion
- 1 01 Potion of Regeneration
- 2 02 Potion of Swiftness
- 3 03 Potion of Fire Resistance
- 4 04 Potion of Poison
- 5 05 Potion of Healing
- 6 06 Clear Potion
- 7 07 Clear Potion
- 8 08 Potion of Weakness
- 9 09 Potion of Strength
- 10 0a Potion of Slowness
- 11 0b Diffuse Potion
- 12 0c Potion of Harming
- 13 0d Artless Potion
- 14 0e Thin Potion
- 15 0f Thin Potion
- Dec Hex Potion
- 16 10 Awkward Potion
- 17 11 Potion of Regeneration
- 18 12 Potion of Swiftness
- 19 13 Potion of Fire Resistance
- 20 14 Potion of Poison
- 21 15 Potion of Healing
- 22 16 Bungling Potion
- 23 17 Bungling Potion
- 24 18 Potion of Weakness
- 25 19 Potion of Strength
- 26 1a Potion of Slowness
- 27 1b Smooth Potion
- 28 1c Potion of Harming
- 29 1d Suave Potion
- 30 1e Debonair Potion
- 31 1f Debonair Potion
- Dec Hex Potion
- 32 20 Thick Potion
- 33 21 Potion of Regeneration II
- 34 22 Potion of Swiftness II
- 35 23 Potion of Fire Resistance
- 36 24 Potion of Poison II
- 37 25 Potion of Healing II
- 38 26 Charming Potion
- 39 27 Charming Potion
- 40 28 Potion of Weakness
- 41 29 Potion of Strength II
- 42 2a Potion of Slowness
- 43 2b Refined Potion
- 44 2c Potion of Harming II
- 45 2d Cordial Potion
- 46 2e Sparkling Potion
- 47 2f Sparkling Potion
- Dec Hex Potion
- 48 30 Potent Potion
- 49 31 Potion of Regeneration II
- 50 32 Potion of Swiftness II
- 51 33 Potion of Fire Resistance
- 52 34 Potion of Poison II
- 53 35 Potion of Healing II
- 54 36 Rank Potion
- 55 37 Rank Potion
- 56 38 Potion of Weakness
- 57 39 Potion of Strength II
- 58 3a Potion of Slowness
- 59 3b Acrid Potion
- 60 3c Potion of Harming II
- 61 3d Gross Potion
- 62 3e Stinky Potion
- 63 3f Stinky Potion
- Note: potion with name set to 0 is called "Water Bottle" only if no other bit is set. Otherwise, it is called "Mundane Potion".
- Note: potions with splash potion bit set have additional "Splash " prefix.
- "Potion effect" bits Dec Hex Effect Duration Bottles Icon Effect color
- 0 0 - - -
- 1 1 Regeneration 0:45 Pink
- 2 2 Speed 3:00 Sky blue
- 3 3 Fire Resistance 3:00 Orange
- 4 4 Poison 0:45 Green
- 5 5 Instant Health instant - -
- 6 6 - - - -
- 7 7 - - - -
- 8 8 Weakness 1:30 Grey
- 9 9 Strength 3:00 Dark red
- 10 a Slowness 1:30 Blue-Grey
- 11 b - - - -
- 12 c Instant Damage instant - -
- 13 d - - - -
- 14 e - - - -
- 15 f - - - -
- "Tier" bit Dex Hex Meaning
- 0 0000 Tier I effect.
- 32 0020 Tier II effect. Multiply duration by 1/2.
- Note: Fire Resistance, Weakness and Slowness effects have no second tier. Their strength and duration are unaffected by this bit.
- "Extended duration" bit Dex Hex Meaning
- 0 0000 Base duration.
- 64 0040 Multiply duration by 8/3.
- "Splash potion" bit Dex Hex Meaning
- 0 0000 Drinkable potion.
- 16384 4000 Splash potion. Multiply duration by 3/4.
- Brewing Stand The bottom three bits are bit flags for which bottle slots actually contain bottles. The actual bottle contents (and the reagent at the top) are stored in a TileEntity for this block, not in the data field.
- 0x1: The slot pointing East
- 0x2: The slot pointing Southwest
- 0x4: The slot pointing Northwest
- Cauldron The data value stores the amount of water kept in the cauldron, in units of glass bottles that can be filled.
- 0: Empty
- 1: 1/3 filled
- 2: 2/3 filled
- 3: Fully filled
- End Portal Frame The bottom two bits determine which "side" of the whole portal frame this block is a part of.
- 0x4 is a bit flag: 0 is an "empty" frame block, 1 is a block with an Eye of Ender inserted
- ]])
- datavalues.close()
- dragon=fs.open("mem/redworks/minepedia/dragon","w")
- dragon.write([[The Ender Dragon is the first official mob boss to appear in Minecraft. It only naturally spawns in The End. This mob uses the dragon model Notch created, but utilizes a texture more reminiscent of an Enderman, being black and scaly with purple eyes.
- Strategy: Before entering the End, it is very strongly advised that you first sleep in a bed near the end portal, as you will most likely die your first time in. Upon entering The End, a purple "boss health bar" appears at the top of the player's screen. This bar indicates the remaining health of the resident Ender Dragon. Each End houses a single Ender Dragon who is periodically charged by nearby Ender Crystals. These crystals can be found at the summit of Obsidian pillars which dot the otherwise flat landscape. The healing effect of the Ender Crystals can reverse hard-won damage rather quickly, therefore it is recommended that they be destroyed before the player engages the Ender Dragon. Wearing any armor will make the Ender Dragon unable to hurt you; rather, you will simply be pushed around.
- Destroying an Ender Crystal while the Ender Dragon is being charged by it (indicated by a series of circles appearing between the Ender Crystal and the Ender Dragon) will cause the Ender Dragon to take additional damage instead of being healed (You can destroy an Ender Crystal by either trying to destroy it as you would a regular block, or by attacking it with a sword, a bow and arrow, etc.) When destroyed, the Ender Crystal explodes and is replaced by a chunk of Bedrock. Get the Ender Dragon in the explosion to cause even more damage!
- The Ender Dragon will flee when looked at, except when charging the player, but otherwise will fly directly at the player. When the Ender Dragon is charging the player, it is directly facing the player, giving the player a good chance of attacking its head, which, as mentioned earlier, will do extra damage (but if you do decide to attack it, you will have less time to try and avoid its attack) The Ender Dragon will also destroy any block it comes into contact with except Obsidian, End Stone and Bedrock (passing through them instead), making TNT strategies difficult if not impossible to successfully execute. Due to the Ender Dragon's speed and flight, projectiles are favored over melee approaches. The Ender Dragon's immense health and evasive nature necessitate a large ammunition stockpile. Lava is useless, as they are immune to fire damage. Snowballs have the potential to stun-lock an Ender Dragon as its recovery time is slower than the firing rate of snowballs. The Ender Dragon will take more damage from a melee attack than a ranged attack, thus waiting for it to charge, sidestepping, and then attacking is a viable tactic. Beds, which explode in The End, can be detonated when the Ender Dragon is nearby, causing it considerable damage. Ender Dragons take the most damage from damage dealt to the head. Hitting other areas of the body will not do as much damage.
- Once killed, the Ender Dragon will appear to have beams of light spontaneously erupting from its body. It will then explode, dropping enough experience to bring a player from no experience to level 110 (20000 - 10 drops of 1000 experience, one drop of 10000 experience). If you bring an enchantment table and 30 bookcases with you while killing the Ender dragon, you can set it up after it dies and use it every 50 levels for many level 40+ enchantments. It will also spawn a Dragon Egg on top of an End Portal made of Bedrock. On the second block up, two Torches are placed on either side. Entering the portal will activate an eight minute text cutscene that acts as the end of Minecraft, after which the player will be teleported to their spawn point in The Overworld. The player may return to The End after defeating the Ender Dragon, however there will be no new dragon. In SMP stepping through the portal will wipe all of your unspent experience levels. There are ways, such as teleportation, to avoid the loss of unspent experience levels.
- The offical findings of Mr D.H, one of Notch's personal friends, states that unlike Enderman, the enderdragon is immune to water damage- this only lets off smoke similar to the expolision of TNT. It also states, that before entering The End, taking an Enchanted sword is extremely good: as long as you do not mind that you may lose it. The Enderdragon cannot leave The End and go to the Overload,this was consistered by Notch, but never made the final cut.
- History: Originally, dragons were a possible planned mob, hinted at by Notch during the Spider Jockey update.[1] He also mentioned that dragon lairs may be an addition.[2] They remained a potential work-in-progress until the Ender Dragon was announced.
- Notch has stated in the past that if dragons are added, they will not be mountable as it would put too much pressure on SMP servers.[3]
- In September 2011, Notch stated that "dragons will be added eventually."[4]
- On October 7th 2011, Notch revealed the existence of the Ender Dragon.
- On October 10th 2011, Notch released a video showing a small clip of The End that also shows the Ender Dragon fly into the top of the frame. [1] [2]
- On October 11th 2011 A player named stropping_notch asked Jeb if Dragon riding is an idea, to which he replied it is. It is not clear whether this means it is an idea under consideration or not, however, or whether it would apply to the red Dragons or the Ender Dragon.[5]
- On October 12th 2011, in a Reddit post Notch also said, "They will be different dragons. The Ender Dragon will probably become larger, and the ones in the main world will be this size, won't go through terrain, and will be red because dragons are red."[6]
- On October 12th 2011, Notch stated in a twitter post that "[d]ragons have 6 limbs"[7], consisting of 2 wings, 2 legs and 2 arms.
- On October 13th 2011, Beta 1.9 Pre-release 4 was released along with The End. The Ender Dragon existed in the code, mostly functional, however the dragon had not been enabled ingame yet and players were unable to damage it.
- On October 27th 2011, Beta 1.9 Pre-release 5 was released, including the ability for players to damage Ender Dragons. They required mods or a mob-spawner to be brought into the game however.
- On November 11 2011, Beta 1.9 Pre-release 6 was released, including a single Ender Dragon as a boss battle, spawning naturally when the player first enters The End.
- Trivia: The name "Ender Dragon" was first made known through a tweet by Notch reading "raqreqentba," which could be decoded using the ROT13 cypher, translating to "enderdragon."[8]
- The Ender Dragon has its own separate mob folder containing separate designs: the old gray skin and the newer black skin.
- The Ender Dragon flies at 10 times the player's normal walking speed.
- Made of 61 cuboids, the polycount on the dragon is higher than all models in Minecraft. Notch joked about how Minecraft was "going next gen" when deadmau5 mentioned this.[9]
- Before it was textured, Notch reported that he was afraid to texture it as it was a complicated model.[10] In the end, the dragon model was so complex Notch stated that he gave up making the texture manually and wrote a texture packer tool to aid him in adding the texture to the model. Notch also uploaded the code for the tool so others could use the pack.[11][12]
- As of 1.9 Pre-release 5, Ender Dragons:
- No longer catch fire from lava or the fire aspect enchantment.
- Can only be hurt below the 127 block map height limit. Getting Ender Dragons to fly above the limit (in Creative Mode, Overworld) will prevent any damage to them.
- Phase through the player without causing damage when over block level 127.
- Have their own achievement called "The End," which requires defeating an Ender Dragon.
- In terms of how difficult the Ender Dragon is to defeat, Notch tweeted that his design guideline for the dragon is "[If] I can beat it at all, it's too easy."
- Due to the increase in Diamond Armor's durability since Minecraft 1.0.0, Enderdragon attacks will barely phase the player. However, the launching aspect of their attacks can still subject the player to large amounts of fall damage.
- Notch has uploaded a video showing why Ender Dragons will not spawn in the main world, as they would destroy any block they come into contact with.[13]
- On Reddit, Notch explained why Ender Dragons destroy matter.[14]
- When an Ender Dragon destroys a block by means of flying through it, an explosion effect occurs identical to that of a TNT explosion.
- When hit, an Ender Dragon will make the same pain sounds as the player.
- Ender Dragons spawn on Peaceful.
- The knockback caused by an Ender Dragon's attack is far higher than that of any other mob.
- An Ender Dragon's attack can cause Endermen to chase after it, should they survive the devastating attack.
- Ender Dragons can be damaged by Snowballs, as snow is made of water, which damages Ender-mobs. However, Snow Golems will not attack it.
- When no Ender Dragon is present, a player-placed Ender Dragon mob spawner will cause an empty 'boss health' bar to show.
- Negative splash potions do not seem to affect the Ender Dragon. The potion hits and detonates as per normal, but the dragon does not flash red like when hurt and no apparent effect is seen on it. (Tested in SSP, and with Splash Potions of Poison, Instant Harming, Slowness and Weakness.)
- The Ender Dragon's hitbox seems to be bigger than the Ender Dragon itself.
- Even though Ender-mobs are injured by water, the Ender Dragon will destroy water source blocks as if they were solid.
- If the player uses modifications to spawn an Ender Dragon in the Overworld and uses the portal it creates from its death there, it will lead the player to The End.
- The Ender dragon, alongside the Ghast, and Blaze is one of the only current flying mobs in the game. It is the only one which uses wings to fly.
- ]])
- dragon.close()
- enchanting=fs.open("mem/redworks/minepedia/enchanting","w")
- enchanting.write([[Enchanting is a game mechanic that involves using an Enchantment Table to add special bonuses to tools, weapons or armor. To enchant an item, you will need the required Experience level for the enchantment and an Enchantment Table.
- Notch has stated that Enchanting will work in three stages and the benefits will be based on the spell you choose, but a random loot element will be included as well.[1][2] Each spell will cost the player experience levels but in turn allows the player to enchant armor, swords and tools with one or several random bonus attributes as well as making the items glow with a brilliant hue.
- History: Notch first tweeted about the Enchantment Table on September 30th 2011.[3][4]
- Enchanting was added to the game in 1.9 prerelease 2. However, enchanting was not the same in the 1.9 prerelease 2. Enchanting did NOT require bookshelves to get maximum enchantments. Also, many enchantments were not added back then. Enchantments are labeled in the enchanting table as random words in the Standard Galactic Alphabet.
- Enchantment names are randomly constructed from a long list of words. Three to five words are chosen from the list and appended to each other, creating the enchantment name. Any name can be chosen for any item. Note that the names are not actually saved with the item, they are only displayed in the Enchantment Table interface, albeit with the Standard Galactic Alphabet.
- scrolls klaatu berata niktu xyzzy bless curse light darkness fire air earth water hot dry cold wet elder ignite snuff embiggen twist shorten stretch fiddle destroy imbue galvanize enchant free limited range of towards inside sphere cube self other ball mental physical grow shrink demon elemental spirit animal creature beast humanoid undead fresh stale
- Repairing an enchanted weapon/tool will remove the enchantment on it.[6]
- When an enchanted weapon deals bonus damage to a mob, circular blue particles fly off of that mob, similar to getting a critical hit.
- There are several levels on most enchants, and when you enchant you can get several enchants on each weapon/tool/armor.
- Enchanting Basics: To enchant an item, craft an Enchantment Table, place it on the ground, right-click on it and drag an enchantable item from your inventory onto the square under the book icon. Three randomly chosen enchantments will appear on the menu on the right. The only thing you can know for sure about them is their level, which appears as a number; the foreign text is random. You can take the item off and place it on the table again for a different set of enchantments. Or, you can attempt to replace the item on the table with a stack of two or more of any other item from your inventory.
- A chart showing the relative probabilities of the different enchantment levels in the bottom slot with 30 bookshelves.Once you choose an enchantment, it will be applied to your item, giving it a glow and one of the special powers detailed below, and you will lose a number of experience levels equal to the level of the enchantment. Enchantments cannot be undone (unless you repair the item, which removes enchantments) and an item can only be enchanted once (although you may receive multiple enchantments during one instance of enchanting, determined randomly).
- Whenever you place an eligible item on the table, the enchantment levels available are randomly generated for each slot using the formula below. The enchantment level is dependent upon the number of nearby bookshelves (capped at 30) and a "slot factor" of 0.50 for the topmost enchantment slot, 0.66 for the middle slot, and 1.00 for the bottom slot. (If the number of bookshelves is 0, the second two random integers will always be zero. When placing bookshelves around the Enchanting Table they CANNOT be touching the table or the table will not change from 5.
- Enchantment level available = (1..5 + 0..(b/2) + 0..b) �97 s, where b is the number of nearby bookshelves (maximum of 30), s is the slot factor for the given enchantment slot, and x..y generates a random integer between x and y inclusive. (Note that however many bookshelves are being used, 1 is still available as the lowest level.)
- Bookshelves 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
- Max Level 5 7 8 10 11 13 14 16 17 19 20 22 23 25 26 28 29 31 32 34 35 37 38 40 41 43 44 46 47 49 50
- Bookshelf Placement: Nearby bookshelves increase the level of enchantments further. As of Beta 1.9 Pre-release 4, no enchantments costing above five Experience levels are available unless you place bookshelves near the Enchantment Table. In order to have an effect, a bookshelf must be placed within 2 blocks, laterally, of the enchantment table and be on the same level or one block height above the table. A bookshelf generally has to have a line of sight to the table, although bookshelves placed on the corners of a square will still have an effect. An enchantment table can be surrounded by 30 bookshelves by placing them in a square around the table, with each wall measuring 5 blocks wide and 2 blocks high, with a 2 block high doorway. This arrangement gives access to level 50 recipes.
- Trivia:The Feather Falling enchantment could be from the Dungeons & Dragons wizard spell of the same name.
- Looting enchantment does not process on Wool, Spider Eye, Raw Chicken and Cooked Chicken.
- Items that are enchanted will receive a glowing aura around them. Editing glint.png in .minecraft\bin\minecraft.jar\misc can change the glow accordingly. Enchanted items also cause the hotbar to become semi-transparent whilst they are the selected item. The hotbar will revert to its opaque format when you select a new item.
- Repairing an enchanted item using another item will remove the enchantment it has.
- On October 1st 2011, Notch tweeted an image of the enchantment screen, with enchantments written in the Standard Galactic Alphabet.[12] The first enchantment translates onto "Well Played Internets You Are Good", the second translated into "These Names Will Be Random And Confusing", and the third translates to "Each Spell Costs Experience Levels". The Standard Galactic Alphabet or SGA was originally created by Tom Hall for use in the Commander Keen series of computer games.[13]
- Three of the possible words for enchantments are "the elder scrolls," likely a joke at Bethesda, creator of "The Elder Scrolls" series and whose parent company, Zenimax, was suing Mojang.
- The words "klaatu berata niktu" are a (misspelled) reference to "Klaatu barada nikto", a phrase that originates from the 1951 movie The Day the Earth Stood Still and has been since used as a reference in many other movies, cartoons and games, more popularly in Army of Darkness, Star Wars Episode VI, Teenage Mutant Ninja Turtles(1987) and Duck Tales. Similarly, "Xyzzy" is a magic spell in the game "Colossal Cave Adventure" and has been used in several other games as an Easter Egg or cheat code.
- "Embiggen" is a fictitious word from The Simpsons, from a quote attributed to Springfield's founder, Jebidiah Springfield: "A noble spirit embiggens the smallest man".
- All tools, swords and armour enchanted before 1.9 Prerelease 4 will only have Feather Falling I as their enchantment.
- The Silk Touch enchantment is possible on all levels of enchantment when enchanting a golden pickaxe, although extremely rare on enchantments below level 20.
- Enchanted items still pulsate while you have paused the game
- An enchanted stone shovel or pickaxe with the efficiency level of 1 will do the same efficiency as a standard stone axe
- It is worth noting that when using third-party software it is possible to enchant the Bow, while it is not possible to enchant items such as minecarts, apples etc. This could mean there are future enchantments planned for the bow.
- Bugs:In Beta 1.9pre4 it's possible to get Silk Touch and Fortune on the same tool. (It's a bug! --Jeb 09:58, 15 October 2011 (UTC)) (proof)
- Using the "Silk Touch" enchantment, it is possible to obtain either Redstone Ore or Glowing Redstone Ore, depending on the block's state when broken. These are different blocks and do not stack, but appear to be identical in the user's inventory.
- Mining gravel with a tool with Fortune IV or greater causes the game to crash.
- When a normally unobtainable block is mined using the Silk Touch enchantment, the tile entity of the block is not kept. Therefore when a mob spawner is picked up, (was possible in pre-4, but was removed in pre-5) it will revert to a pig spawner.
- Mining ender dragon egg with Efficiency V will crash the game.
- Sometimes,logging off a server with an enchanted tool on you, will remove the enchantments from the item.
- In multiplayer, players can only see their own enchantment auras, and not those of other players.
- If a enchanted item is dispensed from a dispenser, the enchantment is lost.
- ]])
- enchanting.close()
- enchantments=fs.open("mem/redworks/minepedia/enchantments","w")
- enchantments.write([[Enchanting is a game mechanic that involves using an Enchantment Table to add special bonuses to tools, weapons or armor. To enchant an item, you will need the required Experience level for the enchantment and an Enchantment Table.
- Notch has stated that Enchanting will work in three stages and the benefits will be based on the spell you choose, but a random loot element will be included as well.[1][2] Each spell will cost the player experience levels but in turn allows the player to enchant armor, swords and tools with one or several random bonus attributes as well as making the items glow with a brilliant hue.
- History: Notch first tweeted about the Enchantment Table on September 30th 2011.[3][4]
- Enchanting was added to the game in 1.9 prerelease 2. However, enchanting was not the same in the 1.9 prerelease 2. Enchanting did NOT require bookshelves to get maximum enchantments. Also, many enchantments were not added back then. Enchantments are labeled in the enchanting table as random words in the Standard Galactic Alphabet.
- Enchantment names are randomly constructed from a long list of words. Three to five words are chosen from the list and appended to each other, creating the enchantment name. Any name can be chosen for any item. Note that the names are not actually saved with the item, they are only displayed in the Enchantment Table interface, albeit with the Standard Galactic Alphabet.
- scrolls klaatu berata niktu xyzzy bless curse light darkness fire air earth water hot dry cold wet elder ignite snuff embiggen twist shorten stretch fiddle destroy imbue galvanize enchant free limited range of towards inside sphere cube self other ball mental physical grow shrink demon elemental spirit animal creature beast humanoid undead fresh stale
- Repairing an enchanted weapon/tool will remove the enchantment on it.[6]
- When an enchanted weapon deals bonus damage to a mob, circular blue particles fly off of that mob, similar to getting a critical hit.
- There are several levels on most enchants, and when you enchant you can get several enchants on each weapon/tool/armor.
- Enchanting Basics: To enchant an item, craft an Enchantment Table, place it on the ground, right-click on it and drag an enchantable item from your inventory onto the square under the book icon. Three randomly chosen enchantments will appear on the menu on the right. The only thing you can know for sure about them is their level, which appears as a number; the foreign text is random. You can take the item off and place it on the table again for a different set of enchantments. Or, you can attempt to replace the item on the table with a stack of two or more of any other item from your inventory.
- A chart showing the relative probabilities of the different enchantment levels in the bottom slot with 30 bookshelves.Once you choose an enchantment, it will be applied to your item, giving it a glow and one of the special powers detailed below, and you will lose a number of experience levels equal to the level of the enchantment. Enchantments cannot be undone (unless you repair the item, which removes enchantments) and an item can only be enchanted once (although you may receive multiple enchantments during one instance of enchanting, determined randomly).
- Whenever you place an eligible item on the table, the enchantment levels available are randomly generated for each slot using the formula below. The enchantment level is dependent upon the number of nearby bookshelves (capped at 30) and a "slot factor" of 0.50 for the topmost enchantment slot, 0.66 for the middle slot, and 1.00 for the bottom slot. (If the number of bookshelves is 0, the second two random integers will always be zero. When placing bookshelves around the Enchanting Table they CANNOT be touching the table or the table will not change from 5.
- Enchantment level available = (1..5 + 0..(b/2) + 0..b) �97 s, where b is the number of nearby bookshelves (maximum of 30), s is the slot factor for the given enchantment slot, and x..y generates a random integer between x and y inclusive. (Note that however many bookshelves are being used, 1 is still available as the lowest level.)
- Bookshelves 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
- Max Level 5 7 8 10 11 13 14 16 17 19 20 22 23 25 26 28 29 31 32 34 35 37 38 40 41 43 44 46 47 49 50
- Bookshelf Placement: Nearby bookshelves increase the level of enchantments further. As of Beta 1.9 Pre-release 4, no enchantments costing above five Experience levels are available unless you place bookshelves near the Enchantment Table. In order to have an effect, a bookshelf must be placed within 2 blocks, laterally, of the enchantment table and be on the same level or one block height above the table. A bookshelf generally has to have a line of sight to the table, although bookshelves placed on the corners of a square will still have an effect. An enchantment table can be surrounded by 30 bookshelves by placing them in a square around the table, with each wall measuring 5 blocks wide and 2 blocks high, with a 2 block high doorway. This arrangement gives access to level 50 recipes.
- Trivia:The Feather Falling enchantment could be from the Dungeons & Dragons wizard spell of the same name.
- Looting enchantment does not process on Wool, Spider Eye, Raw Chicken and Cooked Chicken.
- Items that are enchanted will receive a glowing aura around them. Editing glint.png in .minecraft\bin\minecraft.jar\misc can change the glow accordingly. Enchanted items also cause the hotbar to become semi-transparent whilst they are the selected item. The hotbar will revert to its opaque format when you select a new item.
- Repairing an enchanted item using another item will remove the enchantment it has.
- On October 1st 2011, Notch tweeted an image of the enchantment screen, with enchantments written in the Standard Galactic Alphabet.[12] The first enchantment translates onto "Well Played Internets You Are Good", the second translated into "These Names Will Be Random And Confusing", and the third translates to "Each Spell Costs Experience Levels". The Standard Galactic Alphabet or SGA was originally created by Tom Hall for use in the Commander Keen series of computer games.[13]
- Three of the possible words for enchantments are "the elder scrolls," likely a joke at Bethesda, creator of "The Elder Scrolls" series and whose parent company, Zenimax, was suing Mojang.
- The words "klaatu berata niktu" are a (misspelled) reference to "Klaatu barada nikto", a phrase that originates from the 1951 movie The Day the Earth Stood Still and has been since used as a reference in many other movies, cartoons and games, more popularly in Army of Darkness, Star Wars Episode VI, Teenage Mutant Ninja Turtles(1987) and Duck Tales. Similarly, "Xyzzy" is a magic spell in the game "Colossal Cave Adventure" and has been used in several other games as an Easter Egg or cheat code.
- "Embiggen" is a fictitious word from The Simpsons, from a quote attributed to Springfield's founder, Jebidiah Springfield: "A noble spirit embiggens the smallest man".
- All tools, swords and armour enchanted before 1.9 Prerelease 4 will only have Feather Falling I as their enchantment.
- The Silk Touch enchantment is possible on all levels of enchantment when enchanting a golden pickaxe, although extremely rare on enchantments below level 20.
- Enchanted items still pulsate while you have paused the game
- An enchanted stone shovel or pickaxe with the efficiency level of 1 will do the same efficiency as a standard stone axe
- It is worth noting that when using third-party software it is possible to enchant the Bow, while it is not possible to enchant items such as minecarts, apples etc. This could mean there are future enchantments planned for the bow.
- Bugs:In Beta 1.9pre4 it's possible to get Silk Touch and Fortune on the same tool. (It's a bug! --Jeb 09:58, 15 October 2011 (UTC)) (proof)
- Using the "Silk Touch" enchantment, it is possible to obtain either Redstone Ore or Glowing Redstone Ore, depending on the block's state when broken. These are different blocks and do not stack, but appear to be identical in the user's inventory.
- Mining gravel with a tool with Fortune IV or greater causes the game to crash.
- When a normally unobtainable block is mined using the Silk Touch enchantment, the tile entity of the block is not kept. Therefore when a mob spawner is picked up, (was possible in pre-4, but was removed in pre-5) it will revert to a pig spawner.
- Mining ender dragon egg with Efficiency V will crash the game.
- Sometimes,logging off a server with an enchanted tool on you, will remove the enchantments from the item.
- In multiplayer, players can only see their own enchantment auras, and not those of other players.
- If a enchanted item is dispensed from a dispenser, the enchantment is lost.
- ]])
- enchantments.close()
- _end=fs.open("mem/redworks/minepedia/end","w")
- _end.write([[The End is a stark, empty plane containing a series of large floating islands of End Stone dotted with Obsidian Spikes. The End Stone is dropped normally when mined. This dimension is populated by a relatively large number of Endermen, which spawn considerably more than in the Overworld, and one Enderdragon, an End exclusive mob. The starless sky and Void are both composed of a dark static pattern, but there are still particle effects within the Void area.
- The day/night cycle is absent in the End, similar to the Nether, being replaced by a constant dim light. Most items and blocks (including Fluids) function in the End exactly as they do in the Overworld, with a few notable exceptions. Compasses will be unable to find the original spawn point, as always when entering any dimension other than the Overworld, and Clocks cannot determine the position of the sun (the arrows and dials will instead spin and flail randomly). Maps don't seem to map correctly, only mapping static; Beds will explode and cause fire when used, and portals to the Nether will not activate in the End.
- As of 1.0, the enderdragon will spawn naturally and float around above a number of obsidian pillars, each of which has an Ender Crystal on top of of them, these crystals appear to regenerate the Enderdragon's health, and as such it is almost impossible to kill the Enderdragon with them active. To destroy these crystals you need to climb all the way to the top of each individual pillar and destroy them, however they explode on destruction so caution is advised. You can also shoot them with a bow and arrow. Once destroyed the Enderdragon will be vulnerable, however defeating it is still almost impossible, the best strategy is to simply climb to the top of a pillar and open fire with a bow and arrow. At the top of the screen it shows the Enderdragon's health. When defeated the Enderdragon will dissolve as seen before and create a shrine of bedrock below it, on top of it there is an Enderdragon egg. Below the egg are four torches and a "pool" of what appears to be the End portal, however when entered it will begin the "End Poem" and the credits will roll shortly afterwards, thus ending the game and earning the player the "The End" achievement.
- The player then respawns in the Overworld and may return to The End through the same portal. The End remains in the state as the player left after the Enderdragon is slain, devoid of any Enderdragon and featuring the portal back to the Overworld.
- Travelling to End: The End is a stark, empty plane containing a series of large floating islands of End Stone dotted with Obsidian Spikes. The End Stone is dropped normally when mined. This dimension is populated by a relatively large number of Endermen, which spawn considerably more than in the Overworld, and one Enderdragon, an End exclusive mob. The starless sky and Void are both composed of a dark static pattern, but there are still particle effects within the Void area.
- The day/night cycle is absent in the End, similar to the Nether, being replaced by a constant dim light. Most items and blocks (including Fluids) function in the End exactly as they do in the Overworld, with a few notable exceptions. Compasses will be unable to find the original spawn point, as always when entering any dimension other than the Overworld, and Clocks cannot determine the position of the sun (the arrows and dials will instead spin and flail randomly). Maps don't seem to map correctly, only mapping static; Beds will explode and cause fire when used, and portals to the Nether will not activate in the End.
- As of 1.0, the enderdragon will spawn naturally and float around above a number of obsidian pillars, each of which has an Ender Crystal on top of of them, these crystals appear to regenerate the Enderdragon's health, and as such it is almost impossible to kill the Enderdragon with them active. To destroy these crystals you need to climb all the way to the top of each individual pillar and destroy them, however they explode on destruction so caution is advised. You can also shoot them with a bow and arrow. Once destroyed the Enderdragon will be vulnerable, however defeating it is still almost impossible, the best strategy is to simply climb to the top of a pillar and open fire with a bow and arrow. At the top of the screen it shows the Enderdragon's health. When defeated the Enderdragon will dissolve as seen before and create a shrine of bedrock below it, on top of it there is an Enderdragon egg. Below the egg are four torches and a "pool" of what appears to be the End portal, however when entered it will begin the "End Poem" and the credits will roll shortly afterwards, thus ending the game and earning the player the "The End" achievement.
- The player then respawns in the Overworld and may return to The End through the same portal. The End remains in the state as the player left after the Enderdragon is slain, devoid of any Enderdragon and featuring the portal back to the Overworld.
- History: In an earlier stage of development, The End was known as the Sky Dimension and had Overworld blocks and mobs.[2]
- Notch first mentioned The End with his comment regarding the name-change petition of the Endermen, when people wanted to change the name of the mob to "Farlanders" (a reference to the area nicknamed the Far Lands). He joked that instead of renaming them Farlanders, he was more likely to change the name of the Far Lands to "The End". In later Beta versions, the Far Lands were accidentally removed and The End became the native land of the Endermen.
- The End was added in Beta 1.9pre4 on October 13th, 2011. Notch tweeted "raqreqentba", which could be decoded using the ROT13 cypher, translating to "enderdragon." A Reddit user under the name of "cptqwashi" posted the idea that the new dimension accessed by the new "Crystal Block Portal" would be called the Ender, and would be home to the Endermen and Enderdragons.[3] Notch soon gave more information and said that cptqwashi was "100% correct," mentioning that it would be called "The Ender" and that there would be Enderdragons.[4] However, it was later revealed that it was just called "The End" and that there would be only one Enderdragon there.[5] In 1.9pre4, an Enderdragon spawned near a portal would destroy it, but End Portal blocks would continue to function even if the frame was destroyed. The ability to create Ender Portal frame blocks in Creative Singleplayer mode was also removed.
- File Save Location: The End is saved in the same way normal worlds are, but instead of mixing the world files inside the save folder, the files for The End are stored in appdata/.Minecraft/Saves/Worldname/DIM1, whereas normal world files in %appdata%/.Minecraft/Saves/Worldname. Note that DIM1 does not contain its own level.dat, as the same level.dat in the upper folder is used for the Overworld, the Nether, and the End. Also, note that the Nether's folder is "DIM-1".'
- End Poem:The End Poem appears to be an exposition of Notch's monistic perennial philosophy which is shown to the player upon completing the game. The speakers of the poem are thought by some to be Endermen (see the talk page for discussion.) The End Poem is approximately 9 minutes and 28 seconds. I see the player you mean.
- [Player Name]?
- Yes. Take care. It has reached a higher level now. It can read our thoughts.
- That doesn't matter. It thinks we are part of the game.
- I like this player. It played well. It did not give up.
- It is reading our thoughts as though they were words on a screen.
- That is how it chooses to imagine many things, when it is deep in the dream of a game.
- Words make a wonderful interface. Very flexible. And less terrifying than staring at the reality behind the screen.
- They used to hear voices. Before players could read. Back in the days when those who did not play called the players witches, and warlocks. And players dreamed they flew through the air, on sticks powered by demons.
- What did this player dream?
- This player dreamed of sunlight and trees. Of fire and water. It dreamed it created. And it dreamed it destroyed. It dreamed it hunted, and was hunted. It dreamed of shelter.
- Hah, the original interface. A million years old, and it still works. But what true structure did this player create, in the reality behind the screen?
- It worked, with a million others, to sculpt a true world in a fold of the [scrambled], and created a [scrambled] for [scrambled], in the [scrambled].
- It cannot read that thought.
- No. It has not yet achieved the highest level. That, it must achieve in the long dream of life, not the short dream of a game.
- Does it know that we love it? That the universe is kind?
- Sometimes, through the noise of its thoughts, it hears the universe, yes.
- But there are times it is sad, in the long dream. It creates worlds that have no summer, and it shivers under a black sun, and it takes its sad creation for reality.
- To cure it of sorrow would destroy it. The sorrow is part of its own private task. We cannot interfere.
- Sometimes when they are deep in dreams, I want to tell them, they are building true worlds in reality. Sometimes I want to tell them of their importance to the universe. Sometimes, when they have not made a true connection in a while, I want to help them to speak the word they fear.
- It reads our thoughts.
- Sometimes I do not care. Sometimes I wish to tell them, this world you take for truth is merely [scrambled] and [scrambled], I wish to tell them that they are [scrambled] in the [scrambled]. They see so little of reality, in their long dream.
- And yet they play the game.
- But it would be so easy to tell them...
- Too strong for this dream. To tell them how to live is to prevent them living.
- I will not tell the player how to live.
- The player is growing restless.
- I will tell the player a story.
- But not the truth.
- No. A story that contains the truth safely, in a cage of words. Not the naked truth that can burn over any distance.
- Give it a body, again.
- Yes. Player...
- Use its name.
- [Player Name]. Player of games.
- Good.
- Take a breath, now. Take another. Feel air in your lungs. Let your limbs return. Yes, move your fingers. Have a body again, under gravity, in air. Respawn in the long dream. There you are. Your body touching the universe again at every point, as though you were separate things. As though we were separate things.
- Who are we? Once we were called the spirit of the mountain. Father sun, mother moon. Ancestral spirits, animal spirits. Jinn. Ghosts. The green man. Then gods, demons. Angels. Poltergeists. Aliens, extraterrestrials. Leptons, quarks. The words change. We do not change.
- We are the universe. We are everything you think isn't you. You are looking at us now, through your skin and your eyes. And why does the universe touch your skin, and throw light on you? To see you, player. To know you. And to be known. I shall tell you a story.
- Once upon a time, there was a player.
- The player was you, [Player Name].
- Sometimes it thought itself human, on the thin crust of a spinning globe of molten rock. The ball of molten rock circled a ball of blazing gas that was three hundred and thirty thousand times more massive than it. They were so far apart that light took eight minutes to cross the gap. The light was information from a star, and it could burn your skin from a hundred and fifty million kilometres away.
- Sometimes the player dreamed it was a miner, on the surface of a world that was flat, and infinite. The sun was a square of white. The days were short; there was much to do; and death was a temporary inconvenience.
- Sometimes the player dreamed it was lost in a story.
- Sometimes the player dreamed it was other things, in other places. Sometimes these dreams were disturbing. Sometimes very beautiful indeed. Sometimes the player woke from one dream into another, then woke from that into a third.
- Sometimes the player dreamed it watched words on a screen.
- Let's go back.
- The atoms of the player were scattered in the grass, in the rivers, in the air, in the ground. A woman gathered the atoms; she drank and ate and inhaled; and the woman assembled the player, in her body.
- And the player awoke, from the warm, dark world of its mother's body, into the long dream.
- And the player was a new story, never told before, written in letters of DNA. And the player was a new program, never run before, generated by a sourcecode a billion years old. And the player was a new human, never alive before, made from nothing but milk and love.
- You are the player. The story. The program. The human. Made from nothing but milk and love.
- Let's go further back.
- The seven billion billion billion atoms of the player's body were created, long before this game, in the heart of a star. So the player, too, is information from a star. And the player moves through a story, which is a forest of information planted by a man called Julian, on a flat, infinite world created by a man called Markus, that exists inside a small, private world created by the player, who inhabits a universe created by...
- Shush. Sometimes the player created a small, private world that was soft and warm and simple. Sometimes hard, and cold, and complicated. Sometimes it built a model of the universe in its head; flecks of energy, moving through vast empty spaces. Sometimes it called those flecks "electrons" and "protons".
- Sometimes it called them "planets" and "stars".
- Sometimes it believed it was in a universe that was made of energy that was made of offs and ons; zeros and ones; lines of code. Sometimes it believed it was playing a game. Sometimes it believed it was reading words on a screen.
- You are the player, reading words...
- Shush... Sometimes the player read lines of code on a screen. Decoded them into words; decoded words into meaning; decoded meaning into feelings, emotions, theories, ideas, and the player started to breathe faster and deeper and realised it was alive, it was alive, those thousand deaths had not been real, the player was alive
- You. You. You are alive.
- and sometimes the player believed the universe had spoken to it through the sunlight that came through the shuffling leaves of the summer trees
- and sometimes the player believed the universe had spoken to it through the light that fell from the crisp night sky of winter, where a fleck of light in the corner of the player's eye might be a star a million times as massive as the sun, boiling its planets to plasma in order to be visible for a moment to the player, walking home at the far side of the universe, suddenly smelling food, almost at the familiar door, about to dream again
- and sometimes the player believed the universe had spoken to it through the zeros and ones, through the electricity of the world, through the scrolling words on a screen at the end of a dream
- and the universe said I love you
- and the universe said you have played the game well
- and the universe said everything you need is within you
- and the universe said you are stronger than you know
- and the universe said you are the daylight
- and the universe said you are the night
- and the universe said the darkness you fight is within you
- and the universe said the light you seek is within you
- and the universe said you are not alone
- and the universe said you are not separate from every other thing
- and the universe said you are the universe tasting itself, talking to itself, reading its own code
- and the universe said I love you because you are love.
- And the game was over and the player woke up from the dream. And the player began a new dream. And the player dreamed again, dreamed better. And the player was the universe. And the player was love.
- You are the player.
- Wake up.
- When an End portal is made in the end (or via defeating the Enderdragon) a strange glitch occurs making the glint of the End portal appear at a distance in the exact shape of the portal.
- Going through a the End portal while in a minecart causes you to go through the portal, possibly into the lava below.
- Quitting the game while in the End without killing the ender dragon will sometimes make multiple dragons spawn.
- Quitting the game while viewing the credits or poem will make the player re-spawn in the End the next time they enter that world.
- The End portal block can only be placed in the normal world dimension, and in the Nether and End, will disappear, however a Nether portal block can be placed in the End.
- ]])
- _end.close()
- end_realm=fs.open("mem/redworks/minepedia/end realm","w")
- end_realm.write([[The End is a stark, empty plane containing a series of large floating islands of End Stone dotted with Obsidian Spikes. The End Stone is dropped normally when mined. This dimension is populated by a relatively large number of Endermen, which spawn considerably more than in the Overworld, and one Enderdragon, an End exclusive mob. The starless sky and Void are both composed of a dark static pattern, but there are still particle effects within the Void area.
- The day/night cycle is absent in the End, similar to the Nether, being replaced by a constant dim light. Most items and blocks (including Fluids) function in the End exactly as they do in the Overworld, with a few notable exceptions. Compasses will be unable to find the original spawn point, as always when entering any dimension other than the Overworld, and Clocks cannot determine the position of the sun (the arrows and dials will instead spin and flail randomly). Maps don't seem to map correctly, only mapping static; Beds will explode and cause fire when used, and portals to the Nether will not activate in the End.
- As of 1.0, the enderdragon will spawn naturally and float around above a number of obsidian pillars, each of which has an Ender Crystal on top of of them, these crystals appear to regenerate the Enderdragon's health, and as such it is almost impossible to kill the Enderdragon with them active. To destroy these crystals you need to climb all the way to the top of each individual pillar and destroy them, however they explode on destruction so caution is advised. You can also shoot them with a bow and arrow. Once destroyed the Enderdragon will be vulnerable, however defeating it is still almost impossible, the best strategy is to simply climb to the top of a pillar and open fire with a bow and arrow. At the top of the screen it shows the Enderdragon's health. When defeated the Enderdragon will dissolve as seen before and create a shrine of bedrock below it, on top of it there is an Enderdragon egg. Below the egg are four torches and a "pool" of what appears to be the End portal, however when entered it will begin the "End Poem" and the credits will roll shortly afterwards, thus ending the game and earning the player the "The End" achievement.
- The player then respawns in the Overworld and may return to The End through the same portal. The End remains in the state as the player left after the Enderdragon is slain, devoid of any Enderdragon and featuring the portal back to the Overworld.
- Travelling to End: The End is a stark, empty plane containing a series of large floating islands of End Stone dotted with Obsidian Spikes. The End Stone is dropped normally when mined. This dimension is populated by a relatively large number of Endermen, which spawn considerably more than in the Overworld, and one Enderdragon, an End exclusive mob. The starless sky and Void are both composed of a dark static pattern, but there are still particle effects within the Void area.
- The day/night cycle is absent in the End, similar to the Nether, being replaced by a constant dim light. Most items and blocks (including Fluids) function in the End exactly as they do in the Overworld, with a few notable exceptions. Compasses will be unable to find the original spawn point, as always when entering any dimension other than the Overworld, and Clocks cannot determine the position of the sun (the arrows and dials will instead spin and flail randomly). Maps don't seem to map correctly, only mapping static; Beds will explode and cause fire when used, and portals to the Nether will not activate in the End.
- As of 1.0, the enderdragon will spawn naturally and float around above a number of obsidian pillars, each of which has an Ender Crystal on top of of them, these crystals appear to regenerate the Enderdragon's health, and as such it is almost impossible to kill the Enderdragon with them active. To destroy these crystals you need to climb all the way to the top of each individual pillar and destroy them, however they explode on destruction so caution is advised. You can also shoot them with a bow and arrow. Once destroyed the Enderdragon will be vulnerable, however defeating it is still almost impossible, the best strategy is to simply climb to the top of a pillar and open fire with a bow and arrow. At the top of the screen it shows the Enderdragon's health. When defeated the Enderdragon will dissolve as seen before and create a shrine of bedrock below it, on top of it there is an Enderdragon egg. Below the egg are four torches and a "pool" of what appears to be the End portal, however when entered it will begin the "End Poem" and the credits will roll shortly afterwards, thus ending the game and earning the player the "The End" achievement.
- The player then respawns in the Overworld and may return to The End through the same portal. The End remains in the state as the player left after the Enderdragon is slain, devoid of any Enderdragon and featuring the portal back to the Overworld.
- History: In an earlier stage of development, The End was known as the Sky Dimension and had Overworld blocks and mobs.[2]
- Notch first mentioned The End with his comment regarding the name-change petition of the Endermen, when people wanted to change the name of the mob to "Farlanders" (a reference to the area nicknamed the Far Lands). He joked that instead of renaming them Farlanders, he was more likely to change the name of the Far Lands to "The End". In later Beta versions, the Far Lands were accidentally removed and The End became the native land of the Endermen.
- The End was added in Beta 1.9pre4 on October 13th, 2011. Notch tweeted "raqreqentba", which could be decoded using the ROT13 cypher, translating to "enderdragon." A Reddit user under the name of "cptqwashi" posted the idea that the new dimension accessed by the new "Crystal Block Portal" would be called the Ender, and would be home to the Endermen and Enderdragons.[3] Notch soon gave more information and said that cptqwashi was "100% correct," mentioning that it would be called "The Ender" and that there would be Enderdragons.[4] However, it was later revealed that it was just called "The End" and that there would be only one Enderdragon there.[5] In 1.9pre4, an Enderdragon spawned near a portal would destroy it, but End Portal blocks would continue to function even if the frame was destroyed. The ability to create Ender Portal frame blocks in Creative Singleplayer mode was also removed.
- File Save Location: The End is saved in the same way normal worlds are, but instead of mixing the world files inside the save folder, the files for The End are stored in appdata/.Minecraft/Saves/Worldname/DIM1, whereas normal world files in %appdata%/.Minecraft/Saves/Worldname. Note that DIM1 does not contain its own level.dat, as the same level.dat in the upper folder is used for the Overworld, the Nether, and the End. Also, note that the Nether's folder is "DIM-1".'
- End Poem:The End Poem appears to be an exposition of Notch's monistic perennial philosophy which is shown to the player upon completing the game. The speakers of the poem are thought by some to be Endermen (see the talk page for discussion.) The End Poem is approximately 9 minutes and 28 seconds. I see the player you mean.
- [Player Name]?
- Yes. Take care. It has reached a higher level now. It can read our thoughts.
- That doesn't matter. It thinks we are part of the game.
- I like this player. It played well. It did not give up.
- It is reading our thoughts as though they were words on a screen.
- That is how it chooses to imagine many things, when it is deep in the dream of a game.
- Words make a wonderful interface. Very flexible. And less terrifying than staring at the reality behind the screen.
- They used to hear voices. Before players could read. Back in the days when those who did not play called the players witches, and warlocks. And players dreamed they flew through the air, on sticks powered by demons.
- What did this player dream?
- This player dreamed of sunlight and trees. Of fire and water. It dreamed it created. And it dreamed it destroyed. It dreamed it hunted, and was hunted. It dreamed of shelter.
- Hah, the original interface. A million years old, and it still works. But what true structure did this player create, in the reality behind the screen?
- It worked, with a million others, to sculpt a true world in a fold of the [scrambled], and created a [scrambled] for [scrambled], in the [scrambled].
- It cannot read that thought.
- No. It has not yet achieved the highest level. That, it must achieve in the long dream of life, not the short dream of a game.
- Does it know that we love it? That the universe is kind?
- Sometimes, through the noise of its thoughts, it hears the universe, yes.
- But there are times it is sad, in the long dream. It creates worlds that have no summer, and it shivers under a black sun, and it takes its sad creation for reality.
- To cure it of sorrow would destroy it. The sorrow is part of its own private task. We cannot interfere.
- Sometimes when they are deep in dreams, I want to tell them, they are building true worlds in reality. Sometimes I want to tell them of their importance to the universe. Sometimes, when they have not made a true connection in a while, I want to help them to speak the word they fear.
- It reads our thoughts.
- Sometimes I do not care. Sometimes I wish to tell them, this world you take for truth is merely [scrambled] and [scrambled], I wish to tell them that they are [scrambled] in the [scrambled]. They see so little of reality, in their long dream.
- And yet they play the game.
- But it would be so easy to tell them...
- Too strong for this dream. To tell them how to live is to prevent them living.
- I will not tell the player how to live.
- The player is growing restless.
- I will tell the player a story.
- But not the truth.
- No. A story that contains the truth safely, in a cage of words. Not the naked truth that can burn over any distance.
- Give it a body, again.
- Yes. Player...
- Use its name.
- [Player Name]. Player of games.
- Good.
- Take a breath, now. Take another. Feel air in your lungs. Let your limbs return. Yes, move your fingers. Have a body again, under gravity, in air. Respawn in the long dream. There you are. Your body touching the universe again at every point, as though you were separate things. As though we were separate things.
- Who are we? Once we were called the spirit of the mountain. Father sun, mother moon. Ancestral spirits, animal spirits. Jinn. Ghosts. The green man. Then gods, demons. Angels. Poltergeists. Aliens, extraterrestrials. Leptons, quarks. The words change. We do not change.
- We are the universe. We are everything you think isn't you. You are looking at us now, through your skin and your eyes. And why does the universe touch your skin, and throw light on you? To see you, player. To know you. And to be known. I shall tell you a story.
- Once upon a time, there was a player.
- The player was you, [Player Name].
- Sometimes it thought itself human, on the thin crust of a spinning globe of molten rock. The ball of molten rock circled a ball of blazing gas that was three hundred and thirty thousand times more massive than it. They were so far apart that light took eight minutes to cross the gap. The light was information from a star, and it could burn your skin from a hundred and fifty million kilometres away.
- Sometimes the player dreamed it was a miner, on the surface of a world that was flat, and infinite. The sun was a square of white. The days were short; there was much to do; and death was a temporary inconvenience.
- Sometimes the player dreamed it was lost in a story.
- Sometimes the player dreamed it was other things, in other places. Sometimes these dreams were disturbing. Sometimes very beautiful indeed. Sometimes the player woke from one dream into another, then woke from that into a third.
- Sometimes the player dreamed it watched words on a screen.
- Let's go back.
- The atoms of the player were scattered in the grass, in the rivers, in the air, in the ground. A woman gathered the atoms; she drank and ate and inhaled; and the woman assembled the player, in her body.
- And the player awoke, from the warm, dark world of its mother's body, into the long dream.
- And the player was a new story, never told before, written in letters of DNA. And the player was a new program, never run before, generated by a sourcecode a billion years old. And the player was a new human, never alive before, made from nothing but milk and love.
- You are the player. The story. The program. The human. Made from nothing but milk and love.
- Let's go further back.
- The seven billion billion billion atoms of the player's body were created, long before this game, in the heart of a star. So the player, too, is information from a star. And the player moves through a story, which is a forest of information planted by a man called Julian, on a flat, infinite world created by a man called Markus, that exists inside a small, private world created by the player, who inhabits a universe created by...
- Shush. Sometimes the player created a small, private world that was soft and warm and simple. Sometimes hard, and cold, and complicated. Sometimes it built a model of the universe in its head; flecks of energy, moving through vast empty spaces. Sometimes it called those flecks "electrons" and "protons".
- Sometimes it called them "planets" and "stars".
- Sometimes it believed it was in a universe that was made of energy that was made of offs and ons; zeros and ones; lines of code. Sometimes it believed it was playing a game. Sometimes it believed it was reading words on a screen.
- You are the player, reading words...
- Shush... Sometimes the player read lines of code on a screen. Decoded them into words; decoded words into meaning; decoded meaning into feelings, emotions, theories, ideas, and the player started to breathe faster and deeper and realised it was alive, it was alive, those thousand deaths had not been real, the player was alive
- You. You. You are alive.
- and sometimes the player believed the universe had spoken to it through the sunlight that came through the shuffling leaves of the summer trees
- and sometimes the player believed the universe had spoken to it through the light that fell from the crisp night sky of winter, where a fleck of light in the corner of the player's eye might be a star a million times as massive as the sun, boiling its planets to plasma in order to be visible for a moment to the player, walking home at the far side of the universe, suddenly smelling food, almost at the familiar door, about to dream again
- and sometimes the player believed the universe had spoken to it through the zeros and ones, through the electricity of the world, through the scrolling words on a screen at the end of a dream
- and the universe said I love you
- and the universe said you have played the game well
- and the universe said everything you need is within you
- and the universe said you are stronger than you know
- and the universe said you are the daylight
- and the universe said you are the night
- and the universe said the darkness you fight is within you
- and the universe said the light you seek is within you
- and the universe said you are not alone
- and the universe said you are not separate from every other thing
- and the universe said you are the universe tasting itself, talking to itself, reading its own code
- and the universe said I love you because you are love.
- And the game was over and the player woke up from the dream. And the player began a new dream. And the player dreamed again, dreamed better. And the player was the universe. And the player was love.
- You are the player.
- Wake up.
- When an End portal is made in the end (or via defeating the Enderdragon) a strange glitch occurs making the glint of the End portal appear at a distance in the exact shape of the portal.
- Going through a the End portal while in a minecart causes you to go through the portal, possibly into the lava below.
- Quitting the game while in the End without killing the ender dragon will sometimes make multiple dragons spawn.
- Quitting the game while viewing the credits or poem will make the player re-spawn in the End the next time they enter that world.
- The End portal block can only be placed in the normal world dimension, and in the Nether and End, will disappear, however a Nether portal block can be placed in the End.
- ]])
- end_realm.close()
- ender_realm=fs.open("mem/redworks/minepedia/ender realm","w")
- ender_realm.write([[The End is a stark, empty plane containing a series of large floating islands of End Stone dotted with Obsidian Spikes. The End Stone is dropped normally when mined. This dimension is populated by a relatively large number of Endermen, which spawn considerably more than in the Overworld, and one Enderdragon, an End exclusive mob. The starless sky and Void are both composed of a dark static pattern, but there are still particle effects within the Void area.
- The day/night cycle is absent in the End, similar to the Nether, being replaced by a constant dim light. Most items and blocks (including Fluids) function in the End exactly as they do in the Overworld, with a few notable exceptions. Compasses will be unable to find the original spawn point, as always when entering any dimension other than the Overworld, and Clocks cannot determine the position of the sun (the arrows and dials will instead spin and flail randomly). Maps don't seem to map correctly, only mapping static; Beds will explode and cause fire when used, and portals to the Nether will not activate in the End.
- As of 1.0, the enderdragon will spawn naturally and float around above a number of obsidian pillars, each of which has an Ender Crystal on top of of them, these crystals appear to regenerate the Enderdragon's health, and as such it is almost impossible to kill the Enderdragon with them active. To destroy these crystals you need to climb all the way to the top of each individual pillar and destroy them, however they explode on destruction so caution is advised. You can also shoot them with a bow and arrow. Once destroyed the Enderdragon will be vulnerable, however defeating it is still almost impossible, the best strategy is to simply climb to the top of a pillar and open fire with a bow and arrow. At the top of the screen it shows the Enderdragon's health. When defeated the Enderdragon will dissolve as seen before and create a shrine of bedrock below it, on top of it there is an Enderdragon egg. Below the egg are four torches and a "pool" of what appears to be the End portal, however when entered it will begin the "End Poem" and the credits will roll shortly afterwards, thus ending the game and earning the player the "The End" achievement.
- The player then respawns in the Overworld and may return to The End through the same portal. The End remains in the state as the player left after the Enderdragon is slain, devoid of any Enderdragon and featuring the portal back to the Overworld.
- Travelling to End: The End is a stark, empty plane containing a series of large floating islands of End Stone dotted with Obsidian Spikes. The End Stone is dropped normally when mined. This dimension is populated by a relatively large number of Endermen, which spawn considerably more than in the Overworld, and one Enderdragon, an End exclusive mob. The starless sky and Void are both composed of a dark static pattern, but there are still particle effects within the Void area.
- The day/night cycle is absent in the End, similar to the Nether, being replaced by a constant dim light. Most items and blocks (including Fluids) function in the End exactly as they do in the Overworld, with a few notable exceptions. Compasses will be unable to find the original spawn point, as always when entering any dimension other than the Overworld, and Clocks cannot determine the position of the sun (the arrows and dials will instead spin and flail randomly). Maps don't seem to map correctly, only mapping static; Beds will explode and cause fire when used, and portals to the Nether will not activate in the End.
- As of 1.0, the enderdragon will spawn naturally and float around above a number of obsidian pillars, each of which has an Ender Crystal on top of of them, these crystals appear to regenerate the Enderdragon's health, and as such it is almost impossible to kill the Enderdragon with them active. To destroy these crystals you need to climb all the way to the top of each individual pillar and destroy them, however they explode on destruction so caution is advised. You can also shoot them with a bow and arrow. Once destroyed the Enderdragon will be vulnerable, however defeating it is still almost impossible, the best strategy is to simply climb to the top of a pillar and open fire with a bow and arrow. At the top of the screen it shows the Enderdragon's health. When defeated the Enderdragon will dissolve as seen before and create a shrine of bedrock below it, on top of it there is an Enderdragon egg. Below the egg are four torches and a "pool" of what appears to be the End portal, however when entered it will begin the "End Poem" and the credits will roll shortly afterwards, thus ending the game and earning the player the "The End" achievement.
- The player then respawns in the Overworld and may return to The End through the same portal. The End remains in the state as the player left after the Enderdragon is slain, devoid of any Enderdragon and featuring the portal back to the Overworld.
- History: In an earlier stage of development, The End was known as the Sky Dimension and had Overworld blocks and mobs.[2]
- Notch first mentioned The End with his comment regarding the name-change petition of the Endermen, when people wanted to change the name of the mob to "Farlanders" (a reference to the area nicknamed the Far Lands). He joked that instead of renaming them Farlanders, he was more likely to change the name of the Far Lands to "The End". In later Beta versions, the Far Lands were accidentally removed and The End became the native land of the Endermen.
- The End was added in Beta 1.9pre4 on October 13th, 2011. Notch tweeted "raqreqentba", which could be decoded using the ROT13 cypher, translating to "enderdragon." A Reddit user under the name of "cptqwashi" posted the idea that the new dimension accessed by the new "Crystal Block Portal" would be called the Ender, and would be home to the Endermen and Enderdragons.[3] Notch soon gave more information and said that cptqwashi was "100% correct," mentioning that it would be called "The Ender" and that there would be Enderdragons.[4] However, it was later revealed that it was just called "The End" and that there would be only one Enderdragon there.[5] In 1.9pre4, an Enderdragon spawned near a portal would destroy it, but End Portal blocks would continue to function even if the frame was destroyed. The ability to create Ender Portal frame blocks in Creative Singleplayer mode was also removed.
- File Save Location: The End is saved in the same way normal worlds are, but instead of mixing the world files inside the save folder, the files for The End are stored in appdata/.Minecraft/Saves/Worldname/DIM1, whereas normal world files in %appdata%/.Minecraft/Saves/Worldname. Note that DIM1 does not contain its own level.dat, as the same level.dat in the upper folder is used for the Overworld, the Nether, and the End. Also, note that the Nether's folder is "DIM-1".'
- End Poem:The End Poem appears to be an exposition of Notch's monistic perennial philosophy which is shown to the player upon completing the game. The speakers of the poem are thought by some to be Endermen (see the talk page for discussion.) The End Poem is approximately 9 minutes and 28 seconds. I see the player you mean.
- [Player Name]?
- Yes. Take care. It has reached a higher level now. It can read our thoughts.
- That doesn't matter. It thinks we are part of the game.
- I like this player. It played well. It did not give up.
- It is reading our thoughts as though they were words on a screen.
- That is how it chooses to imagine many things, when it is deep in the dream of a game.
- Words make a wonderful interface. Very flexible. And less terrifying than staring at the reality behind the screen.
- They used to hear voices. Before players could read. Back in the days when those who did not play called the players witches, and warlocks. And players dreamed they flew through the air, on sticks powered by demons.
- What did this player dream?
- This player dreamed of sunlight and trees. Of fire and water. It dreamed it created. And it dreamed it destroyed. It dreamed it hunted, and was hunted. It dreamed of shelter.
- Hah, the original interface. A million years old, and it still works. But what true structure did this player create, in the reality behind the screen?
- It worked, with a million others, to sculpt a true world in a fold of the [scrambled], and created a [scrambled] for [scrambled], in the [scrambled].
- It cannot read that thought.
- No. It has not yet achieved the highest level. That, it must achieve in the long dream of life, not the short dream of a game.
- Does it know that we love it? That the universe is kind?
- Sometimes, through the noise of its thoughts, it hears the universe, yes.
- But there are times it is sad, in the long dream. It creates worlds that have no summer, and it shivers under a black sun, and it takes its sad creation for reality.
- To cure it of sorrow would destroy it. The sorrow is part of its own private task. We cannot interfere.
- Sometimes when they are deep in dreams, I want to tell them, they are building true worlds in reality. Sometimes I want to tell them of their importance to the universe. Sometimes, when they have not made a true connection in a while, I want to help them to speak the word they fear.
- It reads our thoughts.
- Sometimes I do not care. Sometimes I wish to tell them, this world you take for truth is merely [scrambled] and [scrambled], I wish to tell them that they are [scrambled] in the [scrambled]. They see so little of reality, in their long dream.
- And yet they play the game.
- But it would be so easy to tell them...
- Too strong for this dream. To tell them how to live is to prevent them living.
- I will not tell the player how to live.
- The player is growing restless.
- I will tell the player a story.
- But not the truth.
- No. A story that contains the truth safely, in a cage of words. Not the naked truth that can burn over any distance.
- Give it a body, again.
- Yes. Player...
- Use its name.
- [Player Name]. Player of games.
- Good.
- Take a breath, now. Take another. Feel air in your lungs. Let your limbs return. Yes, move your fingers. Have a body again, under gravity, in air. Respawn in the long dream. There you are. Your body touching the universe again at every point, as though you were separate things. As though we were separate things.
- Who are we? Once we were called the spirit of the mountain. Father sun, mother moon. Ancestral spirits, animal spirits. Jinn. Ghosts. The green man. Then gods, demons. Angels. Poltergeists. Aliens, extraterrestrials. Leptons, quarks. The words change. We do not change.
- We are the universe. We are everything you think isn't you. You are looking at us now, through your skin and your eyes. And why does the universe touch your skin, and throw light on you? To see you, player. To know you. And to be known. I shall tell you a story.
- Once upon a time, there was a player.
- The player was you, [Player Name].
- Sometimes it thought itself human, on the thin crust of a spinning globe of molten rock. The ball of molten rock circled a ball of blazing gas that was three hundred and thirty thousand times more massive than it. They were so far apart that light took eight minutes to cross the gap. The light was information from a star, and it could burn your skin from a hundred and fifty million kilometres away.
- Sometimes the player dreamed it was a miner, on the surface of a world that was flat, and infinite. The sun was a square of white. The days were short; there was much to do; and death was a temporary inconvenience.
- Sometimes the player dreamed it was lost in a story.
- Sometimes the player dreamed it was other things, in other places. Sometimes these dreams were disturbing. Sometimes very beautiful indeed. Sometimes the player woke from one dream into another, then woke from that into a third.
- Sometimes the player dreamed it watched words on a screen.
- Let's go back.
- The atoms of the player were scattered in the grass, in the rivers, in the air, in the ground. A woman gathered the atoms; she drank and ate and inhaled; and the woman assembled the player, in her body.
- And the player awoke, from the warm, dark world of its mother's body, into the long dream.
- And the player was a new story, never told before, written in letters of DNA. And the player was a new program, never run before, generated by a sourcecode a billion years old. And the player was a new human, never alive before, made from nothing but milk and love.
- You are the player. The story. The program. The human. Made from nothing but milk and love.
- Let's go further back.
- The seven billion billion billion atoms of the player's body were created, long before this game, in the heart of a star. So the player, too, is information from a star. And the player moves through a story, which is a forest of information planted by a man called Julian, on a flat, infinite world created by a man called Markus, that exists inside a small, private world created by the player, who inhabits a universe created by...
- Shush. Sometimes the player created a small, private world that was soft and warm and simple. Sometimes hard, and cold, and complicated. Sometimes it built a model of the universe in its head; flecks of energy, moving through vast empty spaces. Sometimes it called those flecks "electrons" and "protons".
- Sometimes it called them "planets" and "stars".
- Sometimes it believed it was in a universe that was made of energy that was made of offs and ons; zeros and ones; lines of code. Sometimes it believed it was playing a game. Sometimes it believed it was reading words on a screen.
- You are the player, reading words...
- Shush... Sometimes the player read lines of code on a screen. Decoded them into words; decoded words into meaning; decoded meaning into feelings, emotions, theories, ideas, and the player started to breathe faster and deeper and realised it was alive, it was alive, those thousand deaths had not been real, the player was alive
- You. You. You are alive.
- and sometimes the player believed the universe had spoken to it through the sunlight that came through the shuffling leaves of the summer trees
- and sometimes the player believed the universe had spoken to it through the light that fell from the crisp night sky of winter, where a fleck of light in the corner of the player's eye might be a star a million times as massive as the sun, boiling its planets to plasma in order to be visible for a moment to the player, walking home at the far side of the universe, suddenly smelling food, almost at the familiar door, about to dream again
- and sometimes the player believed the universe had spoken to it through the zeros and ones, through the electricity of the world, through the scrolling words on a screen at the end of a dream
- and the universe said I love you
- and the universe said you have played the game well
- and the universe said everything you need is within you
- and the universe said you are stronger than you know
- and the universe said you are the daylight
- and the universe said you are the night
- and the universe said the darkness you fight is within you
- and the universe said the light you seek is within you
- and the universe said you are not alone
- and the universe said you are not separate from every other thing
- and the universe said you are the universe tasting itself, talking to itself, reading its own code
- and the universe said I love you because you are love.
- And the game was over and the player woke up from the dream. And the player began a new dream. And the player dreamed again, dreamed better. And the player was the universe. And the player was love.
- You are the player.
- Wake up.
- When an End portal is made in the end (or via defeating the Enderdragon) a strange glitch occurs making the glint of the End portal appear at a distance in the exact shape of the portal.
- Going through a the End portal while in a minecart causes you to go through the portal, possibly into the lava below.
- Quitting the game while in the End without killing the ender dragon will sometimes make multiple dragons spawn.
- Quitting the game while viewing the credits or poem will make the player re-spawn in the End the next time they enter that world.
- The End portal block can only be placed in the normal world dimension, and in the Nether and End, will disappear, however a Nether portal block can be placed in the End.
- ]])
- ender_realm.close()
- enderdragon=fs.open("mem/redworks/minepedia/enderdragon","w")
- enderdragon.write([[The Ender Dragon is the first official mob boss to appear in Minecraft. It only naturally spawns in The End. This mob uses the dragon model Notch created, but utilizes a texture more reminiscent of an Enderman, being black and scaly with purple eyes.
- Strategy: Before entering the End, it is very strongly advised that you first sleep in a bed near the end portal, as you will most likely die your first time in. Upon entering The End, a purple "boss health bar" appears at the top of the player's screen. This bar indicates the remaining health of the resident Ender Dragon. Each End houses a single Ender Dragon who is periodically charged by nearby Ender Crystals. These crystals can be found at the summit of Obsidian pillars which dot the otherwise flat landscape. The healing effect of the Ender Crystals can reverse hard-won damage rather quickly, therefore it is recommended that they be destroyed before the player engages the Ender Dragon. Wearing any armor will make the Ender Dragon unable to hurt you; rather, you will simply be pushed around.
- Destroying an Ender Crystal while the Ender Dragon is being charged by it (indicated by a series of circles appearing between the Ender Crystal and the Ender Dragon) will cause the Ender Dragon to take additional damage instead of being healed (You can destroy an Ender Crystal by either trying to destroy it as you would a regular block, or by attacking it with a sword, a bow and arrow, etc.) When destroyed, the Ender Crystal explodes and is replaced by a chunk of Bedrock. Get the Ender Dragon in the explosion to cause even more damage!
- The Ender Dragon will flee when looked at, except when charging the player, but otherwise will fly directly at the player. When the Ender Dragon is charging the player, it is directly facing the player, giving the player a good chance of attacking its head, which, as mentioned earlier, will do extra damage (but if you do decide to attack it, you will have less time to try and avoid its attack) The Ender Dragon will also destroy any block it comes into contact with except Obsidian, End Stone and Bedrock (passing through them instead), making TNT strategies difficult if not impossible to successfully execute. Due to the Ender Dragon's speed and flight, projectiles are favored over melee approaches. The Ender Dragon's immense health and evasive nature necessitate a large ammunition stockpile. Lava is useless, as they are immune to fire damage. Snowballs have the potential to stun-lock an Ender Dragon as its recovery time is slower than the firing rate of snowballs. The Ender Dragon will take more damage from a melee attack than a ranged attack, thus waiting for it to charge, sidestepping, and then attacking is a viable tactic. Beds, which explode in The End, can be detonated when the Ender Dragon is nearby, causing it considerable damage. Ender Dragons take the most damage from damage dealt to the head. Hitting other areas of the body will not do as much damage.
- Once killed, the Ender Dragon will appear to have beams of light spontaneously erupting from its body. It will then explode, dropping enough experience to bring a player from no experience to level 110 (20000 - 10 drops of 1000 experience, one drop of 10000 experience). If you bring an enchantment table and 30 bookcases with you while killing the Ender dragon, you can set it up after it dies and use it every 50 levels for many level 40+ enchantments. It will also spawn a Dragon Egg on top of an End Portal made of Bedrock. On the second block up, two Torches are placed on either side. Entering the portal will activate an eight minute text cutscene that acts as the end of Minecraft, after which the player will be teleported to their spawn point in The Overworld. The player may return to The End after defeating the Ender Dragon, however there will be no new dragon. In SMP stepping through the portal will wipe all of your unspent experience levels. There are ways, such as teleportation, to avoid the loss of unspent experience levels.
- The offical findings of Mr D.H, one of Notch's personal friends, states that unlike Enderman, the enderdragon is immune to water damage- this only lets off smoke similar to the expolision of TNT. It also states, that before entering The End, taking an Enchanted sword is extremely good: as long as you do not mind that you may lose it. The Enderdragon cannot leave The End and go to the Overload,this was consistered by Notch, but never made the final cut.
- History: Originally, dragons were a possible planned mob, hinted at by Notch during the Spider Jockey update.[1] He also mentioned that dragon lairs may be an addition.[2] They remained a potential work-in-progress until the Ender Dragon was announced.
- Notch has stated in the past that if dragons are added, they will not be mountable as it would put too much pressure on SMP servers.[3]
- In September 2011, Notch stated that "dragons will be added eventually."[4]
- On October 7th 2011, Notch revealed the existence of the Ender Dragon.
- On October 10th 2011, Notch released a video showing a small clip of The End that also shows the Ender Dragon fly into the top of the frame. [1] [2]
- On October 11th 2011 A player named stropping_notch asked Jeb if Dragon riding is an idea, to which he replied it is. It is not clear whether this means it is an idea under consideration or not, however, or whether it would apply to the red Dragons or the Ender Dragon.[5]
- On October 12th 2011, in a Reddit post Notch also said, "They will be different dragons. The Ender Dragon will probably become larger, and the ones in the main world will be this size, won't go through terrain, and will be red because dragons are red."[6]
- On October 12th 2011, Notch stated in a twitter post that "[d]ragons have 6 limbs"[7], consisting of 2 wings, 2 legs and 2 arms.
- On October 13th 2011, Beta 1.9 Pre-release 4 was released along with The End. The Ender Dragon existed in the code, mostly functional, however the dragon had not been enabled ingame yet and players were unable to damage it.
- On October 27th 2011, Beta 1.9 Pre-release 5 was released, including the ability for players to damage Ender Dragons. They required mods or a mob-spawner to be brought into the game however.
- On November 11 2011, Beta 1.9 Pre-release 6 was released, including a single Ender Dragon as a boss battle, spawning naturally when the player first enters The End.
- Trivia: The name "Ender Dragon" was first made known through a tweet by Notch reading "raqreqentba," which could be decoded using the ROT13 cypher, translating to "enderdragon."[8]
- The Ender Dragon has its own separate mob folder containing separate designs: the old gray skin and the newer black skin.
- The Ender Dragon flies at 10 times the player's normal walking speed.
- Made of 61 cuboids, the polycount on the dragon is higher than all models in Minecraft. Notch joked about how Minecraft was "going next gen" when deadmau5 mentioned this.[9]
- Before it was textured, Notch reported that he was afraid to texture it as it was a complicated model.[10] In the end, the dragon model was so complex Notch stated that he gave up making the texture manually and wrote a texture packer tool to aid him in adding the texture to the model. Notch also uploaded the code for the tool so others could use the pack.[11][12]
- As of 1.9 Pre-release 5, Ender Dragons:
- No longer catch fire from lava or the fire aspect enchantment.
- Can only be hurt below the 127 block map height limit. Getting Ender Dragons to fly above the limit (in Creative Mode, Overworld) will prevent any damage to them.
- Phase through the player without causing damage when over block level 127.
- Have their own achievement called "The End," which requires defeating an Ender Dragon.
- In terms of how difficult the Ender Dragon is to defeat, Notch tweeted that his design guideline for the dragon is "[If] I can beat it at all, it's too easy."
- Due to the increase in Diamond Armor's durability since Minecraft 1.0.0, Enderdragon attacks will barely phase the player. However, the launching aspect of their attacks can still subject the player to large amounts of fall damage.
- Notch has uploaded a video showing why Ender Dragons will not spawn in the main world, as they would destroy any block they come into contact with.[13]
- On Reddit, Notch explained why Ender Dragons destroy matter.[14]
- When an Ender Dragon destroys a block by means of flying through it, an explosion effect occurs identical to that of a TNT explosion.
- When hit, an Ender Dragon will make the same pain sounds as the player.
- Ender Dragons spawn on Peaceful.
- The knockback caused by an Ender Dragon's attack is far higher than that of any other mob.
- An Ender Dragon's attack can cause Endermen to chase after it, should they survive the devastating attack.
- Ender Dragons can be damaged by Snowballs, as snow is made of water, which damages Ender-mobs. However, Snow Golems will not attack it.
- When no Ender Dragon is present, a player-placed Ender Dragon mob spawner will cause an empty 'boss health' bar to show.
- Negative splash potions do not seem to affect the Ender Dragon. The potion hits and detonates as per normal, but the dragon does not flash red like when hurt and no apparent effect is seen on it. (Tested in SSP, and with Splash Potions of Poison, Instant Harming, Slowness and Weakness.)
- The Ender Dragon's hitbox seems to be bigger than the Ender Dragon itself.
- Even though Ender-mobs are injured by water, the Ender Dragon will destroy water source blocks as if they were solid.
- If the player uses modifications to spawn an Ender Dragon in the Overworld and uses the portal it creates from its death there, it will lead the player to The End.
- The Ender dragon, alongside the Ghast, and Blaze is one of the only current flying mobs in the game. It is the only one which uses wings to fly.
- ]])
- enderdragon.close()
- enderman=fs.open("mem/redworks/minepedia/enderman","w")
- enderman.write([[The Enderman (plural Endermen or Endermans) is a 3 block-high, black mob with long arms and legs, glowing purple eyes and a purple particle effect similar to a Portal. Endermen will not attack you unless you look at them by pointing your crosshair on them. In creative, they will only attack you if you punch them. They are rare in comparison to other mobs (with the exception of the spawner-only Cave Spider), but can still be seen regularly at night on the Overworld in groups of up to five. Their two iconic abilities are the ability to pick up and move blocks, and to teleport. Endermen are not harmed by sunlight, but will take damage from coming in contact with water (including water blocks and rain).[1] As of Minecraft full version 1.0 Endermen teleport when coming in contact with elements that damage it such as water, lava, and rain.
- Endermen are not hostile until the player looks at them. "Looking at an Enderman" is defined as aiming the crosshair on the Enderman itself.
- Endermen frequently spawn in the End, which is currently believed to be their homeworld, but they still require a light level of at most seven
- History: The Enderman was introduced in Beta 1.8, part one of the Adventure Update.
- Endermen used to burn in sunlight, but as of 1.9 pre-release 4, Endermen won't burn in daylight. They will instead teleport away when the player walks up to them in the daytime, making it extremely hard to get close enough to kill them.
- Endermen were originally planned to have dog-like ears.
- At first, when Notch was still designing the Endermen, he thought they were not 'creepy' enough, coming with the idea that having a situation which the player would want to avoid could make the Enderman significantly more scary. This gave Notch the idea to implement the staring feature where aiming the crosshairs on the Enderman's face would cause a suspense in which breaking eyecontact would trigger an attack, as well as the Enderman having the ability to teleport so that when the player has stared at the Enderman they will have to face a consequence for that action.[4]
- In the Beta 1.8 demo at PAX, Endermen dropped diamonds as a placeholder.
- In Beta 1.8pre1&2, Endermen originally had green eyes and emitted black smoke. The release of Beta 1.8 changed the eyes to purple and black smoke has been replaced with purple particles similar to the particles emitted from Nether portals.
- Before the Sound Update, Endermen used zombie sounds as a place holder.
- As of Beta 1.9pre4, the Endermen have a realm of their own: The End, where they spawn frequently.[5][6]
- Notch stated "Endermen suck because they're annoying, and because I nerfed them and made them too easy. I shall fix this."[7]
- Because of this, Endermen were modified to have 20 hearts of health, requiring 6 hits from a diamond sword to kill. Combined with their teleportation aspect, Endermen are more challenging.
- Strategy: Preventing Attacks The only way to get an Enderman to chase you is to hit it, or look at it with the crosshair. As Endermen are 3 blocks tall, you can keep your house's interior 2 blocks tall to prevent Endermen from teleporting into it. However, if a house/construction is at the same or lower height as a nearby hill, the Enderman can still teleport in. You can perform preemptive strikes against endermen by keeping your crosshair over them, causing them to stand still until you hit them. Also, if the player sits in a pool of water, the Enderman will take damage from the water and then teleport away in response to the damage, and then run back to the player to attack. They will usually repeat this mishap until getting killed, this might be used as a way to make Endermen traps by making a room with 2 block roof height and a water tank on top, allowing the Endermen to glitch through the too low ceiling and into the water. If the player wears a pumpkin on their head, an Enderman will not turn hostile when looked at, though this does limit the player's line of sight. Endermen cannot teleport when they are in minecarts. They will not teleport to you if you are on a sufficiently high tower.
- Killing Endermen: Endermen are damaged by fire, lava, water and attacks. Emptying a bucket of water on the ground will damage the Enderman without it becoming hostile, though it will teleport away. All types of swords can be used to kill an enderman. Cacti will also damage Endermen, so a wall of cacti also serves as a passive defense against Endermen. Cacti are also a fast way to kill them because the Endermen will blindly walk into it without teleporting away.
- Endermen can swim. If the player is in a large body of water, he will teleport toward the player, take damage from the water, then teleport away. They will repeat this loop until they die.
- Before Beta 1.9 Pre-release, Endermen were very easily killed with the use of a bow, however as of all the Pre-releases and the full release; arrows will hit them and they will instantly teleport without taking damage while also causing the arrow to vanish.
- Hostile Endermen will teleport away when the player hits or gets close to the enderman. When this happens in a small underground space, the Enderman may teleport into inaccessible caves or to the surface. They will not teleport back to the player unless they move to an area that has enough space for the Enderman to teleport back. The Endermen also teleport behind the player so it is recommended that the player go into third person point of view by hitting F5.
- When killed, regardless of the method of death, any blocks held by the Enderman disappear. They do not drop or get placed.
- As of Beta 1.9 Pre-release 2, Endermen teleport to avoid being hit by arrows and splash potions and teleport to a new location when hit with one. They are no longer damaged by sunlight in this version, and when they touch water they immediately teleport away.
- An effective way of killing an Enderman is by staring below their torso, preferably attacking the 'feet' of its legs constantly with a sword or an axe. However, because endermen teleport when the player closes in on them, you should either stand still while attacking their legs or move backwards to keep your distance. This can also be done by simply punching them.
- Another effective way of killing an Enderman is to make a 4 high pillar underneath yourself and to look at one. The Enderman will run toward you and come into melee range. You will be in range to attack them, but they will not be in range to attack you. Make sure there are no skeleton nearby (16 blocks or less) as they will shoot you off your pillar and make you a vulnerable target.
- If you hit an Enderman with any kind of sword while having a pumpkin as a helmet, the Enderman will not teleport.
- A useful way to fight an Enderman is with a fishing rod, this is useful because you can hook them when you are fighting, and when they teleport away, you can use the rod to bring them back and then fight them with a weapon of your choice.
- Moving Blocks: Moving blocks Endermen will pick up and move certain blocks, regardless of whether they were natural or placed by the player. They will pick up blocks horizontally and vertically nearby, within a short reaching distance similar to the player's, at heights from just below their feet to just above their head (5 layers). They will not drop the blocks when killed - the blocks disappear.
- Since Beta 1.9 Pre-release 2, Endermen can only pick up the following blocks: [8] [9]
- Grass Block
- Dirt
- Mycelium
- Sand
- Gravel
- Clay Flower
- Rose
- Brown Mushroom
- Red Mushroom Cactus
- Pumpkin
- Jack-O-Lantern
- Melon TNT
- Endermen cannot pick up entities, such as Boats, Minecarts, primed TNT, and mobs.
- In Beta 1.8 Pre-releases, Endermen were able to pick up any block, including Bedrock.
- Damage to structures and environment: Because Endermen possess the ability to move blocks, they can cause damage to the natural environment and player-built structures. For players with access to significant resources, Endermen may not represent a real threat in combat, and become nuisances when building. Before Beta 1.9 prerelease 2, Endermen were able to move player-placed blocks and the resulting holes could let in other mobs in addition to being simply unsightly. Fortunately, this problem was fixed by severely limiting the endermen's block-moving ability to a handful of block types.
- On the overworld, signs of Endermen activity will soon start to become apparent in frequently loaded chunks. In desert areas, Endermen pollinate cacti by removing blocks and placing them on fresh sand, gradually increasing the population of cactus in frequently loaded deserts.
- A common Enderman defense is to place lava or water moats around well-lit structures. However, this is not impenetrable, since they can still teleport inside when provoked by the player or even randomly by touching some water.
- Notably the Endermen can reach through blocks to grab blocks behind so put anything important two blocks in, or make walls multiple blocks deep.
- A common misconception is that vines prevent Endermen from taking blocks, however Endermen will not pick up vines and will reach through them instead (like stairs).
- Endermen do not spawn in lit areas, but they may wander or teleport into lit areas from adjacent dark ones, so simply lighting structures liberally with torches is not a guaranteed defense.
- Trivia: The exact size of an Enderman is 0.6x0.6x2.9 blocks.
- If a Skeleton shoots an Enderman when attempting to shoot the player, the Enderman will completely stop chasing the player even after it has killed the offending Skeleton.[10]
- A similar nature can be encountered when an Enderman is hit by an Enderdragon; They will ignore the player and chase after the offending Enderdragon, should they survive the attack.
- Endermen located in The End does not pick up endstone.
- The name "Enderman" is a reference to the Internet meme known as "the Slender Man", a similar-looking fictional cryptid. The name was given to the mob by Notch in a Minecraft Reddit thread.
- Endermen have the ability to open their mouths. In their texture, their jaw is separated from their skull[11] and in the 1.8 Official Trailer,[12] an Enderman attacked the camera with its mouth open. This makes the Enderman the first mob with the ability to physically open their mouths without simply switching to a different texture. They only open their mouths when they attack. Due to the player's perspective, the player sees the back of the Enderman's head when they open their mouths. If a player is one block higher, they see through the Enderman's open mouth. They open their mouths by moving their skulls higher than their jaw.
- When first introduced, Endermen had the same set of sound effects as Zombies. This was confirmed to be a placeholder, and that they would receive their own unique set of sounds.[13] In the pre-release of version 1.9, Endermen are completely silent. On November 13th, 2011, in an invisible update, Endermen did in fact receive their own audio scheme, most notably a long moan overlaid with static for while the player stares at them.[14]
- Endermen's eyes glow in the dark, like Spiders', and Endermen's full body glows in the fog, also similar to a Spider's body.
- Contrary to popular belief, there are no other Enderman eye colors besides purple. The mob/enderman_eyes.png file in minecraft.jar only has one color, and what looks like white eyes in mob/enderman.png is actually the spot where the eye texture gets overlaid, to make the eyes glow like spiders'.
- When an Enderman picks up a block, it makes the sound of that block type being destroyed.
- Endermen are quite common above ground, as stated above, spawning in groups of sometimes about 5, while below ground they are a bit rarer and cannot spawn in low roofed areas, such as confined caves. It is not recommended to run underground to get away from them as they may still spawn and will chase you if provoked.
- Endermen spawn in the rain, but will continuously take damage unless they find shelter.
- Like every other creature in the game with the exception of Spiders, Endermen can't see the player through transparent blocks such as Glass.
- In the 1.9 Pre-release 2 Endermen will teleport away whenever they are damaged by anything other than a direct player hit, including sunlight, cacti, other mobs, arrows, and water.
- Endermen can harvest cacti and collapse the entire cactus. However, they are known to replenish the numbers of cacti in the desert by planting their cactus blocks, and since they generally don't take the bottom block, the harvested cactus generally regrows during the day.
- Endermen can teleport very far, even when moving several hundred kilometres from them, they will continue to follow until killed.
- If an Enderman carrying a block is killed, that block is not dropped on death.
- It is unknown if there is a limit to the number of Endermen that can follow a player, but as shown here, 30 is not the maximum amount that can follow.
- An effective way to gain easy experience is to go the End, make a 1x1 tower 4 high, stand on top of it, look at Endermen and have them teleport to you while you slaughter them. They cannot reach you because the tower is too tall.
- Even in an aggressive state, they can still pick up blocks, which at times makes it seem as though they are tearing through walls to reach the player.
- In 1.9 pre-release, if you were to pour water on a hostile Enderman, the Enderman will teleport away and become neutral again.
- When an Enderman picks up a flower or a normal mushroom, those blocks will appear to be floating between their grasp.
- In 1.9 pre-release 4, if you look at an Enderman the inventory bar will be highlighted.
- Since they burned in sunlight before 1.9, like Skeletons and Zombies, but, were not able to cool those flames down by jumping in the water, since that also hurts them, the only way you could have found an Enderman during the day is if he was in a secured dark area.
- Looking at an Enderman at point blank range will not cause it to become hostile.
- On the mysterious track 11, most people think that the player is being chased by an Enderman.
- Even though water/rain is harmful to them, it will still put out a burning Enderman.
- Endermen are the only current mobs which spawn naturally pan-dimensionally, appearing both in The Overworld and The End. Zombie Pigmen can be created in The Overworld if Lightning strikes a Pig, and Snow Golems can be made by the player anywhere. Chickens can be hatched anywhere.
- Bugs: In SMP, Endermen don't open their mouths or shake when aggressive.
- When using a custom texture pack, Endermen will be bright white overlapping their texture. This is caused by the blank spaces of their enderman_eyes.png file. If you create a custom texture pack you must make sure that you only change the 6 pixels actually used by their eyes. An alternative would be to use the original png from the minecraft.jar in your pack. Using the most recent release of MCPatcher also fixes this bug. This can also be avoided by making the enderman_eyes.png translucent, even only slight translucency will fix this.
- If an Enderman is holding a block and the world is exited and then re-entered, the data value of the block is not preserved, and will reset to 0x0. For example, in the case of the wool, it will become white wool, and brown mushroom blocks will display the pores texture on each side. This is due to a mixup in the saving/loading of Endermen entities, it is saved as carryingData and tries to load carriedData.
- If a hostile Enderman is forced to teleport because they have wandered into a water block they will no longer be hostile to the player, it is yet unknown if this is a bug or not.
- Strangely, it looks as if some Endermen teleport to the overworld to avoid falling off a cliff in The End.
- If a hostile Enderman is attacked by another mob and kills the attacker, it resets to being neutral towards the player.
- In the Minecraft Beta 1.9 Pre-Release 2, Endermen commonly teleport away from the player, even if they were just attacking him/her, and become neutral.
- If an Enderman picks up a flaming block (i.e. Wood, Netherrack, etc.) and then places it again, the block will be extinguished, but the Enderman will be on fire.
- During the day in 1.9 pre-release 5, if you look at an Enderman, it will open its mouth and become hostile but if you try to shoot a projectile at it, it will teleport and become neutral. Also if you look at it without shooting it, it will open its mouth, shake, and become hostile then when you look away, it will become neutral again. Only happens during the day.
- If you look at it, it will only stay hostile if it can run toward you; if it has to teleport to get to you, it will become neutral. Only happens during the day.
- On rare occasions, if the player and an Enderman are on opposite sides of a large body of water and the Enderman turns hostile, it will stare back at the player like normal but will never attempt to get closer, even if the player is not staring back. It will continue staring at the player for a while until it suddenly disappears. (Not by teleporting, but by being completely erased. It will not drop any loot.)
- Endermen will rapidly teleport in a maniacal manner to avoid being hit by rain. If there is no areas for them to hide, they will teleport here and there until they finally die. At night, they can be seen flashing red and appearing all over the place.
- In Minecraft 1.0 Enderman sometimes teleport to the surface then immediately teleport away, probably because they got hit by lava or water somewhere in the underground.
- If you quit a game while being attacked by a hostile Enderman, and re-join the game, the Enderman will return to being neutral.
- Where ever the luminance level is 15, i.e. the Sun and Glowstone, If Endermen teleport they will become neutral.
- If caught with a fishing rod while neutral, an Enderman will remain neutral even after being pulled in, and switching to another item. The Enderman will become aggressive again only if it is hit by the player.
- When an Enderman picks up TNT, the TNT block's texture is inverted (Notice the "N" in TNT is reversed(??T)).
- If you fire an arrow at an Enderman who is in a mine cart, it will teleport away and reappear in the same mine cart. Also, at times it will turn red as if it had taken damage, but it will not die from arrow shots.
- ]])
- enderman.close()
- endermen=fs.open("mem/redworks/minepedia/endermen","w")
- endermen.write([[The Enderman (plural Endermen or Endermans) is a 3 block-high, black mob with long arms and legs, glowing purple eyes and a purple particle effect similar to a Portal. Endermen will not attack you unless you look at them by pointing your crosshair on them. In creative, they will only attack you if you punch them. They are rare in comparison to other mobs (with the exception of the spawner-only Cave Spider), but can still be seen regularly at night on the Overworld in groups of up to five. Their two iconic abilities are the ability to pick up and move blocks, and to teleport. Endermen are not harmed by sunlight, but will take damage from coming in contact with water (including water blocks and rain).[1] As of Minecraft full version 1.0 Endermen teleport when coming in contact with elements that damage it such as water, lava, and rain.
- Endermen are not hostile until the player looks at them. "Looking at an Enderman" is defined as aiming the crosshair on the Enderman itself.
- Endermen frequently spawn in the End, which is currently believed to be their homeworld, but they still require a light level of at most seven
- History: The Enderman was introduced in Beta 1.8, part one of the Adventure Update.
- Endermen used to burn in sunlight, but as of 1.9 pre-release 4, Endermen won't burn in daylight. They will instead teleport away when the player walks up to them in the daytime, making it extremely hard to get close enough to kill them.
- Endermen were originally planned to have dog-like ears.
- At first, when Notch was still designing the Endermen, he thought they were not 'creepy' enough, coming with the idea that having a situation which the player would want to avoid could make the Enderman significantly more scary. This gave Notch the idea to implement the staring feature where aiming the crosshairs on the Enderman's face would cause a suspense in which breaking eyecontact would trigger an attack, as well as the Enderman having the ability to teleport so that when the player has stared at the Enderman they will have to face a consequence for that action.[4]
- In the Beta 1.8 demo at PAX, Endermen dropped diamonds as a placeholder.
- In Beta 1.8pre1&2, Endermen originally had green eyes and emitted black smoke. The release of Beta 1.8 changed the eyes to purple and black smoke has been replaced with purple particles similar to the particles emitted from Nether portals.
- Before the Sound Update, Endermen used zombie sounds as a place holder.
- As of Beta 1.9pre4, the Endermen have a realm of their own: The End, where they spawn frequently.[5][6]
- Notch stated "Endermen suck because they're annoying, and because I nerfed them and made them too easy. I shall fix this."[7]
- Because of this, Endermen were modified to have 20 hearts of health, requiring 6 hits from a diamond sword to kill. Combined with their teleportation aspect, Endermen are more challenging.
- Strategy: Preventing Attacks The only way to get an Enderman to chase you is to hit it, or look at it with the crosshair. As Endermen are 3 blocks tall, you can keep your house's interior 2 blocks tall to prevent Endermen from teleporting into it. However, if a house/construction is at the same or lower height as a nearby hill, the Enderman can still teleport in. You can perform preemptive strikes against endermen by keeping your crosshair over them, causing them to stand still until you hit them. Also, if the player sits in a pool of water, the Enderman will take damage from the water and then teleport away in response to the damage, and then run back to the player to attack. They will usually repeat this mishap until getting killed, this might be used as a way to make Endermen traps by making a room with 2 block roof height and a water tank on top, allowing the Endermen to glitch through the too low ceiling and into the water. If the player wears a pumpkin on their head, an Enderman will not turn hostile when looked at, though this does limit the player's line of sight. Endermen cannot teleport when they are in minecarts. They will not teleport to you if you are on a sufficiently high tower.
- Killing Endermen: Endermen are damaged by fire, lava, water and attacks. Emptying a bucket of water on the ground will damage the Enderman without it becoming hostile, though it will teleport away. All types of swords can be used to kill an enderman. Cacti will also damage Endermen, so a wall of cacti also serves as a passive defense against Endermen. Cacti are also a fast way to kill them because the Endermen will blindly walk into it without teleporting away.
- Endermen can swim. If the player is in a large body of water, he will teleport toward the player, take damage from the water, then teleport away. They will repeat this loop until they die.
- Before Beta 1.9 Pre-release, Endermen were very easily killed with the use of a bow, however as of all the Pre-releases and the full release; arrows will hit them and they will instantly teleport without taking damage while also causing the arrow to vanish.
- Hostile Endermen will teleport away when the player hits or gets close to the enderman. When this happens in a small underground space, the Enderman may teleport into inaccessible caves or to the surface. They will not teleport back to the player unless they move to an area that has enough space for the Enderman to teleport back. The Endermen also teleport behind the player so it is recommended that the player go into third person point of view by hitting F5.
- When killed, regardless of the method of death, any blocks held by the Enderman disappear. They do not drop or get placed.
- As of Beta 1.9 Pre-release 2, Endermen teleport to avoid being hit by arrows and splash potions and teleport to a new location when hit with one. They are no longer damaged by sunlight in this version, and when they touch water they immediately teleport away.
- An effective way of killing an Enderman is by staring below their torso, preferably attacking the 'feet' of its legs constantly with a sword or an axe. However, because endermen teleport when the player closes in on them, you should either stand still while attacking their legs or move backwards to keep your distance. This can also be done by simply punching them.
- Another effective way of killing an Enderman is to make a 4 high pillar underneath yourself and to look at one. The Enderman will run toward you and come into melee range. You will be in range to attack them, but they will not be in range to attack you. Make sure there are no skeleton nearby (16 blocks or less) as they will shoot you off your pillar and make you a vulnerable target.
- If you hit an Enderman with any kind of sword while having a pumpkin as a helmet, the Enderman will not teleport.
- A useful way to fight an Enderman is with a fishing rod, this is useful because you can hook them when you are fighting, and when they teleport away, you can use the rod to bring them back and then fight them with a weapon of your choice.
- Moving Blocks: Moving blocks Endermen will pick up and move certain blocks, regardless of whether they were natural or placed by the player. They will pick up blocks horizontally and vertically nearby, within a short reaching distance similar to the player's, at heights from just below their feet to just above their head (5 layers). They will not drop the blocks when killed - the blocks disappear.
- Since Beta 1.9 Pre-release 2, Endermen can only pick up the following blocks: [8] [9]
- Grass Block
- Dirt
- Mycelium
- Sand
- Gravel
- Clay Flower
- Rose
- Brown Mushroom
- Red Mushroom Cactus
- Pumpkin
- Jack-O-Lantern
- Melon TNT
- Endermen cannot pick up entities, such as Boats, Minecarts, primed TNT, and mobs.
- In Beta 1.8 Pre-releases, Endermen were able to pick up any block, including Bedrock.
- Damage to structures and environment: Because Endermen possess the ability to move blocks, they can cause damage to the natural environment and player-built structures. For players with access to significant resources, Endermen may not represent a real threat in combat, and become nuisances when building. Before Beta 1.9 prerelease 2, Endermen were able to move player-placed blocks and the resulting holes could let in other mobs in addition to being simply unsightly. Fortunately, this problem was fixed by severely limiting the endermen's block-moving ability to a handful of block types.
- On the overworld, signs of Endermen activity will soon start to become apparent in frequently loaded chunks. In desert areas, Endermen pollinate cacti by removing blocks and placing them on fresh sand, gradually increasing the population of cactus in frequently loaded deserts.
- A common Enderman defense is to place lava or water moats around well-lit structures. However, this is not impenetrable, since they can still teleport inside when provoked by the player or even randomly by touching some water.
- Notably the Endermen can reach through blocks to grab blocks behind so put anything important two blocks in, or make walls multiple blocks deep.
- A common misconception is that vines prevent Endermen from taking blocks, however Endermen will not pick up vines and will reach through them instead (like stairs).
- Endermen do not spawn in lit areas, but they may wander or teleport into lit areas from adjacent dark ones, so simply lighting structures liberally with torches is not a guaranteed defense.
- Trivia: The exact size of an Enderman is 0.6x0.6x2.9 blocks.
- If a Skeleton shoots an Enderman when attempting to shoot the player, the Enderman will completely stop chasing the player even after it has killed the offending Skeleton.[10]
- A similar nature can be encountered when an Enderman is hit by an Enderdragon; They will ignore the player and chase after the offending Enderdragon, should they survive the attack.
- Endermen located in The End does not pick up endstone.
- The name "Enderman" is a reference to the Internet meme known as "the Slender Man", a similar-looking fictional cryptid. The name was given to the mob by Notch in a Minecraft Reddit thread.
- Endermen have the ability to open their mouths. In their texture, their jaw is separated from their skull[11] and in the 1.8 Official Trailer,[12] an Enderman attacked the camera with its mouth open. This makes the Enderman the first mob with the ability to physically open their mouths without simply switching to a different texture. They only open their mouths when they attack. Due to the player's perspective, the player sees the back of the Enderman's head when they open their mouths. If a player is one block higher, they see through the Enderman's open mouth. They open their mouths by moving their skulls higher than their jaw.
- When first introduced, Endermen had the same set of sound effects as Zombies. This was confirmed to be a placeholder, and that they would receive their own unique set of sounds.[13] In the pre-release of version 1.9, Endermen are completely silent. On November 13th, 2011, in an invisible update, Endermen did in fact receive their own audio scheme, most notably a long moan overlaid with static for while the player stares at them.[14]
- Endermen's eyes glow in the dark, like Spiders', and Endermen's full body glows in the fog, also similar to a Spider's body.
- Contrary to popular belief, there are no other Enderman eye colors besides purple. The mob/enderman_eyes.png file in minecraft.jar only has one color, and what looks like white eyes in mob/enderman.png is actually the spot where the eye texture gets overlaid, to make the eyes glow like spiders'.
- When an Enderman picks up a block, it makes the sound of that block type being destroyed.
- Endermen are quite common above ground, as stated above, spawning in groups of sometimes about 5, while below ground they are a bit rarer and cannot spawn in low roofed areas, such as confined caves. It is not recommended to run underground to get away from them as they may still spawn and will chase you if provoked.
- Endermen spawn in the rain, but will continuously take damage unless they find shelter.
- Like every other creature in the game with the exception of Spiders, Endermen can't see the player through transparent blocks such as Glass.
- In the 1.9 Pre-release 2 Endermen will teleport away whenever they are damaged by anything other than a direct player hit, including sunlight, cacti, other mobs, arrows, and water.
- Endermen can harvest cacti and collapse the entire cactus. However, they are known to replenish the numbers of cacti in the desert by planting their cactus blocks, and since they generally don't take the bottom block, the harvested cactus generally regrows during the day.
- Endermen can teleport very far, even when moving several hundred kilometres from them, they will continue to follow until killed.
- If an Enderman carrying a block is killed, that block is not dropped on death.
- It is unknown if there is a limit to the number of Endermen that can follow a player, but as shown here, 30 is not the maximum amount that can follow.
- An effective way to gain easy experience is to go the End, make a 1x1 tower 4 high, stand on top of it, look at Endermen and have them teleport to you while you slaughter them. They cannot reach you because the tower is too tall.
- Even in an aggressive state, they can still pick up blocks, which at times makes it seem as though they are tearing through walls to reach the player.
- In 1.9 pre-release, if you were to pour water on a hostile Enderman, the Enderman will teleport away and become neutral again.
- When an Enderman picks up a flower or a normal mushroom, those blocks will appear to be floating between their grasp.
- In 1.9 pre-release 4, if you look at an Enderman the inventory bar will be highlighted.
- Since they burned in sunlight before 1.9, like Skeletons and Zombies, but, were not able to cool those flames down by jumping in the water, since that also hurts them, the only way you could have found an Enderman during the day is if he was in a secured dark area.
- Looking at an Enderman at point blank range will not cause it to become hostile.
- On the mysterious track 11, most people think that the player is being chased by an Enderman.
- Even though water/rain is harmful to them, it will still put out a burning Enderman.
- Endermen are the only current mobs which spawn naturally pan-dimensionally, appearing both in The Overworld and The End. Zombie Pigmen can be created in The Overworld if Lightning strikes a Pig, and Snow Golems can be made by the player anywhere. Chickens can be hatched anywhere.
- Bugs: In SMP, Endermen don't open their mouths or shake when aggressive.
- When using a custom texture pack, Endermen will be bright white overlapping their texture. This is caused by the blank spaces of their enderman_eyes.png file. If you create a custom texture pack you must make sure that you only change the 6 pixels actually used by their eyes. An alternative would be to use the original png from the minecraft.jar in your pack. Using the most recent release of MCPatcher also fixes this bug. This can also be avoided by making the enderman_eyes.png translucent, even only slight translucency will fix this.
- If an Enderman is holding a block and the world is exited and then re-entered, the data value of the block is not preserved, and will reset to 0x0. For example, in the case of the wool, it will become white wool, and brown mushroom blocks will display the pores texture on each side. This is due to a mixup in the saving/loading of Endermen entities, it is saved as carryingData and tries to load carriedData.
- If a hostile Enderman is forced to teleport because they have wandered into a water block they will no longer be hostile to the player, it is yet unknown if this is a bug or not.
- Strangely, it looks as if some Endermen teleport to the overworld to avoid falling off a cliff in The End.
- If a hostile Enderman is attacked by another mob and kills the attacker, it resets to being neutral towards the player.
- In the Minecraft Beta 1.9 Pre-Release 2, Endermen commonly teleport away from the player, even if they were just attacking him/her, and become neutral.
- If an Enderman picks up a flaming block (i.e. Wood, Netherrack, etc.) and then places it again, the block will be extinguished, but the Enderman will be on fire.
- During the day in 1.9 pre-release 5, if you look at an Enderman, it will open its mouth and become hostile but if you try to shoot a projectile at it, it will teleport and become neutral. Also if you look at it without shooting it, it will open its mouth, shake, and become hostile then when you look away, it will become neutral again. Only happens during the day.
- If you look at it, it will only stay hostile if it can run toward you; if it has to teleport to get to you, it will become neutral. Only happens during the day.
- On rare occasions, if the player and an Enderman are on opposite sides of a large body of water and the Enderman turns hostile, it will stare back at the player like normal but will never attempt to get closer, even if the player is not staring back. It will continue staring at the player for a while until it suddenly disappears. (Not by teleporting, but by being completely erased. It will not drop any loot.)
- Endermen will rapidly teleport in a maniacal manner to avoid being hit by rain. If there is no areas for them to hide, they will teleport here and there until they finally die. At night, they can be seen flashing red and appearing all over the place.
- In Minecraft 1.0 Enderman sometimes teleport to the surface then immediately teleport away, probably because they got hit by lava or water somewhere in the underground.
- If you quit a game while being attacked by a hostile Enderman, and re-join the game, the Enderman will return to being neutral.
- Where ever the luminance level is 15, i.e. the Sun and Glowstone, If Endermen teleport they will become neutral.
- If caught with a fishing rod while neutral, an Enderman will remain neutral even after being pulled in, and switching to another item. The Enderman will become aggressive again only if it is hit by the player.
- When an Enderman picks up TNT, the TNT block's texture is inverted (Notice the "N" in TNT is reversed(??T)).
- If you fire an arrow at an Enderman who is in a mine cart, it will teleport away and reappear in the same mine cart. Also, at times it will turn red as if it had taken damage, but it will not die from arrow shots.
- ]])
- endermen.close()
- far_lands=fs.open("mem/redworks/minepedia/far lands","w")
- far_lands.write([[The Far Lands were the area that formed the "edge" of the "infinite" map in versions prior to Beta 1.8. The distance from the center of the Minecraft map to the beginning of the Far Lands, 12,550,820 meters, is about 31% of the circumference of the Earth at its equator. When players made it to the Far Lands, they would experience an excessive amount of lag and the terrain would be severely distorted. According to Notch, the distortion could be fixed, as it was in 1.8, resulting in the disappearance of the Far Lands (Using "The Nostalgia Project", a 1.0.0 Mod, you can restore them). A post on Notch's blog[1] indicates that this fix was accidental, and was probably an unintended side effect of the large changes in terrain generation for 1.8. In 1.8, instead of the Far Lands starting to generate at 12,550,820 meters from the center of the map, the playable abruptly ends at 30,000,000 meters, and fake chunks (they are not solid, they can be fallen through) start generating. A sure sign that one has reached the edge of the map is that lighting no longer works past the 30,000,000th mark. When the player flies about 34 blocks past this perimeter the game freezes and begins to jitter, the player cannot be seen in 3rd person mode and cannot move. There is no way to escape this and the player has to start a new world or edit their position in the level.dat file. Versions between Alpha 1.2.0 (Halloween Update) and Beta 1.7.3 rendered fake chunks outside of a limit of 32,000,000 meters; attempting to walk onto them would cause the player to die in the Void. From the beginning of Infdev all the way to the Halloween Update, the world abruptly ended at 32,000,000 meters, and leaving the boundary caused you to be stuck rather than die.
- Getting to the Far Lands: Getting to the Far Lands without the use of an external program would be a very difficult (or at least time consuming) task, as walking to there from the center of the map would take approximately 820 hours. Instead, a level.dat editor can be used to teleport the player there.
- The boundary between the normal map and the Far Lands (defined by when the map starts generating the distorted terrain) occurs at X/Z of �B112,550,821.
- The hard limit where chunks get overwritten is at X/Z of �B134,359,738,368, which is about 25% of the distance from the Earth to the Sun. At X/Z of �B12,147,483,648, (1/16th of the former distance), item positions, mob pathfinding and other things using 32-bit integers will overflow and act weird, usually resulting in Minecraft crashing.
- At X/Z of �B11.798�B710308, the position of the player, represented by a double-precision floating point number, will overflow.
- Using Single Player Commands, it is very easy to get to the Far Lands using teleportation. After pressing the chat key (default "T") to open up the console-like input window, using the "teleport" command (or its abbreviation, "t") followed by X, Y, and Z coordinates will allow the player to go wherever they want. For example:
- To get to the Edge Far Lands' wall, try "t 12550820 129 0". Make sure either flying is turned on or damage is turned off, as otherwise you'll fall to your death.
- To get to the Corner Far Lands (the walls' intersection), try "t 12550820 129 12550820". Again, make sure you're protected from fall damage.
- Unfortunately there will be severe lag, and slower computers may crash upon this teleportation. Opening a GUI will make the Far Lands render much, much faster. You can do this by pausing (pressing Escape) or opening the Single Player Commands prompt again. When you venture out farther above and into the far lands, the probability increases that a "bad chunk" will appear. A bad chunk is a chunk filled with terribly corrupt data, and is the cause of sudden lag spikes that can easily make minecraft crash.
- Alleviating lag in the Far Lands: If you're using Single Player Commands, you can get rid of the lag by using several commands, which include, but are not limited to:
- the killall command to kill all mobs which will be about 4000 per 20 seconds. This should be used at least thrice per minute to prevent severe lag from occurring.
- the drops command to stop blocks from dropping items, so gravel and sand that falls will not cause any lag.
- the light command to make all blocks as bright as possible so you can actually see the layers underneath the top layer. Also helps with framerate.
- This all will increase your framerate to a value close to what would be experienced in the "normal" world.
- If you don't want to use mods, you can also alleviate some of the lag by setting your game mode to peaceful via options menu.
- Geography of the Far Lands: Both areas of the Far Lands feature extremely strange terrain, although they are significantly different. In both zones, any area beneath sea level, excluding regular caves, will be flooded with water. The Far Lands' structure is dependent on the seed used for generating the map, although the general patterns remain the same. Beyond X/Z of �B132,000,000, chunks are treated as permanently nonexistent, and will not generate, even though they may appear to. This value is hardcoded in the source code of Minecraft. This means it cannot be changed unless Notch does it.
- The Far Lands will generate biomes but most biomes will be indistinguishable except by the color of the grass. Desert biomes will be covered in sand and snow-covered biomes will be covered with snow, excluding the top of the map (because there's no space for the snow cover up there). Trees will generate somewhat normally, but can only be found in the upper areas of the map due to the need for grass, but if you open Single Player Commands, the biome will always be Forest.
- Ores can be found up to their respective maximum heights just like in the normal world. Unfortunately, due to the flooding, everything except for coal is difficult, if not impossible, to acquire. In the solid areas of the Far Lands, normal caves will generate but will be limited and small. Along with the caves, dungeons (extremely rare) and lakes can be found in solid areas. Water and lava springs can be found out in the open and in caves.
- Much of the open space in both areas is shrouded in darkness and thus hostile mobs run rampant, making the Far Lands as a whole incredibly dangerous. This is especially problematic in the Corner Far Lands due to its layered structure. The flooded zones are filled with squid.
- In the Sky Dimension, the Far Lands are not half flooded with water and bedrock does not form at lower levels.
- Edge Far Lands: The boundary of the Far Lands Edge (that is, where it meets the regular map) looks like a solid wall, all the way to the top of the map (Y-coordinate 127) that is filled with gaping holes perpendicular to the edge. These holes are extremely long, perhaps infinite, and on the whole seem to change very little no matter how deep the player ventures. They can be blocked, either partially or completely, but such blockages are rare and temporary. This "wall of Swiss cheese" pattern continues beneath ground level, all the way to the bottom of the map, and seems to be partially caused by a large one-dimensional distortion in the map generator's output.
- Corner Far Lands: At a corner, when two perpendicular Edge Far Lands sections meet, the Corner Far Lands begin to generate. Unlike the infinite-length holes in the Edge Far Lands, the Corner Far Lands contains more normal terrain. This terrain is "stacked" on top of itself to create a bizarre sandwich with layers of ground and air, which gives it its nickname. Each layer looks like a gigantic floating continent, hovering over the next layer, which is shadowed.
- The majority of the generated world is Corner Far Lands, as the "normal" world (before 12,550,821) only makes the center of the world, and the Edge Far Lands only makes its continued sides.
- The number of layers isn't always the same, and varies between three to five. Layers can be grouped into three categories:
- The top layer. This layer exists at the absolute top of the map. Occasionally there can be a lower area that isn't shadowed (this is technically a dry layer). The lower area is where a majority of the trees and passive mobs can be found, as the top layer receives almost all of the sunlight. Due to the lack of space the area at the absolute top can't have trees or mobs.
- The dry layers. These generate slightly flatter than normal terrain and have grass, despite the darkness. At sea level massive floating beaches can be found, which will collapse if modified. Hostile mobs are very common here due to being in the shadow of the top layer. Rarely, there are holes in the top layer that allow sunlight to reach these layers. Caves that have one of these layers as their "surface" can occasionally be carved out of dirt instead of stone. These layers have cave-like ceilings made out of stone, gravel and dirt.
- The flooded layers. Like the dry layers, these generate somewhat flat terrain, but it is comprised primarily of stone. Sand and sandstone will show up down here, even up to 30 meters below sea level. Except for coal, all the ores can only be found in these layers.
- Sometimes there are extremely tall pillars of gravel that stretch from the ground to the ceiling of a layer. Likewise, some of the beaches that collapse will create pillars of sand all the way down to the ground, despite there not being that much sand to begin with. The Corner Far Lands is also prone to having near-perfect diagonal lines being carved into the ceilings or floors of layers. If traced, these lines all intersect at the corner (X/Z �B112,550,821). This seems similar to how the Edge Far Lands have a consistent pattern along lines perpendicular to their edge, but is much less pronounced.
- In the Nether: There are many effects that will be noticed after traveling millions of blocks away from the center of the map. The very first effect that will be noticed is the jumpy or stuttering movement of the map, which isn't directly related to the Far Lands themselves but instead to floating-point precision errors. This jumpy movement is notable even at X/Z of 250,000. Players will experience extreme framerate drops and very high CPU usage, which will continue until Minecraft freezes completely. The framerate drops do not occur in multiplayer servers, though it will, depending on the server computer's RAM, make the server itself lag. In both Single-Player and multiplayer, the intense lag that is characteristic of the Far Lands is caused by massive numbers of falling sand or gravel entities. This in turn is caused (like most of the rest of the Far Lands' strange effects) by more floating-point precision errors.
- As the player journeys even deeper into the Far Lands, the effects worsen to the point where the game is unplayable. At X/Z �B132,000,000,[2] block physics stop functioning correctly. Lighting doesn't work and the blocks, although they appear to be there, aren't solid. If the player tries to walk on these blocks, he or she will fall into the Void. Because of this, it's impossible to get even close to X/Z �B134,359,738,368 or �B12,147,483,648 without the assistance of editors or mods. At excessive X/Z positions, World Renderer no longer works, or takes incredibly long times and uses most, if not all CPU usage. It then becomes almost impossible to close Minecraft without the Task manager.
- Weather is not affected by the Far Lands directly but is by their terrain. Lightning bolts that hit surfaces at the top of the map (Y-coordinate 127) will be invisible and will not cause fire. The particles created when rain hits these surfaces will be black instead of blue. Snow will not accumulate on these surfaces either (because there's no space). As of Beta 1.6, these effects are unique to the Far Lands as it's impossible to artificially place solid blocks at layer 127.
- In beta 1.8 the strange terrain may be gone, but some of the effects aren't. After X/Z �B130,000,000 the world will start generating fake chunks. Going into the fake chunks will result in falling into the Void, and, subsequently, the player's death. If flying is used, going about 34 blocks out of the limit will cause you to be stuck, being able to use your inventory and look around, but not to move. Also, the clouds will act strangely, moving at abnormally high speeds. Reloading the save should fix the clouds, but the position glitch will still be present. Also, at excessive X/Z positions, particles (rain, water, snow, etc.) fail to appear staggered, instead forming rows of flat "panes". The Far Lands do not lag in 1.8. in 1.0.0 the fire of torches will be in/on a block next to it, instead of on the torch. In 1.0.0 explosion clouds look abnormaly big.
- The Nostalgia Project (aka No Biomes X) doesn't downgrade, but removes newer additions to the game, such as shearing, tall grass, and most importantly, new biome generation. It can change the way biomes form, so by making 1.7 biomes generate, it generates the Far Lands. All the same effects occur, there is no sprinting though, and there is twice as much lag as before.
- When Viewing the Far Lands in a Minecraft 3D map editor, you will encounter errors. In MCEdit, the selection cubes start to distort and the map distorts when viewing.
- Very little is known about the Far Lands of older versions of Minecraft for many reasons; they had no official name, and few knew of their existence. Fewer still tried to make them known to the world, and so they remained unknown. When Notch mentioned them on his blog[1] and gave them an official nickname, interest took hold.
- In Infdev, although the Far Lands existed, many of the side effects didn't. However, fire particles and doors would act strange. There was no lag or stuttering movement, and beyond X/Z �B132,000,000, the blocks would simply not render. Walking off the edge would cause the player to become stuck in a glitched position, unable to escape.[3][4]
- It has been confirmed that in Alpha v1.1.2, the blocks would not render beyond X/Z �B132,000,000, like older Infdev versions.[2] The fake chunks started appearing in Alpha 1.2.0, the Halloween Update.
- Trivia: The Far Lands spawn hostile mobs at a rate far higher than any natural chunk, due to the sheer amount of space in absolute darkness. In the Corner Far Lands, the spawn rate likely approaches the maximum possible because the stacked terrain works like a mob tower.
- The flat plane at the very top of the Corner Far Lands tends to light incorrectly in day-night transitions. This is because the sunlight calculation doesn't work when the entire chunk is blocked at Y-coordinate 127.
- Even traveling through the Nether, it would take 102 hours of walking in a straight line to get to the Far Lands.
- Entering a Portal which would take you to either world's Far Lands will cause Minecraft to crash. e.g. Building a portal at 2,000,000 in the Nether would take you to 16,000,000 in the Overworld, but this would cause a crash. The same cannot be done vice versa, because building a Portal which will take you to 12,000,000 in the Nether can only be done at X/Z of over 96,000,000 in the Overworld, that is, a distance 3 times greater than the point beyond which blocks can not be placed anymore.
- The Edge Far Lands' average block composition: 36% Stone, 25% Air, 23% Water, 10% Dirt/Grass, 2% Bedrock, and 4% others. (Based on a 14x14 chunk selection)
- The Corner Far Lands' average block composition: 40% Stone, 16% Air, 28% Water, 10% Dirt/Grass, 2% Bedrock, and 4% others. (Based on a 14x14 chunk selection)
- Even though Beta 1.6 made it impossible to place solid blocks at layer 127, the Far Lands' flat "ceiling" still gets generated there.
- Because of the debates over renaming Endermen to "Far Landers," Notch jokingly suggested to rename the Far Lands to The End instead.[5]
- Notch still hasn't confirmed if he will re-add the Far Lands to the game, since it's almost impossible to get there without hacks or Single Player Commands.
- Kurt ('kurtjmac' at "farlandsorbust"[1]) is attempting to walk to the Far Lands without any hacks, cheats or mods, documenting his progress on video at his website, and has been doing it as a fundraiser for Child's Play Charity for some time now. Because the Far Lands no longer exist as of the 1.8 Pre-release, the Minecraft world in which Kurt is walking to the Far Lands remains in version 1.7.3. As of November 12th, 2011, he is 2.33% of the way, having traveled 292202 blocks west, straying 15181 block North. Kurt has begun to encounter early graphical glitches associated with the Far Lands, such as "block-lag" (caused by floating-point precision errors).
- If you look VERY closely, you may notice jumpiness around x=80000, z=80000
- ]])
- far_lands.close()
- ghast=fs.open("mem/redworks/minepedia/ghast","w")
- ghast.write([[Ghasts are very large jellyfish-like mobs that float through the air and shoot fireballs from their mouths. Their bodies are 4 by 4 by 4 block cubes with 9 tentacle-like limbs hanging from the bottom. They first appeared in the Halloween Update. Ghasts are able to spawn anywhere in the Nether, as long as there is sufficient space (5*5*5 space is required to spawn) and the game is not in Peaceful mode.
- Behavior: Ghasts normally float around with their eyes and mouth closed and periodically make high-pitched, child-like sounds. They open their eyes and mouth when attacking. They make a chirp-like noise when shooting and scream loudly when taking damage. The sounds that Ghasts make have a minimum intensity regardless of their distance, so they often sound closer when they are actually far away. As of Beta 1.8.1, the Ghast will let out a death rattle upon being killed - similar to the death cries that Zombies and Spiders use when killed.
- Unlike most other aggressive mobs, the Ghast does not have a pursuit mode - it does not attempt to draw closer to the player when at long range (and likewise is not particularly likely to float away). Compared to other mobs, the Ghast has a very long search range and can target a player up to 100 blocks away.[1] When the player comes within about sixteen blocks, the Ghast will open range and attempt to gain altitude.
- Ghasts will not fire at the player without a line-of-sight - this can be blocked by Glass, Glass Panes, Leaves, Nether Portals, Vines, Iron Bars, both types of Fences, and Cobwebs - making safe scenic paths through the Nether a viable possibility. When not moving, Ghasts within firing range will face the player, giving the impression that they can see through transparent materials. Ghasts can draw a line-of-sight through curtains of lava, and their fireballs can pass through it meaning players near a pillar of lava can be struck without seeing the source. However, the Ghast can "cancel" its fireball while shooting if the player moves behind an obstruction or builds one.
- Ghasts may drop a Ghast Tear when killed, but this can be hard to collect - because it is a flying mob, the tear may fall into lava or an inaccessible area. Ghast tears are a positive potion ingredient, so Ghast tears are well worth obtaining.
- If shot at by a Ghast just try to hit the fireball back at the ghast, if you happen to hit the ghast it will die in one hit.
- Ghast Fireball: The Ghast's fireball attack has a straight trajectory unaffected by gravity and an unlimited or very long range limited in practice only by the confines of the Nether's caverns. Their explosions can often be heard without the impact being seen. At close range, it is the most powerful mob attack in Minecraft, along with the blast of a Creeper. A direct hit from point blank range will deal a full 10 hearts of damage but damage decreases with distance and is less if the player is simply caught in the blast radius. Additionally, the projectile is fairly slow and aims slightly above the player's head. When two Ghast fireballs collide, one is deflected to a random direction while the other explodes upon impact. Hitting a Ghast fireball with an item held in hand, an empty hand or a fired arrow will deflect the fireball back in the direction it came. Prior to Beta 1.9 Pre-releases, it looked like a flaming snowball. Now it uses the same texture as a Blaze fireball.
- If a Ghast's fireball hits a portal or hits close to it the portal will be closed,[2] requiring re-ignition. If the player manages to get a Ghast to fire at the portal while it is closed, it can be reignited using the fireball. Blocks originally ignited once struck, adding an extra hazard to fighting Ghasts; however, the fire is extinguished immediately afterwards because of a bug (fixed as of 1.9 pre 4.)
- The minimum block resistance required to absorb all blast force of the Ghast's fireballs is 20.17, meaning that fences and other blocks with low blast resistance will be destroyed in a fireball explosion.
- Fighting Ghasts:Ghasts are often considered the most difficult mob to kill in the nether owing to their extreme attack range, explosive attack power, mobility and flight. They are also quite common; players in any exposed area will have to deal with them sooner or later and possibly from the moment they step out of a portal. Ghast fireballs have a profound effect on Nether architecture, making a compelling case to use only materials resistant to their explosions for outer walls and exterior fittings in places where their fire may be drawn. As a result of their large size and the extreme unpleasantness of an indoor Ghast spawn, the primary defense mechanism for buildings in the Nether becomes enclosure rather than lighting. A Ghast's firepower is highly inaccurate at most ranges if one is moving. Players are most vulnerable when they are building in the Nether, when they may well not be moving and possibly standing above a long fall. Ghasts can also break blocks from under the player, often dropping them into lava or causing death through falling damage.
- If the a Ghast is trapped in a small room, the player can make a defensive wall, make the Ghast shoot, and the fireball will kill the Ghast.
- The player can reflect fireballs by hitting them with anything before they impact, even bare hands. Because of their low speed, spamming mouseclicks is often enough to deflect any given attack. It is possible to kill Ghasts by reflecting their attacks back at them, but it can be difficult since ghasts are agile and their hitbox is restricted to their tentacles. A reflected fireball is able to kill an unhurt ghast in one hit. You can make a fireball easily reflect in the direction you want by shooting an arrow, fishing rod, or snowball at the fireball. The fishing rod, when released, slightly affects the fireball's trajectory. This relationship goes both ways and a Ghast's constant stream of fireballs may well interfere with the firing arc of your bow.
- Most Ghast kills are made with a bow and arrows for obvious reasons but a Ghast can be killed with melee weapons if the player can get close enough before it draws away. Ghasts are highly vulnerable when caught on the ground since their attacks can be deflected and their health is quite low - 2 blows from a diamond sword will destroy one. It is possible to use a fishing rod to draw Ghasts near enough to hit them with a sword. A close Ghast is also much easier to hit with a bow, though reaction time against its fireballs is likewise lessened. When aiming your bow, be sure to lead your shots as Ghasts can quickly change trajectory and move quite quickly. Depending on the Ghast's range and relative altitude, it is usually necessary to also aim at a high trajectory to gain extra range. Where possible, having the advantage in altitude (such as shooting from the topmost layer of the Nether) is of enormous help. If ammunition is not a concern, it is advisable to shoot many arrows at differing trajectories in order to find the range to the Ghast. The Ghast's hitbox is mainly its tentacles, and aiming too high may cause a shot to go through the Ghast's body, dealing no damage. However, it is perfectly practical to shoot the hitbox through the ephemeral body from above using plunging fire.
- Much like using neutral or enemy mobs as shields against arrows fired by skeletons in the regular world, it is feasible to use zombie pigmen as shields against Ghasts in the Nether. It is possible to injure or kill zombie pigmen in this fashion without ever making them hostile to the player.
- An effective method of fighting Ghasts in the nether is to make a shelter, preferably out of brick, cobblestone, obsidian, or other explosion-resistant materials. Make a 1x1 hole in the roof and add ladders leading up to it, in such a way that you can poke the upper half of your body through the roof. When a Ghast is near, climb the ladder, shoot an arrow at the Ghast and quickly descend again into your explosion-proof shelter. This should mean that you can kill Ghasts easily with minimal health loss. To improve this even further, add a small 3x3 roof 1 block above the hole in the main roof. Most of the Ghasts' fireballs will now hit this roof rather than you, meaning that you should be safe against most Ghast attacks.
- To solve the issue of drops being impossible to reach, build a large floor to kill the Ghasts over. With a lot of extra time and cobblestone, a large structure with many floors, each tall enough for Ghasts to spawn inside of, can be built. This makes them very easy to farm, though it is very time and material intensive to make such a structure large enough for them to reliably spawn inside of.
- Since the Beta 1.9 Pre-release 3, Ghasts do full 10 hearts damage when a direct hit from a Fireball is taken. Inversely, this means that deflecting a Ghast's fireball against itself will kill it instantly.
- It will take a couple shots to kill a Ghast with a Bow or 2 hits from a diamond sword.
- Resistance to Fire: Ghasts may also be set on fire, but fire and lava don't actually damage them. A similar effect is seen with zombie pigmen. When a Ghast is caught in lava, its movement is impeded, and can then be easily targeted with arrows. At around 23:09 in this video, a Ghast impeded by a lavafall can be seen, and again, but closer and for a longer period of time, at 23:59.
- A ghast set on fire by lava (not the fall shown on the picture, but lava below, which was cropped out).It is disputed that Ghasts can be killed by lava or fire if continually re-exposed. This is achieved by a Ghast floating in and out of lava. There have been reports of zombie pigmen dying while in lava, due to the fact they "bob" in and out of lava,(a rumor about zombie pigman is that in the lava they gain fall damage which affects them when they exit the pool of lava.) which raises doubt that Ghasts and zombie pigmen are completely lava/fireproof.
- History: Ghasts were introduced in minecraft alpha 1.2.0 and was the first mob introduced to the nether as well as zombie pigman
- Ghasts used to be vulnerable to fire and lava, but since the Alpha 1.2.2 update, this bug has been fixed and they no longer get hurt when they come in contact with lava or fire.[3]
- Until Beta 1.7 Ghasts aimed at the camera, not the player, so by pressing F5, one could easily dodge their fireballs.
- Ghasts used to not be affected by light, and appeared with the same brightness anywhere, but this was changed in Beta 1.9 Pre-release.
- Since the Beta 1.8, Ghasts are more easily killed than in previous versions, due to the reworking of bow mechanics that came with the update.
- Since 1.9, Ghasts are one of the few mobs that will not turn aggressive in creative mode, even when you hit it.
- Since 1.9, Ghasts are killable by their own fireballs thus the achievement Return to sender.
- Trivia: as of 1.1 in .minecraft/resource/newsound/mob/ghast, ghasts have an affectionate scream, which is a high piched horn sound (like the classic cartoon tugboat sounds).
- In Creative Mode, you can go inside of a Ghast by falling through the top of it.
- Contrary to popular belief, ghasts were not given the ability to spawn near portals in the Overworld. It was suggested that Ghasts had a small chance of occurring near a Nether Portal[4], but this was not officially implemented as a feature.[5]
- Despite being fireproof, Ghasts and Zombie Pigmen are capable of drowning if under water or lava for too long. This means they, like the player and other mobs, require air to live.
- Ghasts can cause other mobs to attack it, but the Ghast will never target other mobs; it will only target the Player.
- It is possible to kill Zombie Pigmen by deflecting Ghasts' fireballs at them. It is also possible to deal a Critical hit on a fireball, since it is an entity.
- Prior to the full release of Minecraft, when a Ghast shot a fireball, it looked like a flaming snowball; it has since been updated with a new magma stone texture.
- Ghasts are the largest mob by volume - they are eight times as big as the largest variation of slime, but Enderdragons are longer.
- It is impossible to 'ride' a Ghast as the player will fall right through it.
- If a Ghast is trapped in a cube, it will shoot fireballs through the cube. This is because like all other things that shoot, it spawns the projectile one block in front of it.
- Due to the explosive property of Ghast fireballs, they can be used to mine blocks in the Nether.
- Ghasts (like all other flying mobs, including the Player in creative mode) can actually fly much higher than y-coordinate 128.
- Using a tool to spawn a mob riding a ghast will cause the mob to be inside the ghast, unless it's a giant.
- If hacked into the Overworld, Ghast's fireball can only destroy top layer blocks(grass, gravel, sand, etc...) and anything burnable such as wood and wooden planks
- Ghasts take damage from touching cacti.
- Similarly, for Ghasts on fire, the flame texture will enlarge on the Ghast.
- Some rooms in Nether Ruins are big enough for a Ghast to spawn in. However, this Ghast will likely be trapped, as there may not be an exit large enough for it to fit through.
- A Ghast's eyes appear to be full of tears, it is unknown why they are constantly crying/sobbing.
- Ghasts, even though they can fly, will not spawn above water if it is hacked into the Nether.
- If a Ghast is killed, any Fireball the Ghast has launched will disappear.
- Bugs: Sometimes, if there is a 1-4 space between a platform, they will be trapped, but will still be able to fire at you.
- Their hitbox data seems out of place. Objects will pass through the top of a Ghast, however, hitting its tentacles will hurt it.
- Arrows will sometimes pass through the Ghast during server lag in SMP.
- In SMP, their fireballs often move back and forth, similar to arrows. This is due to lag.
- If spawned in the Overworld (by using hacks) in a glass cage, they will float and stare at the player, but Ghasts will sometimes unexpectedly shoot a fireball in the direction of the player even though there is a glass barrier between them and a player. This bug appears to be absent in the Nether.
- A fireball will not disappear if in flight when switching to peaceful.
- Ghasts' explosions are less "connected" to them in SMP than in SSP. For this reason in SMP mobs damaged by a Ghast's fireballs will not attempt to attack the Ghast and Ghasts that are either spawned or follow a player into the surface world (see below) can become divorced from their explosions and become an essentially peaceful mob. Similarly, Ghast explosions can sometimes follow a player into the real world, without any nearby ghasts, but these normally only appear in the form of apparently random explosion noises not connected to actual damage causing explosions.
- When a player in an SMP server dies near Ghasts or is teleported out of the Nether to the surface world (not via a portal) there is a chance the Ghasts will follow them to their new location in the surface world. These Ghasts may act like normal Ghasts but could also behave radically differently than normal. Changes in teleported Ghasts include the Ghast-less explosions and Ghasts without explosions mentioned above. The teleported Ghast may also freeze in one location or "stalk" a certain player (moving closer to a player until they touch like a normal hostile mob) but both of these are extremely rare.
- Arrows used to look bigger when they were stuck on Ghasts but as of beta 1.9 pre release this no longer happens.
- Similarly, when a Ghast is on fire, the flame texture will be enlarged.
- It is possible to deflect a ghasts fireball with a fishing hook, which will cause your line to move with the deflected fireball.
- Sometimes, when the ghast is hit by an arrow (at full power/draw) at long range or while not in combat it will not die, though the arrow will still appear to become stuck in the ghast.
- Sometimes, attacking a Ghast may not make it attack you when you are at a range of 16 blocks or less.
- If you get too close and touch the ghast, it is so big that you will see yourself inside the ghast, and the body wall and the stubs of tentacles sticking out of the bottom
- ]])
- ghast.close()
- hell=fs.open("mem/redworks/minepedia/hell","w")
- hell.write([[The Nether is a different dimension existing in Minecraft worlds, first existing in Minecraft Alpha version 1.2.0 on October 30th, 2010 (The Minecraft Halloween Update).
- Accessible via Portal, it can be used for travelling large distances on the above ground map quickly. The Nether also contains Block types not seen anywhere else, as well as supplies of Block types found on the normal world, like Mushrooms, Gravel and Lava. The Nether is home to four Mobs: Ghasts, Magma Cubes, Blazes, and Zombie Pigmen. All of these mobs are only found in the nether with the exception of Zombie Pigmen which spawn in the overworld when a pig is struck by lightning.
- The Nether functions as a second map in a player's Minecraft World. When it is entered, the chunks from the above ground map are unloaded and the Nether chunks begin to load. Terrain generates infinitely here just like on the above ground map. If the player dies in the Nether, their items will stay there while the player respawns in the overworld.
- Terrain: The Nether's terrain is largely composed of netherrack, which is arranged into large, smooth outcroppings and niches; it is essentially a cave. There are patches of gravel and soul sand, as well as stalactites of glowstone hanging from the ceiling. Mushrooms grow abundantly in the Nether, and natural fires are a common sight. Small tunnels form in the netherrack, which contain no ores or hidden caverns. Nether fortresses can be found as well. These Nether fortresses are made up of nether brick, Nether Brick Stairs, nether brick fences and crops of nether wart. At the very bottom, beneath an ocean of lava, is a layer of Netherrack and bedrock. The very top of the Nether is similarly bedrock.
- Navigating the Nether can be very dangerous. The strange, dimly lit landscape conceals pits and sudden cliffs. Many lava streams flow from the ceilings, down the netherrack and into a lava ocean. If one dies near this lava or a patch of fire, it is a safe assumption that some of one's items will fall in and be burned.
- The sky and fog in the Nether are dull dark red. Thunderstorms can cause the shade to flicker quickly, a known bug.
- Environment: The Nether has no day/night cycle and no weather. The only natural sources of light are fire, lava, and glowstone. A dim ambient light can be seen throughout the Nether, but this is purely a visual effect and does not affect game mechanics. Contrary to some common myths, light works the same way in the Nether as it does in the Overworld: there are 16 levels of brightness and one level falls off for every block it radiates through.
- Plants with minimum light requirements, such as flowers and Netherwart, can be planted almost anywhere in the Nether, even in complete darkness, because they can technically "see the sky" from any location. The exception, due to a bug, is anywhere below natural veins of glowstone or below lava source blocks that appear naturally in cave walls. Plants at any level below these formations, even if seperated by other terrain, will uproot if not adequately lit.
- Blocks and Structures: Entries marked with a D require additional data to fully define the block in a Beta world. Entries marked with a T have tile entities associated with them to store additional data. Items with IDs in red cannot be legitimately obtained in the player's inventory in the game; they can only be obtained by "hacking" (such as the use of Inventory editors) or, in multi player using the /give server command. Items available only in Creative mode are in blue.
- Natural Blocks: Naturally Generated includes blocks that are created through the world seed.
- Icon Dec Hex Block type
- 00 00 Air
- 07 07 Bedrock
- 11 0B Lava (stationary) D
- 13 0D Gravel
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 115 73 Nether Wart D
- 51 33 Fire D
- 87 57 Netherrack
- 88 58 Soul Sand
- 89 59 Glowstone Block
- Naturally CreatedNaturally Created means a combination of events that cause a new block to be placed by natural causes, not the player.
- Icon Dec Hex Block type
- 00 00 Air
- 10 0A Lava (flowing) D
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 49 31 Obsidian
- 90 5A Portal
- Structures: Same as Naturally Generated, but these blocks will only be created with the "Generate Structures" option enabled. However, due to a bug, Nether Fortresses still generate even with "Generate Structures" set to "off".
- Icon Dec Hex Block type
- 00 00 Air
- 52 34 Monster Spawner T
- 112 70 Nether Brick
- 113 71 Nether Brick Fence
- 114 72 Nether Brick StairsD
- 115 73 Nether Wart D
- Nether Affected Materials:
- When Grass blocks are obtained using a tool with the "Silk Touch" enchantment, such as a shovel, and taken into the Nether, it becomes possible to have grass in the nether. Using Water Buckets will only cause the water to sizzle and leave steam. This makes growing Sugar Cane impossible since the plant requires water to survive. Wheat farms are also affected by this. They can survive without water, although they will grow much more slowly.
- Actual blocks of water can be placed in the Nether, but this requires Inventory Hacking or Map Editing. Blocks of Ice that have been hacked into the game, spawned via Creative Mode, or acquired through mods can be placed and broken to leave water blocks behind as well.
- Trees will grow normally, and their leaves will take a dead-looking brownish color, like in Desert biomes. However, they grow in odd formations and occasionally morph shapes when they are altered. This makes Nether-trees useful for traps or endless log harvesting on occasion. Trees are also hard to keep in the Nether because of the substantial amount of lava, which ignites them.
- It is always a good idea to bring paper down into the Nether, and then craft a map. Getting lost is easy and happens frequently. Compasses and Clocks can be brought in freely, but they will not work correctly. As the Nether is in a totally different dimension from the Overworld, Compasses will be unable to find the original spawn point, and Clocks cannot determine the position of the sun. Their arrows and dials will instead spin and flail madly. Maps made on the above ground dimension wont show the player's position in the other dimension. For Maps to display the Nether, they must be Crafted there. Beds will explode when a player attempts to sleep in one. This can be a useful strategy to quickly mine materials in the Nether, but only if the difficulty is set to peaceful.[1]
- Lava flows twice as far in the Nether than in the Overworld (generally 8 blocks, instead of 4 blocks).
- Mobs: The Nether is home to its own share of mobs.
- Ghasts, huge jellyfish-like creatures, will lazily hover around. They are 4�974�974 blocks large, and have 9 tentacles hanging from them. If they spot the player, they will spit flaming bombs at them, which can be deflected by shooting arrows at them, punching them or hitting them with any tool. The reflected fireballs will instantly kill the Ghast, if it is hit. These will explode and often leave craters, if the blast-site is weak enough. They make screeching and whimpering noises, something like a kitten or an angry baby, and can be heard for great distances.
- Zombie Pigmen spawn in groups and wander aimlessly. They will not harm the player unless attacked. If they are, all the Pigmen within a 32 block radius rush the player, often causing ambushes from behind as the player attempts to attack while fleeing.
- Blazes are able to float and shoot 3 fireballs at the player in a quick succession. They appear to catch fire just before shooting said fireballs, then "cool down" until they can shoot again.
- Magma Cubes are spring-like mobs that slowly hop towards the player. If killed, they split into 2-3 smaller versions of the original one. Magma Cubes are occasinally rare.
- Nether mobs are completely fire-proof and can often be seen wandering into lava, where it will take them a while to get out due to the slowdown it causes on movement.
- Normal World Mobs like Pigs and Zombies will not spawn in the Nether. Chickens can be forced to spawn there if they hatch from a thrown Egg, however, but they will not spawn naturally afterward. Squid will spawn in large amounts in any hacked body of Water due to the fact that the water is the only suitable place in the whole map. Creative mode mob spawning eggs still work in the nether, so if you reach the nether in creative mode, you may have every mob.
- Portals and Fast Travel: Nether Portals are made by creating a 4x5 (2x3 on inside) door frame out of Obsidian and then lighting the inside of the frame on fire with Flint and Steel or a Ghast's fireball. When you stand inside the portal for the first time, it will create a portal in its equivalent area of The Nether. A loading screen will appear during the change of worlds.
- If you create a portal in the Nether and re-enter the normal world, any distance covered in The Nether is multiplied by 8, effectively making The Nether a fast travel zone that allows for greater distances to be covered in a short amount of time in the normal world. Linking a network of portals between the Nether and the Overworld can be tricky though. See the Nether Portal page for the precise details of how this can be done.
- Due to Ghasts, it is recommended that players enclose their portals with a blast-resistant material (Cobblestone is cheap and effective). This will prevent Ghasts from being able to hit the portal and shut it down. Optionally, the player can choose to carry a Flint and Steel with them in case this happens, or just trick a Ghast into shooting the portal again, therefore effectively re-activating the portal.
- It is not possible to get to the Nether via The End.
- History: The Nether was one of the key features to be added in the Minecraft Halloween Update, and was announced on October 4th, 2010. This announcement stated that there would be a "hell world" that could be used for fast travel. It hinted it would utilize Portals and that distance travelled inside the would be multiplied greatly on the map above ground. On October 10, a screenshot was released by Notch depicting what the Nether would look like. With the rest of the Halloween Update's features, the Nether was released on October 30.
- In the original announcement, Notch mentioned "a brand new Hell world." When the preview was sent out on 29 October 2010 to a couple of gaming websites, the new dimension was called the Slip to avoid offending religions and to have a more original name. It was referred to as 'The Nexus' on his personal blog. It was finally changed to ?0�the Nether?0� on the day of the Halloween update release.
- Along with the Nether, Ghasts, Zombie Pigmen, Netherrack, Soul Sand, Glowstone and Portals were added. On November 10th, Lava was made to flow farther than it did on the Overworld.
- There was a glitch where The Nether was a Biome. This was fixed in an unknown update.
- In Beta 1.6, Portals were made to function properly in multi player, allowing players in servers to warp between the Overworld and the Nether.[2] 1.6 also fixed a bug where the player could have menus open while inside Portals. When warping, the text on screen would appear totally grey.
- In Beta 1.6.2 Beds in the Nether were made to explode if used. This can be used as a mining technique.
- With the "Silk Touch" enchantment in the 1.9 pre-release 4, it was possible to legitimately obtain grass and water using ice in the Nether. Because passive mobs and squids will spawn in the only place available, it was possible to use this to control the spawning, which allowed the player to make highly efficient passive mob grinder, something extremely difficult to do in the overworld since animals stopped despawning in 1.8. The ability to pick up ice blocks with the enchantment was removed in a later version . Water also made Nether mob grinders easier as it can transport items without burning them as well as drown Nether mobs that are immune to lava, such as magma cubes and zombie pigmen.
- In Minecraft 1.0.0, many new things were added to the Nether:
- Magma Cubes
- Blazes and Blaze spawners
- Nether Fortresses and the blocks they are made of
- Nether Wart
- Ghast Tears dropped by Ghasts
- File Save Location: The Nether is saved in the same way normal worlds are, but instead of mixing the world files inside the save folder, the files for Nether are stored in %appdata%/.minecraft/saves/Worldname/DIM-1 (on Windows), whereas normal world files in %appdata%/.minecraft/saves/Worldname. Note that DIM-1 does not contain its own level.dat, as the same level.dat in the upper folder is used for both Overworld and Nether. This means that even if a player changes the level data in the /world folder for a particular save, Nether portals will still take the player to the Nether world originally generated for that save.
- ]])
- hell.close()
- hellslime=fs.open("mem/redworks/minepedia/hellslime","w")
- hellslime.write([[Magma Cubes are hostile mobs found around The Nether. When killed, they release 2-4 smaller versions of themselves in addition to Experience Orbs, similar to Slimes. When they move, they jump up and momentarily unravel into several layers, giving them the appearance of a spring and revealing a molten lava core inside. They are slowed by and sink in lava, but do not drown in it.
- Behavior: In their passive state, Magma Cubes move slowly, jumping forward every two seconds or so. Upon spotting a player, magma cubes will jump towards them more quickly, but the player can still outrun them. It seems that Magma Cubes try to eat the player. Also, they will try to damage the player by jumping directly on top of you. However, they cannot damage other mobs like this.
- History: Magma cubes were first seen in Minecraft 1.9 Beta Pre-Release 1. They were also added in the full release of Minecraft.
- Prior to Minecraft 1.0 RC1, Magma Cubes did not make sounds.
- Trivia: Magma Cubes cannot swim in lava, only jump along the bottom. Thus, they can get trapped in deep lava, although they will not drown.
- Magma Cubes seem to be the Nether equivalent of Slimes. Although they appear similar, the components of their texture files are quite different.
- Contrary to popular belief, Magma Cubes are actually less abundant in the Nether Fortresses than in the rest of the Nether due to fewer large flat surfaces to spawn on.
- Every Magma Cube size drops experience orbs, not only the smallest cube. This means that killing a huge cube and all its spawnlings would grant the player 28 experience, as opposed to 5 experience of other hostile mobs.
- Despite trying, Magma Cubes are unable to jump in water, although they can move around. They will drown if completely submerged.
- Unlike tiny slimes, tiny Magma Cubes can still hurt the player.
- Unlike Slimes, which are rare and only appear below layer 40 in certain chunks of the normal world, Magma Cubes can appear anywhere in the Nether.
- Magma cubes are often found in lava, since they are unaffected by it.
- Like Slimes, when a magma cube is not chasing the player it will hop in one direction.
- Magma cubes can be spawned in the overworld if a spawner is hacked to spawn them. They do not require netherrack.
- It seems that Magma cubes (or at least tiny ones) can only damage you using their bottom side.
- Magma cubes do not seem to take fall damage. A large has been witnessed to fall from a ledge that would normally be deadly, yet take no damage. This may be due to their large jumping height.
- Bugs: Magma Cubes do not seem to use their spring-like jump effect in multiplayer.
- They also seem to frequently glitch through walls, ceilings, and floors, to attack players on the other side; dropping down through the solid roof of a tunnel, for example, then glitching back up to the roof out of sword reach. Or they will lunge out through the walls of a tower while a player is descending via a gravel pillar, and push them off said pillar without causing attack damage. They also seem to sink into Soul Sand, being invulnerable while merged inside a Soul Sand block, yet being able to jump up and attack from inside their protective glitch.
- ]])
- hellslime.close()
- herobrine=fs.open("mem/redworks/minepedia/herobrine","w")
- herobrine.write([[Herobrine is the subject of a community-made "creepy-pasta". He is a human entity, but with white eyes, and often seen as a dead miner.
- The Story Behind Herobrine: Herobrine creates random constructions, such as pyramids and long 2-block-high tunnels. He also burns down, or cut off leaves from trees, and creates cobblestone-complexes underground, much like dungeons, lit with redstone torches. He often appears at the edge of fog, in a tiny render distance.
- Variations: There are many variations of Herobrine's behaviour, but they usually fall under two categories.
- The stalker version of Herobrine is Notch's brother, who stalks the player, disappearing if approached.
- The miner version of Herobrine is a vengeful miner that tries to ensnare the player in traps, presumably to steal their items. He waits for people to enter his dungeons, then either seals them inside, or "teleports" behind them, presumably killing them. Some variations of this particular version says he breaks the player's creations, and steals their items from chests.
- Origins and Popularity: Herobrine first appeared in a single image detailing an encounter. It was posted on a thread in the forums, and gained very little attention. It stated how Herobrine had appeared in someone's single-player game, littering the map with various pyramids and tunnels.
- It was only later that Herobrine grew in popularity, when the Brocast staff staged a hoax in one of their live-streams. Herobrine was introduced to the stream here (at 20:45).
- Later on, there was another video showing Herobrine in a user-made lava field. The livestream went down after the player ran and saved, only to resume ten minutes later, where Herobrine had disappeared.
- During this stream, the player can be heard talking to his wife, stating he was trolling, which flooded the livestream chat with outrage. The player then faked a game crash.
- During this crash, all watchers were redirected to another page, featuring Herobrine's face, but with real, frantically rolling eyes in the place of his block eyes, modified to be completely black.
- When viewing the page's source, there were a jumble of characters and letters. after removing all non-alphabet characters, the following message was revealed.
- It has been reported that some victims of torture, during the act, would retreat into a fantasy world from which they could not WAKE UP. In this catatonic state, the victim lived in a world just like their normal one, except they weren't being tortured. The only way that they realized they needed to WAKE UP was a note they found in their fantasy world. It would tell them about their condition, and tell them to WAKE UP. Even then, it would often take months until they were ready to discard their fantasy world and PLEASE WAKE UP.
- The message keeps telling the viewer to "wake up", implying they're living in a fantasy world, and this text hidden in the page is their "note".
- It is widely believed all of his appearances in the stream and outside are retextured paintings, retextured iron doors or other players, albeit with the name tag removed above their head.
- Since then, there has been a huge increase in his popularity, propelling Herobrine to meme status, making moderators of the wiki and forums need to take extra steps to stem the flow of user-made spam.
- Future Update: Notch posted on twitter about the subject of Herobrine, early in his popularity boost.
- RavenBurga Is "he" a real entity ingame or is it just a successful_troll.swf?
- Notch It's not real. =) But it might be soon!
- This confirmed there was no Herobrine, but suggested Notch planned to add him at a later date.
- At Minecraftcon 2010, Notch confirmed Herobrine will be in the game, probably in a "seecret friday update".
- Due to increased drama surrounding the Herobrine page, a wiki moderator asked notch over IRC if Herobrine would be added:
- 12:25 Kizzycocoa [...] is there any confirmation on his upcoming existence in MC?
- 12:27 Notch i have no plans of adding herobrine as is, but I do like the rumors, haha
- This shows Notch has decided against adding Herobrine. However, the fact that "as is" suggested that something like Herobrine may be added, fuelling beliefs he will be added even further. So, once again, the same user asked for clarification
- 8:09 AM Oct 20th Kizzycocoa [...] the entire community is getting frustrated by the hero-spam
- 8:56 AM Oct 20th Notch i have no plans of adding herobrine.[2]
- ]])
- herobrine.close()
- ids=fs.open("mem/redworks/minepedia/ids","w")
- ids.write([[These data values refer to the different types of blocks and items. They are used in many, many places in Minecraft. Block IDs are used to define blocks placed in the world and inventory items (including items in chests and items dropped in the world). Item IDs are only valid for items. Each inventory slot has a unique slot number. In a Beta world, Block data further defines blocks placed, describing for example the height of water or the direction a torch points.
- Icon Dec Hex Block type
- 00 00 Air
- 01 01 Stone
- 02 02 Grass
- 03 03 Dirt
- 04 04 Cobblestone
- 05 05 Wooden Planks
- 06 06 Saplings D B
- 07 07 Bedrock
- 08 08 Water D
- 09 09 Stationary water D
- 10 0A Lava D
- 11 0B Stationary lava D
- 12 0C Sand
- 13 0D Gravel
- 14 0E Gold Ore
- 15 0F Iron Ore
- 16 10 Coal Ore
- 17 11 Wood D B
- 18 12 Leaves D B
- 19 13 Sponge
- 20 14 Glass
- 21 15 Lapis Lazuli Ore
- 22 16 Lapis Lazuli Block
- 23 17 Dispenser D T
- 24 18 Sandstone
- 25 19 Note Block T
- 26 1A Bed D I
- 27 1B Powered Rail D
- 28 1C Detector Rail D
- 29 1D Sticky Piston D
- 30 1E Cobweb
- 31 1F Tall Grass D
- Icon Dec Hex Block type
- 32 20 Dead Bush
- 33 21 Piston D
- 34 22 Piston Extension D
- 35 23 Wool D B
- 36 24 Block moved by Piston T
- 37 25 Dandelion
- 38 26 Rose
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 41 29 Block of Gold
- 42 2A Block of Iron
- 43 2B Double Slabs D B
- 44 2C Slabs D B
- 45 2D Bricks
- 46 2E TNT
- 47 2F Bookshelf
- 48 30 Moss Stone
- 49 31 Obsidian
- 50 32 Torch D
- 51 33 Fire D
- 52 34 Monster Spawner T
- 53 35 Wooden Stairs D
- 54 36 Chest D T
- 55 37 Redstone Wire D I
- 56 38 Diamond Ore
- 57 39 Block of Diamond
- 58 3A Crafting Table
- 59 3B Wheat Seeds D
- 60 3C Farmland D
- 61 3D Furnace D T
- 62 3E Burning Furnace D T
- 63 3F Sign Post D I T
- Icon Dec Hex Block type
- 64 40 Wooden Door D I
- 65 41 Ladders D
- 66 42 Rails D
- 67 43 Cobblestone Stairs D
- 68 44 Wall Sign D T
- 69 45 Lever D
- 70 46 Stone Pressure Plate D
- 71 47 Iron Door D I
- 72 48 Wooden Pressure Plate D
- 73 49 Redstone Ore
- 74 4A Glowing Redstone Ore
- 75 4B Redstone Torch ("off" state) D
- 76 4C Redstone Torch ("on" state) D
- 77 4D Stone Button D
- 78 4E Snow D
- 79 4F Ice
- 80 50 Snow Block
- 81 51 Cactus D
- 82 52 Clay Block
- 83 53 Sugar Cane D I
- 84 54 Jukebox D T
- 85 55 Fence
- 86 56 Pumpkin D
- 87 57 Netherrack
- 88 58 Soul Sand
- 89 59 Glowstone Block
- 90 5A Portal
- 91 5B Jack-O-Lantern D
- 92 5C Cake Block D I
- 93 5D Redstone Repeater ("off" state) D I
- 94 5E Redstone Repeater ("on" state) D I
- 95 5F Locked Chest
- Icon Dec Hex Block type
- 96 60 Trapdoor D
- 97 61 Hidden Silverfish D
- 98 62 Stone Bricks D B
- 99 63 Huge Brown Mushroom D
- 100 64 Huge Red Mushroom D
- 101 65 Iron Bars
- 102 66 Glass Pane
- 103 67 Melon
- 104 68 Pumpkin Stem D
- 105 69 Melon Stem D
- 106 6A Vines D
- 107 6B Fence Gate D
- 108 6C Brick Stairs D
- 109 6D Stone Brick Stairs D
- 110 6E Mycelium
- 111 6F Lily Pad
- 112 70 Nether Brick
- 113 71 Nether Brick Fence
- 114 72 Nether Brick Stairs D
- 115 73 Nether Wart D I
- 116 74 Enchantment Table T
- 117 75 Brewing Stand D T I
- 118 76 Cauldron D I
- 119 77 End Portal T
- 120 78 End Portal Frame D
- 121 79 End Stone
- 122 7A Dragon Egg
- Item IDs All items have values above 255, making it easy to separate the Block IDs from the Item IDs. Entries marked with a D require additional data to fully define the item in a Beta world. The chainmail set is currently unobtainable in Survival mode without hacking or, in multiplayer, the /give server command. It is available in Creative mode, however. The same applies to all music discs except for 13 and cat.
- Icon Dec Hex Item
- 256 100 Iron Shovel
- 257 101 Iron Pickaxe
- 258 102 Iron Axe
- 259 103 Flint and Steel
- 260 104 Red Apple
- 261 105 Bow
- 262 106 Arrow
- 263 107 Coal D
- 264 108 Diamond
- 265 109 Iron Ingot
- 266 10A Gold Ingot
- 267 10B Iron Sword
- 268 10C Wooden Sword
- 269 10D Wooden Shovel
- 270 10E Wooden Pickaxe
- 271 10F Wooden Axe
- 272 110 Stone Sword
- 273 111 Stone Shovel
- 274 112 Stone Pickaxe
- 275 113 Stone Axe
- 276 114 Diamond Sword
- 277 115 Diamond Shovel
- 278 116 Diamond Pickaxe
- 279 117 Diamond Axe
- 280 118 Stick
- 281 119 Bowl
- 282 11A Mushroom Soup
- 283 11B Gold Sword
- 284 11C Gold Shovel
- 285 11D Gold Pickaxe
- 286 11E Gold Axe
- 287 11F String
- Icon Dec Hex Item
- 288 120 Feather
- 289 121 Gunpowder
- 290 122 Wooden Hoe
- 291 123 Stone Hoe
- 292 124 Iron Hoe
- 293 125 Diamond Hoe
- 294 126 Gold Hoe
- 295 127 Seeds
- 296 128 Wheat
- 297 129 Bread
- 298 12A Leather Cap
- 299 12B Leather Tunic
- 300 12C Leather Pants
- 301 12D Leather Boots
- 302 12E Chain Helmet
- 303 12F Chain Chestplate
- 304 130 Chain Leggings
- 305 131 Chain Boots
- 306 132 Iron Helmet
- 307 133 Iron Chestplate
- 308 134 Iron Leggings
- 309 135 Iron Boots
- 310 136 Diamond Helmet
- 311 137 Diamond Chestplate
- 312 138 Diamond Leggings
- 313 139 Diamond Boots
- 314 13A Gold Helmet
- 315 13B Gold Chestplate
- 316 13C Gold Leggings
- 317 13D Gold Boots
- 318 13E Flint
- 319 13F Raw Porkchop
- Icon Dec Hex Item
- 320 140 Cooked Porkchop
- 321 141 Paintings
- 322 142 Golden Apple
- 323 143 Sign
- 324 144 Wooden door
- 325 145 Bucket
- 326 146 Water bucket
- 327 147 Lava bucket
- 328 148 Minecart
- 329 149 Saddle
- 330 14A Iron door
- 331 14B Redstone
- 332 14C Snowball
- 333 14D Boat
- 334 14E Leather
- 335 14F Milk
- 336 150 Clay Brick
- 337 151 Clay
- 338 152 Sugar Cane
- 339 153 Paper
- 340 154 Book
- 341 155 Slimeball
- 342 156 Minecart with Chest
- 343 157 Minecart with Furnace
- 344 158 Egg
- 345 159 Compass
- 346 15A Fishing Rod
- 347 15B Clock
- 348 15C Glowstone Dust
- 349 15D Raw Fish
- 350 15E Cooked Fish
- 351 15F Dye D
- Icon Dec Hex Item
- 352 160 Bone
- 353 161 Sugar
- 354 162 Cake
- 355 163 Bed
- 356 164 Redstone Repeater
- 357 165 Cookie
- 358 166 Map
- 359 167 Shears
- 360 168 Melon Slice
- 361 169 Pumpkin Seeds
- 362 16A Melon Seeds
- 363 16B Raw Beef
- 364 16C Steak
- 365 16D Raw Chicken
- 366 16E Cooked Chicken
- 367 16F Rotten Flesh
- 368 170 Ender Pearl
- 369 171 Blaze Rod
- 370 172 Ghast Tear
- 371 173 Gold Nugget
- 372 174 Nether Wart
- 373 175 Potions D
- 374 176 Glass Bottle
- 375 177 Spider Eye
- 376 178 Fermented Spider Eye
- 377 179 Blaze Powder
- 378 17A Magma Cream
- 379 17B Brewing Stand
- 380 17C Cauldron
- 381 17D Eye of Ender
- 382 17E Glistering Melon
- 383 17F Spawner Egg D
- Icon Dec Hex Item
- 2256 8D0 13 Disc
- 2257 8D1 Cat Disc
- 2258 8D2 blocks Disc
- 2259 8D3 chirp Disc
- 2260 8D4 far Disc
- 2261 8D5 mall Disc
- 2262 8D6 mellohi Disc
- 2263 8D7 stal Disc
- 2264 8D8 strad Disc
- 2265 8D9 ward Disc
- 2266 8DA 11 Disc
- Entity IDs Icon Dec Hex Entity
- Drops
- 1 01 Dropped item
- 2 02 Experience Orb
- Projectiles
- 10 0A Shot arrow
- 11 0B Thrown snowball
- 12 0C Ghast fireball
- 13 0D Blaze fireball
- 14 0E Thrown Ender Pearl
- 15 0F Thrown Eye of Ender
- Blocks
- 20 14 Primed TNT
- 21 15 Falling block (gravel, sand)
- Vehicles
- 40 28 Minecart
- 41 29 Boat
- Icon Dec Hex Entity
- Hostile mobs
- 50 32 Creeper
- 51 33 Skeleton
- 52 34 Spider
- 53 35 Giant
- 54 36 Zombie
- 55 37 Slime
- 56 38 Ghast
- 57 39 Zombie Pigman
- 58 3A Enderman
- 59 3B Cave Spider
- 60 3C Silverfish
- 61 3D Blaze
- 62 3E Magma Cube
- 63 3F Enderdragon
- Icon Dec Hex Entity
- Passive mobs
- 90 5A Pig
- 91 5B Sheep
- 92 5C Cow
- 93 5D Chicken
- 94 5E Squid
- 95 5F Wolf
- 96 60 Mooshroom
- 97 61 Snow Golem
- NPCs
- 120 78 Villager
- Other
- 200 C8 Ender Crystal
- Icon Dec Hex Block type
- 00 00 Air
- 01 01 Stone
- 02 02 Grass
- 03 03 Dirt
- 04 04 Cobblestone
- 05 05 Wooden Planks
- 06 06 Saplings D B
- 07 07 Bedrock
- 08 08 Water D
- 09 09 Stationary water D
- 10 0A Lava D
- 11 0B Stationary lava D
- 12 0C Sand
- 13 0D Gravel
- 14 0E Gold Ore
- 15 0F Iron Ore
- 16 10 Coal Ore
- 17 11 Wood D B
- 18 12 Leaves D B
- 19 13 Sponge
- 20 14 Glass
- 21 15 Lapis Lazuli Ore
- 22 16 Lapis Lazuli Block
- 23 17 Dispenser D T
- 24 18 Sandstone
- 25 19 Note Block T
- 26 1A Bed D I
- 27 1B Powered Rail D
- 28 1C Detector Rail D
- 29 1D Sticky Piston D
- 30 1E Cobweb
- 31 1F Tall Grass D
- Icon Dec Hex Block type
- 32 20 Dead Bush
- 33 21 Piston D
- 34 22 Piston Extension D
- 35 23 Wool D B
- 36 24 Block moved by Piston T
- 37 25 Dandelion
- 38 26 Rose
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 41 29 Block of Gold
- 42 2A Block of Iron
- 43 2B Double Slabs D B
- 44 2C Slabs D B
- 45 2D Bricks
- 46 2E TNT
- 47 2F Bookshelf
- 48 30 Moss Stone
- 49 31 Obsidian
- 50 32 Torch D
- 51 33 Fire D
- 52 34 Monster Spawner T
- 53 35 Wooden Stairs D
- 54 36 Chest D T
- 55 37 Redstone Wire D I
- 56 38 Diamond Ore
- 57 39 Block of Diamond
- 58 3A Crafting Table
- 59 3B Wheat Seeds D
- 60 3C Farmland D
- 61 3D Furnace D T
- 62 3E Burning Furnace D T
- 63 3F Sign Post D I T
- Icon Dec Hex Block type
- 64 40 Wooden Door D I
- 65 41 Ladders D
- 66 42 Rails D
- 67 43 Cobblestone Stairs D
- 68 44 Wall Sign D T
- 69 45 Lever D
- 70 46 Stone Pressure Plate D
- 71 47 Iron Door D I
- 72 48 Wooden Pressure Plate D
- 73 49 Redstone Ore
- 74 4A Glowing Redstone Ore
- 75 4B Redstone Torch ("off" state) D
- 76 4C Redstone Torch ("on" state) D
- 77 4D Stone Button D
- 78 4E Snow D
- 79 4F Ice
- 80 50 Snow Block
- 81 51 Cactus D
- 82 52 Clay Block
- 83 53 Sugar Cane D I
- 84 54 Jukebox D T
- 85 55 Fence
- 86 56 Pumpkin D
- 87 57 Netherrack
- 88 58 Soul Sand
- 89 59 Glowstone Block
- 90 5A Portal
- 91 5B Jack-O-Lantern D
- 92 5C Cake Block D I
- 93 5D Redstone Repeater ("off" state) D I
- 94 5E Redstone Repeater ("on" state) D I
- 95 5F Locked Chest
- Icon Dec Hex Block type
- 96 60 Trapdoor D
- 97 61 Hidden Silverfish D
- 98 62 Stone Bricks D B
- 99 63 Huge Brown Mushroom D
- 100 64 Huge Red Mushroom D
- 101 65 Iron Bars
- 102 66 Glass Pane
- 103 67 Melon
- 104 68 Pumpkin Stem D
- 105 69 Melon Stem D
- 106 6A Vines D
- 107 6B Fence Gate D
- 108 6C Brick Stairs D
- 109 6D Stone Brick Stairs D
- 110 6E Mycelium
- 111 6F Lily Pad
- 112 70 Nether Brick
- 113 71 Nether Brick Fence
- 114 72 Nether Brick Stairs D
- 115 73 Nether Wart D I
- 116 74 Enchantment Table T
- 117 75 Brewing Stand D T I
- 118 76 Cauldron D I
- 119 77 End Portal T
- 120 78 End Portal Frame D
- 121 79 End Stone
- 122 7A Dragon Egg
- Item IDs All items have values above 255, making it easy to separate the Block IDs from the Item IDs. Entries marked with a D require additional data to fully define the item in a Beta world. The chainmail set is currently unobtainable in Survival mode without hacking or, in multiplayer, the /give server command. It is available in Creative mode, however. The same applies to all music discs except for 13 and cat.
- Icon Dec Hex Item
- 256 100 Iron Shovel
- 257 101 Iron Pickaxe
- 258 102 Iron Axe
- 259 103 Flint and Steel
- 260 104 Red Apple
- 261 105 Bow
- 262 106 Arrow
- 263 107 Coal D
- 264 108 Diamond
- 265 109 Iron Ingot
- 266 10A Gold Ingot
- 267 10B Iron Sword
- 268 10C Wooden Sword
- 269 10D Wooden Shovel
- 270 10E Wooden Pickaxe
- 271 10F Wooden Axe
- 272 110 Stone Sword
- 273 111 Stone Shovel
- 274 112 Stone Pickaxe
- 275 113 Stone Axe
- 276 114 Diamond Sword
- 277 115 Diamond Shovel
- 278 116 Diamond Pickaxe
- 279 117 Diamond Axe
- 280 118 Stick
- 281 119 Bowl
- 282 11A Mushroom Soup
- 283 11B Gold Sword
- 284 11C Gold Shovel
- 285 11D Gold Pickaxe
- 286 11E Gold Axe
- 287 11F String
- Icon Dec Hex Item
- 288 120 Feather
- 289 121 Gunpowder
- 290 122 Wooden Hoe
- 291 123 Stone Hoe
- 292 124 Iron Hoe
- 293 125 Diamond Hoe
- 294 126 Gold Hoe
- 295 127 Seeds
- 296 128 Wheat
- 297 129 Bread
- 298 12A Leather Cap
- 299 12B Leather Tunic
- 300 12C Leather Pants
- 301 12D Leather Boots
- 302 12E Chain Helmet
- 303 12F Chain Chestplate
- 304 130 Chain Leggings
- 305 131 Chain Boots
- 306 132 Iron Helmet
- 307 133 Iron Chestplate
- 308 134 Iron Leggings
- 309 135 Iron Boots
- 310 136 Diamond Helmet
- 311 137 Diamond Chestplate
- 312 138 Diamond Leggings
- 313 139 Diamond Boots
- 314 13A Gold Helmet
- 315 13B Gold Chestplate
- 316 13C Gold Leggings
- 317 13D Gold Boots
- 318 13E Flint
- 319 13F Raw Porkchop
- Icon Dec Hex Item
- 320 140 Cooked Porkchop
- 321 141 Paintings
- 322 142 Golden Apple
- 323 143 Sign
- 324 144 Wooden door
- 325 145 Bucket
- 326 146 Water bucket
- 327 147 Lava bucket
- 328 148 Minecart
- 329 149 Saddle
- 330 14A Iron door
- 331 14B Redstone
- 332 14C Snowball
- 333 14D Boat
- 334 14E Leather
- 335 14F Milk
- 336 150 Clay Brick
- 337 151 Clay
- 338 152 Sugar Cane
- 339 153 Paper
- 340 154 Book
- 341 155 Slimeball
- 342 156 Minecart with Chest
- 343 157 Minecart with Furnace
- 344 158 Egg
- 345 159 Compass
- 346 15A Fishing Rod
- 347 15B Clock
- 348 15C Glowstone Dust
- 349 15D Raw Fish
- 350 15E Cooked Fish
- 351 15F Dye D
- Icon Dec Hex Item
- 352 160 Bone
- 353 161 Sugar
- 354 162 Cake
- 355 163 Bed
- 356 164 Redstone Repeater
- 357 165 Cookie
- 358 166 Map
- 359 167 Shears
- 360 168 Melon Slice
- 361 169 Pumpkin Seeds
- 362 16A Melon Seeds
- 363 16B Raw Beef
- 364 16C Steak
- 365 16D Raw Chicken
- 366 16E Cooked Chicken
- 367 16F Rotten Flesh
- 368 170 Ender Pearl
- 369 171 Blaze Rod
- 370 172 Ghast Tear
- 371 173 Gold Nugget
- 372 174 Nether Wart
- 373 175 Potions D
- 374 176 Glass Bottle
- 375 177 Spider Eye
- 376 178 Fermented Spider Eye
- 377 179 Blaze Powder
- 378 17A Magma Cream
- 379 17B Brewing Stand
- 380 17C Cauldron
- 381 17D Eye of Ender
- 382 17E Glistering Melon
- 383 17F Spawner Egg D
- Icon Dec Hex Item
- 2256 8D0 13 Disc
- 2257 8D1 Cat Disc
- 2258 8D2 blocks Disc
- 2259 8D3 chirp Disc
- 2260 8D4 far Disc
- 2261 8D5 mall Disc
- 2262 8D6 mellohi Disc
- 2263 8D7 stal Disc
- 2264 8D8 strad Disc
- 2265 8D9 ward Disc
- 2266 8DA 11 Disc
- Entity IDs Icon Dec Hex Entity
- Drops
- 1 01 Dropped item
- 2 02 Experience Orb
- Projectiles
- 10 0A Shot arrow
- 11 0B Thrown snowball
- 12 0C Ghast fireball
- 13 0D Blaze fireball
- 14 0E Thrown Ender Pearl
- 15 0F Thrown Eye of Ender
- Blocks
- 20 14 Primed TNT
- 21 15 Falling block (gravel, sand)
- Vehicles
- 40 28 Minecart
- 41 29 Boat
- Icon Dec Hex Entity
- Hostile mobs
- 50 32 Creeper
- 51 33 Skeleton
- 52 34 Spider
- 53 35 Giant
- 54 36 Zombie
- 55 37 Slime
- 56 38 Ghast
- 57 39 Zombie Pigman
- 58 3A Enderman
- 59 3B Cave Spider
- 60 3C Silverfish
- 61 3D Blaze
- 62 3E Magma Cube
- 63 3F Enderdragon
- Icon Dec Hex Entity
- Passive mobs
- 90 5A Pig
- 91 5B Sheep
- 92 5C Cow
- 93 5D Chicken
- 94 5E Squid
- 95 5F Wolf
- 96 60 Mooshroom
- 97 61 Snow Golem
- NPCs
- 120 78 Villager
- Other
- 200 C8 Ender Crystal
- 0x2: Facing West
- 0x3: Facing South
- 0x4: Facing North
- Ground levers:
- 0x5: Lever points South when off.
- 0x6: Lever points East when off. (Note that unlike the other types of switch, this version didn't power wires around the block it was sitting on. This bug was fixed in Beta 1.6)
- Doors The two least significant bits are the orientation of the door, that is, the corner in which its hinge is positioned:
- 0x0: Northwest corner
- 0x1: Northeast corner
- 0x2: Southeast corner
- 0x3: Southwest corner
- The two bits above are flags:
- 0x8: If this bit is set, this is the top half of a door (else the lower half).
- 0x4: If this bit is set, the door has swung counterclockwise around its hinge.
- For example, the bottom half of a door with its hinge on the Southwest corner, which is swung so that it is closed when viewed from the West, will have a data value of (3 | 4) = (3 + 4) = 7.
- Buttons 0x8 If this bit is set, the button has been pressed. If this bit is set in a saved level, the button will remain pressed for an undefined length of time after the level is loaded.
- Button direction:
- 0x1: Facing East
- 0x2: Facing West
- 0x3: Facing South
- 0x4: Facing North
- Sign Posts 0x0: South
- 0x1: South-Southwest
- 0x2: Southwest
- 0x3: West-Southwest
- 0x4: West
- 0x5: West-Northwest
- 0x6: Northwest
- 0x7: North-Northwest
- 0x8: North
- 0x9: North-Northeast
- 0xA: Northeast
- 0xB: East-Northeast
- 0xC: East
- 0xD: East-Southeast
- 0xE: Southeast
- 0xF: South-Southeast
- Wall Signs, Furnaces, Dispensers and Chests 0x2: Facing North
- 0x3: Facing South
- 0x4: Facing West
- 0x5: Facing East
- Pumpkins and Jack-O-Lanterns 0x0: Facing South
- 0x1: Facing West
- 0x2: Facing North
- 0x3: Facing East
- Pressure Plates 0x1: If this bit is set, the plate is pressed.
- Slab and Double Slab material Icon Value Description
- 0x0 Stone Slab
- 0x1 Sandstone Slab
- 0x2 Wooden Slab
- 0x3 Cobblestone Slab
- 0x4 Brick Slab
- 0x5 Stone Brick Slab
- 0x6 Stone Slab
- Snow
- Heights of snow from 0-7, going from left to right0x0: Normal snowfall height
- ...
- 0x7: Full block size height
- The height repeats for values 8-15. Note that snow does not occur naturally at other heights than 0, but can be edited or hacked in. Values 0-2 has no hitbox, values 3-7 has the same hitbox as a slab.
- Cake 0x0: 0 pieces eaten
- 0x1: 1 piece eaten
- 0x2: 2 pieces eaten
- 0x3: 3 pieces eaten
- 0x4: 4 pieces eaten
- 0x5: 5 pieces eaten
- Beds 0x0: Head is pointing South
- 0x1: Head is pointing West
- 0x2: Head is pointing North
- 0x3: Head is pointing East
- 0x4: (bit flag) - When 0, the bed is empty. When 1, the bed is occupied.
- 0x8: (bit flag) - When 0, the foot of the bed. When 1, the head of the bed.
- Redstone Repeater Low (1st & 2nd) bits:
- 0x0: Facing North
- 0x1: Facing East
- 0x2: Facing South
- 0x3: Facing West
- High (3rd & 4th) bits:
- 0x0: 1 tick delay
- 0x1: 2 tick delay
- 0x2: 3 tick delay
- 0x3: 4 tick delay
- Redstone Wire 0xF is a wire placed right next to a power source (like a redstone torch). The value declines with distance until 0x0, which is a non-powered wire. The direction of the wire is not saved but calculated at runtime.
- Tall Grass Icon Value Description
- 0x0 Dead shrub (identical in appearance to block Dead Bush when placed, but acts like Tall Grass)
- 0x1 Tall grass
- 0x2 Fern
- Trapdoors 0x4 is a bit that determines whether or not the trapdoor is swung open. 0 for closed (on the ground), 1 for open (against its connecting wall). The remaining two bits describe which wall the trapdoor is attached to:
- 0x0: Attached to the South wall
- 0x1: Attached to the North wall
- 0x2: Attached to the East wall
- 0x3: Attached to the West wall
- Piston The top bit (0x8) is a status bit that determines whether the piston is pushed out or not. 1 for pushed out, 0 for retracted.
- The bottom three bits are a value from 0 to 5, indicating the direction of the piston (the direction the piston head is pointing)
- 0: Down
- 1: Up
- 2: North
- 3: South
- 4: West
- 5: East
- Piston Extension The top bit (0x8) is a status bit that determines whether the head is sticky or not (note that the Piston Body actually has completely different block types for Sticky and Regular). 1 is sticky, 0 is regular.
- The bottom three bits are a value from 0 to 5, indicating the direction of the piston (the direction the piston head is pointing).
- 0: Down
- 1: Up
- 2: North
- 3: South
- 4: West
- 5: East
- Stone Brick 0: Normal
- 1: Mossy
- 2: Cracked
- Huge brown and red mushroom Huge mushrooms consist of the same blocks throughout their structure, the data value of each block decides the texture. The default texture on all sides is porous flesh. The cap texture can be either the brown mushroom or red mushroom texture, the textures for porous and stem sides are identical.
- Value Description Textures
- 0 Fleshy piece Pores on all sides
- 1 Corner piece Cap texture on top, West and North
- 2 Side piece Cap texture on top and North
- 3 Corner piece Cap texture on top, North and East
- 4 Side piece Cap texture on top and West
- 5 Top piece Cap texture on top
- 6 Side piece Cap texture on top and East
- 7 Corner piece Cap texture on top, South and West
- 8 Side piece Cap texture on top and South
- 9 Corner piece Cap texture on top, East and South
- 10 Stem piece Stem texture on all four sides, pores on top and bottom
- Vines Determines the face against which the vine is anchored. Note that (except for Top) these are testable as bit flags, unlike most of the other directional data for other block types. Multiple sides can contain vines. The "top" attachment is assumed to be present if data is 0 or there is solid block above.
- 1: South
- 2: West
- 4: North
- 8: East
- Fence Gates 0x4 is a bit flag: 1 is open, 0 is closed. The remaining two bits determine in which direction the gate will open.
- 0: To the South
- 1: To the West
- 2: To the North
- 3: To the East
- Hidden Silverfish A silverfish will hide inside a Stone, Cobblestone, or Stone Brick block, changing it into a Hidden Silverfish block. The data value tells us its appearance:
- 0: Stone
- 1: Cobblestone
- 2: Stone Brick
- Potions A Glass Bottle filled with a potion. Potion type is stored in item's damage value as a 16-bit number. Potion effect, name, and other flags are encoded on bits. Effect duration itself isn't there, but can be calculated from other values.
- Current meaning of bits is described below. Note that potion name overlaps with potion effect and tier.
- Bit Dec Hex Meaning
- 0 1 0001 Potion effect Potion name
- 1 2 0002
- 2 4 0004
- 3 8 0008
- 4 16 0010
- 5 32 0020 Tier
- 6 64 0040 Extended duration
- 7 128 0800 (ignored)
- 8 256 0100
- 9 512 0200
- 10 1024 0400
- 11 2048 0800
- 12 4096 1000
- 13 8192 2000
- 14 16384 4000 Splash potion
- 15 32768 8000 (ignored)
- To calculate damage value of potion with desired effect use the following formula:
- DV = potion_effect + tier_bit + extended_bit + splash_bit
- for example:
- potion with "Instant Health" effect has damage value 5 (= 5 + 0 + 0 + 0);
- potion with extended "Slowness" effect has value 74 (= 10 + 0 + 64 + 0);
- splash potion with tier II "Strength" effect has value 16425 (= 9 + 32 + 0 + 16384).
- To get potion with certain name, use the following formula:
- DV = potion_name + extended_bit + splash_bit
- for example:
- "Splash Charming Potion" has damage value 16422 (= 38 + 0 + 16384)
- "Potion name" bits Dec Hex Potion
- 0 00 Water Bottle / Mundane Potion
- 1 01 Potion of Regeneration
- 2 02 Potion of Swiftness
- 3 03 Potion of Fire Resistance
- 4 04 Potion of Poison
- 5 05 Potion of Healing
- 6 06 Clear Potion
- 7 07 Clear Potion
- 8 08 Potion of Weakness
- 9 09 Potion of Strength
- 10 0a Potion of Slowness
- 11 0b Diffuse Potion
- 12 0c Potion of Harming
- 13 0d Artless Potion
- 14 0e Thin Potion
- 15 0f Thin Potion
- Dec Hex Potion
- 16 10 Awkward Potion
- 17 11 Potion of Regeneration
- 18 12 Potion of Swiftness
- 19 13 Potion of Fire Resistance
- 20 14 Potion of Poison
- 21 15 Potion of Healing
- 22 16 Bungling Potion
- 23 17 Bungling Potion
- 24 18 Potion of Weakness
- 25 19 Potion of Strength
- 26 1a Potion of Slowness
- 27 1b Smooth Potion
- 28 1c Potion of Harming
- 29 1d Suave Potion
- 30 1e Debonair Potion
- 31 1f Debonair Potion
- Dec Hex Potion
- 32 20 Thick Potion
- 33 21 Potion of Regeneration II
- 34 22 Potion of Swiftness II
- 35 23 Potion of Fire Resistance
- 36 24 Potion of Poison II
- 37 25 Potion of Healing II
- 38 26 Charming Potion
- 39 27 Charming Potion
- 40 28 Potion of Weakness
- 41 29 Potion of Strength II
- 42 2a Potion of Slowness
- 43 2b Refined Potion
- 44 2c Potion of Harming II
- 45 2d Cordial Potion
- 46 2e Sparkling Potion
- 47 2f Sparkling Potion
- Dec Hex Potion
- 48 30 Potent Potion
- 49 31 Potion of Regeneration II
- 50 32 Potion of Swiftness II
- 51 33 Potion of Fire Resistance
- 52 34 Potion of Poison II
- 53 35 Potion of Healing II
- 54 36 Rank Potion
- 55 37 Rank Potion
- 56 38 Potion of Weakness
- 57 39 Potion of Strength II
- 58 3a Potion of Slowness
- 59 3b Acrid Potion
- 60 3c Potion of Harming II
- 61 3d Gross Potion
- 62 3e Stinky Potion
- 63 3f Stinky Potion
- Note: potion with name set to 0 is called "Water Bottle" only if no other bit is set. Otherwise, it is called "Mundane Potion".
- Note: potions with splash potion bit set have additional "Splash " prefix.
- "Potion effect" bits Dec Hex Effect Duration Bottles Icon Effect color
- 0 0 - - -
- 1 1 Regeneration 0:45 Pink
- 2 2 Speed 3:00 Sky blue
- 3 3 Fire Resistance 3:00 Orange
- 4 4 Poison 0:45 Green
- 5 5 Instant Health instant - -
- 6 6 - - - -
- 7 7 - - - -
- 8 8 Weakness 1:30 Grey
- 9 9 Strength 3:00 Dark red
- 10 a Slowness 1:30 Blue-Grey
- 11 b - - - -
- 12 c Instant Damage instant - -
- 13 d - - - -
- 14 e - - - -
- 15 f - - - -
- "Tier" bit Dex Hex Meaning
- 0 0000 Tier I effect.
- 32 0020 Tier II effect. Multiply duration by 1/2.
- Note: Fire Resistance, Weakness and Slowness effects have no second tier. Their strength and duration are unaffected by this bit.
- "Extended duration" bit Dex Hex Meaning
- 0 0000 Base duration.
- 64 0040 Multiply duration by 8/3.
- "Splash potion" bit Dex Hex Meaning
- 0 0000 Drinkable potion.
- 16384 4000 Splash potion. Multiply duration by 3/4.
- Brewing Stand The bottom three bits are bit flags for which bottle slots actually contain bottles. The actual bottle contents (and the reagent at the top) are stored in a TileEntity for this block, not in the data field.
- 0x1: The slot pointing East
- 0x2: The slot pointing Southwest
- 0x4: The slot pointing Northwest
- Cauldron The data value stores the amount of water kept in the cauldron, in units of glass bottles that can be filled.
- 0: Empty
- 1: 1/3 filled
- 2: 2/3 filled
- 3: Fully filled
- End Portal Frame The bottom two bits determine which "side" of the whole portal frame this block is a part of.
- 0x4 is a bit flag: 0 is an "empty" frame block, 1 is a block with an Eye of Ender inserted
- ]])
- ids.close()
- lighting=fs.open("mem/redworks/minepedia/lighting","w")
- lighting.write([[Lighting in Minecraft affects visibility, Mob spawning, tree growth, and whether flowers and mushrooms will stay planted. Lighting can be provided by sunlight, torches, fire, lava, in-use furnaces, and certain other objects.
- History: Minecraft has gone through many different ways to light the world. Classic?0�s model is simple and only checks whether a block is exposed to the sky. Indev?0�s model is more complex and considers a block?0�s distance from the nearest sunlight and from the nearest light-emitting block. Alpha?0�s model is a refinement of Indev?0�s, calculating sunlight and block-emitted light separately and using a different scale of light intensities. An earlier Beta update improved upon Alpha's model by adding the smooth lighting option, and in a later Beta update, the whole lighting engine was again rewritten to be much more efficient, have more detail, and be smooth in transition of lighting differentials.
- Classic: In Classic, ?0�sunlight?0� is emitted by the top edge of the map and will hit any block that is under it. It will pass through transparent blocks to light blocks underneath. Blocks that do not receive light are in a dim shadow that remains at the same level of brightness no matter how far they are from a light source.
- Indev/Infdev: In Indev and Infdev versions there are 16 degrees of brightness, with a maximum of 15 for full daylight and a minimum of 0 for almost complete darkness. Brightness is a linear scale and represents its value divided by 15, so for example 15 is 100% (15/15) and 13 is 86.67% (13/15).
- Each block that emits light has its own luminance value and the light value diminishes by one level each block from its source. If the neighbouring block already has a greater light value, it is ignored. The process is repeated for each block whose light value just changed.
- During the day, sunlight has a maximum light value of 15. At dusk, it steadily decreases until it reaches a night-time minimum value of 4 representing moonlight. Sunlight is emitted by the top edge of the map, but does not diminish with distance from its ?0�source?0�. A block lit by sunlight will be equally bright at any height or depth.
- Alpha -Beta 1.2_02: Lighting in Alpha through pre-Beta 1.3 works as Indev and Infdev, except that the scale is different and is not linear.
- Full daylight provides the maximum brightness of 15. Each value below this is 80% as bright as the one above it. For example, 14 is 80% as bright as sunlight, and 13 is 64% bright. This means that Level 0 still has 0.8�B95�B7100% = 3.5% of the maximum brightness.
- Sunlight in Alpha have their own light array and a behind-the-scenes optimization to make dawn and dusk smoother: the amount of light from the sky is pre-calculated and saved along with the blocks, because it never needs to change except when blocks are added or removed. During dusk, nighttime, and dawn, a "darkness" value is subtracted from the sky to create the effects of different times of day.
- In the Nether, light decreases by 10% each level, rather than the normal 20%. This means it will never be totally dark in the Nether. The minimum light value is 20.59%, providing a permanent dim ambiance equivalent to normal world's level 8.
- Beta 1.3 - Beta 1.7.3: Lighting from Beta 1.3 to 1.7.3 works the same as how it was in Alpha, but is greater optimized to allow smooth lighting.
- Beat 1.8 - Present: In Beta 1.8, a new lighting engine was implemented. The new engine has added and changed these following:
- The lighting of an area is influenced by the type of light source that is lighting the block: Moonlight gives a blue tint, torches and lava give a reddish tint, and complete darkness and sunlight are the same as before.
- Changes in lighting are now instant, and can be gradual as changes in the time of day and the state of rainfall now smoothly change the lighting value rather than individually updating the lighting of chunks one by one.
- Using the new instant lighting, non-sunlight lighting now subtly flickers, although this feature is purely cosmetic and has no effect on gameplay.
- Sunset is much more intense and realistic than before, and its intensity dims if the player turns away from it.
- At extreme depths, black fog closes in. At the bedrock level, a torch can no longer be seen from 11 squares distance. This effect is inhibited by proximity to open sky (i.e., the degree to which the place where you are standing would be lit by sunlight), whether or not the sun is currently up.
- When inside the void. lighting operates similar to Classic, where objects in the void will remain at a constant brightness, regardless of how far they travel away from a light source, provided that they remain directly underneath an opening into the void. The brightness of the particular "column" of space is based on the current light level at level 0, the bottom bedrock layer. This applies to all entities, as well as particles.
- Additionally, sitting in the void underneath a shaft which allows sunlight directly into it will remove the void fog, regardless to whether is it daytime or not.
- Smooth Lighting: Smooth Lighting (which includes ambient occlusion as well as interpolating lighting across block faces) is a lighting engine added in Beta 1.3, with the help of MrMessiah.[1] This lighting engine is set on by default, and can be enabled or disabled by accessing Video Options from the Options menu.
- The engine blends lighting to add semi-realistic shadows and glowing from light sources. It darkens inside corners, resulting in small spaces appearing much darker. Before Beta 1.3, the feature could only be obtained by modifying the game with the help of MrMessiah's BetterLight mod.
- Bugs: There are lighting bugs on ice and portal when Smooth Lighting is turned on, since the transparency is made by the game, not the textures.
- The lighting on both still and flowing liquids are not smoothed when Smooth Lighting is on.
- If turned off it will sometimes cause a bug where stairs will turn black. [This has been fixed as of Beta 1.9 Pre-Release 5]
- Smooth lighting doesn't seem to have an effect on paintings.
- Glass, if placed directly on another surface, will cast a shadow.
- Smooth lighting doesn't affect players and items when moving from block to block.
- On rare occasions light can render in areas with no light emitting objects whatsoever. This possibly happens when older Minecraft version worlds are loaded into newer versions.
- ]])
- lighting.close()
- list=fs.open("mem/redworks/minepedia/list","w")
- list.write([[
- Snow Golem
- Chicken
- Cow
- Mooshroom
- Pig
- Sheep
- Squid
- Villager
- Enderman
- Wolf
- Zombie Pigman
- Blaze
- Cave Spider
- Creeper
- Ghast
- Magma Cube
- Silverfish
- Skeleton
- Slime
- Spider
- Spider Jockey
- Zombie
- Enderdragon
- Dragon (Enderdragon)
- End
- Ender Realm
- The End
- The Ender Realm
- Nether
- Hell
- Far Lands
- OverWorld
- Minecraft
- RedWorks
- CraftOS
- Void
- Biomes
- Chunks
- Light
- Time
- Sun
- Moon
- Star(s)
- Alchemy
- Enchanting
- Rain
- Weather
- Snow
- Thunder
- Lightning
- Storm
- Mushroom Farming
- Cactus Farming
- Reed Farming
- Herobrine
- Block IDs
- Wiki
- ]])
- list.close()
- magmacube=fs.open("mem/redworks/minepedia/magmacube","w")
- magmacube.write([[Magma Cubes are hostile mobs found around The Nether. When killed, they release 2-4 smaller versions of themselves in addition to Experience Orbs, similar to Slimes. When they move, they jump up and momentarily unravel into several layers, giving them the appearance of a spring and revealing a molten lava core inside. They are slowed by and sink in lava, but do not drown in it.
- Behavior: In their passive state, Magma Cubes move slowly, jumping forward every two seconds or so. Upon spotting a player, magma cubes will jump towards them more quickly, but the player can still outrun them. It seems that Magma Cubes try to eat the player. Also, they will try to damage the player by jumping directly on top of you. However, they cannot damage other mobs like this.
- History: Magma cubes were first seen in Minecraft 1.9 Beta Pre-Release 1. They were also added in the full release of Minecraft.
- Prior to Minecraft 1.0 RC1, Magma Cubes did not make sounds.
- Trivia: Magma Cubes cannot swim in lava, only jump along the bottom. Thus, they can get trapped in deep lava, although they will not drown.
- Magma Cubes seem to be the Nether equivalent of Slimes. Although they appear similar, the components of their texture files are quite different.
- Contrary to popular belief, Magma Cubes are actually less abundant in the Nether Fortresses than in the rest of the Nether due to fewer large flat surfaces to spawn on.
- Every Magma Cube size drops experience orbs, not only the smallest cube. This means that killing a huge cube and all its spawnlings would grant the player 28 experience, as opposed to 5 experience of other hostile mobs.
- Despite trying, Magma Cubes are unable to jump in water, although they can move around. They will drown if completely submerged.
- Unlike tiny slimes, tiny Magma Cubes can still hurt the player.
- Unlike Slimes, which are rare and only appear below layer 40 in certain chunks of the normal world, Magma Cubes can appear anywhere in the Nether.
- Magma cubes are often found in lava, since they are unaffected by it.
- Like Slimes, when a magma cube is not chasing the player it will hop in one direction.
- Magma cubes can be spawned in the overworld if a spawner is hacked to spawn them. They do not require netherrack.
- It seems that Magma cubes (or at least tiny ones) can only damage you using their bottom side.
- Magma cubes do not seem to take fall damage. A large has been witnessed to fall from a ledge that would normally be deadly, yet take no damage. This may be due to their large jumping height.
- Bugs: Magma Cubes do not seem to use their spring-like jump effect in multiplayer.
- They also seem to frequently glitch through walls, ceilings, and floors, to attack players on the other side; dropping down through the solid roof of a tunnel, for example, then glitching back up to the roof out of sword reach. Or they will lunge out through the walls of a tower while a player is descending via a gravel pillar, and push them off said pillar without causing attack damage. They also seem to sink into Soul Sand, being invulnerable while merged inside a Soul Sand block, yet being able to jump up and attack from inside their protective glitch.
- ]])
- magmacube.close()
- minecraft=fs.open("mem/redworks/minepedia/minecraft","w")
- minecraft.write([[This page is locked. Those allowed: Chuck Norris, Sledger721, Those working on RedWorksOS, God and Your Mom.
- ]])
- minecraft.close()
- moon=fs.open("mem/redworks/minepedia/moon","w")
- moon.write([[Moon: Grass blocks or Saplings do not grow in moonlight, however they won't decay in moonlight either.
- The moon illuminates topmost blocks during the night in the same way that the sun illuminates them in the day, but only illuminates them to a Light level of four, rather than the sun's fifteen.
- Phases of the Moon: In Minecraft Beta 1.9 Pre-release 4, the Moon goes through eight lunar phases.[1][2] The phases are: Full Moon, Waning Gibbous, Last Quarter, Waning Crescent, New Moon, Waxing Crescent, First Quarter, Waxing Gibbous. This would allow the player to keep track of the passage of time via the Lunar calendar after Beta 1.9 Pre-release 4. A full cycle of all eight phases is equal to one Lunar month or Lunation. Twelve lunations is equal to one lunar year.
- Mobs: Hostile Mobs will spawn around dark areas of a normally generated map. When the moon is up, hostile Skeleton, Creeper, Zombie, Endermen and Spider mobs will appear and attack the player. When the sun comes back up Skeleton and Zombies will burn in the sunlight and drop items after death. Spiders will not burn in daylight, but instead become neutral during the day, only to become hostile again if attacked, when it is night, or when it falls into a dark area. Endermen will not burn in daylight, but instead become neutral during the day, only to become hostile again if attacked or looked upon, but will instantly teleport away and become neutral again if the Player approaches them. Creeper and Slime mobs do not burn, and will remain hostile during the day
- Stars: Together with the moon, the night sky also consists of stars. The stars look like little white squares and are an overlay over the Void that rotates as the night progresses.
- Trivia: Night time lasts 7 minutes, plus 1.5 minutes each of sunrising and sunsetting.
- The Moon and Sun are not visible while using the Short or Tiny render distance settings.
- The moon is 8 x 8 pixels.
- In past versions, there was a stars file in the game files, but at some point it was replaced with seed generated stars. They are now unique to the given seed of the map.
- According to Notch, the Minecraft sun and moon actually rose in the north, not in the east.[4] This was a bug, but was left in the game.[5] This was changed in Minecraft Beta 1.9 Pre-release 4, so the sun and moon now rise in the east.[6]
- In Beta 1.9 Pre-release 4, one can find out on which hemisphere his/hers Minecraft world is by studying the moon phases (see gallery). The hemisphere that the world is on seems to be chosen randomly and stays the same, no matter how far the player goes.
- In Minecraft Beta 1.9 Pre-release 6, the Sun and Moon textures were reverted back to their square form. The Moon Phases were redone in a square shape.
- The Moon is rotated 90 degrees. It appears to be lit from a source in the north or south, whereas it should be lit from the east or west.
- The Minecraft Moon progresses in the Sky relative to the sun. Earth's Moon does not do this, which is why it can be seen during the day.
- Minecraft cannot have eclipses due to the above.
- Notch stated back in February 21st, 2010 that he might consider allowing the player to travel to the Moon, similarly to traveling to The Nether.[7] The likelihood of this seems diminished as of this point, however, considering the incorporation into the phases introduced.
- ]])
- moon.close()
- mooshroom=fs.open("mem/redworks/minepedia/mooshroom","w")
- mooshroom.write([[Mooshrooms are cow-like mobs that spawn in the Mushroom Biome. They are covered with red mushroom growths and have 2 mushrooms on their body and one on their head.
- Uses: Mooshrooms can be sheared for 2-5 red mushrooms, which turns them back into normal cows. If killed, they drop leather and raw beef like normal cows do. Mooshrooms can be milked with a bucket like a normal cow, and can be "milked" with an empty bowl to obtain a bowl of Mushroom Stew.
- Behavior: Mooshrooms roam the Overworld Mushroom biome and occasionally other biomes in herds of 4?0�8. Mooshrooms make no attempt to stay out of water, and will bob up and down to stay afloat. They are extremely aware of cliffs, and will not jump off on purpose unless pushed or attacked. Upon reloading a map a Mooshroom has a chance to respawn on the other side of a fence to which it started.
- Breeding: All passive mobs (Excluding squids and villagers) can be bred using Wheat. Breeding a mooshroom with another mooshroom will make a baby mooshroom, but breeding a regular cow with a mooshroom may make a regular cow or a mooshroom, which is chosen randomly.
- Bugs: On SMP when a Mooshroom is sheared, a server-side cow spawns, as well as a client-side cow that spawns for the player who sheared the Mooshroom.[1] The same thing also happens to the dropped resources as a result of shearing.
- As of 1.9 Pre-release 5, in SMP when a baby mooshroom is sheared, it turns into two normal cows and the two parent mooshrooms stop following them.
- When a Mooshroom is sheared after it has already bred once, it can be breed again immediately.
- Mooshrooms may spawn in non-mushroom biomes as well. It is currently unknown whether this is a bug or not.
- In 1.0.0, right clicking on a Mooshroom with more than one bowl equipped will turn the whole stack into just one bowl of Mushroom Stew.
- Trivia: The Mooshroom's name is a portmanteau of "moo," the sound Cows make, and "mushroom."
- In the Beta 1.9 Pre-release mobs folder in the minecraft.jar, Mooshroom's are referred to as redcows, most likely because their texture is mainly a red color shift of the cow texture. Also, Mooshrooms are referred to as mushroomcows as its entity ID.
- When a Mooshroom transforms into a normal Cow by shearing, it emits smoke particles.
- There are only red mushrooms on mooshrooms, not brown ones.
- When sheared, mooshrooms drop red mushrooms and not brown mushrooms but one can "milk" mooshroom with a bowl to obtain mushroom stew. (Which needs both red mushroom and brown mushrooms.)
- Mooshrooms are the most resourceful mob in Minecraft: Mooshrooms can be "milked" with a bowl for mushroom stew and also can be milked with a Bucket for Milk; shearing them drops 2-5 red mushrooms, which changes them back into a normal cow that can be milked with a bucket; the Milk is used for making cake; and when you kill the cow it can drop 1-3 pieces of raw beef and 0-2 pieces of leather. This is a total of at least 7/5 items that can be directly or indirectly obtained from Mooshrooms/Cows respectively.
- If you breed a mooshroom with a normal cow, either a normal baby cow will be born or a baby mooshroom will be born.
- ]])
- mooshroom.close()
- nether=fs.open("mem/redworks/minepedia/nether","w")
- nether.write([[The Nether is a different dimension existing in Minecraft worlds, first existing in Minecraft Alpha version 1.2.0 on October 30th, 2010 (The Minecraft Halloween Update).
- Accessible via Portal, it can be used for travelling large distances on the above ground map quickly. The Nether also contains Block types not seen anywhere else, as well as supplies of Block types found on the normal world, like Mushrooms, Gravel and Lava. The Nether is home to four Mobs: Ghasts, Magma Cubes, Blazes, and Zombie Pigmen. All of these mobs are only found in the nether with the exception of Zombie Pigmen which spawn in the overworld when a pig is struck by lightning.
- The Nether functions as a second map in a player's Minecraft World. When it is entered, the chunks from the above ground map are unloaded and the Nether chunks begin to load. Terrain generates infinitely here just like on the above ground map. If the player dies in the Nether, their items will stay there while the player respawns in the overworld.
- Terrain: The Nether's terrain is largely composed of netherrack, which is arranged into large, smooth outcroppings and niches; it is essentially a cave. There are patches of gravel and soul sand, as well as stalactites of glowstone hanging from the ceiling. Mushrooms grow abundantly in the Nether, and natural fires are a common sight. Small tunnels form in the netherrack, which contain no ores or hidden caverns. Nether fortresses can be found as well. These Nether fortresses are made up of nether brick, Nether Brick Stairs, nether brick fences and crops of nether wart. At the very bottom, beneath an ocean of lava, is a layer of Netherrack and bedrock. The very top of the Nether is similarly bedrock.
- Navigating the Nether can be very dangerous. The strange, dimly lit landscape conceals pits and sudden cliffs. Many lava streams flow from the ceilings, down the netherrack and into a lava ocean. If one dies near this lava or a patch of fire, it is a safe assumption that some of one's items will fall in and be burned.
- The sky and fog in the Nether are dull dark red. Thunderstorms can cause the shade to flicker quickly, a known bug.
- Environment: The Nether has no day/night cycle and no weather. The only natural sources of light are fire, lava, and glowstone. A dim ambient light can be seen throughout the Nether, but this is purely a visual effect and does not affect game mechanics. Contrary to some common myths, light works the same way in the Nether as it does in the Overworld: there are 16 levels of brightness and one level falls off for every block it radiates through.
- Plants with minimum light requirements, such as flowers and Netherwart, can be planted almost anywhere in the Nether, even in complete darkness, because they can technically "see the sky" from any location. The exception, due to a bug, is anywhere below natural veins of glowstone or below lava source blocks that appear naturally in cave walls. Plants at any level below these formations, even if seperated by other terrain, will uproot if not adequately lit.
- Blocks and Structures: Entries marked with a D require additional data to fully define the block in a Beta world. Entries marked with a T have tile entities associated with them to store additional data. Items with IDs in red cannot be legitimately obtained in the player's inventory in the game; they can only be obtained by "hacking" (such as the use of Inventory editors) or, in multi player using the /give server command. Items available only in Creative mode are in blue.
- Natural Blocks: Naturally Generated includes blocks that are created through the world seed.
- Icon Dec Hex Block type
- 00 00 Air
- 07 07 Bedrock
- 11 0B Lava (stationary) D
- 13 0D Gravel
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 115 73 Nether Wart D
- 51 33 Fire D
- 87 57 Netherrack
- 88 58 Soul Sand
- 89 59 Glowstone Block
- Naturally CreatedNaturally Created means a combination of events that cause a new block to be placed by natural causes, not the player.
- Icon Dec Hex Block type
- 00 00 Air
- 10 0A Lava (flowing) D
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 49 31 Obsidian
- 90 5A Portal
- Structures: Same as Naturally Generated, but these blocks will only be created with the "Generate Structures" option enabled. However, due to a bug, Nether Fortresses still generate even with "Generate Structures" set to "off".
- Icon Dec Hex Block type
- 00 00 Air
- 52 34 Monster Spawner T
- 112 70 Nether Brick
- 113 71 Nether Brick Fence
- 114 72 Nether Brick StairsD
- 115 73 Nether Wart D
- Nether Affected Materials:
- When Grass blocks are obtained using a tool with the "Silk Touch" enchantment, such as a shovel, and taken into the Nether, it becomes possible to have grass in the nether. Using Water Buckets will only cause the water to sizzle and leave steam. This makes growing Sugar Cane impossible since the plant requires water to survive. Wheat farms are also affected by this. They can survive without water, although they will grow much more slowly.
- Actual blocks of water can be placed in the Nether, but this requires Inventory Hacking or Map Editing. Blocks of Ice that have been hacked into the game, spawned via Creative Mode, or acquired through mods can be placed and broken to leave water blocks behind as well.
- Trees will grow normally, and their leaves will take a dead-looking brownish color, like in Desert biomes. However, they grow in odd formations and occasionally morph shapes when they are altered. This makes Nether-trees useful for traps or endless log harvesting on occasion. Trees are also hard to keep in the Nether because of the substantial amount of lava, which ignites them.
- It is always a good idea to bring paper down into the Nether, and then craft a map. Getting lost is easy and happens frequently. Compasses and Clocks can be brought in freely, but they will not work correctly. As the Nether is in a totally different dimension from the Overworld, Compasses will be unable to find the original spawn point, and Clocks cannot determine the position of the sun. Their arrows and dials will instead spin and flail madly. Maps made on the above ground dimension wont show the player's position in the other dimension. For Maps to display the Nether, they must be Crafted there. Beds will explode when a player attempts to sleep in one. This can be a useful strategy to quickly mine materials in the Nether, but only if the difficulty is set to peaceful.[1]
- Lava flows twice as far in the Nether than in the Overworld (generally 8 blocks, instead of 4 blocks).
- Mobs: The Nether is home to its own share of mobs.
- Ghasts, huge jellyfish-like creatures, will lazily hover around. They are 4�974�974 blocks large, and have 9 tentacles hanging from them. If they spot the player, they will spit flaming bombs at them, which can be deflected by shooting arrows at them, punching them or hitting them with any tool. The reflected fireballs will instantly kill the Ghast, if it is hit. These will explode and often leave craters, if the blast-site is weak enough. They make screeching and whimpering noises, something like a kitten or an angry baby, and can be heard for great distances.
- Zombie Pigmen spawn in groups and wander aimlessly. They will not harm the player unless attacked. If they are, all the Pigmen within a 32 block radius rush the player, often causing ambushes from behind as the player attempts to attack while fleeing.
- Blazes are able to float and shoot 3 fireballs at the player in a quick succession. They appear to catch fire just before shooting said fireballs, then "cool down" until they can shoot again.
- Magma Cubes are spring-like mobs that slowly hop towards the player. If killed, they split into 2-3 smaller versions of the original one. Magma Cubes are occasinally rare.
- Nether mobs are completely fire-proof and can often be seen wandering into lava, where it will take them a while to get out due to the slowdown it causes on movement.
- Normal World Mobs like Pigs and Zombies will not spawn in the Nether. Chickens can be forced to spawn there if they hatch from a thrown Egg, however, but they will not spawn naturally afterward. Squid will spawn in large amounts in any hacked body of Water due to the fact that the water is the only suitable place in the whole map. Creative mode mob spawning eggs still work in the nether, so if you reach the nether in creative mode, you may have every mob.
- Portals and Fast Travel: Nether Portals are made by creating a 4x5 (2x3 on inside) door frame out of Obsidian and then lighting the inside of the frame on fire with Flint and Steel or a Ghast's fireball. When you stand inside the portal for the first time, it will create a portal in its equivalent area of The Nether. A loading screen will appear during the change of worlds.
- If you create a portal in the Nether and re-enter the normal world, any distance covered in The Nether is multiplied by 8, effectively making The Nether a fast travel zone that allows for greater distances to be covered in a short amount of time in the normal world. Linking a network of portals between the Nether and the Overworld can be tricky though. See the Nether Portal page for the precise details of how this can be done.
- Due to Ghasts, it is recommended that players enclose their portals with a blast-resistant material (Cobblestone is cheap and effective). This will prevent Ghasts from being able to hit the portal and shut it down. Optionally, the player can choose to carry a Flint and Steel with them in case this happens, or just trick a Ghast into shooting the portal again, therefore effectively re-activating the portal.
- It is not possible to get to the Nether via The End.
- History: The Nether was one of the key features to be added in the Minecraft Halloween Update, and was announced on October 4th, 2010. This announcement stated that there would be a "hell world" that could be used for fast travel. It hinted it would utilize Portals and that distance travelled inside the would be multiplied greatly on the map above ground. On October 10, a screenshot was released by Notch depicting what the Nether would look like. With the rest of the Halloween Update's features, the Nether was released on October 30.
- In the original announcement, Notch mentioned "a brand new Hell world." When the preview was sent out on 29 October 2010 to a couple of gaming websites, the new dimension was called the Slip to avoid offending religions and to have a more original name. It was referred to as 'The Nexus' on his personal blog. It was finally changed to ?0�the Nether?0� on the day of the Halloween update release.
- Along with the Nether, Ghasts, Zombie Pigmen, Netherrack, Soul Sand, Glowstone and Portals were added. On November 10th, Lava was made to flow farther than it did on the Overworld.
- There was a glitch where The Nether was a Biome. This was fixed in an unknown update.
- In Beta 1.6, Portals were made to function properly in multi player, allowing players in servers to warp between the Overworld and the Nether.[2] 1.6 also fixed a bug where the player could have menus open while inside Portals. When warping, the text on screen would appear totally grey.
- In Beta 1.6.2 Beds in the Nether were made to explode if used. This can be used as a mining technique.
- With the "Silk Touch" enchantment in the 1.9 pre-release 4, it was possible to legitimately obtain grass and water using ice in the Nether. Because passive mobs and squids will spawn in the only place available, it was possible to use this to control the spawning, which allowed the player to make highly efficient passive mob grinder, something extremely difficult to do in the overworld since animals stopped despawning in 1.8. The ability to pick up ice blocks with the enchantment was removed in a later version . Water also made Nether mob grinders easier as it can transport items without burning them as well as drown Nether mobs that are immune to lava, such as magma cubes and zombie pigmen.
- In Minecraft 1.0.0, many new things were added to the Nether:
- Magma Cubes
- Blazes and Blaze spawners
- Nether Fortresses and the blocks they are made of
- Nether Wart
- Ghast Tears dropped by Ghasts
- File Save Location: The Nether is saved in the same way normal worlds are, but instead of mixing the world files inside the save folder, the files for Nether are stored in %appdata%/.minecraft/saves/Worldname/DIM-1 (on Windows), whereas normal world files in %appdata%/.minecraft/saves/Worldname. Note that DIM-1 does not contain its own level.dat, as the same level.dat in the upper folder is used for both Overworld and Nether. This means that even if a player changes the level data in the /world folder for a particular save, Nether portals will still take the player to the Nether world originally generated for that save.
- ]])
- nether.close()
- netherslime=fs.open("mem/redworks/minepedia/netherslime","w")
- netherslime.write([[Magma Cubes are hostile mobs found around The Nether. When killed, they release 2-4 smaller versions of themselves in addition to Experience Orbs, similar to Slimes. When they move, they jump up and momentarily unravel into several layers, giving them the appearance of a spring and revealing a molten lava core inside. They are slowed by and sink in lava, but do not drown in it.
- Behavior: In their passive state, Magma Cubes move slowly, jumping forward every two seconds or so. Upon spotting a player, magma cubes will jump towards them more quickly, but the player can still outrun them. It seems that Magma Cubes try to eat the player. Also, they will try to damage the player by jumping directly on top of you. However, they cannot damage other mobs like this.
- History: Magma cubes were first seen in Minecraft 1.9 Beta Pre-Release 1. They were also added in the full release of Minecraft.
- Prior to Minecraft 1.0 RC1, Magma Cubes did not make sounds.
- Trivia: Magma Cubes cannot swim in lava, only jump along the bottom. Thus, they can get trapped in deep lava, although they will not drown.
- Magma Cubes seem to be the Nether equivalent of Slimes. Although they appear similar, the components of their texture files are quite different.
- Contrary to popular belief, Magma Cubes are actually less abundant in the Nether Fortresses than in the rest of the Nether due to fewer large flat surfaces to spawn on.
- Every Magma Cube size drops experience orbs, not only the smallest cube. This means that killing a huge cube and all its spawnlings would grant the player 28 experience, as opposed to 5 experience of other hostile mobs.
- Despite trying, Magma Cubes are unable to jump in water, although they can move around. They will drown if completely submerged.
- Unlike tiny slimes, tiny Magma Cubes can still hurt the player.
- Unlike Slimes, which are rare and only appear below layer 40 in certain chunks of the normal world, Magma Cubes can appear anywhere in the Nether.
- Magma cubes are often found in lava, since they are unaffected by it.
- Like Slimes, when a magma cube is not chasing the player it will hop in one direction.
- Magma cubes can be spawned in the overworld if a spawner is hacked to spawn them. They do not require netherrack.
- It seems that Magma cubes (or at least tiny ones) can only damage you using their bottom side.
- Magma cubes do not seem to take fall damage. A large has been witnessed to fall from a ledge that would normally be deadly, yet take no damage. This may be due to their large jumping height.
- Bugs: Magma Cubes do not seem to use their spring-like jump effect in multiplayer.
- They also seem to frequently glitch through walls, ceilings, and floors, to attack players on the other side; dropping down through the solid roof of a tunnel, for example, then glitching back up to the roof out of sword reach. Or they will lunge out through the walls of a tower while a player is descending via a gravel pillar, and push them off said pillar without causing attack damage. They also seem to sink into Soul Sand, being invulnerable while merged inside a Soul Sand block, yet being able to jump up and attack from inside their protective glitch.
- ]])
- netherslime.close()
- overworld=fs.open("mem/redworks/minepedia/overworld","w")
- overworld.write([[The Overworld is the starting dimension in Minecraft. It is the only dimension that has existed throughout the development of Minecraft; The Nether was the second dimension to be added, in Alpha 1.2.0, and The End is another dimension that appeared for the first time in Beta 1.9pre4.
- The Overworld is the entire three dimensional space in which in-game construction can occur, encompassing the span from the level ceiling down to bedrock and extending in every direction on the horizontal plane. It is generated through a secret process which creates multiple Noise maps to create differing elevations, general chunk shapes, and complex mountain and cave systems.
- All but four of the mobs in the game can appear in the Overworld: Wolves, Pigs, Sheep, Cows, Mooshrooms, Chickens, Squid, Zombies, Skeletons, Spiders, Spider Jockeys, Endermen, Creepers and Slimes all spawn normally, and Pigs can, very rarely, be hit by lightning, which turns them into Zombie Pigmen. Ghasts, Blazes and Magma Cubes can only spawn in the Nether, and the Enderdragon can only spawn in The End.
- Worlds in Minecraft are generated through a procedural formula that takes a random number as a starting point - a seed, and it will be used to generate all the terrain of the overworld (and the Nether).
- As of Beta 1.3 the option was added for the player to specify the world seed. Using a specific seed generates exactly the same world each time, and thus interesting Minecraft worlds could be shared between players. The spawn is not on exactly the same spot, though, so it is wise to give co-ordinates instead of directions. The seed input is converted into an integer, so, for instance, the word 'Glacier' corresponds to a value of 1772835215, which generates exactly the same world when entered as a seed value.
- Many seeds are chosen simply because they spawn the player near desirable resources, a stronghold or some certain special structure, such as a dungeon.
- As of Beta 1.8, players could find the current map seed by tapping F3.
- In Classic and Indev, maps can be generated in "small" (128�97128�9764), "normal" (256�97256�9764), and "huge" (512�97512�9764) sizes.
- In Infdev, Alpha and Beta maps are somewhat infinitely big - They are made up of chunks; this means that as the player explores the map distant chunks are generated automatically, leading to theoretically infinite maps. In practice, technical reasons (the limits of 32-bit integers[1]) force the maximum map size to be around 8 times the surface area of the Earth [1], which comes out to about 4,080,576,000 km2. Whilst the horizontal planes of the maps are vast in size, the vertical plane remains at a fixed 128-block height [2].
- While the map is infinite, the number of blocks the player may walk on is limited. The map, counting air as a block, and not counting blocks beyond and at where block physics fail (32,000,000 from the center) from top to bottom, and all in between, is essentially always 1.31071992 �97 1017 blocks big. In multiplayer, chunks will also stop generating after the world reaches a certain file size.
- Generated Blocks: Entries marked with a D require additional data to fully define the block in a Beta world. Entries marked with an I have a different ID as an inventory item. Entries marked with a B require additional inventory data to fully define the inventory item. Entries marked with a T have tile entities associated with them to store additional data. Items with IDs in red cannot be legitimately obtained in the player's inventory in the game; they can only be obtained by "hacking" (such as the use of Inventory editors) or, in multiplayer using the /give server command.
- Naturally Generated includes blocks that are created through the world seed.
- Icon Dec Hex Block type
- 00 00 Air
- 01 01 Stone
- 02 02 Grass
- 03 03 Dirt
- 07 07 Bedrock
- 09 09 Water (Stationary) D
- 11 0B Lava (Stationary) D
- 12 0C Sand
- 13 0D Gravel
- 14 0E Gold Ore
- 15 0F Iron Ore
- 16 10 Coal Ore
- 17 11 Wood D B
- 18 12 Leaves D B
- 21 15 Lapis Lazuli Ore
- 24 18 Sandstone
- 31 1F Tall Grass D B
- 32 20 Dead Bush
- Icon Dec Hex Block type
- 37 25 Dandelion
- 38 26 Rose
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 56 38 Diamond Ore
- 73 49 Redstone Ore
- 78 4E Snow
- 79 4F Ice
- 81 51 Cactus D
- 82 52 Clay Block
- 83 53 Sugar Cane D I
- 86 56 Pumpkin D
- 99 63 Huge Brown Mushroom D
- 100 64 Huge Red Mushroom D
- 106 6A Vines D
- 110 6E Mycelium
- 111 6F Lily Pad
- Naturally Created means a combination of events that cause a new block to be placed by natural causes, not the player.
- Icon Dec Hex Block type
- 00 00 Air
- 02 02 Grass
- 03 03 Dirt
- 04 04 Cobblestone
- 08 08 Water (Flowing) D
- 10 0A Lava (Flowing) D
- 31 1F Tall Grass D B
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- Icon Dec Hex Block type
- 49 31 Obsidian
- 51 33 Fire D
- 78 4E Snow
- 79 4F Ice
- 81 51 Cactus D
- 83 53 Sugar Cane D I
- 106 6A Vines D
- 110 6E Mycelium
- Same as Naturally Generated, but these blocks are only created with the "Generate Structures" option enabled.
- Icon Dec Hex Block type
- 05 05 Wooden Plank
- 09 09 Stationary Water D
- 11 0B Stationary Lava D
- 13 0D Gravel
- 17 11 Wood D B
- 30 1E Cobweb
- 35 23 Wool (Black) D B
- 44 2C Slabs D B
- 47 2F Bookshelf
- 50 32 Torch D
- 52 34 Monster Spawner T
- 53 35 Wooden Stairs D
- 54 36 Chest D T
- 58 3A Crafting Table
- Icon Dec Hex Block type
- 59 3B Seeds D
- 60 3C Farmland D
- 61 3D Furnace D T
- 64 40 Wooden Door D I
- 65 41 Ladders D
- 66 42 Rails D
- 67 43 Stone Stairs
- 71 47 Iron Door D I
- 72 48 Wooden Pressure Plate D
- 77 4D Button D
- 85 55 Fence
- 97 61 Hidden Silverfish D
- 98 62 Stone Bricks D B (2)
- 101 65 Iron Bars
- 102 66 Glass Pane
- Chunks are the method used by Notch to divide maps into manageable pieces. They are 16 blocks wide, 16 blocks long, and 128 blocks deep, and encompass 32,768 blocks. By adjusting the render distance, differing numbers of chunks will be loaded into memory, with "far" rendering the maximum of 81 chunks. Only chunks which have been loaded may experience activity such as spawning, despawning, growth, liquid movement, or player interaction. Upon reaching the required distance away from a chunk, it will be unloaded from the memory, however not deleted. Thus, upon re-entering that area, whatever has been changed will remain changed.
- Another subdivision of The Overworld is into Biomes. Biomes may have varying sizes, and each has its own features. For example, a forest biome will have large quantities of trees, where as a snow biome will have snow and ice.
- The Overworld is able to seamlessly create new areas by using patterns found in the surrounding chunks and extend those into the newly created chunk. These patterns, while unique to each world, can be categorized easily by comparing them to a real-world equivalent, such as cliffs or oceans. While Minecraft is based on landforms found on earth, impossible formations, such as floating islands, can be found throughout the Overworld.
- The Overworld can be navigated by use of the position of the sun and the moon, the movement of the clouds, and the movement of the stars. Assuming that the sun and moon rise in the east and go west, the clouds can be observed moving north and stars east.
- Tools used for Navigating The Overworld include the Compass and Map. The Compass points to the spawn point, and the Map shows a fixed area around where it was made, and shows you the area very generically. In the Nether, the Compass needle will spin wildly, and is thus useless. Since Beta 1.9 (Pre-Release 4), the Compass needle and the Clock will spin randomly within The End, similar to the Nether.
- Since Alpha 1.2.3, the F3 key toggles a debug console which shows the player their absolute coordinates, where the X and Z coordinates show longitude and latitude, and the Y coordinate shows height, where Y=64 corresponds to sea level. In addition, in Beta 1.7 an 'f' value was added, which indicates the direction the player is facing, 0 being the direction in which the sun sets, and it goes counter clockwise from there: 1 being the direction in which the clouds move, 2 and 3 are opposite to 0 and 1 respectively.
- Since the sun changed position relative to the clouds (they now move in the same direction) in 1.0.0, if you want to assume that the sun rises in the east and sets in the west, the 'f' values are, 0=west, 1=south, 2=east, and 3=north
- The overworld is the only dimension with a day/night cycle. During the daytime, the sun acts as a light source. This light is strong enough to kill Zombies, and Skeletons, make Endermen disappear and also makes Spiders neutral. The only mobs that survive and stay hostile in the daylight are creepers, slimes and cave spiders. At night time the moon is the only natural light source however it provides only a little light, allowing hostile mobs to spawn.
- The Far Lands used to be an area that formed the "edge" of the "infinite" map, but was later removed accidentally from a patch on 1.8 due to the change in the terrain generation code. When players made it to the Far Lands, they experienced an excessive amount of lag and the map was severely distorted.
- According to Notch, this distortion could be fixed, but since no one was likely to make it to the Far Lands without some form of cheating, he says that he was likely not going to fix it since he liked the idea of a mysterious world beyond a certain distance. When the Beta 1.8 update was released, the newly re-written biome code did in fact remove the Far Lands and will just generate as an extremely large ocean. The far lands may be brought back in a later patch, though it is unlikely.
- Trivia: World seeds can be extracted from the level.dat file by various modes or seeds, such as http://seedscope.net. Alternatively, it can be found in-game on the performance screen accessed by pressing F3.
- There is a bug that sometimes causes the files for deleted worlds to not be deleted from your hard drive. If a new world is created with the same name, this can cause the game to reuse the old files, and thus, parts of the old map, rather than generate an entirely new map.
- ]])
- overworld.close()
- pig=fs.open("mem/redworks/minepedia/pig","w")
- pig.write([[Pigs are passive mobs that are the source of porkchops, and are a renewable source of food. They are 0.875 blocks tall, 0.625 blocks wide and 1.25 blocks long.
- Usage: Each pig will drop 0 - 2 raw porkchops upon death. Since Beta 1.5, Pigs that die while on fire will drop 0 - 2 cooked porkchops instead.
- Behavior: Pigs roam the Overworld in groups of 3 - 4. When they encounter obstacles, they will often try to surmount them by hopping up and down. They make no attempt to stay out of water, bobbing up and down to stay afloat. Pigs have been described as the "stupidest mob" due to their inefficient, sometimes comical, pathing. When leading them with wheat they will often become stuck on the opposite side of a block rather than walking around it.
- By right-clicking on a pig while holding a saddle, a player can ride it. However, the movement of the pig cannot be controlled by the player. Riding a pig off a cliff is one of the more unusual and challenging achievements in Minecraft.
- Pigs tend to move more often, but in smaller strides, towards the North-East, without any other variables coming into play.
- Breeding: Like all passive mobs, excluding squid and villagers, pigs can be bred using Wheat. If you right click a baby pig with a saddle, you will find yourself riding the baby pig.
- Bugs: If you save and quit while riding a pig the "Saving Chunks" bar will not fill up properly and can stop filling up and appear to be frozen before it suddenly opens the main menu (without the bar filling up any more).
- In single player, monster spawners contain a spinning miniature mob of the type that will be spawned. On SMP, on the other hand, monster spawners always contain a miniaturized pig, no matter what mob they spawn.[3]
- When a pig that is being ridden is killed, it will not drop the saddle.
- In 1.8 and 1.9 there is a bug that makes the pigs spawn too much.
- Trivia: For some reason, all Mob Spawners found in SMP have pigs inside them instead of whatever creature they actually spawn, with the singular exception of the Cave Spider.
- In addition, any Spawner placed by a Player will be a Pig Spawner on default. It may be altered via Mods later on.
- Pigs have a separate "armor" file (the saddle), but do not spawn with it.
- If you manage to get a pig with a saddle into a minecart, the pig will boost the minecart.
- By putting a pig with saddle in a minecart, and getting it off the tracks, it acts like a car. But with opposite controls.
- If a ridden pig is hit by lightning, it still turns into a Zombie Pigman. The Player will receive 2 and a half hearts damage and be knocked off the mob.
- It takes one full Minecraft day or 20 minutes for baby piglets to become fully mature pigs.
- Baby Pigs that get hit by lightning turn into Zombie Pigmen, the same as normal pigs do.
- When the player is riding a pig, the player can still sneak.
- One of the splashes which shows up on the title screen reads "Ride the pig!" (Possibly a reference to the TV show Invader Zim).
- ]])
- pig.close()
- rain=fs.open("mem/redworks/minepedia/rain","w")
- rain.write([[Rain is an element in the game. Much like snowfall, it is a type of weather. It currently exists in Classic, Beta and full versions of the game.
- Rain in Classic: Rain is a feature activated by pressing F5 in-game in Classic. Rain can also fall on Multiplayer, but cannot be seen by other players. It will only fall where the sky isn't blocked and has no effect on gameplay. Rain is a single moving sprite. When it falls on a block it makes a splashing effect. To improve frame rate, rain isn't replicated all throughout a map. It is instead one sprite on all sides of the player. When the player goes inside and far away from the falling rain it disappears but reappears when you move close to outside again. Water does not stop rain like a solid block. Instead, it falls through as if there was air. The same applies to lava and small plants. Rain in Classic does not decrease the light level.
- Rain in Beta and Full: Rain and falling snow were included in Beta 1.5. Rain looks identical to the rain in Classic, but also plays two different sound files.
- Precipitation varies by biome. Rain never falls in deserts though the sky still darkens, and in winter biomes snow falls instead of rain. If you are between a biome that produces rain and another that produces snow, you can see both snow and rain.
- Effects:
- Rain and Snow: Rain and snow Rain and snowfall are temporary but global occurrences.[1]
- During rain and snow, thunderstorms become possible.
- Rain and snowfalls decrease the light level by 3, to light level 12 in full daylight. Thunderstorms decrease light level to 7 in full daylight, which allows hostile mobs to spawn aboveground.[2]
- Rain: Rain and snow Rain and snowfall are temporary but global occurrences.[1]
- During rain and snow, thunderstorms become possible.
- Rain and snowfalls decrease the light level by 3, to light level 12 in full daylight. Thunderstorms decrease light level to 7 in full daylight, which allows hostile mobs to spawn aboveground.[2]
- History: In early Classic, rain was introduced to the game to test out this feature. It was purely for cosmetic purposes at that time. The mechanics were simple, only testing if there is a block above to shelter the rain. It could be toggled on and off in-game using the F5 key. This feature later vanished when Indev was introduced.
- After Minecraft Beta 1.5's announcement, a preview video was uploaded onto the TeamMojang YouTube channel showing weather and other future updates. Rain was then introduced the following week.
- Bugs: When going down a ladder exposed to the sky, rain moves slower than it should, and moves at the same pace as if one were normally falling. This makes the rain appear to freeze and the player fall faster than it. In the opinion of some players, this looks really cool. This effect can also be achieved by pressing shift to descend while flying in Creative mode.
- If you are in a cloud, the rain will let you "see" through the cloud.
- When you open your inventory, the sun, moon and stars re-appear.
- If you start to break glass with rain in front of it, the rain will disappear.
- Rain doesn't pass through signs.
- Rain does not extinguish burning mobs when they are standing in doorways.
- In the 1.8 Pre Release, rain can sometimes fall through blocks, such as stone and dirt. This includes Grass.
- Rain can also fall through wooden plank blocks.
- Rain can fall through Jack-O-Lanterns and Pumpkins.
- Rain falls on rivers, even if you are in a desert.
- In some areas (especially in extreme hills biomes), the rain to ground collision effect isn't attached to the rain, which also means the rain sound doesn't play while it is raining.
- Flying above the clouds in Creative Mode allows you to see that the rain doesn't come from the clouds themselves, but from the sky above them.
- Trivia: Rain is a single moving sprite.
- In minecraft 1.0.0 (minecraft release) if you turn particles to minimal then rain wont make any sound.
- Rain falls only in the two middle lines of a block, therefore it looks like it is not raining directly above you, but actually the "square" in the sky is shifted half a block in each direction.
- In the code snow and rain are classified the same.
- Although you cannot see the sun during rain, the glow associated with sunrise and sunset is still visible.
- When the player uses a Bed, the rain stops when they wake up.
- Rain still falls above the clouds. Notch's explanation is that the gray above the clouds during a storm is another layer of clouds and the origin of the rain.[7]
- An Enderman will start to burn to death if it is raining
- Rain only moves with you, but it appears enemies far away, such as Endermen, are affected.
- Although you cannot see the rain sprite in the desert; if it is raining and you are at the edge of the biome, you can still see particles bouncing off the grass or stone in the neighboring biome.
- In some very rare occasions, it appears to be raining in caves. This will only happen if the cave almost, "Touches the Skybox".
- Rain actually falls one block into the void (Layer -1). This can be achieved by digging a vertical shaft down in Creative mode, removing the bottom layers of Bedrock and floating inside the Void (in flying mode). Note that no particles are emitted from the rain, due to the absence of a block below it.
- ]])
- rain.close()
- redworks=fs.open("mem/redworks/minepedia/redworks","w")
- redworks.write([[RedWorks is an Addon-Software for the CraftOS. It was developed to be more user friendly, add new api's, programs, additional content, as well as connect to the real internet.
- It's primary focus is the CC. now known as CCIRC is a chat program in Lua, run through CC that allows you to use a real time chat program online hosted by Casper that can be used through SSP/SMP.
- RedWorks was a project that was thrown together and modded by the entire team, all working together to get the package complete.
- Additional info can be found at our Official website. www.RedWorksOS.com
- RedWorks was created by: Sledger721, Vertex Beta, Islanderon,
- Casper7526, bik1230, iHatePiez, XLC, Sicknezz99999 and Streetstar5.
- Testers: Onionnion, Kingrunes, bess1000, 1lann, & ronin
- Pixel Artist: Javascap, Dry_Taste
- Visit our forums @ http://www.RedworksOS.com
- Get live support and friendly chat with Devs of CC & Redworks!
- Webchat: http://webchat.esper.net/?channels=#computercraft
- IRC: irc.esper.net Port: 5555 room: #ComputerCraft
- ]])
- redworks.close()
- sheep=fs.open("mem/redworks/minepedia/sheep","w")
- sheep.write([[Sheep are a passive mob that supply wool when sheared or killed and can be dyed with any of the 16 colors before shearing to produce colored wool. Sheep are 1.25 blocks tall, 0.625 blocks wide and 1.4375 blocks long, and they naturally spawn in the following colors: white, black, gray, light gray, brown, and pink. Killing a sheep will drop 0-1 wool when killed, where as shearing yields 2-4 (1-3 as of Minecraft Weekly Build 11w49a).
- Usage: Wool is easiest to obtain from sheep, as it can be obtained by shearing them with Shears or killing them. Shearing a sheep will produce 2-4 Wool (1-3 as of Minecraft Weekly Build 11w49a). As of week 49 snapshot sheep can now regrow wool by eating grass turning the grass block into a dirt block. As of week 50 snapshot, Baby Sheep eat grass much faster than adults.
- Sheep will drop one wool when killed even if they are killed by Fire, Cacti or Wolves. Wool can also be crafted using 4 pieces of String, but it is much less dangerous for the player to shear sheep rather than hunt down Spiders constantly.
- A block of white wool can be crafted with a unit of dye to produce colored wool. However, a much more efficient method is to apply the unit of dye directly to an un-sheared sheep by right-clicking on a white sheep while holding it, as the dyed sheep can drop 1-3 blocks of colored wool when sheared.
- Behavior: Breeding two sheep will produce a baby sheep of the same color as one of the parents, chosen at random. Sheep will produce baby sheep of the same wool color as their parent, even if that parent has been sheared. This can be used to obtain large quantities of colored wool, rather than relying as heavily on potentially rare dyes, such as Cocoa Beans or Lapis Lazuli.
- History: Sheep were first introduced in Survival Test mode. Before leather was added to the game, wool was used to craft leather armor. Each sheep dropped 1?0�3 white wool when hit (but this did not injure them) and 0?0�2 brown mushroom upon death. In Survival Test sheep used to graze and eat grass, turning it into a dirt block, and after eating three grass blocks, sheep would regrow their wool.[1] In Indev and Infdev, sheep would only drop 2 blocks of white wool when hit. In an old Indev version, sheep would drop a mix of white, gray or black wool blocks. Sheep then reverted to dropping only 1?0�3 blocks of white wool when hit in Alpha. As of the first Beta update, sheep began to drop 1?0�3 blocks of the same color of wool as the sheep when it was hit.
- In the Beta 1.2 update, sheep could naturally spawn with black, gray, and light gray wool along with the traditional white. Sheep could also be painted with dye and sheared to obtain colored wool blocks. As of Beta 1.4, brown and pink sheep were added to the naturally appearing colors of sheep. Beta 1.6 changed the recipe for wool from requiring 9 pieces of string to 4. With the inclusion of shears in Beta 1.7, sheep drop 1 block of wool when killed and 2?0�4 blocks when sheared.
- In Beta 1.9 Pre-releases 2?0�5, Sheep/Lambs spawned via animal breeding would always be white regardless of their parents' color. From Pre-release 6 and subsequent versions, the baby will take on the color of one of the parents. Having two parents of the same color assures a certain color offspring.
- Sheep were originally planned to drop meat when killed.[2] As of the Beta 1.8 update, Raw Beef, and Raw Chicken are animal drops, but sheep still have yet to be associated with any consumable item. Before the Beta 1.7 update, the Player did not need to kill sheep to obtain wool because hitting them, even with a non-damaging attack such as thrown Snowball or a fish hook from a Fishing Rod, would cause them to drop the wool. Now Sheep do not drop wool or enter a wool-less state until the Player shears them.
- Prior to Beta 1.9 Pre-release 3, Sheep had 10 () health. It was it was changed to 8 () health in that update.
- In Minecraft Snapshot Update 11w49a, sheep reverted to dropping 1-3 wool when sheared. In another snapshot released by Jeb_ Sheep will now eat Grass and regrow wool. Interestingly, they will regrow the color of wool they had before shearing, even if they had been dyed.
- Trivia: Sheep were the second mob to spawn with both a separate body and armor file, the first being the pig; the sheep's "armored" state is wooly, while the pig's "armored" state is when they are wearing a saddle.
- After being sheared, all sheep (regardless of their original color), will have remnants of white wool color on their head and legs.
- Sheared sheep have a more slender head and exposed ears.
- If you damage the sheep 7 hits (3 1/2 hearts) you can get 5 wool blocks by clicking both mouse buttons at the same time while holding shears, though it requires practice as you have 1/20 of a second between each mouse click.
- If a sheep spawner is placed via hacking, there will be a black sheep model spinning inside, but it will spawn only white sheep.
- If you try to shear a baby sheep, it will give you the same wool an adult sheep could drop. When the baby sheep grows up, however, it will remain sheared.
- Currently, if one were to sprint and knock back a sheep while the sheep is in it's grass eating stance, if you were to knock back the sheep before it eats the grass, it will be knocked back, but will not run away. Rather than running, the sheep eats the grass that it was knocked into.
- Bugs: Sheep were the second mob to spawn with both a separate body and armor file, the first being the pig; the sheep's "armored" state is wooly, while the pig's "armored" state is when they are wearing a saddle.
- After being sheared, all sheep (regardless of their original color), will have remnants of white wool color on their head and legs.
- Sheared sheep have a more slender head and exposed ears.
- If you damage the sheep 7 hits (3 1/2 hearts) you can get 5 wool blocks by clicking both mouse buttons at the same time while holding shears, though it requires practice as you have 1/20 of a second between each mouse click.
- If a sheep spawner is placed via hacking, there will be a black sheep model spinning inside, but it will spawn only white sheep.
- If you try to shear a baby sheep, it will give you the same wool an adult sheep could drop. When the baby sheep grows up, however, it will remain sheared.
- Currently, if one were to sprint and knock back a sheep while the sheep is in it's grass eating stance, if you were to knock back the sheep before it eats the grass, it will be knocked back, but will not run away. Rather than running, the sheep eats the grass that it was knocked into.
- Future: Jeb may add mutton to Minecraft.
- Notch stated that sheep and possibly other passive mobs will eat grass, then the blocks will become soil blocks.[citation needed] It was also stated that wool will regrow on sheep, and will happen as of Week 49 release 11w49a.[4] Furthermore, as of 11w50a, Sheep also eat Tall Grass.
- ]])
- sheep.close()
- silverfish=fs.open("mem/redworks/minepedia/silverfish","w")
- silverfish.write([[Silverfish are small, bug-like mobs which have silver skin and black eyes that hide in special blocks found in strongholds. These blocks will look identical to stone bricks, cobblestone, or regular stone but take slightly longer to mine. When the block is mined, the silverfish pops out and attacks. In regular gameplay, Silverfish blocks occur rarely. If left alone, silverfish can re-enter some blocks, namely cobblestone, regular stone, and stone bricks. Silverfish don't damage the player directly, but they will scurry towards the player and push them around, which can be aggravating and sometimes dangerous.
- When attacked, Silverfish may awaken other Silverfish blocks within a 21x11x21 block area around them. This can lead to a terrifying swarm if there are enough in the vicinity, and an uncontrolled swarm can quickly destroy dozens of stone bricks within a Stronghold. They scurry away after the player moves a short distance.
- In addition to the special blocks, monster spawners that spawn silverfish can also be found in strongholds.
- Spawning: Silverfish spawn only from silverfish blocks and monster spawners. In the latter case, they can only spawn in light level 11 or lower, except on top of stone blocks, where they can spawn at any light level. They also cannot spawn within a 5 block distance of any player. These restrictions only apply when spawning from a monster spawner, and not from a Silverfish block.
- History: The texture, silverfish.png, was added in the /mobs folder in the Beta 1.7 update, though the mob itself was not yet present. This was due to Beta 1.7 being most of Jeb's new content at that point for the first part of the Adventure Update, and Silverfish had apparently been completed prior to the release of Beta 1.7 by Jeb.
- In Beta 1.8, Silverfish were properly implemented. They could only be found by mining certain blocks with the appearance of Stone Bricks in Strongholds.
- As of Beta 1.9 Pre-Release 3, a Silverfish Spawner can be found in the End Portal room in Strongholds.
- Trivia: In real life, silverfish are small, wingless insects that are often found in dark areas in buildings. They are infamous for damaging paper-based products.
- There are also small ray-finned fish called Silverfish. These were proven unrelated after a tweet from Jeb.
- The block they spawn from when destroyed is ID 97, which can appear as stone, cobblestone or stone brick.
- Block 97 is mined at the same speed regardless of the tool used.
- As of 1.8, they spawn additional Silverfish from nearby Silverfish blocks (Block 97) and blocks containing escaped Silverfish when attacked. Blocks are destroyed in the process of spawning.
- Silverfish made the same noises as Spiders in 1.8. This was a placeholder and new sounds were made, but not yet implemented at the time.[1]
- Silverfish do drown in water when forced under by a block above or something similar.
- Silverfish can be killed with fire, lava or explosions without the Silverfish turning hostile, preventing them from calling in more allies, so long as the player does not hit them directly.
- Silverfish can ride in minecarts like all mobs but only seem to get into them when jumping, they push them around when just crawling into them.
- The stone-like block that produces silverfish when broken is often used in some servers as a form of griefing, in which the griefer places the stone-like blocks in players' houses, and the player gets attacked by silverfish as soon as they break it. It is also possible to create stairs, bridges or flying platforms out of silverfish blocks. When a player breaks a block (to open a chest, for example) , a silverfish will spawn. Inexperienced players will attack the silverfish on sight, resulting in more spawning, which will cause the death or stranding of the player by falling or silverfish attacks.
- Silverfish blocks can be found by almost breaking blocks in stronghold (though actually breaking them is not a good idea) with your hands, as a silverfish blocks break like wool with your hand.
- Silverfish Blocks can be pushed and pulled with sticky pistons without breaking. This allows for traps with Silverfish blocks exactly where you want them completely legitimately. This is very easy but it takes a long time. To do this you simply place a piston facing a silverfish block (Silverfish Blocks can be found by trying to mine blocks with your hands) and then operating the piston with a power source (for example a redstone torch or a lever), repeating until the block is where you want it.
- When the difficulty is set at peaceful, breaking a block 97 will make a puff of smoke as it would when spawning a silverfish, but the silverfish despawns instantly, similar to how mob spawners act during peaceful difficulty.
- Silverfish do not stop and look around like most other land mobs; they constantly scurry around even when not in chase of anything (Tested in Minecraft Beta RC2)
- If you attack a Silverfish with a Diamond Sword that is enchanted with Sharpness I, it will kill the Silverfish in one hit and it won't call any reinforcements.
- Silverfish are the only mob which have their own sounds for walking. They make a scuttling noise, regardless of what kind of block they are stood upon.
- A silverfish block can be mined much faster than a normal stone block, which can be used to tell the difference
- The silverfish, and the spider are the only real hostile animals. (However spiders are smaller)
- Bugs: Silverfish will suffocate and can die if they crawl through a Portal block.
- In SMP, even when mobs are turned off, Silverfish will still spawn.
- In SMP, when a silverfish breaks out of a block, the dust effect is not visible.
- In SMP, sometimes when a silverfish spawns, the silverfish appears to be completely black (this might be due to a poor quality graphics card).
- ]])
- silverfish.close()
- skeleton=fs.open("mem/redworks/minepedia/skeleton","w")
- skeleton.write([[A skeleton is a fairly fast-paced enemy that will shoot arrows at the player and any mobs that attacks it. Like zombies, skeletons spawn in dimly lit areas, and will burn in daylight (when the sun is 15 degrees or greater above the ground) unless they are swimming in water or are standing in the shade. For example, underneath a tree, outcropping of a mountain or player-built structure.
- Uses: skeletons are the sole source of bones (and bone meal) and can also drop fully formed arrows. Each skeleton will drop 0 - 2 bones and/or 0 - 2 arrows upon death. Although skeletons will fire arrows into walls and the ground, the player cannot pick up and re-use these arrows. Because of its valuable drops, skeleton dungeons are well sought-out for mob grinding purposes.
- Creepers must be killed by a skeleton's arrow in order to drop a Music Disc.
- Behavior: The presence of a skeleton is identifiable by the soft rattling sound of its bones. It will walk and jump around aimlessly until it spots the player. At that point, it will start firing arrows in the player's direction with moderate accuracy, aiming at head level when it is at full health and at torso level when injured. When approaching a target, a skeleton will strafe to its right and bunny-hop, making itself more difficult to hit. However, these tendencies often get skeletons stuck in small alcoves and caves.
- If a skeleton's arrow hits another hostile mob, that mob will then attack the skeleton the same way it would attack the player - creepers will detonate near the skeleton after being hit. The skeleton will continue to attack the player until it is damaged by the mob. In short, mobs will always attempt to attack the last mob (including a player) that cause damage to them. Skeletons will also attack the last mob they hit with an arrow, as in, if a skeleton shot another skeleton, both skeletons will attack the other, not just one. If the player intervenes, however, they will both attack the player.
- Combat: Skeletons pose more of a threat because they have ranged attacks and will strafe, jump, and dodge when approaching the player. This can prove especially problematic if the player does not have a bow. By carefully maneuvering behind corners, skeletons can be trapped against the walls and cautiously dispatched with a sword.
- Going after skeletons while swimming is not advised, as the water will slow the player's movement down to the point of making them an easy target for the skeleton's arrows. Their arrows travel in a straight line as of 1.8, however, pre 1.8 their arrows use to travel to in a wide arc, which would sometimes causes the arrows to get stuck in the ceiling. If skeletons are in a 2 block high area, they could almost never hit you unless they were very close, or if their health was low, and they were shooting from their torso.
- As of Beta 1.9 Pre-release 5 Skeletons, Zombie Pigmen, and Zombies can be damaged by Splash Potions of healing.
- Defensive Measures: Skeletons are vulnerable to daylight (when not standing in water), lava, fire, falling, and contact with cacti. They are also able to climb ladders. Surface skeleton populations can be controlled if the player regularly sleeps in a bed at dusk, since skeletons will spawn in the dark if given the chance to. Players can keep an ear out for the clicking and xylophone-like sounds of nearby skeletons in caves and use certain corners and tight spaces to their advantage.
- If skeletons do get close to your home, the player must note that a door is not an adequate safety barrier, unless it was placed from the outside. Skeletons can shoot arrows through doors if placed from the inside and will not desist until daytime, and the player is advised to have some form of preliminary defenses to prevent a skeleton getting so close.
- Construction Safeguards: Proper lighting around and inside structures is essential to preventing skeletons (and other hostile mobs) from spawning.
- History: Skeletons were a hostile mob introduced to the game in Survival Test. They spawned randomly in new Survival maps and followed players when approached, much like zombies. They fired purple arrows, appeared to fire arrows at a faster and more random rate and shot 6 arrows outward a short range in all directions when dying. Arrows fired by skeletons at that time could be picked up and used by players. Skeletons took 5 hits to kill and could appear wearing NPC armor (that gave them no additional protection) and gave 120 points when killed.
- In Alpha, skeletons would drop 0 - 2 arrows upon death. As of Alpha 1.2.0(Also known as the Halloween Update), skeletons hold a bow in their right hand.
- As of Beta 1.2, skeletons can drop 0 - 2 bones in addition to arrows. These bones can be turned into bone meal, and mixed with other ingredients to make dyes or applied to wheat and saplings to mature the crop instantly. In Beta 1.4, skeleton bones could be used to tame wolves. As of Beta 1.6.6, bone meal applied to grass blocks will grow tall grass and flowers. As of Beta 1.8, they now hold full-sized bows and their rate of fire is reduced. Their arrows however, will be shot with more force. Also as of Beta 1.8, bone meal can also be used on a mushroom to create Huge Mushrooms.
- As of Beta 1.8, a skeleton's bow is now larger and held more realistically, and they also fire arrows slightly slower. This update also fixed a bug where skeletons would fire their arrows from above their heads.
- Trivia: Skeletons cannot hit the player if they stand perfectly still and the skeleton doesn't move.
- Skeletons have the same face as zombies, but with a different color.
- Skeletons' legs have the same texture as their arms.
- If the player is under a skeleton, it will shoot itself.
- Though they have the same pose as a zombie, they will not damage the player through contact (touching).
- In terms of potential threat, this makes little difference; while skeletons cannot fire arrows as rapidly as zombies will hit, they will continue to fire their bows at the player from point-blank range.
- A skeleton in a Minecart will burn on contact with sunlight.
- Despite holding a bow, they do not drop it when they die.
- Since Beta 1.8, Skeletons hold their bows more realistically (two-handed, ready to use) than in previous versions (in one hand).
- Skeletons may spawn on top of a spider creating a "Spider Jockey"
- In Creative Mode, when a skeleton shoots an arrow at the player, the arrow bounces off and can hit the skeleton or other mobs. If it hits another hostile mob, it causes it to become hostile to the skeleton.
- Skeletons can climb up ladders, but they will not shoot the players while climbing up. They do not use ladders to their advantage, and often simply use it if it is directly in front of them while in pursuit of the player.
- In Survival Test, Skeletons shot arrows with a magenta colored shaft. This texture is currently unused but it still can be seen in arrows.png.
- A Skeleton can kill itself with its own arrows if the player stays directly above it while flying in Creative Mode.
- If a skeleton shoots itself with its own arrow, the arrow does not stick to the skeleton.
- Since Beta 1.9 pre 5, a splash potion of fire resistance can be used to spare skeletons from burning to death in the sun.
- A skeleton hit by a splash potion of harming will gain health, however, when it is hit by a splash potion of healing it will lose health. It is also unaffected by potions of regeneration and poison. This is because skeletons are undead.
- The only way to obtain a music disc, not counting a chest found in a dungeon or mine, is for a skeleton to kill a creeper who will then drop one.
- ]])
- skeleton.close()
- slime=fs.open("mem/redworks/minepedia/slime","w")
- slime.write([[A slime is an animate, green, gelatinous, yet relatively rare mob in the shape of an ordinary cube that can appear in various sizes. They will follow and attack a player who comes close enough. When killed, a slime will split into smaller slimes, except for the smallest slime which will drop slimeballs instead. Slimes are found only in the lowest 40 layers of the map, and only in certain areas.
- Usage: A tiny slime will yield 0 - 2 slimeballs upon death. Slimeballs are a key ingredient of sticky pistons[1] and magma cream.
- Behavior: Slimes move by hopping. They will always hop toward the closest player within 16 blocks (spherical) distance, even if they can't see that player. If no player is in range, they will simply hop in a straight line in whatever direction they were left facing. When they first spawn, they are facing in a randomly chosen direction.
- Tiny slimes deal no direct damage to the player or other entities, but can push them, occasionally into lava or other hazards. The larger slimes cause damage on contact proportional to their size.
- Slimes can take damage in all the usual ways: burning, falling, drowning, suffocating inside blocks, being attacked, falling into The Void, etc. When slimes are killed, they will split into 2-4 slimes of the next size down. Tiny slimes will not split, but will drop 0-2 slime balls on death.
- In shallow water, slimes can hop fast enough to fight the current, as long as their hopping is not obstructed by a low ceiling. They will sink in deep water and won't be able to hop while submerged. They can also climb ladders, and be pushed over slabs but not stairs.
- While big and small slimes make a wet slapping noise, tiny slimes create the same sound as a player would walking on the block they are hopping on. Larger slimes make a splattering sound distinct from their movement noises when damaging a player. Slimes do not grow larger or smaller over time.
- Spawning: Slimes spawn only below layer 40, and only in certain chunks that are determined pseudo-randomly by the seed of the world. Roughly 10% of chunks will be able to spawn slimes, based on the formula:
- Random rnd = new Random((long) seed
- + xChunk * xChunk * 0x4c1906L
- + xChunk * 0x5ac0dbL
- + zChunk * zChunk * 0x4307a7L
- + zChunk * 0x5f24fL
- ^ 0x3ad8025fL);
- return rnd.nextInt(10) == 0;
- That is, Java's random number generator is first seeded by the value (long) seed + xChunk * xChunk * 0x4c1906L + xChunk * 0x5ac0dbL + zChunk * zChunk * 0x4307a7L + zChunk * 0x5f24fL ^ 0x3ad8025fL, then the random number generator is asked to generate its first random number between 0 to 9. If this number is equal to 0, the chunk with coordinates (xChunk, zChunk) is able to spawn slimes. To convert world coordinates to chunk coordinates, divide by 16 and round down.
- Tools exist to calculate which chunks are slime chunks?0�see #Slime Finding Tools.
- Like most other mobs, Slimes require two vertical non-opaque blocks (e.g., air, signs, torches) to spawn in, with an opaque block underneath. The space they spawn in must also be clear of solid obstructions and liquids. Big Slimes require a 3x3x3 space to spawn, Medium Slimes require a 3x3x2 space, and Small Slimes require a 1x1x2 space (or 1x1x1 if the upper block is not opaque).[2] Slimes are equally likely to spawn at all sizes. Slimes are much more likely to spawn in a 3 high room.
- Slimes spawn only 1/10th as often as other hostile mobs, so they can be hard to find. Slimes can spawn in any light level and lighting does not affect their spawn rate. However, lighting up the surrounding area does decrease the chances of non-slime mobs spawning and thus indirectly increases slime spawning rates.
- Slimes have equal chances to spawn at any size. They do NOT spawn in peaceful mode.
- Like any hostile mob, slimes will not spawn within 24 meters (spherical) of any player. Similarly, slimes will despawn after some time if no player is within 32 meters, and despawn instantly if no player is within 128 meters.
- The slime spawning algorithm is discussed in greater detail in this forum topic, but note that the algorithm has changed many times and older information may no longer be accurate.
- Farming: Once a slime spawning chunk has been determined the process of encouraging slime spawning is relatively simple. The player can proceed in clearing out large rooms - typically 3 x 3 x 3 or larger - and should light them as to prevent the spawning of additional unwanted mobs. Waiting for slimes to spawn in these rooms can be lengthy at times, however. See the [Slime spawning page on minecraftforum.net] mentioned above for more information on how to increase this rate.
- A similar method can also be used to players intending to play the game "legit" and avoid resorting to tools and mods. The player can simply go down the below the maximum height allowed for slime spawning and strip mine a cavern. Assuming this cavern is large enough, there is a chance that at least one chunk will be allowed to spawn slimes. Considering the number of chunks allowed to spawn slimes is around 10% (or 1 in 10 probability), it is advised the the cavern encompass a minimum of 10 chunks so that at least one will theoretically be allowed to spawn slimes. This method is not recommended but does work.
- History: Slimes were the fifth hostile mob added to the game on July 23, 2010 (Seecret Friday 6! Alpha 1.0.11). Notch limited slime spawning shortly afterwards because they would appear in abundance. A miscalculation in the new limit caused slimes to only spawn in strange locations, so Notch then disabled natural slime spawning.
- Small slimes started to drop 0 - 2 slimeballs in Beta. Notch confirmed in Coestar's livestream that slimes had been reskinned and returned in Beta 1.2_01 but were still very rare.[3] Slimes became more common in Beta 1.3 A bug remedied in Beta 1.5 caused slimes to spawn in Peaceful mode[4] and attack without any provocation. An SMP bug fixed in Beta 1.4 caused slimes that split to be visible only to the player that caused them to split and would not take any damage.[5] Because these slimes were client-side, the player could only remove them by exiting and logging back into the server.
- Since 1.9 prerelease, slimes always split upon death even if they take overkill damage. Before Beta 1.9 Pre-release 5, Slimes only appeared
- Bugs: Slimes are notorious for causing severe localized lag in multiplayer when they split into several smaller entities.
- Slimes in SMP sometimes display as the wrong size, so it is often the case that you take damage from what looks like a harmless tiny slime.
- Slimes in SMP often animate strangely, jittering up and down, and in some servers, disappear altogether sometimes(but can still be attacked and attack), though this is not always the case.
- When you shoot an arrow at a huge slime, the arrow will appear like a large arrow.
- Trivia: Third party software can be used to create arbitrarily large slimes.
- Slimes may have been inspired by a number of classic gaming monsters. Their shape and size resemble that of Gelatinous Cubes from Dungeons & Dragons (though admittedly that probably comes more from Minecraft's cubic art design than as a direct homage), and their splitting behavior resembles that of Zols from The Legend of Zelda and Puddings from Nethack. The name and the large, cartoonish face may be a homage to Yuji Horii's iconic Slimes from the Dragon Quest series.
- Slimes will only attack the player, even if a skeleton accidentally shoots it.
- There's a line in the code that's meant to allow tiny slimes to spawn on Peaceful, but the natural spawning algorithm skips hostile spawning entirely on Peaceful. As a result, this line won't even be reached. However, there are illegitimate ways to spawn tiny slimes on Peaceful, e.g. with a Slime Monster Spawner.
- Magma Cubes, added in Beta 1.9, could be seen as the Nether equivalent of Slimes.
- The block a Slime is standing on will drip green liquid if looked at from below, similarly to lava and water.
- Slimes hop faster when pursuing a player.
- Despite Slimes being hostile mobs, many players have tiny Slimes as pets since they follow and can't directly damage players.
- Before Beta 1.7, when peaceful was turned on, slimes would not despawn.
- ]])
- slime.close()
- snow=fs.open("mem/redworks/minepedia/snow","w")
- snow.write([[Snowfall is an element in the game. Much like rain, it is a type of weather. It currently exists in the full version of the game.
- Behavior: Snowfall happens occasionally and will only fall in the Tundra biome and causes water that does not have a block above it to become ice, as well as gradually covering all blocks in snow with the exception of transparent blocks. Snowfall will happen at the same time as rain is falling. If you are between a biome that produces rain and another that produces snow, you can see both snow and rain.
- Trivia: If it is snowing and you go to sleep it will most likely have stopped before you wake.
- When it rains, it also snows in different biomes, despite the fact that the effects of each are not similar. (Snowfall generating snow/re-frosting ice, and rainfall causing thunderstorms from time to time.
- History: Snowfall was reintroduced in Beta 1.5 after having been removed during Alpha with the Halloween Update.
- ]])
- snow.close()
- snowGolem=fs.open("mem/redworks/minepedia/snowGolem","w")
- snowGolem.write([[Snow Golems are the game's first "utility mobs," which Notch defines as any player-created mob.[1] They are by nature friendly to their creator. Snow Golems are created using Pumpkins and Snow Blocks, and will throw snowballs at enemy mobs. In cold biomes, they will not melt even when lava or fire is near them. As Snow Golems move, they leave a trail of snow on the ground, except in the Nether.[2][3] Snow Golems will not leave snow over blocks such as Redstone dust or torches, but they will wreck farmland by walking on it, and then leave snow over the resulting dirt. If a Snow Golem walks over a mushroom, the mushroom will be destroyed and dropped as an item. Once killed, the Snow Golem will drop approximately 10 snowballs.
- To create a Snow Golem, the player must vertically stack two Snow Blocks on the ground and then place a Pumpkin on top of them. Snow Golems are not made on the Crafting Table. They are only created when the pumpkin is placed last. Pistons cannot create Snow Golems because they cannot push pumpkin blocks. Snow Golems can also be created using a Jack-O-Lantern, although there is no visual difference. Endermen are also capable of creating Snow Golems by placing the necessary blocks, although this is an extremely rare event because they do not do so purposefully.
- Farming: Because Snow Golems leave a constant trail of snow as they move, it is possible to farm that snow. However, due to their behavior of attacking hostile mobs, it would be wise to ensure the Snow Golem is in an enclosed, safe place before beginning. The simplest method is to create a 1x1 hole that is 2 blocks deep, and to put both the player and the Snow Golem in. Then the player would look straight down and farm the snow that is produced. This creates an infinite amount of snow in the shortest time possible, because the instant the snow breaks, another one spawns in its place.
- It is also possible to create a generator by placing 2 blocks of snow on a stone and then surrounding the top block with any resource. Once this is done, place a pumpkin on top and start digging at the corner of the block where the snow is being generated. Holding down the mouse is the fastest way to gather.
- Snow is not created on Desert nor warm Plains Biomes
- Defense: A horde of Snow Golems kept between two lines of fence provides a wall that keeps mobs at a distance. The Snow Golems can still be killed by Skeletons. A 1x1x2 area can be used to store a horde of Snow Golems. In an emergency, the Snow Golems can be released to push back approaching enemies.
- Snow Golems may also be placed into Guard Towers, shielding them from damage. To create such a guard tower, make a small 3x3, 1-4 block high tower. Surround the top with fencing and create a Snow Golem in the center.
- Snow Golems may also be suspended atop lava pits to lure mobs into them, passively protecting an area. This method can also prevent mobs from hiding around the player's home.
- Luring: Snow Golems can also be used to lure hostile mobs into traps. This can create a better flow of mob drops for the player to collect, speeding up mob harvesting. To do this, fence Snow Golems in just beyond the entrance of a trap. Mobs will then wander in as they attempt to attack the Snow Golems.
- A single Snow Golem kept between four fences under a 3x3 two block high ceiling can be used to distract attacking Endermen. Once the Enderman is within reach of the Snow Golem, the Snow Golem will pelt it with snowballs. The Endermen will stop attacking the player, but will be unable to reach the Snow Golem due to the ceiling. A moat filled with lava or water around the Snow Golem enclosure can be used to kill the Endermen instead of simply distracting them.
- Behavior: Snow Golems throw snowballs at hostile mobs, provoking them. This gives them an almost suicidal nature, as the thrown snowballs do not do significant damage, except to Blazes. Snow Golems attract enemies, making them useful for luring enemies into traps. They are also capable of drawing enemies away from the player. In Beta 1.9 Pre-release, Snow Golems sometimes forget to attack monsters. Snow Golems have good pathing skills, and will not jump off cliffs or into lava. They will attempt to move towards hostile mobs, and, as of 1.0.0, will even open and go through doors to reach them.
- History: Snow Golems (previously known as Snowmen) were first mentioned by Notch on September 21, 2011, and were slated to appear in Beta 1.9.
- In The Story of Mojang, Notch briefly mentioned adding "snowmen that throw snowballs."
- Notch originally planned to call this mob Snowmen. However, very soon after revealing the name, Reddit user Cuttleman stated he would call them Snow Golems, a name Notch approved of and made official.[
- Bugs: Snow Golems do not leave snow trails in Mushroom Biomes.
- In SMP, Snow Golems do not make sounds when throwing snowballs.
- Snow Golems are not hostile towards Enderdragons.
- Snow Golems do not produce snow underneath them when near Bedrock.
- Snow Golems can and will jump over fences given the chance, thus spreading snow everywhere.
- Trivia: Snow Golems do not de-spawn if the player leaves the area.
- Snow Golems will not spawn snow on glass.
- A few hundred Snow Golems can in fact kill mobs, but will understandably take quite a while and result in heavy losses.
- Snow Golems are the second mob the player can cause to spawn, the first being Chickens spawning from eggs thrown by the player.
- Four Snow Golems throw snowballs quickly enough to continuously push a Zombie back.
- Snow Golems are not affected by fall damage.
- Snow Golems wear their Pumpkin as a hat. Their actual Snowman-type head is hidden beneath it.
- If a Snow Golem is lit on fire, it will speed up and move toward a water source.
- Snow Golems do not attack aggressive wolves even if they attack the player.
- Snow Golems will attack Zombie Pigmen regardless of whether or not they attacked the player, thus making the whole pack attack them.
- Snow Golems sometimes survive creeper explosions.
- The throwing sound is actually the Bow firing sound, even though Snowballs have their own throwing sound.
- Snow Golems do not leave snow trails in the Nether, but do leave them in The End.
- If a Snow Golem is trapped somewhere and there is an exit, the Snow Golem will try to escape.
- Since the full release (1.0), Snow Golems no longer have the ability to breed. This is possibly due to the fact the Snow Golems attack each other when in love mode.
- Snow Golems can only be crafted by placing a pumpkin on top of two snow blocks; placing the pumpkin then snow underneath will produce no snow golem.
- If trapped underwater, Snow Golems can drown.
- If the player occupies the same space as a Snow Golem, the Snow Golem's Pumpkin helmet will be seen through, revealing their face.
- Snow Golems do not create ice when moving onto a water block.
- Snow Golems distract hostile mobs completely, allowing the player to walk up and easily kill them.
- The amount of Snowballs dropped when a Snow Golem dies, 10-15, is more than what was needed to create it, 8.
- ]])
- snowGolem.close()
- spider=fs.open("mem/redworks/minepedia/spider","w")
- spider.write([[The spider is a bug-like monster and also is a mob that is neutral in sufficient light levels and hostile towards the player at night and in dark, shadowy areas. They are able to see the player through solid blocks. A spider measures 2 x 2 x 1 blocks, with very dark brown skin and red eyes that glow eerily in the dark. Because of their dimensions, spiders cannot enter 1-block wide spaces that zombies, skeletons, and creepers can, but it can crawl into 1-block high gaps (as long as they are 2 or more blocks wide). Spiders' distinctive hissing noises can alert a player to their presence - creepers make a similar, much shorter noise when damaged. Spiders are easier to hit with arrows due to their size, but can quickly catch up to the player with their leaping (they can cover 2 - 3 blocks in a bound) and wall-climbing abilities. Spiders will often jump around when attacking, making them a moving target and harder to hit. When hunting, spiders move at a pace slightly slower than the player's walking speed. Unlike zombies and skeletons, spiders will not catch fire in daylight.
- There is a 1% chance that a spider will spawn with a skeleton on its back, forming the dreaded Spider Jockey. The skeleton's ability to fire arrows combined with the speed, leaping, and wall-climbing of the spider makes this a very dangerous opponent.
- In the 1.8 update, there is a new, superior, blue variety called Cave Spiders which spawn in Abandoned Mine Shafts and are able to poison their targets.
- Uses: Spiders are the main sources of string, which is a critical ingredient of bows and fishing rods as well as for (white) wool (simply shearing a sheep is a lot more effective, as using string to make wool is a waste, although if you kill enough spiders and you cannot find sheep, string can be very effective for wool because it only takes 4). Each spider drops 0 - 2 pieces of string upon death. As of 1.9 pre-release 2, they also drop spider eyes used to make certain potions. However, they will only drop spider eyes when directly killed by the player.
- Dungeons that contain a spider monster spawner can be fitted with cactus blocks so the player can harvest spider string. Because spiders are two blocks wide, they cannot pass through a one-block gap between two cactus blocks (or a cactus and a wall) and will press themselves to death against a cactus trying to chase the player. Dungeon doorways can also be modified to trap spiders inside, allowing the player to kill them and obtain spider eyes and experience orbs, as well as the string.
- Behavior: Spiders are hostile so long as the light level immediately around them is 9 or less. If they are found in an area with a higher light level, they won't attack unless a player attacks first. Hostile spiders will continue to chase the player even if they are exposed to daytime or other well-lit locations. Conversely, a spider won't become hostile around a player when roaming in daylight, but if it wanders into a moderately shaded area (i.e. under a tree or rocky overhang) it will turn hostile and remain that way. If a spider sustains damage from a source other than the player, such as falling, its hostility will be reset, so that if it is in a well-lit area, it will not be hostile towards the player.
- Spiders can draw line of sight through solid objects, so they will pursue the player even when completely cut off from them, so long as they are within the standard aggressive mob's 16 block search radius. The spider will then approach as close as possible and ambush the player even if it subsequently becomes light. Spiders on the surface can also track a player in a cave or tunnel if there is a clear path above the player they can follow and vice versa.
- Spiders can climb up over walls and other obstacles as if all blocks had ladders on them. However spiders are careless climbers and will often fall off other blocks, (taking fall damage,) while in pursuit of the player. Spiders cannot climb soul sand covered with vines.
- Combat: Since they can pounce and move almost as fast as the player can when hunting at night or aggravated, spiders should never be underestimated. As the only naturally occurring source of string apart from dungeon chests and cobwebs in abandoned mine shafts, preparation and effort can pay off when hunting them. Wearing armor and carrying a stone or iron sword or bow is recommended. A bow is the preferred weapon, as arrows can damage a spider at a safe distance and spiders present a large and visible target due to their size and glowing eyes. When attacking a group of spiders, pick off the ones that aren't too close to others in order to avoid aggravating several at once.
- Alternatively, the player can dig a narrow trench with a depth of 2 blocks in order to be able to attack spiders safely from underneath, trapping them above the gap. This strategy has mixed results, as some players have reported spiders waiting for them to exit the trench before pouncing, a behavior possibly caused by the AI that makes the spider lose track of the player after a number of unsuccessful attacks and therefore become neutral until the player is visible. Players should also keep in mind that trench warfare leaves them vulnerable to other mobs (skeletons, zombies, and especially creepers) in the vicinity.
- When attacking or being attacked by spiders, prepared or unprepared, your first priority should be to have the high ground or if that is not possible, to at least ensure the spider does not have the high ground. When on higher ground the player can spam attack the spider preventing it from jumping and avoiding the attack while also ensuring the spider does not have a clear jump on the player, if the spider has the high ground on a player it is advisable that the player retreat to flat ground before engaging with the spider because if the spider has the high ground it will be able to jump on the players head with the extra height, causing an almost unavoidable attack and thus causing unnecessary damage.
- Defensive Measures:Like other hostile mobs, spiders are vulnerable to fire, fall damage, lava, and are injured by contact with cacti blocks. They can be set on fire with a flint and steel in the day time, taking damage but remaining neutral towards the player. Surface spider populations can be controlled if the player sleeps regularly in a bed at dusk, since spiders will spawn during the night if given the chance to do so. When travelling at night, the player is advised to watch for active spiders' glowing red eyes in the darkness.
- Construction Safeguards: Spiders can climb any vertical solid surface. One way to deal with this is to make sure the roof is accessible through only a 1x1 hole (or a 1x2 high doorway with or without a door, although other hostile mobs will be able to fit through this gap) that spiders cannot crawl into. Alternatively, a lip or overhang on a wall will stop them from breaching it. The player can alternate an overhang every other block to conserve materials, as spiders are 2 blocks wide and cannot climb walls sideways. A third deterrent to spiders is to place ladders on a wall 4 blocks above the ground level, as the edges of the ladders will block the spiders' climbing. For more tips on spider-proofing, please consult this guide.
- History: The spider was the second mob added to Minecraft in Survival Test. Spiders were originally brown in early development. They did not jump as far (compared to their range in the Beta update) and killing them gave the player 105 points. In Indev, spiders began to drop 0 - 2 pieces of string upon death.
- In the Beta 1.2 update, Spiders were given the ability to climb vertical walls made of any block and could "see" the player through solid blocks to track them down (creepers used to have this ability before it was transferred to the spiders). As of Beta 1.4, spiders will not trample crops,[1] nor will they make step sounds (if they do, they will be much quieter).[2]
- As of Beta 1.5, a cobweb block has been added to the game files. Cobwebs did not naturally occur at the time, but they were fully functional if hacked into the game. As of Beta 1.8, cobwebs are generated in Abandoned Mine Shafts.
- Trivia: If a player throws an egg at a docile spider and hits, the spider will stay neutral.
- Sometimes spiders can be found inside blocks. Once the block is removed or destroyed the spider will attack regardless of whether or not it was hit in the process.
- Causing a spider to take fall damage or damage from a cactus after attacking it during the day causes it to become neutral again.
- Sometimes after attacking a spider in sunlight, the spider will cease attacking the player; this is presumably the high light levels turning the spider neutral.
- Spiders slow down when climbing vertical surfaces, making it easier for a player to outrun them around steep mountains and cliffs.
- Because the code controlling the spider's facing and jumping are not linked, it is possible for a spider to jump sideways or backwards if it was previously attacking the player, halted because it could not find a way to them, started looking in other directions, and then became capable of attacking the player again.
- Spiders will not drop onto fences. If a spider climbs over the fence and on top of a house is surrounded by fences, the spider will be trapped on the roof.
- Spiders require an area at least 3 blocks wide by 3 blocks long and two blocks tall for spawning. The top block in this arrangement however can be filled with a transparent block such as glass.
- They appear to be based on real life jumping spiders due to their eye pattern, the fact that they pounce to attack, and that they become neutral in daylight, since they're nocturnal (a mistake being that most jumping spiders hunt in the day).
- Spiders can travel through a space that is 1�BD blocks wide. This can happen when glass panes are part of a wall composed mostly of solid blocks. If a glass pane on the end of a line of panes is removed, spiders can crawl through the gap that is created.
- When you set fire to a spider, it will be surrounded by a giant fireball
- Due to Spiders having a separate 'spider_eyes' file (this includes Endermen) they can be seen bright red as if constantly being hurt as if you were inside lava.
- Spiders have a lower chance than other mobs to make a footstep noise when they walk on a block. However, since they are wider, they touch more blocks at once, which causes about the same amount of footstep sounds as any other mob.
- Spiders are unaffected by Splash Potions of Poison.
- When below level 28 (the level that will cause fog to appear underground) spiders that are approximately 30 blocks away will appear pure white.
- ]])
- spider.close()
- spiderjockey=fs.open("mem/redworks/minepedia/spiderjockey","w")
- spiderjockey.write([[A Spider Jockey is the rare appearance of a Spider being ridden by a Skeleton. A Spider Jockey possesses the ranged arrow attack of a Skeleton plus the vision, agility, and wall-climbing ability of a Spider, with the sum of their aggression and respective health capacities. The Skeleton and Spider are treated as separate entities in the game (i.e. if the Spider is killed, the Skeleton will continue to attack and move, and vice-versa). A Spider has a 1% chance to spawn with a Skeleton rider, but the rare Spider Jockey is one of the most dangerous enemies the player can encounter.
- A Spider Jockey can spawn above and below ground. However, generally underground Skeleton riders die of suffocation, due to spiders scaling walls, causing the skeleton to suffocate.
- Uses: The death of a Spider Jockey offers a potential four-in-one item drop special. Each Jockey, when completely killed, will yield 0 - 1 Spider eyes plus 0 - 2 string from the Spider, and 0 - 2 bones plus 0 - 2 arrows from the Skeleton.
- Combat: Without some kind of armor, a bow and arrows, and plenty of space, the player is advised to make a tactical retreat when faced with a Spider Jockey as it can kill in seconds. Despite the Spider's decreased leaping ability, this monster otherwise retains the Spider's agility and sight, the Skeleton's ranged attack, and the health of both, making it an unwise candidate for resource harvesting. Arrows can be crafted, and bones and string can be obtained in a less hazardous way by hunting individual Spiders and Skeletons. Spider Jockeys are usually considered the hardest mob to kill, above even the monstrous Ghasts. The only monster that is obviously harder to kill than the Spider Jockey is the Enderdragon.
- Spider Jockeys are hardly a threat in SMP because of their bugginess. The Skeleton rarely appears to be riding on the Spider but rather next to it, so it usually shoots the Spider. They are so glitchy that they sometimes disappear or suffocate.
- Bolder players are advised to take out the Skeleton first at a distance, taking care not to land any arrows on the Spider before the Skeleton dies. Even when armed with a Diamond Sword, the player is heavily disadvantaged when fighting a Spider Jockey. Another way to kill it is to get the Spider Jockey on a block above you, but in a way so that it doesn't fall, leading to the Skeleton shooting the Spider; the lone Skeleton can then be dispatched easily.
- An advisory on using Wolves: An advisory on using Wolves Spider Jockey battles involving Wolves are slow and messy at best, and fatal to everyone but the Spider Jockey at worst. Wolves are not recommended as a method of defense against one since they will not attack the Jockey as a whole - they will aim for either the Spider or the Skeleton, depending on which the player hit or was attacked by. Conversely, when a Wolf attacks a Spider Jockey only the individual it managed to injure will try to go after it. Once hit, a Wolf will focus its hostility on the mob that last attacked it. Since a Skeleton's ranged attack makes it more likely to hit the player or a Wolf, it will often be the first targeted. The Wolves will then have a harder time attacking the Skeleton because of its lofty arachnid perch, causing them to crowd around the Spider in a futile effort to get at the Skeleton while the Spider continues to injure the player.
- Defensive Measures: A Spider Jockey is vulnerable to falling, fire, lava, and contact with cacti. The player can decrease the chance of running into a Spider Jockey on the surface by regularly sleeping in a well-lit, sheltered bed at dusk since Spider Jockeys, like regular Spiders, can only spawn during the night.
- If cornered or trapped in a cave with a Spider Jockey, the player can use a shovel or pick to quickly dig a 1-block shaft 3 blocks deep and seal off the top with another block before tunnelling away to a safe location.
- Construction Safeguards: Because a Spider Jockey can only spawn where an ordinary Spider can, a Spider-proofed area is also Spider Jockey-proof. Consult the Spider article for more in-depth explanation. The usual guidelines of good lighting and installing doors from the outside apply.
- If an overhang is built into a wall, not only will the Spider Jockey be unable to climb over it, but the Skeleton will be suffocated in the process of being pressed into the overhang.
- History: Spider Jockeys were introduced in the Seecret Friday update 8. In Alpha, a Spider Jockey would drop 0 - 2 pieces of string from the Spider and 0 - 2 arrows from the Skeleton. This remained unchanged in Beta, but the Skeleton could now drop 0 - 2 bones in addition to the arrows. When Spiders were given the ability to climb and "see" the player through walls in Beta 1.2 Spider Jockeys became a much more formidable enemy.
- Spider Jockeys can be "neutral-aggressive" with the addition of rain in Beta 1.5. The light level is low enough in a rainstorm for the Skeleton to not combust, but high enough for the Spider to not be actively hunting. In this state, the Skeleton will shoot the player with arrows but the Spider will not give chase (unless the Spider Jockey wanders into a shady area) because movement is controlled by the Spider. The player can safely observe this kind of Spider Jockey from a distance of 8 or more blocks away.
- Trivia: A Skeleton does not have a 1% chance of spawning riding a Spider - a dungeon with a Spider spawner can create a Spider Jockey, but a Skeleton dungeon cannot.
- A Spider Jockey can kill itself - sometimes the Skeleton arrows will injure the Spider and other times the Spider's pouncing will run the Skeleton into its own arrow.
- If the player exits a game and then returns while a Spider Jockey is spawned, the Skeleton will stop riding the Spider.
- A Spider Jockey can attack two different players in SMP - this is caused by one player damaging one half of the Spider Jockey and not the other. This usually happens when a player chased by a Spider Jockey enters a structure that the Spider can not crawl through. Because the Spider can see through the walls, it will continue to target this player. Because the Skeleton can't see through the walls it will look for a new target (such as another player walking by) and then fire arrows at them.
- The world can create up to 3 Spider Jockeys at a time, but the spawn percentage is still 1%.
- In earlier updates the Spider Jockey would move in glitched movement, often the Skeleton would "bob" in and out of the Spider. This bug still happens in SMP, especially with large amounts of lag.
- When a Spider Jockey rides a minecart, the Spider will suffocate and the Skeleton will remain.
- Spider Jockeys can't be spawned in the game with the use of mods, because they are, strictly speaking, two mobs.
- ]])
- spiderjockey.close()
- squid=fs.open("mem/redworks/minepedia/squid","w")
- squid.write([[Squid are 8-armed mobs that spawn in water. Squid are always passive towards the player, akin to the other passive mobs found on land. They can be found in water of any depth, in any biome, and spawn on any difficulty.
- Uses: When killed, each squid will drop 0 - 3 Ink Sacs that can be used to dye wool. The ink sac, like a unit of dye, can be applied directly to sheep before shearing to make black wool or mixed with varying proportions of Bone Meal beforehand to yield light gray and gray dyes (that can also be used on sheep before shearing).
- Beahvior: When moving about, the squid's tentacles open and close, giving them an appearance of pushing themselves forward. Squid will hover in place and wander around one layer aimlessly and do not deliberately interact with the player, even if attacked.
- Squid seem to be confused with light under water, they are attracted to lights like glowstone.
- Squid stay alive but become immobile when beached on the land. They can take fall damage and burn like any land mob, but (due to being aquatic) they cannot drown.
- History: Squid were introduced in the Beta 1.2 update.
- As of Beta 1.3, squid were given the ability to move in three dimensions (rather than only along the bottom of the body of water).
- As of Beta 1.5, squid are incapable of swimming upward. When they do manage to swim upward, they drift down with a zero net gain in altitude, resulting in a jittery animation. This seems to have been fixed as of Beta 1.7.
- As of Beta 1.8 Pre-release 1, squid are the only mob that doesn't drop an Experience Orb when killed by the player. This has been since fixed in 1.8 Pre-Release 2.
- Bugs: Despite not having feet, Squid make footstep sounds when swimming across blocks.
- When logging into a multiplayer server, Squid may appear above the clouds. However, they will later disappear.
- During multiplayer lag, mobs' positions are not updated by the server, causing especially irregular movement in Squid, such as flying and passing through blocks.
- In RC 2, if the player stands far away, Squid will shift so that their heads point straight up and float in place until the player gets closer again.
- When killed, Squid drop Ink Sacs, but take a second to disappear.
- During multiplayer lag Squid are temporarily invulnerable to T.N.T.
- During multiplayer lag, Squid will also fly up in the air if you hit them with any specified item
- Squid, when killed, may not drop experience orbs.
- If you look at a Squid's tentacles without the head on-screen too his tentacles do not appear.
- Trivia: Squid are the first passive water mob to appear in Minecraft.
- Hitting a squid underwater causes them to rise approximately 1/3 to 1/2 a block.
- Squid cannot be damaged by attacking their tentacles (unlike Ghasts).
- Before 1.4, using a bucket on a squid while the squid was not touching another block would yield milk.
- Before 1.9, Squid cannot spawn in the Nether without the aid of inventory hacks, as there is no water in the Nether. As of 1.9 pre-release 4 they can spawn in water created by Ice in the Nether, and will spawn very frequently due to there being nowhere else to spawn.
- Real squid have eight arms and two tentacles, while Minecraft squid just have eight arms, making them more akin to octopi. This may be a mis-translation due to the fact that squid and octopus have the same name in Swedish (Bl�A4ckfisk).
- Squid behave like some land mobs and attempt to ride a Minecart. However this is not always useful as rails and water cannot occupy the same block.
- Squid are the first passive mob that spawn at any light level, in water, and without grass.
- When the world is loaded, all squid are aligned with the tentacles facing east.
- It is possible to punch a squid onto land.
- It is possible for squid to spawn in underground lakes or waterfalls due to their ability to spawn in any water, source block or not.
- It is possible for a squid to trample a farmland block.
- In RC2, When Squid come out of water and are hurt, they make the new player hurt sounds.
- Squid spawners will only spawn them on the 60 depth, as the large water bodies (such as oceans, rivers and ground lakes) appear only on that depth. This means squids can no longer spawn in mountain springs or underground lakes.
- ]])
- squid.close()
- star=fs.open("mem/redworks/minepedia/star","w")
- star.write([[Stars: Together with the moon, the night sky also consists of stars. The stars look like little white squares and are an overlay over the Void that rotates as the night progresses.
- ]])
- star.close()
- stars=fs.open("mem/redworks/minepedia/stars","w")
- stars.write([[Stars: Together with the moon, the night sky also consists of stars. The stars look like little white squares and are an overlay over the Void that rotates as the night progresses.
- ]])
- stars.close()
- storm=fs.open("mem/redworks/minepedia/storm","w")
- storm.write([[A thunderstorm is a weather condition which takes place randomly during rain, snowfall, or dry desert storms. All changes from these weathers apply, though since lightning occurs and the light level falls to 7, thunderstorms are distinct. Even in the middle of the daytime, hostile mobs will be able to spawn. However, far fewer mobs will spawn relative to night as it is barely dark enough for them to spawn.
- Lightning is a lethal element to the storm. It strikes randomly across the map, creating brief fires. While most are put out almost immediately by the rain, it is possible for it to ignite wood and other flammable blocks. Lightning striking uses the same sound as TNT or a Creeper exploding, or at least until the 1.8.1 update which changed the sound of a TNT explosion, as well as a few other sounds.
- Effects: Thunderstorms are much darker than normal rain, at light level 7 during daytime. This is dark enough to spawn hostile mobs.[1] However, thunderstorms won't reduce the light levels to 0 during night.
- Lightning creates fire where it strikes. The accompanying rain can usually put out fires before they spread. Overhangs can prevent rain from putting out lightning fires, allowing the fire to spread. If the player is playing on Peaceful or easy, no fire will be created by lightning strikes.
- If lightning strikes a pig, it morphs into a zombie pigman.[2]
- If lightning strikes a creeper, it becomes supercharged and has a much more powerful explosion.[3]
- Being struck by lightning or standing near a lightning strike deals two and a half hearts of damage, not including damage from the fire.
- If lightning manages to strike a portal frame, it will activate the portal. Conversely, if it strikes an active portal, the portal will be deactivated.
- The player can sleep in a bed during a thunderstorm, regardless of the time of day.
- If lightning strikes a boat, the boat will disappear without dropping anything, as opposed to two sticks and three planks.
- If lightning strikes a dropped item, the item will disappear, the same goes to experience orbs
- Lightning that strikes floating sand or gravel will cause it to fall.
- Trivia: Lightning, unlike other weather, does not have an image file associated with it. Thus, it is coded directly into the game engine.
- Lightning does not cause damage to Zombie Pigmen or Ghasts, as those mobs don't spawn in the Overworld, and there aren't any thunderstorms in The Nether.
- Lightning can go directly through blocks to hit the ground.
- It doesn't matter how far you are away from the lightning, you will hear it the same time as you see it.
- You can hear thunder all the way down to the bedrock layer.
- The new lighting system in Beta 1.8 introduced dynamic lighting effects. Each lightning strike will now briefly light up all the topmost blocks, creating a more noticeable flash.
- Lightning cannot be viewed through water.
- When a Creeper is hit a second time by lightning after it became supercharged, it will cause the Charged Creeper to die.
- Forest fires made by lightning are rare unless the lightning strikes underneath a tree.
- Bugs: In SMP, Thunderstorms and Rain storms are at the same light level.[4]
- If you summon lightning in The End, it crashes the game.
- ]])
- storm.close()
- sun=fs.open("mem/redworks/minepedia/sun","w")
- sun.write([[The Sun is a sprite appearing in every version of Minecraft except Classic that lights up all top-most blocks while it is in the sky. When the player creates a new map the sun starts on the eastern horizon at dawn. As time passes, it will slowly moves westward across the sky and over the horizon while the moon rises on the opposing horizon. Daytime lasts 10 minutes and grass blocks will spread most quickly when exposed to sunlight. The deeper underground the player is, the less sunlight will illuminate the ground, and ultimately there will be no sunlight at all. A gap or a vertical shaft in the ceiling of a cavern will allow sunlight to filter in.
- In the 1.9 pre-release 4, both the sun and the moon have been changed from being square to having a more rounded look to them. However, since 1.9 pre-release 6 they are square-shaped again, although it is unknown whether they will be back to being exactly like they were or will somehow be modified. Notch said in a Twitter post that it was for 'consistency' purposes.
- Sunlight: Sunlight, in game, is the name given to the light which illuminates all blocks which do not have a shadow cast over them by a non-transparent block positioned vertically above them in the sky, or if it's raining. Clouds do not cast shadows, and shadows are not affected by the position of the sun in the sky. As of Beta 1.5, however, clouds in weather like rain or snow will be darker, and the light coming from the sunlight will not be as bright. During these storms the ambient light value during the day will be reduced to 12 from the usual 15, and in thunderstorms the light level will be reduced to 7, allowing aggressive mobs to spawn.
- Sunlight (or torchlight) can be used to turn dirt blocks into grass blocks, as long as there is an illuminated grass block adjacent to the dirt.
- Mobs: Hostile mobs will not spawn in sunlight, although existing mobs are affected in different ways by it. Sunlight is harmful to skeletons and zombies will be set on fire upon entering an area illuminated by sunlight. Endermen will teleport away at dawn. Note that it is possible for skeletons and zombies to survive in direct sunlight if they are in a body of water or standing in rain. Spiders turn neutral during the day, until damaged by a player. Existing slimes and creepers are unaffected by sunlight.
- Trivia: When the sun rises and sets the blocks change their light level depending on what angle the sun is at (giving the effect of gradually getting lighter at dawn and gradually getting darker at dusk).
- You can't see the Sun or Moon with a render distance set to Short or Tiny.
- The sun is also larger during sunrise and sunset.
- The position of the sun in the sky does not affect lighting and shadows, so a device such as a sundial would be impossible.
- According to Notch, the Minecraft sun actually used to rise in the north, not in the east.[1] This was a bug, but was left in the game.[2] This was changed in Minecraft Beta 1.9 prerelease 4, so the sun and moon now both rise in the east.[3]
- As of Minecraft Beta 1.9 prerelease 4, the sun and moon are round.[4]
- As of Minecraft Beta 1.9 prerelease 6, the sun and moon are square again.
- You can't see the sun on Pocket Edition.
- In Creative Mode, it is possible to reach very high y-values using the flying feature. At a y-value of about 576, the moon will appear opposite the sun, or, at night, the sun becomes visible opposite the moon.
- ]])
- sun.close()
- testificate=fs.open("mem/redworks/minepedia/testificate","w")
- testificate.write([[A Villager, also known by many players as a Testificate, or Squidward, is a passive NPC (non-player character) that spawns and moves about in NPC Villages. Their characteristic look is dominated by their large, bald heads, green eyes, unibrows, and long, protruding noses. There are different types, distinguished by their attire and signifying their role in the community. Some spawn around the village, although most spawn inside buildings and leave once the door is opened. They spawn at their respective buildings corresponding to the role they have. As of 1.9 Pre-Release 3, there are 6 unique skins for the villagers which are found in the minecraft.jar file. Another, unused villager skin is a file called "villager.png" that appears to be the skin of "Steve" with some modifications.
- Behavior: NPCs act more like passive mobs. They will randomly look at the player, and wander the area of the village. They do not attack if attacked, however they will be knocked back. When attacked, they will not run away like other passive mobs, and Hostile mobs do not see them. If the player does happen to kill one, they drop nothing. Villagers also act like squid not being attracted to wheat. They will leave buildings if the door is open and randomly wander outside. They currently have the same AI programming as a Pig. It is less likely for a villager to spawn in a village that has been altered by a player.
- Professions: Each Villager's profession can be identified by its clothing: (Note that all Villagers have brown clothing under their robes/aprons)
- Profession Robe Color
- Butcher White Apron
- Farmer Brown Robe
- Librarian White Robe
- Priest Purple Robe
- Blacksmith Black Apron
- Villager Green Robe
- History: Villagers were first introduced in Beta 1.9 Pre-release 1. They had "TESTIFICATE" over their heads the same way player names are applied in Multiplayer, which was removed in Beta 1.9 Pre-release 2.
- Future: It has been confirmed that there will be more villager AI applied in a future update.
- Trivia: Originally, Notch had mentioned possibly using Pigman as a villager skin, although it seems unlikely now.
- Since the Villager's introduction, there has been a texture in the game files indicating a standard Villager type due to their filename. However, this role seems to be filled by the Farmer type instead, with no Villager of this type ever spawning.
- A texture in the main mob directory of Minecraft appears to be the default character texture ("Steve") reoriented to be a Villager texture. As is expected, applying it to the current Villager model produces a very broken look, as seen above.
- Villagers do not despawn.
- Villager's arms are implied to be jointed, with two parts each to create folded arms. Another likely implication is that the arms are tucked inside the sleeves of the robes (or shirts for blacksmiths and butchers) so that the sleeves touch.
- It has been proven that Villagers can climb ladders if they are in their path, like other mobs[2]
- Due to their peculiar look villagers have been ridiculed by the fanbase, sometimes comparing them to Squidward from SpongeBob SquarePants or Bert from Sesame Street. Notch himself agreed they look like "caveman Squidwards".[3]
- Jeb has confirmed that more Villager AI will be added in an update some time in January 2012.
- ]])
- testificate.close()
- thunderstorm=fs.open("mem/redworks/minepedia/thunderstorm","w")
- thunderstorm.write([[A thunderstorm is a weather condition which takes place randomly during rain, snowfall, or dry desert storms. All changes from these weathers apply, though since lightning occurs and the light level falls to 7, thunderstorms are distinct. Even in the middle of the daytime, hostile mobs will be able to spawn. However, far fewer mobs will spawn relative to night as it is barely dark enough for them to spawn.
- Lightning is a lethal element to the storm. It strikes randomly across the map, creating brief fires. While most are put out almost immediately by the rain, it is possible for it to ignite wood and other flammable blocks. Lightning striking uses the same sound as TNT or a Creeper exploding, or at least until the 1.8.1 update which changed the sound of a TNT explosion, as well as a few other sounds.
- Effects: Thunderstorms are much darker than normal rain, at light level 7 during daytime. This is dark enough to spawn hostile mobs.[1] However, thunderstorms won't reduce the light levels to 0 during night.
- Lightning creates fire where it strikes. The accompanying rain can usually put out fires before they spread. Overhangs can prevent rain from putting out lightning fires, allowing the fire to spread. If the player is playing on Peaceful or easy, no fire will be created by lightning strikes.
- If lightning strikes a pig, it morphs into a zombie pigman.[2]
- If lightning strikes a creeper, it becomes supercharged and has a much more powerful explosion.[3]
- Being struck by lightning or standing near a lightning strike deals two and a half hearts of damage, not including damage from the fire.
- If lightning manages to strike a portal frame, it will activate the portal. Conversely, if it strikes an active portal, the portal will be deactivated.
- The player can sleep in a bed during a thunderstorm, regardless of the time of day.
- If lightning strikes a boat, the boat will disappear without dropping anything, as opposed to two sticks and three planks.
- If lightning strikes a dropped item, the item will disappear, the same goes to experience orbs
- Lightning that strikes floating sand or gravel will cause it to fall.
- Trivia: Lightning, unlike other weather, does not have an image file associated with it. Thus, it is coded directly into the game engine.
- Lightning does not cause damage to Zombie Pigmen or Ghasts, as those mobs don't spawn in the Overworld, and there aren't any thunderstorms in The Nether.
- Lightning can go directly through blocks to hit the ground.
- It doesn't matter how far you are away from the lightning, you will hear it the same time as you see it.
- You can hear thunder all the way down to the bedrock layer.
- The new lighting system in Beta 1.8 introduced dynamic lighting effects. Each lightning strike will now briefly light up all the topmost blocks, creating a more noticeable flash.
- Lightning cannot be viewed through water.
- When a Creeper is hit a second time by lightning after it became supercharged, it will cause the Charged Creeper to die.
- Forest fires made by lightning are rare unless the lightning strikes underneath a tree.
- Bugs: In SMP, Thunderstorms and Rain storms are at the same light level.[4]
- If you summon lightning in The End, it crashes the game.
- ]])
- thunderstorm.close()
- villager=fs.open("mem/redworks/minepedia/villager","w")
- villager.write([[A Villager, also known by many players as a Testificate, or Squidward, is a passive NPC (non-player character) that spawns and moves about in NPC Villages. Their characteristic look is dominated by their large, bald heads, green eyes, unibrows, and long, protruding noses. There are different types, distinguished by their attire and signifying their role in the community. Some spawn around the village, although most spawn inside buildings and leave once the door is opened. They spawn at their respective buildings corresponding to the role they have. As of 1.9 Pre-Release 3, there are 6 unique skins for the villagers which are found in the minecraft.jar file. Another, unused villager skin is a file called "villager.png" that appears to be the skin of "Steve" with some modifications.
- Behavior: NPCs act more like passive mobs. They will randomly look at the player, and wander the area of the village. They do not attack if attacked, however they will be knocked back. When attacked, they will not run away like other passive mobs, and Hostile mobs do not see them. If the player does happen to kill one, they drop nothing. Villagers also act like squid not being attracted to wheat. They will leave buildings if the door is open and randomly wander outside. They currently have the same AI programming as a Pig. It is less likely for a villager to spawn in a village that has been altered by a player.
- Professions: Each Villager's profession can be identified by its clothing: (Note that all Villagers have brown clothing under their robes/aprons)
- Profession Robe Color
- Butcher White Apron
- Farmer Brown Robe
- Librarian White Robe
- Priest Purple Robe
- Blacksmith Black Apron
- Villager Green Robe
- History: Villagers were first introduced in Beta 1.9 Pre-release 1. They had "TESTIFICATE" over their heads the same way player names are applied in Multiplayer, which was removed in Beta 1.9 Pre-release 2.
- Future: It has been confirmed that there will be more villager AI applied in a future update.
- Trivia: Originally, Notch had mentioned possibly using Pigman as a villager skin, although it seems unlikely now.
- Since the Villager's introduction, there has been a texture in the game files indicating a standard Villager type due to their filename. However, this role seems to be filled by the Farmer type instead, with no Villager of this type ever spawning.
- A texture in the main mob directory of Minecraft appears to be the default character texture ("Steve") reoriented to be a Villager texture. As is expected, applying it to the current Villager model produces a very broken look, as seen above.
- Villagers do not despawn.
- Villager's arms are implied to be jointed, with two parts each to create folded arms. Another likely implication is that the arms are tucked inside the sleeves of the robes (or shirts for blacksmiths and butchers) so that the sleeves touch.
- It has been proven that Villagers can climb ladders if they are in their path, like other mobs[2]
- Due to their peculiar look villagers have been ridiculed by the fanbase, sometimes comparing them to Squidward from SpongeBob SquarePants or Bert from Sesame Street. Notch himself agreed they look like "caveman Squidwards".[3]
- Jeb has confirmed that more Villager AI will be added in an update some time in January 2012.
- ]])
- villager.close()
- void=fs.open("mem/redworks/minepedia/void","w")
- void.write([[The Void is the term given to the empty space beyond the generated boundaries of each map. It can be seen through gaps in the lowest layer of Bedrock on maps generated prior to the Halloween Update. As per a recent update, when lava generates on layer 2, the bedrock on layer 1 below it is replaced by smooth stone, meaning it is possible to enter the void again through much larger entrances than before without hacking.It can be entered if one uses a map editor or creative mode to make a hole in the top bedrock layer of the Nether. Or, like in the overworld, you can dig straight down to enter the black void.
- It is potentially endless, however, falling into the Void causes the player's health to be depleted by about 4 hearts per second, leading to the player's death in 2.5 seconds or less, should he or she drop.
- Entities (mobs and items, excluding the player) entering the Void will be deleted in the following tick (as soon as possible). This may be due to the Void not being part of a Chunk, although it is most likely a deliberate optimization/crash prevention method implemented by Notch. This is no longer the case as of 11w49a. Mobs will fall through the Void until it reached Y=-64 at which point they receive the same damage as the player (4 hearts per second). Items will fall until they reach Y=-64 where they disappear.
- Blocks cannot be built on the underside of the Bedrock layer, and although Water and Lava appear to flow into it, they will not actually spread and form beneath the lowest layer. This prevents players from descending into the Void safely via swimming.
- There is currently a bug in SMP that will remove chunks client-side, so while the data is still there, the client cannot see it and will glitch if they step on it. This can be fixed by reconnecting or placing a torch next to the missing chunk. If you ride a Minecart into this missing chunk, and then you step out of the Minecart, you will fall to the void and die, regardless if you disconnect and reconnect.
- Light cannot travel out or through into The Void.
- Destination: In a map generated prior to the Halloween update, it is possible to find holes in the bedrock that lead into the void.
- Create a Creative world and dig straight down, since in Creative you can destroy bedrock.
- In the End, it is possible to merely jump off the islands. This will immediately drop you into the Void.
- Notes: Any entity above layer 127 or below layer 0 will be black. This includes dropped/held items, boats/minecarts and players/mobs.
- If water touches the boundary of the Void, the particle effect of the Void will be transmitted through all of the water it is touching.
- If someone joins a server with high latency, it can look like they spawned inside "The Void", as the chunks have not spawned yet.
- Since 1.8, when joining a server with high latency, since the chunks haven't spawned, "The Void" can glitch between the old blue-sky void and the new black void.
- History: Prior to Beta 1.6, things that fall into the void became black because there is no lighting in there.
- Before Creative mode The Void was much more difficult to access, since Bedrock is impossible to destroy in Survival mode.
- Prior to 1.8, the void was the same color as the sky.
- Prior to 11w48wa the void fog was in all of the modes.
- Trivia: If you open a hole to the void and block off all light sources, you can see that the void does in fact give off light. (Rather, it is the blocks themselves having a light level higher than 0, not the light "shining out of the hole" as it appears to be). However, the bottom of the bedrock on the last layer is completely dark.
- When you fall through the void, you don't get hurt until you reach the Y-coordinate of -64, and then you get hurt for two hearts per halfsecond.
- When you fall into the void on a server with anti flying measures, you are kicked regardless of having a flying mod/hack.
- As of 1.8, entities are now lit in the void.
- The Void can be seen under The Nether, above The Nether and under the overworld. There is also a discussion about if the sky above the clouds can be also counted as The Void.
- TNT can fall into the void, however it doesn't explode.
- Riding a vehicle into the void will result in the player being stuck in the vehicle until he/she dies.
- As of 1.8 the void is now always pitch black and a particle effect occurs below bedrock.
- If flying is enabled in Creative mode (patch 1.8), you can travel around in the top layers of the void without taking damage.
- Falling into the void is the only possible way to die in Creative Mode.
- A view of the render distance near bedrock.When the player is at a Y coordinate above 64, the void appears blue, and the black fog is not rendered. When the player is at a Y coordinate below 64, the void will change color to black and the fog will get closer to the player.
- If one was to pass the 32 million block limit the player would no longer clip (the blocks become non-solid) and fall through to the void resulting in the players eventual death.
- Shot arrows can stick to the bottom of the lowest level of bedrock (they are stuck on a block in the Void).
- Arrows on fire (that have gone through lava) will disappear once it enters the Void while normal arrows fired by the player do not immediately disappear.
- Pistons do not work at the lowest level of bedrock (or the level above the Void).
- If you destroy bedrock in creative mode and replace it with another block, particles such as rain will still fall through that block.
- In creative mode, you can destroy a block of bedrock, place a torch on the inside of a surrounding block, and, if flying is on, float directly below the open space. you will be able to see much farther in the void. This stops, however, when you move out from under the space.
- If you have flying on in creative mode and start destroying blocks on the bottom bedrock layer, the orange horizon line of the sun will slowly start to appear. Where the horizon line appears depends on what time of day it is when you do this. This appears to be a glitch.
- As of 1.8, if you are in within 5 or so blocks of the void, the particle effect will be visible, along with limited visibility, as if you were on render distance tiny.
- When you die from falling into The Void, your Y position will be -194.83139904585364.
- The top layer of bedrock in the Nether is generated one block higher than the player can place blocks in the Void.
- In The Nether, the Void is red.
- ]])
- void.close()
- weather=fs.open("mem/redworks/minepedia/weather","w")
- weather.write([[Weather was announced at April 7th 2011 and added in the Beta 1.5 update, which was released on April 19th 2011.[1] The type of weather can depend on the biome; snow falls on arctic biomes, while others get rain. Deserts get no precipitation whatsoever. Weather is fairly rare and does not occur often. It makes the sky darker, blocks out the sun, stars, and moon. Intances of weather typically occur every 7 minecraft days (might differ in some worlds), and last for 15 minutes. When you sleep in a bed, the timer for weather resets. If it is already raining or snowing, upon waking up the weather will stop.
- History: In early Classic, rain was introduced to the game to test out this feature. It was purely for cosmetic purposes at that time. The mechanics were simple, only testing if there is a block above to shelter the rain. It could be toggled on and off in-game using the F5 key. This feature later vanished when Indev was introduced.
- Minecraft Alpha brought a test for snow. Generating a world during that time brings a 50% chance to get a snowy world, where ice and snow will regenerate. This feature was removed with the introduction of biomes. Despite this, mods could easily re-enable this feature by accessing the particle effects file.
- After Minecraft Beta 1.5's announcement, a preview video [1] was uploaded onto the TeamMojang YouTube channel showing weather and other future updates. Weather was then introduced the following week.
- Types of Weather: Rain occurs in all biomes except Tundra, Taiga, and Desert. It causes Wolves to get wet, crops to grow and will put out fires (except burning netherrack). It will not cause lava to turn into cobblestone or obsidian. Rain hitting the ground near the player can be heard as a sound effect. Snow will only fall in the Tundra and Taiga biomes. It causes water that does not have a block above it to become ice, as well as covering the top surface of all blocks exposed to the sky in the biome in snow, with the exception of transparent blocks.
- During both weather conditions, dark thunderstorms might occur, during which lightning strikes and thunder rumbles. Getting hit by lightning will result in the loss of two and a half hearts while playing on normal.
- Effects of Rain and Snow: Rain and snowfall are temporary but global occurrences.[2]
- During rain and snow, thunderstorms become possible.
- Rain and snow decrease the light level by 3, to light level 12 in full daylight.[3]
- Notch has said that in a future update rain will cause flowers to regrow.
- Rain and snow cannot be seen through glass that is being broken.
- Effects of a Thunderstorm: Thunderstorms are much darker than normal rain, at light level 7 or less. This is dark enough to spawn hostile mobs.[4]
- Lightning creates fire where it strikes, but the rain usually puts the fire out before it can spread. This can set fire to wooden structures.
- If Lightning strikes a pig, it morphs into a zombie pigman.
- If lightning strikes a creeper, it becomes supercharged and has a much more powerful explosion.[6]
- Being struck by lightning or standing near a lightning strike deals two and a half hearts of damage, not including damage from the fire.
- Effects of Snow Only: Ice and snow regenerate during snowfall.
- Bugs: Occasionally, in an area with many biome changes, the rain will appear to fall onto snow without melting it.
- Sometimes rain falls in snow biomes.
- The area illuminated by a fire will stay lit if the fire is put out by rain (in Advanced OpenGL mode only).
- When lightning strikes, ice, water, portals, rain, snow, and other particles behind it become see through.
- Ice regenerates all of the time - this is a temporary fix for ice not regenerating in snow.
- Some mobs have been killed during weather activities such as snow and rain in a manner similar to daylight, even at night.
- Snow does not accumulate on bedrock.
- Rain and snow originally fell through certain blocks like glass, stairs and slabs. This was fixed a day after the release of 1.5.
- Sometimes rain won't fall on beaches or over the sea.
- Trivia: Rain is needed for a thunderstorm, even though in the game's files, thunderstorms can be activated separately.
- Tamed wolves will run away to shelter during a thunderstorm.
- Usually it starts to rain/snow at night or at dusk.
- If it is raining/snowing and you go to sleep it will most likely have stopped before you wake.
- Mobs that burn at dawn will not burn if it is raining because they are not in direct sunlight.
- Rain and Snow will still fall even if you are above the cloud layer.
- Snow and Rain are both considered the same weather effect. The appearance of rain vs. snow is dependant on biome type.
- When climbing down a ladder, the rain previously seemed to freeze until you reached the bottom or changed direction, possibly indicating that you climbed at same speed as the rain fell. This was fixed in 1.6.
- Rain and snow used to fall underwater in 1.5. This bug was also fixed in 1.6.
- If weather occurs in the Nether and the void is visible, the void will constantly flash brightly and no rain, snow, or lightning will be present.
- ]])
- weather.close()
- wiki=fs.open("mem/redworks/minepedia/wiki","w")
- wiki.write([[The wiki website is for the ever expanding minecraft mod known as ComputerCraft
- that has the amazing ability to allow you to use LUA to code your own programs,
- which can be linked to redstone, and automate your creations. Find more info here:
- www.minecraftcomputercraft.wikia.com/wiki/Minecraft_ComputerCraft_Wiki
- Feel free to edit or add to the wiki to keep it stored with the most up to date information available.
- ]])
- wiki.close()
- wolf=fs.open("mem/redworks/minepedia/wolf","w")
- wolf.write([[Wolves are a type of mob that can be allied with the player once tamed (fed bones). They are agile creatures, as they jump and run on land and swim in lakes and oceans. They will shake themselves dry when they reach the shore after a swim or if drenched by a rainstorm, or otherwise come in contact with water. Wolves are 1 block in height, 2 in length, and 1 in width (1 x 2 x 1).
- Like almost all mobs, Wolves are vulnerable to drowning, suffocation, falling (from heights greater than 15 blocks), contact with cacti or lava, and will actively take damage from being set on fire or coming in contact with attacking hostile mobs.
- Wolves will spawn in all difficulty levels (including peaceful), and only in Forest, Pine Forest, and Taiga biomes.
- Depending on if and how they are interacted with, wolves can be in one of three states: wild (untamed), hostile, or tamed.
- Behavior: Wild wolves are neutral towards the player and spawn untamed in packs of 1-8, occasionally attacking nearby Sheep while roaming around. Randomly dropped blocks of Wool (especially in a Pine Forest biome) can be good indicator of their presence. Untamed wolves will tilt their head to the side to indicate their interest in a bone or porkchop held by a nearby player.
- Hostile wolves will coordinate their attacks on a target (sheep or a player that has injured a wild wolf in the pack) and will not revert from this state once aggravated, unless you die and respawn. Aggravated wolves will attack any and all players in range. These wolves can be distinguished from their constant growling and appearance: the eyes become red and the contrast level of the fur increases, revealing dark patches of bristling hair and a mouth line raised in a slight snarl. Note that a wolf hooked with a fishing rod or hit by a thrown snowball or egg will also become hostile.
- Tame wolves can be distinguished from wild or hostile wolves from their eyes as they change to look less aggressive (two white pixels and one black pixel), as well as a red collar-like line around their neck. Friendly wolves will also bark occasionally at any nearby players. When standing, these wolves will engage any mob the player hits with melee attacks (the notable exception being creepers). Sitting wolves will idly observe their surroundings and will not attack anything unless the player is hit, in which case they will engage the player's attacker in defense. Like their wild counterparts, tamed wolves will tilt their head to beg for a porkchop held by a nearby player. Tamed wolves will sit when you right click them. They will remain sitting unless you click them again. A glitch was encountered where if your wolf was not sitting when you logged off, it would become wild and you would have to tame it again. This problem was fixed a couple of updates after wolves were first introduced.
- Taming:
- First, find an untamed wolf or wolf pack. Each individual wolf can be tamed by feeding (right-clicking) it bones until a puff of hearts appears and the wolf sits down. Once tamed, a wolf will not accept any more bones. It will also gain a red collar to indicate that it has been tamed. Note that the number of bones required is random - some wolves respond to a single bone while others require more to tame.[1] At the moment, there is no limit[2] on the number of wolves the player can tame.
- Benefits: When told to sit (right-clicking), tamed wolves will remain in place while the player is free to move around. Sitting wolves will never despawn,[3] no matter how far away the player wanders, and if the player leaves the game they won't despawn either. They also will resume following the player when he/she returns and tells them to stand up again.
- Tamed wolves (when standing) always follow the player around the Overworld, teleporting to him/her if they become too distant. They will attack any non-environmental entities that injure the player - even idle sitting wolves will stand up and descend upon an attacker to defend the player when he/she is hit by someone else or a hostile mob. When the player hits a mob with melee attacks (non-arrow),[4] tamed wolves will engage in combat with it, focusing on one target at a time and switching to another only when the first has been killed.
- The notable exception to the rule is the Creeper. Tamed wolves will never engage a creeper even if the player hits the creeper.[5]
- Care and Feeding: A bunch of begging wolves.A wolf's tail will rise and lower depending on its health. The exact health of an individual wolf can be determined by measuring the angle between its hind legs and tail. The angle indicates the percentage of health the wolf has (100 degrees for 100%, or 10 hearts; 90 degrees for 90%, etc.). Health can be restored by feeding wolves a cooked porkchop, a raw porkchop, steak, raw beef, cooked chicken, raw chicken and rotten flesh (feed them by right-clicking while holding the meat). Rotten flesh does not seem to make wolves sick, making it a viable and easy source of food for them. A cooked porkchop will restore 4 food points to the player, but cooked meat gives no added benefit when eaten by wolves, so they can be satisfied with fresh meat from wandering pigs, cows and chickens on-the-go.
- As of Beta 1.9 Pre-release 4, Splash Potions of healing or regeneration can be thrown at wolves to heal them.
- Since wild wolves have a maximum health of 4 hearts, their tails will always remain significantly lower than those of tamed wolves, which gain 100% health (10 hearts) instantly upon being successfully tamed.
- Attempting to feed a tamed wolf when its health is full will start the eating animation instead.
- Movement: In general, tame wolves follow the player in a wandering manner (as opposed to walking directly towards him/her) to avoid falling, but will continue to jump and move around even if the player stands still.
- Wolves have extreme difficulty walking through open doors. The best workaround is to install "doggie doors" by destroying a single block to the bottom left/right of a Door, or to use double doors.
- Tamed wolves will attempt to walk through obstacles to attack mobs, but will not find a way around them.
- Because they are continually moving, wolves can receive fall damage when the player travels near cliff edges or gradual descents.
- They will not actively avoid lava, cacti, fire, falling, or traps - even if the player navigates around these hazards, tamed wolves can be killed or severely injured en route to him/her.[6]
- Wolves will stand up and follow the player if pushed into water or injured while sitting.
- Wolves can navigate and turn around in 1 x 1 horizontal tunnels.
- Teleportation: Tamed wolves will teleport to the player if a large enough gap (roughly a 20 x 20 x 10 block area) is created between them and the player with a few exceptions.
- Teleporting resets the focus of a tamed wolf, so if a wolf is attacking a mob and teleports beside a player, it will resume following him/her.
- It is possible for tamed wolves to teleport to an inaccessible location (e.g. under ice) and be injured or die of suffocation as a result.
- A wolf will not teleport:
- if the wolf has been ordered to sit
- if the wolf is in a moving minecart
- if the player is swimming/boating in deep water (but they will teleport as the player approaches land or shallow one block deep water)
- if the player is standing on ice (but they will teleport as the player approaches land)
- if the player enters a portal and travels to the Nether (the wolves will remain in the Overworld until the player returns)
- from unloaded chunk (if you move far enough from the wolf or into different dimension)
- if the player is flying a certain distance above the land
- History: Wolves were first introduced in Beta 1.4 on March 31, 2011.
- Notch confirmed their addition after having breakfast with an idol of his (likely Peter Molyneux).[8] Jeb posted a video preview of the wolves he was working on on March 18th, 2011.
- Bugs: If an aggressive wolf is attacked by a different mob, then it becomes neutral to the player again.
- A tamed wolf that falls far enough away from the player to teleport back may still take damage upon landing.
- Wolves don't stand up if you are playing in offline mode if the game was saved while in online mode, as well as the reverse instance of saving while offline and playing online. However, doing the above may fix the problem.[citation needed]
- If you carry your save data in a flash drive, and play on a computer you didn't start the world on, your wolf will not stand up at all. It may only happen on very rare occasions.[citation needed]
- If Minecraft crashes, the number of tamed wolves you have may increase. However, some might also disappear.
- There is a glitch that when a tamed wolf is inside a minecart (standing), if you go too far away from your wolf, the wolf will teleport to you and it will immediately fly back into the minecart, this will happen repeatedly. This can be fixed by destroying the minecart.
- If a wolf is swimming, Minecraft will sometimes play the "shaking" sound.
- If you tame a wolf while it's in the middle of jumping, the wolf will go into a "sitting" pose, but continue to bounce up and down indefinitely. This can be fixed by making the wolf sit.
- Wolves can push you out of your bed, but you will still sleep.
- In multiplayer, a player who logs in will see all sitting wolves as standing until they are removed and put back into position.
- Tamed wolves can teleport inside transparent blocks such as slabs. This can mean they can get stuck, or not follow you.
- It is possible to push a wolf into a block and therefore suffocate it, done by having two wolves sit, and then pushing one wolf by the other into a solid block. Wolves lose health while in the block, so make sure to be careful!
- A rare glitch has been known to occur when you save while a tamed wolf is sitting. When you come back to the game and make it stand up, then just right after you've clicked (you need to be very quick), hold up a porkchop, and the wolf will run towards you in sitting position.
- If a tamed wolf attacks a mob and you right-click on the wolf, it jumps towards the mob in sitting position.
- Sitting wolves tamed before Beta 1.5_01 that are pushed into water, or that water runs over, will start to jump in place in the sitting position while they shake the water off. They will no longer be able to be told to stand, thus will continue to jump up and down in the sitting position until hit, after which will cause them to attack you until death on either side. This can be fixed by exiting the world and then reloading it again.
- Wolves could be found in the "Shrubland" biome, which was probably a bug.
- Trying to get a wolf to stand up if it was tame before 1.5_01 will cause it to attack you if you dealt it damage, just as a hostile wolf. However, it will still have the friendly appearance. It will begin to bounce and attack you. even if you walk away, then walk back you will be dealt damage, even if the wolf is not looking at you.
- Tamed wolves count against the passive mob limit. In SMP, an individual player with an excessive number of tamed wolves can prevent ALL players on the server from encountering passive mobs regardless of type. (cows, chickens, pigs, etc.)
- Sometimes, saving and quitting to the menu screen and then reloading the world immediately afterwards will cause some or all of your wolves to become wild again.
- A wolf will attack its owner rarely if hit 3 times.
- In SMP, a tame wolf will not beg when Raw Porkchop is held.
- In 1.8 if you hit a non-tamed wolf, it will try to attack you but deals no damage.[citation needed]
- In 1.8 Creative mode if you are flying, tamed wolves will not follow you. They will follow you again if you land close enough to where you left them while on the ground. However, if you land too far away they will not follow or teleport to you.[citation needed]
- In 1.8.1 survival there is an uncommon bug that when you die, while your wolves are sitting,when you respawn and attack your wolves they will attack you, they don't run, but instead they move by sitting while jumping.
- If a sheep spawns under a tree and is unable to move because it's head is in the leaves, wolves will lock on but not attack. They may be aiming for the head which is in the leaves, and therefore appear to look at the sheep.
- If an untamed wolf is attacked by any mob, it will still attack the aggressor, but they won't switch to their hostile texture.
- Trivia: Wolves appear to be based on the grey wolf.
- If you order a wolf to attack an untamed member of its own pack, it will kill it, but turn hostile towards you.
- If you try to use breeding on wolves, They will enter Love mode but in some cases they do not make baby wolves.
- When a wolf attacks a big (23) slime, they simply push the slime around.
- With 2.5 times the health and double the attack power, tamed wolves are 5 times stronger than wild ones, and can kill 4 one at a time without dying.
- Wolves cannot go into the Nether unless hacked in and behave no differently than if they were in the normal world.
- Wolves are the first official tameable mob in Minecraft.
- Jeb has said that wolves may have color variations, but he "would have to run that through Notch".[12]
- Wolves do not trample crops,[13] and they do not make step sounds.[14]
- If a hostile mob (besides a creeper) attacks a player, the wolf will react and attack the mob to defend the player, even if the wolf was told to sit. This can be extremely useful if the player is trying to sleep and is attacked in their sleep, as it's more than likely the wolves will be beside the player at the time.
- If you attack another player on SMP, even if PvP is off, a tamed wolf will attack the opposing player. They will continue to attack even if made to sit by the wolf's owner.
- Similarly, if a player attacks a tamed wolf that isn't their own, then the wolf will attack.
- If a wolf is in a downward water current, they will not float and, if not removed, will drown.
- Wolves and Slimes are the only mobs that can be hostile to the player on peaceful mode.
- Hostile wolves respond similarly to zombie pigmen, as attacking one will make the whole pack attack you.
- If you attack a mob, then order a wolf to sit while it is approaching the mob, the wolf will attack the mob by bouncing toward it while sitting.
- Wolves can teleport into transparent blocks. Therefore, it is not recommended to bring a wolf underground or near lava/fire.
- Water breaks have no effect on wolves falling from high positions.
- There is a glitch in which a tame sitting wolf will attack its master, still in sitting position. [citation needed] The cause is unknown, but can usually be fixed by logging out and back in, switching to "fast" graphics, or allowing the wolf to kill you and then returning to the death point.
- Prior to 1.5, wolves continuously made whimpering noises even when they were at full health in SMP because Jeb mistakenly used client-side health instead of synced health.[15]
- Tamed Wolves will teleport to their owner when close enough, if their owner is attacked. This will happen even if the Wolf has been ordered to sit.
- Sitting tamed wolves that are pushed off of a ledge by anything or anyone will teleport to the owner.
- In SMP, tamed wolves slowly move while sitting. It is not advised to put your tamed wolves on a roof as they usually fall off eventually.
- Wolves have sound files for howling, but they aren't currently used in the game.
- Wolves, sheared sheep, Magma Cubes, Silverfish and Villagers are currently the only five mobs that don't drop anything when killed. Sheared sheep drop one wool as of the 1.9 pre4 update when killed.
- Wolves will remain sitting, although untamed, if a player has logged out and back in again.
- Tamed wolves will attack villagers, if the player attacks one.
- Wolves can spawn inside leaves. They will be stuck as long as there are leaf blocks on all sides.
- Jeb has stated that once the AI Specialist helps in cleaning up Minecraft's AI Code, he will consider including Puppies in the game.
- ]])
- wolf.close()
- world=fs.open("mem/redworks/minepedia/world","w")
- world.write([[The Overworld is the starting dimension in Minecraft. It is the only dimension that has existed throughout the development of Minecraft; The Nether was the second dimension to be added, in Alpha 1.2.0, and The End is another dimension that appeared for the first time in Beta 1.9pre4.
- The Overworld is the entire three dimensional space in which in-game construction can occur, encompassing the span from the level ceiling down to bedrock and extending in every direction on the horizontal plane. It is generated through a secret process which creates multiple Noise maps to create differing elevations, general chunk shapes, and complex mountain and cave systems.
- All but four of the mobs in the game can appear in the Overworld: Wolves, Pigs, Sheep, Cows, Mooshrooms, Chickens, Squid, Zombies, Skeletons, Spiders, Spider Jockeys, Endermen, Creepers and Slimes all spawn normally, and Pigs can, very rarely, be hit by lightning, which turns them into Zombie Pigmen. Ghasts, Blazes and Magma Cubes can only spawn in the Nether, and the Enderdragon can only spawn in The End.
- Worlds in Minecraft are generated through a procedural formula that takes a random number as a starting point - a seed, and it will be used to generate all the terrain of the overworld (and the Nether).
- As of Beta 1.3 the option was added for the player to specify the world seed. Using a specific seed generates exactly the same world each time, and thus interesting Minecraft worlds could be shared between players. The spawn is not on exactly the same spot, though, so it is wise to give co-ordinates instead of directions. The seed input is converted into an integer, so, for instance, the word 'Glacier' corresponds to a value of 1772835215, which generates exactly the same world when entered as a seed value.
- Many seeds are chosen simply because they spawn the player near desirable resources, a stronghold or some certain special structure, such as a dungeon.
- As of Beta 1.8, players could find the current map seed by tapping F3.
- In Classic and Indev, maps can be generated in "small" (128�97128�9764), "normal" (256�97256�9764), and "huge" (512�97512�9764) sizes.
- In Infdev, Alpha and Beta maps are somewhat infinitely big - They are made up of chunks; this means that as the player explores the map distant chunks are generated automatically, leading to theoretically infinite maps. In practice, technical reasons (the limits of 32-bit integers[1]) force the maximum map size to be around 8 times the surface area of the Earth [1], which comes out to about 4,080,576,000 km2. Whilst the horizontal planes of the maps are vast in size, the vertical plane remains at a fixed 128-block height [2].
- While the map is infinite, the number of blocks the player may walk on is limited. The map, counting air as a block, and not counting blocks beyond and at where block physics fail (32,000,000 from the center) from top to bottom, and all in between, is essentially always 1.31071992 �97 1017 blocks big. In multiplayer, chunks will also stop generating after the world reaches a certain file size.
- Generated Blocks: Entries marked with a D require additional data to fully define the block in a Beta world. Entries marked with an I have a different ID as an inventory item. Entries marked with a B require additional inventory data to fully define the inventory item. Entries marked with a T have tile entities associated with them to store additional data. Items with IDs in red cannot be legitimately obtained in the player's inventory in the game; they can only be obtained by "hacking" (such as the use of Inventory editors) or, in multiplayer using the /give server command.
- Naturally Generated includes blocks that are created through the world seed.
- Icon Dec Hex Block type
- 00 00 Air
- 01 01 Stone
- 02 02 Grass
- 03 03 Dirt
- 07 07 Bedrock
- 09 09 Water (Stationary) D
- 11 0B Lava (Stationary) D
- 12 0C Sand
- 13 0D Gravel
- 14 0E Gold Ore
- 15 0F Iron Ore
- 16 10 Coal Ore
- 17 11 Wood D B
- 18 12 Leaves D B
- 21 15 Lapis Lazuli Ore
- 24 18 Sandstone
- 31 1F Tall Grass D B
- 32 20 Dead Bush
- Icon Dec Hex Block type
- 37 25 Dandelion
- 38 26 Rose
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- 56 38 Diamond Ore
- 73 49 Redstone Ore
- 78 4E Snow
- 79 4F Ice
- 81 51 Cactus D
- 82 52 Clay Block
- 83 53 Sugar Cane D I
- 86 56 Pumpkin D
- 99 63 Huge Brown Mushroom D
- 100 64 Huge Red Mushroom D
- 106 6A Vines D
- 110 6E Mycelium
- 111 6F Lily Pad
- Naturally Created means a combination of events that cause a new block to be placed by natural causes, not the player.
- Icon Dec Hex Block type
- 00 00 Air
- 02 02 Grass
- 03 03 Dirt
- 04 04 Cobblestone
- 08 08 Water (Flowing) D
- 10 0A Lava (Flowing) D
- 31 1F Tall Grass D B
- 39 27 Brown Mushroom
- 40 28 Red Mushroom
- Icon Dec Hex Block type
- 49 31 Obsidian
- 51 33 Fire D
- 78 4E Snow
- 79 4F Ice
- 81 51 Cactus D
- 83 53 Sugar Cane D I
- 106 6A Vines D
- 110 6E Mycelium
- Same as Naturally Generated, but these blocks are only created with the "Generate Structures" option enabled.
- Icon Dec Hex Block type
- 05 05 Wooden Plank
- 09 09 Stationary Water D
- 11 0B Stationary Lava D
- 13 0D Gravel
- 17 11 Wood D B
- 30 1E Cobweb
- 35 23 Wool (Black) D B
- 44 2C Slabs D B
- 47 2F Bookshelf
- 50 32 Torch D
- 52 34 Monster Spawner T
- 53 35 Wooden Stairs D
- 54 36 Chest D T
- 58 3A Crafting Table
- Icon Dec Hex Block type
- 59 3B Seeds D
- 60 3C Farmland D
- 61 3D Furnace D T
- 64 40 Wooden Door D I
- 65 41 Ladders D
- 66 42 Rails D
- 67 43 Stone Stairs
- 71 47 Iron Door D I
- 72 48 Wooden Pressure Plate D
- 77 4D Button D
- 85 55 Fence
- 97 61 Hidden Silverfish D
- 98 62 Stone Bricks D B (2)
- 101 65 Iron Bars
- 102 66 Glass Pane
- Chunks are the method used by Notch to divide maps into manageable pieces. They are 16 blocks wide, 16 blocks long, and 128 blocks deep, and encompass 32,768 blocks. By adjusting the render distance, differing numbers of chunks will be loaded into memory, with "far" rendering the maximum of 81 chunks. Only chunks which have been loaded may experience activity such as spawning, despawning, growth, liquid movement, or player interaction. Upon reaching the required distance away from a chunk, it will be unloaded from the memory, however not deleted. Thus, upon re-entering that area, whatever has been changed will remain changed.
- Another subdivision of The Overworld is into Biomes. Biomes may have varying sizes, and each has its own features. For example, a forest biome will have large quantities of trees, where as a snow biome will have snow and ice.
- The Overworld is able to seamlessly create new areas by using patterns found in the surrounding chunks and extend those into the newly created chunk. These patterns, while unique to each world, can be categorized easily by comparing them to a real-world equivalent, such as cliffs or oceans. While Minecraft is based on landforms found on earth, impossible formations, such as floating islands, can be found throughout the Overworld.
- The Overworld can be navigated by use of the position of the sun and the moon, the movement of the clouds, and the movement of the stars. Assuming that the sun and moon rise in the east and go west, the clouds can be observed moving north and stars east.
- Tools used for Navigating The Overworld include the Compass and Map. The Compass points to the spawn point, and the Map shows a fixed area around where it was made, and shows you the area very generically. In the Nether, the Compass needle will spin wildly, and is thus useless. Since Beta 1.9 (Pre-Release 4), the Compass needle and the Clock will spin randomly within The End, similar to the Nether.
- Since Alpha 1.2.3, the F3 key toggles a debug console which shows the player their absolute coordinates, where the X and Z coordinates show longitude and latitude, and the Y coordinate shows height, where Y=64 corresponds to sea level. In addition, in Beta 1.7 an 'f' value was added, which indicates the direction the player is facing, 0 being the direction in which the sun sets, and it goes counter clockwise from there: 1 being the direction in which the clouds move, 2 and 3 are opposite to 0 and 1 respectively.
- Since the sun changed position relative to the clouds (they now move in the same direction) in 1.0.0, if you want to assume that the sun rises in the east and sets in the west, the 'f' values are, 0=west, 1=south, 2=east, and 3=north
- The overworld is the only dimension with a day/night cycle. During the daytime, the sun acts as a light source. This light is strong enough to kill Zombies, and Skeletons, make Endermen disappear and also makes Spiders neutral. The only mobs that survive and stay hostile in the daylight are creepers, slimes and cave spiders. At night time the moon is the only natural light source however it provides only a little light, allowing hostile mobs to spawn.
- The Far Lands used to be an area that formed the "edge" of the "infinite" map, but was later removed accidentally from a patch on 1.8 due to the change in the terrain generation code. When players made it to the Far Lands, they experienced an excessive amount of lag and the map was severely distorted.
- According to Notch, this distortion could be fixed, but since no one was likely to make it to the Far Lands without some form of cheating, he says that he was likely not going to fix it since he liked the idea of a mysterious world beyond a certain distance. When the Beta 1.8 update was released, the newly re-written biome code did in fact remove the Far Lands and will just generate as an extremely large ocean. The far lands may be brought back in a later patch, though it is unlikely.
- Trivia: World seeds can be extracted from the level.dat file by various modes or seeds, such as http://seedscope.net. Alternatively, it can be found in-game on the performance screen accessed by pressing F3.
- There is a bug that sometimes causes the files for deleted worlds to not be deleted from your hard drive. If a new world is created with the same name, this can cause the game to reuse the old files, and thus, parts of the old map, rather than generate an entirely new map.
- ]])
- world.close()
- zombie=fs.open("mem/redworks/minepedia/zombie","w")
- zombie.write([[A zombie is a hostile mob with green skin and clothes that closely resembles the player. A zombie measures 2 blocks tall, 1 block wide, and 0.25 blocks thick. Zombies spawn in dimly lit areas and attack players by shambling towards them and touching them. A zombie, along with skeletons will catch on fire when in sunlight
- Uses: The zombie does not have very many uses. However, as of Minecraft Beta 1.8, zombies drop 0-2 pieces of Rotten Flesh.[1] Before the 1.8 update, they gave 0-2 Feathers instead.
- Behavior: Zombies moan when wandering around aimlessly, but snarl and gurgle when attacking and injured. Zombies spawn in groups of 2 - 6 and will pursue the player on sight, making no attempt to avoid cliffs or other obstacles, which they will try to breach by hopping. Unlike skeletons, zombies do not try to avoid being hit, and will continue to pursue the player.
- At dawn (when the Sun is 15 degrees or more above the ground), zombies will catch on fire and burn. However, if they are in a body of water when this time comes, they will not be burned, as the water will douse the flames. If they exit the water and the conditions for them burning still are true, then they will catch on fire, although if they are in enough shade (under a tree, cave, etc.), they will not catch fire.
- Combat: Zombies are one of the easiest enemies to deal with and don't pose much of a threat unless encountered in a narrow space or in large groups. A player on sufficiently high ground can repeatedly hit a zombie again and again as it approaches. If the player is being pursued by several zombies, they can use a sword to push them back with each hit, alternating targets so no single zombie can close in. If a player is in a small room with several zombies with no escape route, it is recommended to use blocking and slashing at the zombies to half damage and slowly kill the zombies.
- As of Beta 1.9 Pre-release 5 Zombies, Zombie Pigmen, and Skeletons can be damaged by Splash Potions of healing.
- One other good way to deal with them is to go on sneak mode, slowly go back and wait for the zombie to aproach, as they are faster then the player on sneak mode, they shall come faster and you can hit them everytime he is in range with a sword. As of that, they wont hit you almost everytime you slash them
- Defensive Measures: Like skeletons, zombies are vulnerable to daylight, lava, fire, and contact with cacti. Surface zombie populations can be controlled if the player regularly sleeps in a bed at dusk, since zombies will spawn at night if given the chance to do so.
- Should a player be trapped on the surface outside at dusk, they can dig a single block wide pit 3 blocks deep, seal off the top with a block, place a torch at their feet, and wait for morning light to burn away the undead before climbing out.
- History: Zombies were the first and fastest mob in Survival Test in the game until spiders were added, and could run as fast as the player. They would occasionally appear wearing armor, but this had no protective effect on their health. When killed, zombies gave 80 points each to the player.
- The zombies' armor was removed in Indev. From Indev through Beta 1.7.3, zombies dropped 0 - 2 feathers upon death. Before chickens existed in Minecraft, Notch confessed[2] that he made zombies drop feathers because he had no idea what they should have dropped when killed.
- Trivia: Zombies are known to spawn when the map is being built inside various caves and caverns.
- Because a zombie has identical dimensions to the player model, the zombie's skin can easily be used as a player skin and vice versa.
- A Giant is an unused variation of a zombie that can only be spawned through third party programs. Its behavior is identical to the zombie's, but it has 50 hearts of health, deals 8.5 damage in one single hit, and is unable to damage you unless you are right under it.
- Since Beta 1.9 pre 5, a splash potion of fire resistance can be used to spare zombies from burning to death in the sun.
- A zombie hit by a splash potion of harming will gain health, however, when it is hit by a splash potion of healing it will lose health. It is also unaffected by potions of regeneration and poison. This is because zombies are undead.
- Zombies are easily detected through walls and blocks, due to their constant growling and moaning.
- ]])
- zombie.close()
- zombiepigman=fs.open("mem/redworks/minepedia/zombiepigman","w")
- zombiepigman.write([[A Zombie Pigman is an irregular mob that spawns naturally in the Nether and appears in the Overworld when a pig is struck by lightning, which is a very rare occurence. Like wild wolves, zombie pigmen are not initially hostile, but they will converge on the mob or player as a group to attack them if a single member is attacked.
- Behavior: A Zombie Pigman is an irregular mob that spawns naturally in the Nether and appears in the Overworld when a pig is struck by lightning, which is a very rare occurence. Like wild wolves, zombie pigmen are not initially hostile, but they will converge on the mob or player as a group to attack them if a single member is attacked.
- Combat: To an unprepared or careless player, a charging group of zombie pigmen can mean a swift death. However, fighting zombie pigmen becomes feasible when you can manage which of them become hostile and which remain neutral. Zombie pigmen attack on the basis of 'seeing is believing', meaning that they only become hostile when they see one of their own being attacked by the player. Once this happens, all zombie pigmen within a certain radius (about a dozen blocks) become hostile, and will charge the player IF he is within range. Zombie pigmen will also notice attacks from behind walls. The hostility radius is centered around the zombie pigmen that is attacked, not the player, meaning that you can attack a far-away zombie pigman with a bow without nearby zombie pigmen becoming hostile (although this is not advisable).
- By keeping these rules in mind, it is possible to safely pick off groups of zombie pigmen with a bow, or to kill isolated zombie pigmen, provided that the other members of the group are outside their aggressive range, which is rather short. This can be used to collect Gold Nuggets and Rotten Flesh, despite there being only a small chance of them dropping these items.
- Despite the visual effect of their gold sword they deal no greater damage than a zombie.
- A way to kill them without great difficulty is to create a "booth"--a structure with four walls each three blocks tall, two of them (that must meet at a corner) having gaps at the second block up. A player can mine one block out of the bottom of one of the partial walls and attack a Zombie Pigman, then quickly go back inside and close the way in, then use strike-and-run tactics, running up to the walls with the gaps in them, hitting a Zombie Pigman, then running to the closed corner before it can retaliate, continuing until they are all dead. A bow or stone/iron/diamond sword speeds this process up significantly, the first by allowing the player just to sit in the closed corner and shoot, and the second by reducing the number of hits required. If possible, the booth should be made out of Cobblestone as this will make it invulnerable to Ghasts.
- An easier tactic is to build a column three blocks high. From here, you can either hit the Zombie Pigmen or shoot arrows. They will swarm you, as well as push you around, but you will not receive any damage as long as you remain on the column.
- As of Beta 1.9 Pre-release 5 Zombie Pigmen, Skeletons and Zombies can be damaged by Splash Potions of Healing, and will be healed by Splash Potions of Harming. In addition, a sword enchanted with Smite will do extra damage to Zombie Pigmen.
- Another great way to deal with a pack of charging Zombie Pigmen is to either have a sword enchanted with the knock-back ability, or to backpedal while attacking them, as they can outrun you if you don't sprint.
- Another technique is to agitate them, then lead them into a pool or fountain of lava. This will cause them to return to their docile state. They will not swim around in the lava, only stay in one spot. If you hit them out of the lava from another side, they will return to their hostile state. They will run at you, and fall into the lava, thus calming them again. If there are other pigmen nearby who are also in lava, they will not react. However this is not a good tactic for getting their drops as their drops are burned when they fall into the lava.
- Another way to kill zombie pigmen is to place a bed next to one and right click on it this will make it explode and kill the zombie pigman and other zombie pigmen will not become hostile but it also risks killing yourself because of the explosion.
- History: Zombie pigmen, the first completely neutral, non-passive mob, was introduced in Alpha as a part of the Nether update along with ghasts. The green liquid in the zombie pigman skin was originally blood red, but this was changed because players expressed a preference for the lack of conventional blood and gore in Minecraft. The skin file has "thx xaphobia" written on it as a credit by Notch to the skin's original creator, XaPhobia, also known as X__x.
- Zombie pigmen were originally presented as unarmed passive creatures in a preview before the Halloween update. After Alpha 1.2, their temperament was changed to neutral and they wielded gold swords. Pigmen would never forgive the player for attacking them, but after the Nov. 10, 2010 update, they would revert to a neutral state after a certain amount of time (if left alone).
- After the Beta 1.5 update, pigs struck by lightning in the Overworld would transform into zombie pigmen.[1]
- After the 1.0 update, Zombie Pigmen no longer drop cooked porkchops upon death, but instead drop rotten flesh. Also, they have a chance to drop Gold Nuggets, which can be crafted into Gold Ingots or Glistering Melons.
- Trivia: If a player attacks a zombie pigman in multiplayer, they turn hostile to ALL players. If the player who attacked them dies or goes away, the zombie pigmen attack the next player who is closest to them.
- In multiplayer, if the server has monsters and a pig is struck by lightning, it may result in a glitched zombie pigman object that behaves similar to the client-side TNT glitch, it can be passed through, does not move or obey physics and cannot be hit.
- In the Beta 1.9 pre-releases, upon looking straight at the Zombie Pigmen with fast graphics turned on, the hotbar seems to change colors.
- ]])
- zombiepigman.close()
- zombiepigmen=fs.open("mem/redworks/minepedia/zombiepigmen","w")
- zombiepigmen.write([[A Zombie Pigman is an irregular mob that spawns naturally in the Nether and appears in the Overworld when a pig is struck by lightning, which is a very rare occurence. Like wild wolves, zombie pigmen are not initially hostile, but they will converge on the mob or player as a group to attack them if a single member is attacked.
- Behavior: A Zombie Pigman is an irregular mob that spawns naturally in the Nether and appears in the Overworld when a pig is struck by lightning, which is a very rare occurence. Like wild wolves, zombie pigmen are not initially hostile, but they will converge on the mob or player as a group to attack them if a single member is attacked.
- Combat: To an unprepared or careless player, a charging group of zombie pigmen can mean a swift death. However, fighting zombie pigmen becomes feasible when you can manage which of them become hostile and which remain neutral. Zombie pigmen attack on the basis of 'seeing is believing', meaning that they only become hostile when they see one of their own being attacked by the player. Once this happens, all zombie pigmen within a certain radius (about a dozen blocks) become hostile, and will charge the player IF he is within range. Zombie pigmen will also notice attacks from behind walls. The hostility radius is centered around the zombie pigmen that is attacked, not the player, meaning that you can attack a far-away zombie pigman with a bow without nearby zombie pigmen becoming hostile (although this is not advisable).
- By keeping these rules in mind, it is possible to safely pick off groups of zombie pigmen with a bow, or to kill isolated zombie pigmen, provided that the other members of the group are outside their aggressive range, which is rather short. This can be used to collect Gold Nuggets and Rotten Flesh, despite there being only a small chance of them dropping these items.
- Despite the visual effect of their gold sword they deal no greater damage than a zombie.
- A way to kill them without great difficulty is to create a "booth"--a structure with four walls each three blocks tall, two of them (that must meet at a corner) having gaps at the second block up. A player can mine one block out of the bottom of one of the partial walls and attack a Zombie Pigman, then quickly go back inside and close the way in, then use strike-and-run tactics, running up to the walls with the gaps in them, hitting a Zombie Pigman, then running to the closed corner before it can retaliate, continuing until they are all dead. A bow or stone/iron/diamond sword speeds this process up significantly, the first by allowing the player just to sit in the closed corner and shoot, and the second by reducing the number of hits required. If possible, the booth should be made out of Cobblestone as this will make it invulnerable to Ghasts.
- An easier tactic is to build a column three blocks high. From here, you can either hit the Zombie Pigmen or shoot arrows. They will swarm you, as well as push you around, but you will not receive any damage as long as you remain on the column.
- As of Beta 1.9 Pre-release 5 Zombie Pigmen, Skeletons and Zombies can be damaged by Splash Potions of Healing, and will be healed by Splash Potions of Harming. In addition, a sword enchanted with Smite will do extra damage to Zombie Pigmen.
- Another great way to deal with a pack of charging Zombie Pigmen is to either have a sword enchanted with the knock-back ability, or to backpedal while attacking them, as they can outrun you if you don't sprint.
- Another technique is to agitate them, then lead them into a pool or fountain of lava. This will cause them to return to their docile state. They will not swim around in the lava, only stay in one spot. If you hit them out of the lava from another side, they will return to their hostile state. They will run at you, and fall into the lava, thus calming them again. If there are other pigmen nearby who are also in lava, they will not react. However this is not a good tactic for getting their drops as their drops are burned when they fall into the lava.
- Another way to kill zombie pigmen is to place a bed next to one and right click on it this will make it explode and kill the zombie pigman and other zombie pigmen will not become hostile but it also risks killing yourself because of the explosion.
- History: Zombie pigmen, the first completely neutral, non-passive mob, was introduced in Alpha as a part of the Nether update along with ghasts. The green liquid in the zombie pigman skin was originally blood red, but this was changed because players expressed a preference for the lack of conventional blood and gore in Minecraft. The skin file has "thx xaphobia" written on it as a credit by Notch to the skin's original creator, XaPhobia, also known as X__x.
- Zombie pigmen were originally presented as unarmed passive creatures in a preview before the Halloween update. After Alpha 1.2, their temperament was changed to neutral and they wielded gold swords. Pigmen would never forgive the player for attacking them, but after the Nov. 10, 2010 update, they would revert to a neutral state after a certain amount of time (if left alone).
- After the Beta 1.5 update, pigs struck by lightning in the Overworld would transform into zombie pigmen.[1]
- After the 1.0 update, Zombie Pigmen no longer drop cooked porkchops upon death, but instead drop rotten flesh. Also, they have a chance to drop Gold Nuggets, which can be crafted into Gold Ingots or Glistering Melons.
- Trivia: If a player attacks a zombie pigman in multiplayer, they turn hostile to ALL players. If the player who attacked them dies or goes away, the zombie pigmen attack the next player who is closest to them.
- In multiplayer, if the server has monsters and a pig is struck by lightning, it may result in a glitched zombie pigman object that behaves similar to the client-side TNT glitch, it can be passed through, does not move or obey physics and cannot be hit.
- In the Beta 1.9 pre-releases, upon looking straight at the Zombie Pigmen with fast graphics turned on, the hotbar seems to change colors.
- ]])
- zombiepigmen.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement