• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

BuckarooBanzay / mapblock_lib / 8748698230

19 Apr 2024 05:08AM UTC coverage: 19.22% (-35.6%) from 54.827%
8748698230

Pull #3

github

BuckarooBanzay
mtt action
Pull Request #3: mtt action

202 of 1051 relevant lines covered (19.22%)

16.77 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

11.43
/mapblock.lua
1
-- locals
2
local char, byte, insert, floor = string.char, string.byte, table.insert, math.floor
1✔
3

4
local function int_to_bytes(i)
5
        local x =i + 32768
×
6
        local h = floor(x/256) % 256
×
7
        local l = floor(x % 256)
×
8
        return(char(h, l))
×
9
end
10

11
-- converts a mapblock object to a string
12
function mapblock_lib.write_mapblock(mapblock)
2✔
13
        local data = ""
×
14
        for i=1,4096 do
×
15
                data = data .. int_to_bytes(mapblock.node_ids[i])
×
16
        end
17
        for i=1,4096 do
×
18
                data = data .. char(mapblock.param1[i])
×
19
        end
20
        for i=1,4096 do
×
21
                data = data .. char(mapblock.param2[i])
×
22
        end
23

24
        return data
×
25
end
26

27
function mapblock_lib.write_mapblock_manifest(mapblock)
2✔
28
        local manifest = {
×
29
                node_mapping = mapblock.node_mapping,
30
                metadata = mapblock.metadata
×
31
        }
32
        return minetest.write_json(manifest)
×
33
end
34

35
-- creates a mapblock object from a data string
36
function mapblock_lib.read_mapblock(data)
2✔
37
        if not data then
×
38
                return nil, "mapblock data is empty"
×
39
        elseif #data ~= 16384 then
×
40
                return nil, "unexpected mapblock size"
×
41
        end
42

43
        local mapblock = {
×
44
                node_ids = {},
45
                param1 = {},
46
                param2 = {}
×
47
        }
48

49
        for i=1,4096 do
×
50
                -- 1, 3, 5 ... 8191
51
                local node_id_offset = (i * 2) - 1
×
52
                local node_id = (byte(data, node_id_offset) * 256) +
×
53
                byte(data, node_id_offset+1) - 32768
×
54

55
                local param1 = byte(data, (4096 * 2) + i)
×
56
                local param2 = byte(data, (4096 * 3) + i)
×
57

58
                insert(mapblock.node_ids, node_id)
×
59
                insert(mapblock.param1, param1)
×
60
                insert(mapblock.param2, param2)
×
61
        end
62
        return mapblock
×
63
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc