diff --git a/farms/attack.lua b/farms/attack.lua index 6a493ce..dcc97f7 100644 --- a/farms/attack.lua +++ b/farms/attack.lua @@ -1,12 +1,12 @@ _G.requireInjector(_ENV) -local Peripheral = require('peripheral') local Point = require('point') local Util = require('util') -local device = _G.device -local os = _G.os -local turtle = _G.turtle +local device = _G.device +local os = _G.os +local peripheral = _G.peripheral +local turtle = _G.turtle local args = { ... } local mobType = args[1] or error('Syntax: attack ') @@ -21,23 +21,12 @@ local Runners = { } local function equip(side, item, rawName) - local equipped = Peripheral.lookup('side/' .. side) - - if equipped and equipped.type == item then - return true - end - - if not turtle.equip(side, rawName or item) then - if not turtle.selectSlotWithQuantity(0) then - error('No slots available') - end - turtle.equip(side) - if not turtle.equip(side, item) then + if peripheral.getType(side) ~= item then + if not turtle.equip(side, rawName or item) then error('Unable to equip ' .. item) end + turtle.select(1) end - - turtle.select(1) end equip('left', 'minecraft:diamond_sword') diff --git a/farms/rancher.lua b/farms/rancher.lua index 3ff984b..fd70291 100644 --- a/farms/rancher.lua +++ b/farms/rancher.lua @@ -3,12 +3,12 @@ _G.requireInjector(_ENV) local Config = require('config') local Util = require('util') local Adapter = require('chestAdapter18') -local Peripheral = require('peripheral') -local device = _G.device -local fs = _G.fs -local os = _G.os -local turtle = _G.turtle +local device = _G.device +local fs = _G.fs +local os = _G.os +local peripheral = _G.peripheral +local turtle = _G.turtle local STARTUP_FILE = 'usr/autorun/rancher.lua' @@ -33,23 +33,12 @@ local ANIMALS = { local animal = ANIMALS[config.animal] local function equip(side, item, rawName) - local equipped = Peripheral.lookup('side/' .. side) - - if equipped and equipped.type == item then - return true - end - - if not turtle.equip(side, rawName or item) then - if not turtle.selectSlotWithQuantity(0) then - error('No slots available') - end - turtle.equip(side) - if not turtle.equip(side, item) then + if peripheral.getType(side) ~= item then + if not turtle.equip(side, rawName or item) then error('Unable to equip ' .. item) end + turtle.select(1) end - - turtle.select(1) end local function getLocalName() diff --git a/farms/superTreefarm.lua b/farms/superTreefarm.lua index f31b1f5..05caf40 100644 --- a/farms/superTreefarm.lua +++ b/farms/superTreefarm.lua @@ -1,5 +1,4 @@ local GPS = require('gps') -local Peripheral = require('peripheral') local Point = require('point') local Util = require('util') @@ -68,23 +67,12 @@ local state = Util.readTable('usr/config/superTreefarm') or { local clock = os.clock() local function equip(side, item, rawName) - local equipped = Peripheral.lookup('side/' .. side) - - if equipped and equipped.type == item then + if peripheral.getType(side) == item or turtle.equip(side, rawName or item) then + turtle.select(1) return true end - if not turtle.equip(side, rawName or item) then - if not turtle.selectSlotWithQuantity(0) then - error('No slots available') - end - turtle.equip(side) - if not turtle.equip(side, item) then - error('Unable to equip ' .. (rawName or item)) - end - end - - turtle.select(1) + error('Unable to equip ' .. (rawName or item)) end local function inspect(fn) @@ -531,6 +519,7 @@ local function fellTrees(blocks) turtle.digDownAt(pt) if pt.plant then turtle.placeDown(pt.plant) + turtle.select(1) end end else diff --git a/milo/apps/furni.lua b/milo/apps/furni.lua index 6969d3b..56fe9e9 100644 --- a/milo/apps/furni.lua +++ b/milo/apps/furni.lua @@ -18,34 +18,23 @@ Use this turtle for machine crafting. _G.requireInjector(_ENV) local Event = require('event') -local Peripheral = require('peripheral') local Util = require('util') local device = _G.device local fs = _G.fs local os = _G.os +local peripheral = _G.peripheral local turtle = _G.turtle local STARTUP_FILE = 'usr/autorun/miloFurni.lua' local function equip(side, item, rawName) - local equipped = Peripheral.lookup('side/' .. side) - - if equipped and equipped.type == item then - return true - end - - if not turtle.equip(side, rawName or item) then - if not turtle.selectSlotWithQuantity(0) then - error('No slots available') - end - turtle.equip(side) - if not turtle.equip(side, item) then + if peripheral.getType(side) ~= item then + if not turtle.equip(side, rawName or item) then error('Unable to equip ' .. item) end + turtle.select(1) end - - turtle.select(1) end equip('left', 'plethora:introspection', 'plethora:module:0') diff --git a/milo/plugins/craftTask.lua b/milo/plugins/craftTask.lua index 546027e..62054b1 100644 --- a/milo/plugins/craftTask.lua +++ b/milo/plugins/craftTask.lua @@ -1,5 +1,6 @@ local Craft = require('craft2') local Milo = require('milo') +local Sound = require('sound') local Util = require('util') local context = Milo:getContext() @@ -61,6 +62,7 @@ function craftTask:cycle() if item.requested - item.crafted > 0 then local recipe = Craft.findRecipe(key) if recipe then + Sound.play('entity.experience_orb.pickup') self:craft(recipe, item) if item.callback and item.crafted >= item.requested then item.callback(item) -- invoke callback diff --git a/neural/Entities.lua b/neural/Entities.lua index 2c548d6..1ac7c98 100644 --- a/neural/Entities.lua +++ b/neural/Entities.lua @@ -1,6 +1,5 @@ local Config = require('config') local Event = require('event') -local Peripheral = require('peripheral') local Project = require('neural.project') local UI = require('ui') local Util = require('util') @@ -9,28 +8,15 @@ local device = _G.device local peripheral = _G.peripheral local turtle = _G.turtle -local function equip(side, item, rawName) - if turtle then - local equipped = Peripheral.lookup('side/' .. side) - - if equipped and equipped.type == item then - return equipped - end - - if turtle.equip(side, rawName or item) then - equipped = Peripheral.lookup('side/' .. side) - end - - turtle.select(1) - return equipped - end +local function equip(side, rawName) + return turtle and turtle.equip(side, rawName) and peripheral.wrap(side) end local ni = device.neuralInterface local sensor = ni or device['plethora:sensor'] or peripheral.find('manipulator') or - equip('left', 'pletora:sensor', 'plethora:module:3') + equip('left', 'plethora:module:3') if not sensor or not sensor.sense then error('Plethora sensor must be equipped')