Example #1
0
 def __init__(self, miss, visualizer=None):
     mc = MalmoConnector(miss)
     mc.safeStart()
     self.rob = RobustObserverWithCallbacks(mc)
     vp = miss.agentSections[0].agenthandlers.video_producer
     if vp is not None:
         callback = NeuralWrapper(self.rob, 320/vp.width, vp.width//320)
                                 # cb_name, on_change event, callback
         self.rob.addCallback('getNeuralSegmentation', 'getImageFrame', callback)
     self.blockMem = NoticeBlocks()
     self.visualizer = visualizer
        pickaxe = mc.filterInventoryItem('stone_pickaxe')
        if mc.isInventoryAvailable() and pickaxe == []:
            break


video_producer = mb.VideoProducer(width=320, height=240)
agent_handler = mb.AgentHandlers(video_producer=video_producer)
agent_section = mb.AgentSection(agenthandlers=agent_handler)
miss = mb.MissionXML(agentSections=[agent_section])
miss.setWorld(
    mb.flatworld(
        "3;7,25*1,3*3,2;1;stronghold,biome_1,village,decoration,dungeon,lake,mineshaft,lava_lake",
        forceReset="true"))
miss.serverSection.initial_conditions.allowedmobs = "Pig Sheep Cow Chicken Ozelot Rabbit Villager"
mc = MalmoConnector(miss)
mc.safeStart()
# fixing bug with falling through while reconnecting
sleep(2)
mc.sendCommand("jump 1")
sleep(0.1)
mc.sendCommand("jump 0")

lookDir(mc, 0, 0)

getSticks(mc)

mc.sendCommand('craft wooden_pickaxe')

pickaxe = getInvSafe(mc, 'wooden_pickaxe')
if pickaxe == []:
    print("Failed")