turtle equip round 2

This commit is contained in:
kepler155c@gmail.com
2019-03-07 17:49:06 -05:00
parent fd5343c9c2
commit 7d83e66e4a
8 changed files with 17 additions and 35 deletions

View File

@@ -2,7 +2,6 @@ local Equipper = require('turtle.equipper')
local Point = require('point')
local Util = require('util')
local device = _G.device
local os = _G.os
local turtle = _G.turtle
@@ -19,14 +18,12 @@ local Runners = {
}
Equipper.equipLeft('minecraft:diamond_sword')
Equipper.equipRight('plethora:module:2', 'plethora:scanner')
local scanner = Equipper.equipRight('plethora:module:2', 'plethora:scanner')
local scanner = device['plethora:scanner']
local facing = scanner.getBlockMeta(0, 0, 0).state.facing
turtle.point.heading = Point.facings[facing].heading
Equipper.equipRight('plethora:module:3', 'plethora:sensor')
local sensor = device['plethora:sensor']
local sensor = Equipper.equipRight('plethora:module:3', 'plethora:sensor')
turtle.setMovementStrategy('goto')
turtle.set({ attackPolicy = 'attack' })

View File

@@ -2,7 +2,6 @@ local Equipper = require('turtle.equipper')
local Point = require('point')
local Util = require('util')
local device = _G.device
local fs = _G.fs
local os = _G.os
local peripheral = _G.peripheral
@@ -18,8 +17,7 @@ local FUEL = Util.transpose {
'minecraft:blaze_rod:0',
}
Equipper.equipRight('plethora:module:2', 'plethora:scanner')
local scanner = device['plethora:scanner']
local scanner = Equipper.equipRight('plethora:module:2', 'plethora:scanner')
local crops = Util.readTable(CONFIG_FILE) or {
['minecraft:wheat'] =

View File

@@ -3,7 +3,6 @@ local Config = require('config')
local Equipper = require('turtle.equipper')
local Util = require('util')
local device = _G.device
local fs = _G.fs
local os = _G.os
local turtle = _G.turtle
@@ -31,9 +30,7 @@ local ANIMALS = {
local animal = ANIMALS[config.animal]
Equipper.equipLeft('minecraft:diamond_sword')
Equipper.equipRight('plethora:module:3', 'plethora:sensor')
local sensor = device['plethora:sensor']
local sensor = Equipper.equipRight('plethora:module:3', 'plethora:sensor')
local chest = Adapter({ side = 'bottom', direction = 'up' }) or error('missing chest')

View File

@@ -2,7 +2,6 @@ local Equipper = require('turtle.equipper')
local Point = require('point')
local Util = require('util')
local device = _G.device
local fs = _G.fs
local os = _G.os
local turtle = _G.turtle
@@ -12,8 +11,7 @@ local STARTUP_FILE = 'usr/autorun/spawner.lua'
local mobTypes = { }
Equipper.equipLeft('minecraft:diamond_sword')
Equipper.equipRight('plethora:module:2', 'plethora:scanner')
local scanner = device['plethora:scanner']
local scanner = Equipper.equipRight('plethora:module:2', 'plethora:scanner')
turtle.reset()
local facing = scanner.getBlockMeta(0, 0, 0).state.facing
@@ -30,8 +28,7 @@ Util.filterInplace(data, function(b)
end)
local chest = Point.closest(spawner, data) or error('missing drop off chest')
Equipper.equipRight('plethora:module:3', 'plethora:sensor')
local sensor = device['plethora:sensor']
local sensor = Equipper.equipRight('plethora:module:3', 'plethora:sensor')
if not fs.exists(STARTUP_FILE) then
Util.writeFile(STARTUP_FILE,

View File

@@ -1,5 +1,3 @@
_G.requireInjector(_ENV)
--[[
Requirements:
Place turtle against an oak tree or oak sapling

View File

@@ -19,7 +19,6 @@ local Util = require('util')
local colors = _G.colors
local fs = _G.fs
local os = _G.os
local peripheral = _G.peripheral
local read = _G.read
local term = _G.term
local turtle = _G.turtle
@@ -318,8 +317,8 @@ local function collectDrops(suckAction)
end
local function scan()
Equipper.equipLeft('plethora:module:2', 'plethora:scanner')
local blocks = peripheral.call('left', 'scan')
local scanner = Equipper.equipLeft('plethora:module:2', 'plethora:scanner')
local blocks = scanner.scan()
Equipper.equipLeft('minecraft:diamond_pickaxe')
local throttle = Util.throttle()
@@ -508,8 +507,8 @@ turtle.initialize = function()
--os.sleep(5)
local pt = GPS.getPoint(2) or error('GPS not found')
Equipper.equipLeft('plethora:module:2', 'plethora:scanner')
local facing = peripheral.call('left', 'getBlockMeta', 0, 0, 0).state.facing
local scanner = Equipper.equipLeft('plethora:module:2', 'plethora:scanner')
local facing = scanner.getBlockMeta(0, 0, 0).state.facing
pt.heading = Point.facings[facing].heading
turtle.setPoint(pt, true)
Equipper.equipLeft('minecraft:diamond_pickaxe')

View File

@@ -41,18 +41,18 @@ local function getEquipped()
elseif not Equipper.equipped.left then
local slot = Equipper.unequip('left')
if slot then
turtle.equip('left', slot.name .. ':' .. slot.damage)
Equipper.equipped.left = slot.name .. ':' .. slot.damage
end
elseif not Equipper.equipped.right then
local slot = Equipper.unequip('right')
if slot then
turtle.equip('right', slot.name .. ':' .. slot.damage)
Equipper.equipped.right = slot.name .. ':' .. slot.damage
end
end
end
_debug("Detected Equipped")
_debug(Equipper.equipped)
end
function Equipper.unequip(side)
@@ -81,7 +81,7 @@ function Equipper.equip(side, invName, equippedName)
-- is it already equipped ?
if Equipper.equipped[side] == (equippedName or invName) then
return
return peripheral.getType(side) and peripheral.wrap(side)
end
-- is it equipped on other side ?
if Equipper.equipped[reversed[side]] == (equippedName or invName) then
@@ -95,16 +95,15 @@ function Equipper.equip(side, invName, equippedName)
Equipper.equipped[side] = peripheral.getType(side) or invName
_debug("Equipped: " .. invName)
_debug(Equipper.equipped)
return peripheral.getType(side) and peripheral.wrap(side)
end
function Equipper.equipLeft(invName, equippedName)
Equipper.equip('left', invName, equippedName)
return Equipper.equip('left', invName, equippedName)
end
function Equipper.equipRight(invName, equippedName)
Equipper.equip('right', invName, equippedName)
return Equipper.equip('right', invName, equippedName)
end
return Equipper

View File

@@ -1,7 +1,6 @@
local Equipper = require('turtle.equipper')
local Point = require('point')
local device = _G.device
local peripheral = _G.device
local turtle = _G.turtle
@@ -16,9 +15,7 @@ if not turtle.has('minecraft:bucket') then
end
local swapSide = peripheral.getType('right') == 'modem' and 'left' or 'right'
Equipper.equip(swapSide, 'plethora:module:2', 'plethora:scanner')
local scanner = device['plethora:scanner']
local scanner = Equipper.equip(swapSide, 'plethora:module:2', 'plethora:scanner')
if not turtle.select('minecraft:bucket') then
error('bucket required')