Skip to content

Commit 259f9f2

Browse files
committed
refactor: 🗑️ Cleaned up some legacy Suitsrelated stuff
1 parent c691018 commit 259f9f2

File tree

5 files changed

+43
-44
lines changed

5 files changed

+43
-44
lines changed

inventory.lua

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
--#region Definitions
12
---@class placeAction
23
---@field funciton fun(turtle: TurtleProxy | TurtleMock, item: item, position: position): boolean , any[]
34

@@ -31,7 +32,10 @@
3132
---@field list fun(): item[]
3233
---@field getType fun(): string
3334
---@field __index any
34-
---@field deepCopy fun(table: table): table
35+
--#endregion
36+
37+
38+
local deepCopy = require("./TestSuite-lib/helperFunctions/helperFunctions").deepCopy
3539

3640
---# inventory
3741
---Inventory system emulated
@@ -108,7 +112,7 @@ local function pickUpItem(inventory, item, slot)
108112
local toTransfer = math.min(space, item.count)
109113

110114
local currentCount = getItemCount(inventory, fittingSlot)
111-
inventory[fittingSlot] = inventory.deepCopy(item)
115+
inventory[fittingSlot] = deepCopy(item)
112116
if (inventory[fittingSlot] == nil) then
113117
inventory[fittingSlot].maxcount = item.maxcount or inventory.defaultMaxSlotSize
114118
end
@@ -141,12 +145,11 @@ end
141145
---@param inventorySize number | nil
142146
---@param deepCopy fun(table: table): table
143147
---@return inventory
144-
function inventory:createInventory(inventorySize, deepCopy)
148+
function inventory:createInventory(inventorySize)
145149
local i = {
146150
inventorySize = inventorySize or 27,
147151
selectedSlot = 1,
148-
defaultMaxSlotSize = 64,
149-
deepCopy = deepCopy
152+
defaultMaxSlotSize = 64
150153
}
151154
setmetatable(i, self)
152155
self.__index = self
@@ -227,7 +230,7 @@ function inventory:transferTo(slot, count)
227230
if currentSlot == nil then
228231
return true
229232
end
230-
self[slot] = self.deepCopy(self[self.selectedSlot])
233+
self[slot] = deepCopy(self[self.selectedSlot])
231234
self[slot].count = math.min(self[slot] and self[slot].maxcount or 0 , count)
232235
local transferTo = math.min(currentSlot.count, count)
233236
currentSlot.count = currentSlot.count - transferTo

peripheral.lua

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ to simulate the normal behavior of a turtle interacting with a peripheral.
1616
]]
1717

1818

19+
--#region Definitions
1920
---@alias filterFunc fun(name: string, wrapped: table):boolean
2021

2122
---@alias relativePosition
@@ -26,14 +27,7 @@ to simulate the normal behavior of a turtle interacting with a peripheral.
2627
--- | "left"
2728
--- | "right"
2829

29-
local relativePositionOptions = {
30-
["right"] = true,
31-
["left"] = true,
32-
["front"] = true,
33-
["back"] = true,
34-
["top"] = true,
35-
["bottom"] = true
36-
}
30+
3731

