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")