O computador virtual que controla o interruptor das luzes no mundo virtual doMinecraft já é mais do que um jogo. Este é o estilo de vida e o habitat de muitos, muitos jogadores. O Minecraft também pode ser usado para fins de engenharia. Por exemplo, por que não aprender a ligar e desligar a lâmpada em uma sala, colocando um interruptor no jogo?O mesmo aconteceu com um dos jogadores cujo apelido é giannoug . Ele trabalhou com seu amigo, criando um sistema que controla uma lâmpada WiFi que não é o mesmo nome. Agora não é incomum, e você pode comprá-los a um preço relativamente baixo. Giannoug trabalhou com um amigo que fez a engenharia reversa do protocolo da lâmpada. O próprio autor da ideia construiu um switch baseado no mod OpenComputers .Depois de algum tempo, o computador estava pronto e o autor conseguiu abri-lo para o mundo inteiro através do TCP / IP.O protocolo usado pela lâmpada é bastante simples. O byte do cabeçalho, três bytes adicionais para determinar a cor RGB, um byte para determinar o brilho, um byte para alternar o modo de operação e um byte final. Há também um mineral no jogo - um análogo da eletricidade em nosso mundo. Por padrão, os blocos podem ser usados como elementos de um circuito elétrico. Com a ajuda de tais blocos, até análogos de processadores reais foram criados.0x56 RED GREEN BLUE WHITE MODE 0xAA
O script para a lâmpada:local event = require('event')
local net = require('internet')
local myEventHandlers = {}
local running = true
local con = net.open('192.168.1.110', 5577)
function myEventHandlers.key_up(address, char, code, playerName)
if (char == 'q') then
running = false
print('Goodbye '… playerName… '!')
end
end
function myEventHandlers.redstone_changed(_, address, side)
local brightness = 0xff;
if side > 0 then
brightness = 0xff
else
brightness = 0x00
end
print('Sending '… brightness… ' to lamp...')
con:write(string.char(0x56))
con:write(string.char(0x00))
con:write(string.char(0x00))
con:write(string.char(0x00))
con:write(string.char(brightness))
con:write(string.char(0x0f))
con:write(string.char(0xaa))
con:flush()
end
function handleEvent(eventID, ...)
local event = myEventHandlers[eventID]
if (event) then
event(...)
end
end
if con then
print('Connected to the bulb!')
end
while running do
handleEvent(event.pull())
end
E uma demonstração do trabalho de todo o esquema:
no Minecraft, muitos jogadores ainda recriam modelos de lugares reais. Por exemplo, Antártica.Martin O'Leary, um glaciologista da Universidade de Swansea, recriou a Antártica em Minecraft. Agora, o modelo, com um tamanho de 1: 1000 do continente real, contém mais de 3 bilhões de blocos. Martin decidiu um trabalho tão em larga escala depois que os cientistas começaram a aparecer no Minecraft, que criou vários modelos, incluindo Manhattan do século XIX .Informações adicionais sobre o projeto "acenda a luz do Minecraft" estão no site do autor .