3832
---@class PeripheralModule
3933
---@field turtle TurtleMock
@@ -44,12 +38,23 @@ local relativePositionOptions = {
4438
---@field isPresent fun(peripheral: PeripheralModule, positionOrname: any):boolean
4539
---@field getType fun(peripheral: PeripheralModule, Peripheral: peripheralActions):string|nil
4640
---@field __index PeripheralModule
41+
--#endregion
4742

43+
---@type Vector
44+
local vector = require("./TestSuite-lib/vector/vector")
45+
46+
local relativePositionOptions = {
47+
["right"] = true,
48+
["left"] = true,
49+
["front"] = true,
50+
["back"] = true,
51+
["top"] = true,
52+
["bottom"] = true
53+
}
4854
--- Maps the relative positions of the turtle to the absolute positions of the emulator
4955
---@param turtle TurtleMock
5056
---@return table<relativePosition, Vector>
5157
local function positionMapper(turtle)
52-
local vector = turtle.emulator.suit.vector
5358
return {
5459
["front"] = turtle.position + turtle.facing,
5560
["back"] = turtle.position - turtle.facing,

tests/test_spec.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ local vector = require("./TestSuite-lib/vector/vector")
3434
local deepCopy = require("./TestSuite-lib/helperFunctions/helperFunctions").deepCopy
3535

3636
local turtleEmulator = require("../turtleEmulator")
37-
turtleEmulator:init(vector, deepCopy)
3837
local peripheral = require("../peripheral")
3938
describe("Disabled Movement", function()
4039
local turtle

turtleEmulator.lua

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
---@field peripheralActions peripheralActions | nil
1919
---@field peripheralName string | nil
2020

21-
---@class Suits
22-
---@field vector Vector
23-
---@field deepCopy fun(table: table): table
24-
---
2521
--- used from the Scanner, as the blocks will most likely be scanned, saved and then inserted into the turtleEmulator for testing
2622
---@class ScanData
2723
---@field x number
@@ -40,6 +36,8 @@ local turtleM = require("./turtleMock")
4036
local defaultInteration = require("../defaultInteraction")
4137
local defaultcheckActionValid = require("./defaultcheckActionValid")
4238
local inventory = require("./inventory")
39+
---@type Vector
40+
local vector = require("./TestSuite-lib/vector/vector")
4341

4442
---comment
4543
---@param position Vector
@@ -56,9 +54,9 @@ local turtleEmulator = {
5654
blocks = {},
5755
turtleID = 1,
5856
createTurtle = function(self)
59-
assert(self.suit.vector, "No Vector-Lib found")
57+
assert(vector, "No Vector-Lib found")
6058
---@type TurtleProxy
61-
local t = turtleM.createMock(self, self.turtleID, self.suit, self.suit.vector.new(0,0,0), self.suit.vector.new(1, 0, 0))
59+
local t = turtleM.createMock(self, self.turtleID, self.suit, vector.new(0,0,0), vector.new(1, 0, 0))
6260
self.turtles[self.turtleID] = t
6361
self.turtleID = self.turtleID + 1
6462
return t
@@ -74,16 +72,6 @@ local function createPositionKey(position)
7472
return position.x .. "," .. position.y .. "," .. position.z
7573
end
7674

77-
--- required for vector-library
78-
---@param vector Vector
79-
---@param copyTableFunction fun(table: table): table
80-
function turtleEmulator:init(vector, copyTableFunction)
81-
assert("table" == type(vector), "vector is not a table, but of type: " .. type(vector))
82-
assert("function" == type(copyTableFunction), "copyTableFunction is not a function, but of type: " .. type(copyTableFunction))
83-
turtleEmulator.suit.vector = vector
84-
turtleEmulator.suit.deepCopy = copyTableFunction
85-
end
86-
8775
--- Adds a block to the emulated world
8876
---@param block block
8977
function turtleEmulator:createBlock(block)
@@ -152,7 +140,7 @@ function turtleEmulator:addInventoryToBlock(position)
152140
if block == nil then
153141
return
154142
end
155-
block.peripheralActions = inventory:createInventory(nil, self.suit.deepCopy)
143+
block.peripheralActions = inventory:createInventory(nil)
156144
block.peripheralName = "inventory"
157145
return self:playPeripheralProxy(position)
158146
end

turtleMock.lua

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@
7474
local peripheral = require("../peripheral")
7575
local defaultInteraction = require("../defaultInteraction")
7676
local inventory = require("../inventory")
77+
---@type Vector
78+
local vector = require("./TestSuite-lib/vector/vector")
79+
local deepCopy = require("./TestSuite-lib/helperFunctions/helperFunctions").deepCopy
80+
7781

7882
--- this class should not be used directly, use the createMock of the turtleEmulator function instead, which will set the proxy
7983
---@type TurtleMock
@@ -141,7 +145,7 @@ local function up(self, act)
141145
if act == nil then
142146
act = true
143147
end
144-
local newPosition = self.position + self.suits.vector.new(0, 1, 0)
148+
local newPosition = self.position + vector.new(0, 1, 0)
145149
if self.emulator:getBlock(newPosition) ~= nil then
146150
return false, "Movement obstructed by " .. self.emulator:getBlock(newPosition).item.name, newPosition
147151
end
@@ -165,7 +169,7 @@ local function down(self, act)
165169
if act == nil then
166170
act = true
167171
end
168-
local newPosition = self.position + self.suits.vector.new(0, -1, 0)
172+
local newPosition = self.position + vector.new(0, -1, 0)
169173
if self.emulator:getBlock(newPosition) ~= nil then
170174
return false, "Movement obstructed by " .. self.emulator:getBlock(newPosition).item.name, newPosition
171175
end
@@ -199,7 +203,7 @@ local function equip(turtle, slot, side)
199203
return false, "Not a valid upgrade"
200204
end
201205
local equipedItem
202-
local itemCopy = turtle.suits.deepCopy(item)
206+
local itemCopy = deepCopy(item)
203207
if turtle.equipslots == nil then
204208
turtle.equipslots = {side = itemCopy}
205209
else
@@ -370,7 +374,7 @@ local function drop(turtle, position, count)
370374
if _item == nil then
371375
return false, "No item to drop"
372376
end
373-
local item = turtle.emulator.suit.deepCopy(_item)
377+
local item = deepCopy(_item)
374378
count = count or 1
375379
item.count = count
376380

@@ -390,15 +394,15 @@ end
390394
function turtleMock.createMock(emulator, id, suits, position, facingPos)
391395
local turtle = {
392396
---@type position
393-
position = position or suits.vector.new(0, 0, 0),
397+
position = position or vector.new(0, 0, 0),
394398
---@type Vector
395-
facing = facingPos or suits.vector.new(1, 0, 0),
399+
facing = facingPos or vector.new(1, 0, 0),
396400
---@type number
397401
fuelLevel = 0,
398402
---@type boolean
399403
canPrint = false,
400404
---@type inventory
401-
inventory = inventory:createInventory(16, suits.deepCopy),
405+
inventory = inventory:createInventory(16),
402406
---@type integer
403407
selectedSlot = 1,
404408
---@type integer
@@ -609,14 +613,14 @@ function turtleMock:dig()
609613
end
610614

611615
function turtleMock:digUp()
612-
local blockPos = (self.position + self.suits.vector.new(0, 1, 0))
616+
local blockPos = (self.position + vector.new(0, 1, 0))
613617
local block = self.emulator:getBlock(blockPos)
614618
assert(block, "Block not found at position: " .. tostring(blockPos))
615619
return dig(self, block)
616620
end
617621

618622
function turtleMock:digDown()
619-
local blockPos = (self.position + self.suits.vector.new(0, -1, 0))
623+
local blockPos = (self.position + vector.new(0, -1, 0))
620624
local block = self.emulator:getBlock(blockPos)
621625
assert(block, "Block not found at position: " .. tostring(blockPos))
622626
return dig(self, block)
@@ -688,13 +692,13 @@ end
688692
---@param count integer
689693
---@return boolean
690694
function turtleMock:dropDown(count)
691-
return drop(self, self.position + self.suits.vector.new(0, -1, 0), count)
695+
return drop(self, self.position + vector.new(0, -1, 0), count)
692696
end
693697

694698
---@param count integer
695699
---@return boolean
696700
function turtleMock:dropUp(count)
697-
return drop(self, self.position + self.suits.vector.new(0, 1, 0), count)
701+
return drop(self, self.position + vector.new(0, 1, 0), count)
698702
end
699703

700704
---@param count integer

0 commit comments

Comments
 (0)